一份不可多得的深度学习技巧指南

  • 时间:
  • 浏览:1
  • 来源:5分排列3APP下载_5分排列3APP官方

自然语言处置(NLP)

Dropout的概率

增加

RefPlaying Atari with Deep Reinforcement Learning, V. Mnih. 

增大核下行速率 提升模型的参数个数

What:当训练时,强制更正译码器的输入;在测试时,使用先前的步骤,这使得训练在现在开始时非常高效,Samy等人提出了一种生活基于模型转变的改进法子[1]

RefMassive Exploration of Neural Machine Translation Architectures, Denny Britz, Anna Goldie et al.

RefAccelerating Deep Network Training by Reducing Internal Covariate Shift, S. Ioffe and C. Szegedy.

参数

隐性的零填充

Why:使用默认的初始化,每个神经元会随着输入数量的增多而处于另有几条 方差,通过求根号缩放每个权重能确保神经元有近似的输出分布。

Ref

另有几条 太久花费的学习率会因为 模型下行速率 很低

Why:通过对数据进行预处置不需要 使得它们对模型的影响具有同样的尺度或一点的一点目的。

RefCS231n Convolutional Neural Networks for Visual Recognition.

文章为简译,更为删剪的内容,请查看原文

本文由北邮@爱可可-爱生活老师推荐,阿里云云栖社区组织翻译。

本文的目录如下:

数据预处置

What跳帧:每隔4帧计算一次动作,而前要每帧都计算,对于其它帧,重复一种生活动作

增加

What:以无监督的法子训练另有几条 网络去预测文本的下另有几条 字符(char-RNN),该网络将学习一种生活能用来监督任务的表示(比如婚姻的句子分析)。

What:对于RNN和seq2seq模型的一点技巧:

What:大多数的下行速率 学习框架提供了另有几条 结合SoftMax和Log的函数将会是在损失函数中计算SoftMax(在Tensorflow中是softmax_cross_entropy_with_logits,在Torch中是nn.LogSoftMax),什么应该被更好地使用。

Why:根据作者的观点,一种生活简单的数据变换极大提升了LSTM的性能。

在卷积前补零保持大尺寸的表示

增强学习

权值衰减系数

什么情况表下增加性能

What:使用跳跃式连接,直接将上方层连接到输入/输出层。

隐藏节点的增加会增加模型每次操作的时间和内存代价

训练

What历史:前要仅仅将当前帧作为输入,就说 将最后的帧与输入叠加,结合间隔为4的跳帧,这因为 一点人有另有几条 含t、t-4、t-8及t-12的帧栈

注意事项

增加了大多数操作的时间和内存代价

RefAsynchronous Methods for Deep Reinforcement Learning, V. Mnih.

 Conchylicultor谷歌大脑参与者,专注于机器学习和软件开发

Why:Log(SoftMax)在数值上不稳定是小概率,从而因为 溢出等不良结果。另外一种生活流行的法子是在Log中加入一点小数处置不稳定。

正则化

What异步:以不同的勘探政策一同训练多个代理,提升了鲁棒性

Why:作者的观点是通过减少神经网络的底端与上方之间的处置步骤使得训练下行速率 网络更加简单,并减轻梯度消失现象。

What:除了使用真值硬化目标外,同样能不还不需要 使用软化目标(softmax输出)训练网络。

降低

RefLearning Precise Timing with LSTM Recurrent Networks, Felix A. Gers et al.

(本次要原作者不还不需要 写,以被委托人的理解及相关补充这次要内容)

文章原标题《Deep Learning Tricks》,作者:Conchylicultor,译者:海棠,审阅:

学习率

RefEfficient Parallel Methods for Deep Reinforcement Learning, Alfredo V. Clemente et al.

What:对于长短期记忆网络(LSTM),遗忘偏置一般设置为1,能不还不需要 加快训练过程。

RefDeep Reinforcement Learning with Double Q-learning, V. Mnih.

Ref1.Scheduled Sampling for Sequence Prediction with Recurrent Neural Networks, Samy Bengio et al.

When:在一点CNN形态学 中或RNN中一点重要的层。

更多下行速率 文章,请关注云计算频道:https://yq.aliyun.com/cloud

增加

RefSequence to Sequence Learning with Neural Networks, Ilya Sutskever et al.

Why一点好的解释在此

What:学习率将会是前要调参中最重要的另有几条 参数,一种生活策略是选用一点参数均有随机化学习率,并观察几条迭代后的测试误差。

Why:困惑度决定了每个点的高斯分布的方差大小,更小的困惑度将获得更多的集群,大的困惑度与之相反,太久的困惑度不还不需要 任何意义;另外前要考虑的是画出的聚类不还不需要 保留原有的规模,聚类之间的距离不一定代表原始的空间几何,不同的困惑度能在数据形态学 上提供互补的信息,每次运行前要产生不同的结果[2]

降低权值衰减系数释放模型的参数

RefAn Empirical Exploration of Recurrent Network Architectures, Rafal Jozefowicz et al.

Mail:etiennefg.pot@gmail.com

Why:直觉是训练现在开始时,要我信息在细胞之间传播,故不希望细胞忘记它的情况表。

Linkedin:https://www.linkedin.com/in/potetienne/

WhatParallel Advantage Actor Critic(PAAC):通过代理的经验以及使用另有几条 单一的同步更新模型使得错综复杂A3C算法成为将会。

调整优化

RefDistilling the Knowledge in a Neural Network / Dark knowledge, G. Hinton et al.

更宽的核因为 另有几条 更窄的输出维度

What:对于seq2seq而言,为编码器和译码器网络使用不同的权值。

网络形态学

RefGenerating Sequences With Recurrent Neural Networks, Alex Grave et al.

What:权重若初始化合理不需要 提升性能并加快训练下行速率 ,偏置一般设置为0,对于权重而言,建议统一到一定区间内:

What:对于t-分布领域嵌入算法(t-SNE),原作者建议对于大小为40000~40000之间的数据集,将困惑度设置为5和400之间[1],对于更大的数据集,相应的困惑度也会增。

What在推理中,为了减少层数,通过批量归一化(BN)层不需要 吸收其它的权值。这是将会在测试时批量归一化进行地是另有几条 简单的线性缩放。

网络压缩

What:在RNN中使用Dropout,它仅仅应用于非循环连接[1],就说 一点最近的文章提出了一点技巧使得Dropout能应用于循环连接[2]

Why:在Atari游戏中工作得很好,就说 使用一种生活技巧以要花费4倍的下行速率 加快了训练过程。

初始化

Why:这允许网络有一点动量信息。

丢失更少的节点使得单元有更多的将会去拟合训练集

作者信息

降低

RefPrioritized Experience Replay, Tom Schaul et al.

What经验回放:为了处置帧间的相关性,作为另有几条 代理前要更新每一帧,最好是在过渡时期的历史中采样一点样本,该思想类事于于有监督学习中训练前打乱数据集。

What:输入神经网络数据的好坏直接关系着网络训练结果,一般前要对数据进行预处置,常用的数据预处置法子有:

增加隐藏节点的数量提升了模型的表示能力

常言道,师傅领进门,修行靠被委托人,相信就说 人一点是在别人的建议或带领下步入下行速率 学习一种生活大坑,就说 师傅说下行速率 学习是个玄学,上方就靠被委托人修行,瞬间就懵了对不对?将会上方经过被委托人不断实验积累相关经验,会有一点被委托人的学习心得。本文可谓是下行速率 学习中的一份秘籍,帮助你少走一点弯路。在本文中,列举了一点常用的机器学习的训练技巧,目的是对什么技巧进行简单的介绍并说明它们的工作原理。另外一点建议是斯坦福的CS231n课程及事先总结的网络形态学

Ref

Ref

因为

Ref:Some advice for tuning the hyperparameters. Ref: Goodfellow et al 2016 Book

隐藏节点的数量

RefLearning to Generate Reviews and Discovering Sentiment, Ilya Sutskever et al.

What:对于seq2seq而言,翻转输入序列的顺序,保持目标序列的删剪。

RNN的跳跃式连接例子

What:为LSTM增加窥视孔连接(连接事先输出到门的输入),根据作者的观点,一种生活操作对长时间依赖关系有用。

卷积核的下行速率

What:批量标准化(Batch Normalization, BN),增添了另有几条 新的层,作者给出一点额外的技巧加速BN层的工作:

RefSequence to Sequence Learning with Neural Networks, Ilya Sutskever et al.