美文网首页
DeepLearning学习笔记2_deep learning

DeepLearning学习笔记2_deep learning

作者: 吹洞箫饮酒杏花下 | 来源:发表于2017-11-10 16:05 被阅读0次

Tips for training DNN

1. 选择合适的损失函数  choose proper loss

当选择softmax作为输出层时,选择交叉熵为损失函数。从文中给出的图来看,在空间中,不管以谁为损失函数,其全局最小值肯定是相同的。但是在以交叉熵为损失函数时,坡度更抖,能更快的逼近最小值。而以MSE为损失函数时,函数非常平缓。(不知道咋形容)

2. mini-batch 不去寻求所有样本的loss最小值。

将整个样本集作为整体,切分为n份。在每次迭代过程中,只计算这个batch的样本的损失函数。这样使得计算速度更快,且效果更优。

3. 新的激励函数

深层的神经网络,在进行参数迭代时,靠近输入层的参数,会出现梯度扩散问题,这些参数的学习速度会很慢。

ReLU优点

4. 自适应学习率

学习率太大,在更新后,损失函数可能并不会变小,导致无法逼近最小值。

学习率太小的话,模型训练需要很长的时间。

因此,在训练的初始阶段,学习率可以比较大。在几次迭代后,可以降低学习率(根据某个值进行计算  如 

5.对是否达到全局最优保持怀疑,避免陷入局部最优。momentum不知道咋翻译呢。

在进行梯度下降时,在负梯度的方向,加上一点前进的动力。呵呵呵

6. 为什么会过拟合

训练数据和测试数据不一样,以训练数据最优得到的模型,在测试数据上的表现不一定最优。呵呵呵呵,咋解决,肯定是想着要更多更全的训练数据,让模型见识更多。ppt上的灵丹妙药,就是造数据。

7. early stoping 

选择在测试集上表现最优的点stop

8. 权值衰减  weight decay  可使得网络结构更简洁,通过将权值逐渐变小达到目的

9. dropout  is kind of ensemble 

在每次更新参数前,每个神经元都有一定的概率 dropout ,也会使得网络更简洁。如果是mini-batch 的话,会对已经dropout的神经元进行重采样。

在测试时,no dropout。假设 dropout 概率是40%,在训练时 权值 w=1,那么在测试时 𝑤=0.6。

10 网络结构

相关文章

网友评论

      本文标题:DeepLearning学习笔记2_deep learning

      本文链接:https://www.haomeiwen.com/subject/tzmbmxtx.html