Deep Learning Note4
超参数的调试
所有的超参数在规定范围内随机取值。记录一组取值和结果都表现较好的数据。根据这些数据限定取值范围,再进行随机取值实验。
为超参数选择合适的范围
超参数选择的时候,一些超参数是在一个范围内进行均匀随机取值,如隐藏层神经元结点的个数、隐藏层的层数等。但是有一些超参数的选择做均匀随机取值是不合适的,这里需要按照一定的比例在不同的小范围内进行均匀随机取值,以学习率α 的选择为例,在不同比例范围内进行均匀随机取值,如0.001 ∼ 0.01、0.010.1、0.11范围内选择。
网络中激活值的归一化
在Logistic Regression 中,将输入特征进行归一化,可以加速模型的训练。将隐藏层的经过激活函数前的z进行归一化同样起作用。
Batch Norm
选取某一层中间值
$$
加上ε 是为了保证数值的稳定。
变换后某个神经元的激活x形成了均值为0,方差为1的正态分布,目的是把值往后续要进行的非线性变换的线性区拉动,增大导数值,增强反向传播信息流动性,加快训练收敛速度。但是这样会导致网络表达能力下降,为了防止这一点,每个神经元增加两个调节参数(scale和shift),这两个参数是通过训练来学习到的,用来对变换后的激活反变换,使得网络表达能力增强,即对变换后的激活进行如下的scale和shift操作,这其实是变换的反操作:
γ和β属于超参数,需要学习
Batch Norm作用
调整每一个层的激活值(中间值)的分布,每次训练的数据都有不同的分布,数据抖动很大,所以权重变化也会很大。而batch norm会将数据归一化,减少不同batch间数据的抖动情况,从而提高训练速度。
强行将中间值的分布集中回归到激活函数梯度“敏感”的区域,避免梯度消失问题
主动加入很少的白噪声,有利于正则化
Softmax 回归
主要用于多分类问题,即将输出结果根据每个分类取得概率来进行判断。
计算的公式如下,若有n个输出结果,那么第i个由softmax计算得到的输出节点的值为:
$$
最后的隐藏层,我们弃用激活函数,而是采用softmax函数求得输出值
用交叉熵求损失函数
y表示真实值,表示softmax求得的一个节点的预测值
$$
因为输出中只有一个输出值为1,j为预测值为1的节点,因此
$i=j
$
当时:
$$
Softmax作用
- 保证了概率的非负性
- 使得得到的所有预测结果之和等于1

查看14道真题和解析