深度网络存在问题:
网络越深,需要的训练样本数越多。若用监督则需大量标注样本,不然小规模样本容易造成过拟合(深层网络意味着特征比较多,机器学习里面临多特征:1、多样本 2、规则化 3、特征选择);
多层神经网络参数优化是个高阶非凸优化问题,常收敛较差的局部解;
梯度扩散问题,BP算法计算出的梯度随着深度向前而显著下降,导致前面网络参数贡献很小,更新速度慢。
解决方法:
逐层贪婪训练,无监督预训练(unsupervised pre-training)即训练网络的第一个隐藏层,再训练第二个…最后用这些训练好的网络参数值作为整体网络参数的初始值。
1、无监督学习——->参数初始值;
2、监督学习——->fine-tuning,即训练有标注样本。
经过预训练最终能得到比较好的局部最优解。
fine-tuning对神经网络权值改变很小,似乎权值被困在某个局部区域。而且第一层改变最少,第二层次之…最后一层最大。