سخنرانی ها ، جلسات محصول ، کارگاه ها و موارد دیگر را از لیست پخش Google I / O مشاهده کنید

TensorFlow Federated: یادگیری ماشین بر روی داده های غیرمتمرکز

import tensorflow as tf
import tensorflow_federated as tff

# Load simulation data.
source, _ = tff.simulation.datasets.emnist.load_data()
def client_data(n):
  return source.create_tf_dataset_for_client(source.client_ids[n]).map(
      lambda e: (tf.reshape(e['pixels'], [-1]), e['label'])
  ).repeat(10).batch(20)

# Pick a subset of client devices to participate in training.
train_data = [client_data(n) for n in range(3)]

# Wrap a Keras model for use with TFF.
def model_fn():
  model = tf.keras.models.Sequential([
      tf.keras.layers.Dense(10, tf.nn.softmax, input_shape=(784,),
                            kernel_initializer='zeros')
  ])
  return tff.learning.from_keras_model(
      model,
      input_spec=train_data[0].element_spec,
      loss=tf.keras.losses.SparseCategoricalCrossentropy(),
      metrics=[tf.keras.metrics.SparseCategoricalAccuracy()])

# Simulate a few rounds of training with the selected client devices.
trainer = tff.learning.build_federated_averaging_process(
  model_fn,
  client_optimizer_fn=lambda: tf.keras.optimizers.SGD(0.1))
state = trainer.initialize()
for _ in range(5):
  state, metrics = trainer.next(state, train_data)
  print(metrics['train']['loss'])
  • TensorFlow Federated (TFF) یک چارچوب منبع باز برای یادگیری ماشین و سایر محاسبات داده های غیرمتمرکز است. TFF برای تسهیل تحقیقات آزاد و آزمایش با آموزش فدرال (FL) ، رویکردی برای یادگیری ماشین که در آن یک مدل جهانی مشترک برای بسیاری از مشتریان شرکت کننده آموزش داده می شود که داده های آموزش خود را به صورت محلی نگهداری می کنند ، ایجاد شده است. به عنوان مثال ، از FL برای آموزش مدل های پیش بینی برای صفحه کلیدهای تلفن همراه بدون بارگذاری اطلاعات حساس تایپ روی سرورها استفاده شده است.

    TFF توسعه دهندگان را قادر می سازد الگوریتم های یادگیری فدراسیون موجود را بر روی مدل ها و داده های خود شبیه سازی کنند و همچنین الگوریتم های جدید را آزمایش کنند. محققان برای انواع مختلف تحقیقات ، نقاط شروع و نمونه های کاملی را پیدا می کنند. از عناصر سازنده ارائه شده توسط TFF همچنین می توان برای اجرای محاسبات غیرآموزشی ، مانند تجزیه و تحلیل فدرال استفاده کرد . رابط های TFF در دو لایه اصلی سازمان یافته اند:

  • این لایه مجموعه ای از رابط های سطح بالا را ارائه می دهد که به توسعه دهندگان این امکان را می دهد تا پیاده سازی های مربوط به آموزش فدراسیون و ارزیابی را در مدل های موجود TensorFlow خود اعمال کنند.
  • در هسته سیستم مجموعه ای از رابط های سطح پایین تر برای بیان مختصر الگوریتم های فدراسیون جدید با ترکیب TensorFlow با اپراتورهای ارتباطی توزیع شده در یک محیط برنامه نویسی عملکردی کاملاً نوع وجود دارد. این لایه همچنین به عنوان پایه و اساسی است که ما آموزش فدراسیون را بر اساس آن بنا کرده ایم.
  • TFF توسعه دهندگان را قادر می سازد تا محاسبات فدرال را بصورت اظهارنظر بیان کنند ، بنابراین می توانند در محیط های مختلف زمان اجرا مستقر شوند. همراه با TFF زمان اجرای شبیه سازی چند دستگاهی کارآمد برای آزمایشات وجود دارد. لطفاً از آموزشها دیدن کنید و خودتان آن را امتحان کنید!

    برای س questionsالات و پشتیبانی ، ما را در برچسب tensorflow federated در StackOverflow پیدا کنید.