比如说看到这个翻译的模型就异常大年夜。我们平日应用 128 个 GPU 来练习,我们先简单介绍一下 Device placement ,Device placement 就是把计算和设备对应起来,今朝我们都是用一些人工的办法,甚至简单的算法。我们设置算法须要我们对设备有充分的懂得,并且对模型有充分的懂得,这个算法并不是简单年腋荷琐模型推广到别的一个模型。然则今朝异常时髦的做法,都是将基于这些规矩的体系转化为,变成基于机械进修的体系,所以我们也用了类似的办法。我们用强化进修的办法来解决这个 Device placement 的模型,我们受 learn 2 learn 办法的启发来创建一个类似的模型。
比拟 TensorFlow Lite 的话, TensorFlow 重要存眷一些大年夜型的设备。TensorFlow Lite 让小型的设备应用加倍效力,如今我们经由过程一个小的例子看 TensorFlow Lite 若何工作的。
这个是 TensorFlow Lite 生命周期,起首我们以标准方法来运行 TensorFlow,运行停止之后,我们获得 Graphdef 和 Checkpoint,我们经由过程 TensorFlow Lite 供给一个转换器,把它转换成 TensorFlow Lite 的模型格局。有了这个 TensorFlow Lite 格局的模型之后,我们就可以把它转移到移动设备傍边。接入 TensorFlow Lite 显示器就可以或许在移动设备加载这个模型。如不雅我们的显示器直接调剂 NeonKerels ,如不雅是在其他设备上,还可以应用硬件加快寡居口来定义本身对本身硬件的一些优化。
下一?特点就是 Input Pipeline ,不管是初学者照样专家都邑对 Input Pipeline 感兴趣,因为 Input Pipeline 应用起来异常苦楚。
它重要有两种模式,一种是 Feeding,它长处是可以用 python 灵活处理零距,然则机能很差。并且单线程跑,每一步练习都要等待数据处理的完成,这个对 GPU 来说效力异常低。别的一种方法效力高一点,就是把数据处理变成一系列的操作,这应用一个 Queues 作为数据存放的临时空间,我妹浇椁处理好的数据和一些中心预处理数据放在 Queues 琅绫擎,经由过程 python 来控制 Queues 的输入和控制。然则有一个问题,这个 python 有一个权值说冥器的锁,所以它让这个 Queues 输人道能受到很大年夜的限制。
还有一个问题就是,我们写的数据处理模块没有办法获得常用,也没有办法在练习的时刻更改输入数据。所以我们了开辟了一套 Input Pipeline,因为各种原因,所以把它设计成惰性的列表。因为我们的数据很多长得类似,并且数据量可以比较大年夜,所以可以把它定义成 LAZY,我们把它定义成惰性列表之后,可以很天然用函数编程说话中的 map 和 filter 来定义预处理管道,我们在很多说话傍边都可以看到 map 和 filter 的操作。如今我们看一下它的接口,我们还有第二个接口叫做 Iterator,可以便利把 edements 数据掏出来。就像很多一般的编程说话琅绫擎的 Iterator 一样,我们可以对这个 Iterator 设备不合的数据,PPT 上这就是一个例子,大年夜家可以看一下。
Learn To Learn
在神经收集解决问题的时刻,神经收集也会给我们带来一些新的问题,就是我们设计神经收集架构须要投入大年夜量的专业常识和时光投资,比如这个就是谷歌图象分类的一个 .NET 的架构,这个神经收集架构设计大年夜最初的卷积的架构到如今复杂的架构,经由研究人员多年的实验赓续反复、完美,才得以达到这么复杂的模型。
这个是分布式练习的细节。模型变异有很多种,我们刚才提到构造的一些变更,甚至也有一些会保持不变,然则我们会对它多练习一下,或者从新练习一下,因为初始化变异异常重要。变异化的选择是平均分布概率的模型。
我们与其让科研人员赓续在电脑面前,为什么不消强大年夜计算资本,让机械主动寻找好的神经收集架构?在谷歌我们用一种办法,就是用 RNN 轮回神经收集来生成一个子收集,这个设法主意的来源是因为我们可以把一个神经收集对应成一个练习化的一个个序列,RNN 异常善于解决这类问题,所以我们用 RNN 来生成一个子收集,我们把这个子收集用真实数据进行练习。经由过程练习精确度的短长来更新 RNN 的┞菲握器。在它下一次迭代傍边,RNN 就会输出更高精度的子收集。这是 RNN 转接架构的例子,这个例子看上去错综复杂,其实也不难解得。
【编辑推荐】
- 微软开源竽暌姑于Spark的深度进修库MMLSpark
- 一份弗成多得的深度进修技能指南
- keras中最常用深度进修的API
- 若何保存和恢复TensorFlow练习的模型
- 盘点金融范呈攀里常用的深度进修模型
还有一个在 TensorFlow 琅绫擎介绍的概念,叫做 Estimators ,这是一个比较轻量化,并且在谷歌内部临盆情况中广泛应用的 API ,个中 Estimators 供给了很多模型供大年夜家应用,叫做 Canned Estimator ,他们的关系是如许的:Estimators 和 tf.keras 上层封装了一个 Canned Estimator ,可以用其来封装成各类模型。
推荐阅读
如何使用Scikit-learn实现用于机器学习的文本数据准备
在应用文本数据来搭建猜测模型前,都须要特别的预备工作。下面是一个应用上述的词条化对象对文档进行编码的示例,该文档中含有一个词汇表中的词,以及一个不在词汇表中的词。文本起重要经>>>详细阅读
本文标题:Google Brain工程师演讲实录:TensorFlow与深度学习
地址:http://www.17bianji.com/lsqh/38464.html
1/2 1