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

  • 时间:
  • 浏览:0

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

Mail:etiennefg.pot@gmail.com

Why:通过对数据进行预处里都都都可不能否使得它们对模型的影响具有同样的尺度或你这名 的你这名 目的。

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

作者信息

正则化

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

初始化

RefCS231n Convolutional Neural Networks for Visual Recognition.

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

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

What:以无监督的法律方法训练另另有两个网络去预测文本的下另另有两个字符(char-RNN),该网络将学习并都是能用来监督任务的表示(比如友情分析)。

What:批量标准化(Batch Normalization, BN),增添了另另有两个新的层,作者给出你这名 额外的技巧加速BN层的工作:

Why:Log(SoftMax)在数值上不稳定是小概率,从而原应溢出等不良结果。另外并都是流行的法律方法是在Log中加入你这名 小数处里不稳定。

What:权重若初始化合理都都都可不能否提升性能并加快训练层厚,偏置一般设置为0,对于权重而言,建议统一到一定区间内:

Ref

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

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

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

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

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

网络压缩

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

降低

另另有两个不合适 的学习率会原应模型层厚很低

增大核层厚提升模型的参数个数

更多层厚文章,请关注云计算频道:https://yq.aliyun.com/cloud

本文的目录如下:

Ref

更宽的核原应另另有两个更窄的输出维度

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

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

增加

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

增强学习

RefAsynchronous Methods for Deep Reinforcement Learning, V. Mnih.

RefPrioritized Experience Replay, Tom Schaul et al.

What历史:都是仅仅将当前帧作为输入,要是将最后的帧与输入叠加,结合间隔为4的跳帧,这原应分析我们都都歌词 歌词 另另有两个多含t、t-4、t-8及t-12的帧栈

Why:根据作者的观点,你这名 简单的数据变换极大提升了LSTM的性能。

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

原应

常言道,师傅领进门,修行靠自己,相信不要 不要 人你这名 是在别人的建议或带领下步入层厚学习你这名 大坑,或者师傅说层厚学习是个玄学,中间就靠自己修行,瞬间就懵了对不对?将会中间经过自己不断实验积累相关经验,会有你这名 自己的学习心得。本文可谓是层厚学习中的一份秘籍,帮助你少走你这名 弯路。在本文中,列举了你这名 常用的机器学习的训练技巧,目的是对哪好多个技巧进行简单的介绍并说明它们的工作原理。另外你这名 建议是斯坦福的CS231n课程及完后 总结的网络内部

What:学习率将会是还要调参中最重要的另另有两个参数,并都是策略是挑选 你这名 参数均有随机化学习率,并观察好多个迭代后的测试误差。

What:在RNN中使用Dropout,它仅仅应用于非循环连接[1],或者你这名 最近的文章提出了你这名 技巧使得Dropout能应用于循环连接[2]

RefPlaying Atari with Deep Reinforcement Learning, V. Mnih. 

数据预处里

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

参数

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

卷积核的层厚

What跳帧:每隔4帧计算一次动作,而都是每帧都计算,对于其它帧,重复你这名 动作

Why:作者的观点是通过减少神经网络的底端与中间之间的处里步骤使得训练层厚网络更加简单,并减轻梯度消失间题。

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

Why你这名 好的解释在此

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

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

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

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

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

Why:这允许网络有你这名 动量信息。

自然语言处里(NLP)

增加

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

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

注意事项

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

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

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

学习率

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

What经验回放:为了处里帧间的相关性,作为另另有两个代理都是更新每一帧,最好是在过渡时期的历史中采样你这名 样本,该思想相似于有监督学习中训练前打乱数据集。

RNN的跳跃式连接例子

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

调整优化

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

隐性的零填充

What:为LSTM增加窥视孔连接(连接完后 输出到门的输入),根据作者的观点,你这名 操作对长时间依赖关系有用。

What:对于RNN和seq2seq模型的你这名 技巧:

When:在你这名 CNN内部中或RNN中你这名 重要的层。

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

网络内部

What:大多数的层厚学习框架提供了另另有两个结合SoftMax和Log的函数将会是在损失函数中计算SoftMax(在Tensorflow中是softmax_cross_entropy_with_logits,在Torch中是nn.LogSoftMax),哪好多个应该被更好地使用。

权值衰减系数

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

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

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

Dropout的概率

文章为简译,更为全部的内容,请查看原文

哪好多个具体情况下增加性能

Why:在Atari游戏中工作得很好,或者使用你这名 技巧以合适 4倍的层厚加快了训练过程。

降低

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

(本主次原作者那么写,以自己的理解及相关补充这主次内容)

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

增加

训练

隐藏节点的数量

Ref