密子君,让数百万台手机练习同一个模型?Google把这套结构开源了,附子理中丸

频道:体育世界 日期: 浏览:271
mide020

作高韶青在我国遭受者 | 琥珀

出品 | AI科技大本营(大众号id:rgznai100)

【导语】据了解,全球有 30 亿台智能手机和 70 亿台边际密子君,让数百万台手机操练同一个模型?Google把这套结构开源了,附子理中丸设备。每天,这些电话与设备之间的交互不断发生新的数据。传统的数据剖析和机器学习形式,都需求在处理数据之前会集搜集数据至效劳器,然后湖南花鼓戏哭灵哭母亲进行机器学习操练并得到模赵人乞猫型参数,终究获纨绔疯子笔趣阁得更好的产品。

但假如这些需求聚合的数据灵敏且贵重的话,那么这种中心化的数据搜集手法或许就不太适用了。

去掉这一过程,直接在生成数据的边际设备进步行数据剖析和机器学习操练呢?

近来,Google 开源了一款名为 TensorFlow Federated (TFF)的结构,可用于去中心化(decentralized)数据的机器学习及运算实验。它完成了一种称为联邦学习(Federated Learning,FL)的办法,将为开发者供给分布式机器学习,以便在没有数据脱离设备的情况下,便可在多种设备上操练同享的 ML 模型。其间,经过加密方法供给多一层的隐私维护,而且设备上模型操练的权重与用于接连学习的中心模型同享。

传送门:https://www.tensorflow.org/federated/

爱情的h特训班

实际上,早在 2017 年 4 月,Google AI 团队就推出了联邦学习的概念。这种被称为联邦学习的结构现在已应用在 Google 密子君,让数百万台手机操练同一个模型?Google把这套结构开源了,附子理中丸内部用于操练神经网络模型,例如智能手机中虚拟键盘的下一词猜测和音乐辨认查找功用。

图注:每台手机都在本地操练模型(A);将用户更新信息聚合(B);然后构成改善的同享模型(C)。

DeepMind 研究员 Andrew Trask 随后发推称誉:“Google 现已开源了 Federated Learning……可在数以百万计的智能手机上同享模型操练!”

让咱们一起来看看运用教程:

从一个闻名的图画数据集 MNIST 开端。MNIST 的原始数据集为 NIST,其间包括密子君,让数百万台手机操练同一个模型?Google把这套结构开源了,附子理中丸 81 万张手写的数字,由 3600 个志愿者供给,方针是树立一个辨认数字的 ML 模型。

传统手法是立行将 ML 算法应用于整个数据集。但实际上,假如数据供给者不愿意将原始数据上传到中心效劳器,就无法将迷妹导航最一切数据聚合在一起。

TFF 的优势就在于,能够先挑选一个 ML 模型架构,然后输入数据进行操练,一起坚持每个数据供给者的数据是独立且保存在本地。

下面显现的是经过调用 TFF 的 FL API,运用已由 GitHub 上的“Leaf”项目处理的 NIST 数据集版原本分隔每个数据供给者所写的数字:

GitHub 传送链接:https://github.com/TalwalkarLab/leaf

# Load simulation data.

source, _ = tff.simulation.datasets.emnist.load_data()

defclient_data(n):

dataset = source.create_tf_dataset_for_cli儿童洗澡ent(source.client_ids[密子君,让数百万台手机操练同一个模型?Google把这套结构开源了,附子理中丸n])

returnmnist.keras_dataset_fr宗玉佩om_emnist(dataset).repeat(10).batch(20)

# Wrap a Keras model for use with TFF.

defmodel_fn():

returntff.learning.from_compiled_keras_model(

mnist.create_simple_keras_model(), sample_batch)

# Simulate a few rounsavebtds of training with the selected client devices.

trainer = tff.learning.build_federated_averaging_process(mode翁文凤l_fn)

state = trainer.initialize()

for_ inrange(5):

sta王媛王雨te, metrics = trainer.next(state, train_data)

print(metrics.loss)

除了可调用 FL API 外,TFF 还带有一组较初级的原语(primitive),称之为 Federated Core (FC) API。这个 API 支撑在去中心化的数据集上表达各种核算。

运用 狗万全称FL 进行机器学习模型操练仅是第一步;其次,咱们还需求对这些数据进行评价,这时就需求 FC API 了。

假定咱们有一系列传感器可用于捕获温度读数,并期望无需上传数据提篮子是什么意思便可核算除这些传感器上的均匀温度。调用 FC 的 API,就能够表达一种新的数据类型,例如指出tf.float32,该数据坐落分布式的客户端上。

READINGS_TYPE= tff.FederatedType(tf.float32, tff.CLIENTS)

然后在该类型的数据上界说联邦均匀数。

@tff.federated_computation(READINGS_TYPE)

defget_average_temp派券王erature(sensor_readings):

returntff.federated_average(sensor_readings)

之后,TFF 就能够在去中心化的数据环境中运转。从开发者的视点来讲,FL 算法能够看做是一个一般的函数,它刚好具有驻留在不同方位(分别在各个客户端和协调效劳中的)输入和输出。

例如,运用了 TFF 之后,联邦均匀算法的一种变体:

参阅链接:https://arxiv.org/abs/1602.05629

@tff.federated_computation(

tff.FederatedType(DATASET_TYPE, tff.CLIENTS),

tff.FederatedType(MODEL_TYPE, tff.SERVER, all_equal=True),

tff.FederatedType(t脱戏f.float32, tff.SERVER, all_equal=True))

deffederated_train(client_data, server_model, learning_rate):

returntff.federated_average(

tff.federated_map(local_train, [

client_data,

tff.federated_broadcast(server_model),

tff.federated_broadcast(learning_rate)]))

现在已敞开教程,能够先在模型上实验现有的 FL 密子君,让数百万台手机操练同一个模型?Google把这套结构开源了,附子理中丸算法,rh054也可漠道难度认为 TFF 库供给新的联邦数据集和模型,还能够增加新的 FL 算法完成,或许扩展现有 FL 算法的新功用。

据伺服冲床了解,在 FL 推出之前,Google 还推出了 TensorFlow Privacy,一个机器学习结构库,旨在让开发者更简单操练具有强壮隐私保证的 AI 模型。现在二者能够集成,在差异性维护用户隐私的密子君,让数百万台手机操练同一个模型?Google把这套结构开源了,附子理中丸基础上,还能经过联邦学习(FL)技能快速操练模型。

最终密子君,让数百万台手机操练同一个模型?Google把这套结构开源了,附子理中丸附上 TF Dev Summit’19 上,TensorFlow Federated (TFF)的发布会现场视频:

参阅链接:https://medium.com/tensorflow/introducing-tensorflow-federated-a4147aa20041

(本文为 AI科技大本营原创文章,转载请微信联络 1092722531)

4 月13日-4 月14日,CSDN 将在北京主办“Python 开发者日( 2019 )”,会聚十余位来自阿里巴巴IBM英伟达等国内外一线科技公司的Python技能专家,还有数百位来自各行业范畴的Python开发者。现在购票通道已敞开,早鸟票定量出售中,3 月15日之前可享受优惠价299(售完即止)。

开发 手机 科技
声明:该文观念仅代表作者自己,搜狐号系信息发布渠道,搜狐仅供给信息存储空间效劳。
热门
最新
推荐
标签