1. 权重衰减的理解
权重衰减是一种归一化处理;
将一些无用的权重剪裁掉;
为什么要进行权重衰减?
以人类在成长过程中大脑神经元的变化为例说明。研究表明,初生婴儿的神经元比较少;成长到6岁时,神经元已经非常多,这是学习外界知识得到的结果;等到14岁,神经元就会相应的减少,将一些无用的神经元屏蔽掉。这也是学习外界知识导致的结果。人类大脑的这种发展模式有助于人类更精准的学习更多更复杂的事物。
在DL中权重衰减是如何实现的?
, 当衰减率为0.01时, λ=0.99
2. Dropout的理解
训练时在每次更新参数之前,每个神经元有p%退出。以达到精简网络的目的,使得网络更加thinner,这时网络结果也会随着发生改变;
对于下一次训练,使用心得网络进行训练;
更新网络结构实在每次batch结束之后进行的,此时需要重新采样这些被dropout的神经元;
如何使得dropout后的输出结果接近于真实的结果?
比如训练时,dropout rate=p%, 那么在测试时,权重都来自于训练的结果,当选择no dropout时,所有的权重应该乘以(1-p%)。
Dropout的优势在哪里?
加快训练速度,提升训练的精度。
3. 激活函数
Sigmod --> ReLU
这两个都是激活函数。
ReLU是一个特殊的maxout网络。
在maxout网络中,ReLU激活函数可以是任意段线性凸函数;
几段取决于一组中有几个元素。
4. 激活学习率:Learning Rates
5. Softmax layer
作为输出层。
执行方法如下:
6. 损失函数 Total Loss
Total Loss 等于所有样本的损失函数之和。
合适的损失函数对于最终精度的提升影响很大。
mse 和cross entropy两种方法比较:
7. 如何决定一个函数是对训练结果好的?
计算Total Loss损失函数对权重的导数;
每个batch更新权重,直至这个导数接近于0.那么一定可以找到局部最低点。
8. Batch size和epoch的关系
9. 为什么会出现过拟合?
训练数据和测试数据是两个不同的样本集;
学习目标是由训练数据决定的;
从学习目标总获取的权重参数没有必要在测试数据中有好的运行结果;
测试样本出现一些噪声干扰。
10. 如何防止过拟合?
增加训练样本;
创建训练样本。比如将原有样本旋转一个角度。
11. CNN中卷积参数的理解
Stride -- 在一个矩阵中每次移动几个位置。
Padding -- 每次卷积时矩阵外围扩展几行或几列。特例:zero padding表示对矩阵外围扩展最多一行一列,扩展数值等于0.
12. 池化
Max pooling: 取kernel中最大的一个数作为新的矩阵中相应位置的结果。