QA
1.56层神经网络的效果为什么会比20层神经网络的效果差?
之所以会有这样的疑问,是因为如果56层神经网络将前20层的参数设置跟20层神经网络的一样,这样56层神经网络的能力肯定比20层神经网络的强。但实际上,层数多的神经网络并不能保证比层数少的神经网络得到更好的结果,因为梯度下降并不能总是保证找的最优的局部最小值,另外,还有梯度消失问题可能会带来的影响。
2梯度消失问题
一般而言,当神经网络很深时,接近输入层的那几层,梯度很小,而接近输出层的那几层,梯度很大。假定每一层的学习率相同,那么接近输入层的那几层学习速度会很慢,而接近输出层的那几层学习速度相对而言会要快些。因此,我们会发现,当接近输入层的那几层的参数几乎还没有什么变化,还是随机的时候,接近输出层的那几层的参数已经收敛局部最优或鞍点上了。这样,整个训练过程就会停下来,并且得不到好的结果,因为后面几层神经元的输入是前几层神经元的输出,当前面几层神经元的输出几乎还是随机值的时候,后面几层神经元虽然收敛了,但收敛只是相对于随机输入的收敛,所以这样的结果通常比较差,导致识别的性能比较差。
3L1不可导的时候该怎么办
a. 当损失函数不可导,梯度下降不再有效,可以使用坐标轴下降法,梯度下降是沿着当前点的负梯度方向进行参数更新,而坐标轴下降法是沿着坐标轴的方向,假设有m个特征个数,坐标轴下降法进参数更新的时候,先固定m-1个值,然后再求另外一个的局部最优解,从而避免损失函数不可导问题。
b. 使用Proximal Algorithm对L1进行求解,此方法是去优化损失函数上界结果.
4交叉熵损失函数的来源
https://blog.csdn.net/red_stone1/article/details/80735068