深度学习---预训练

深度网络存在问题:

网络越深,需要的训练样本数越多。若用监督则需大量标注样本,不然小规模样本容易造成过拟合(深层网络意味着特征比较多,机器学习里面临多特征:1、多样本 2、规则化 3、特征选择);

多层神经网络参数优化是个高阶非凸优化问题,常收敛较差的局部解;

梯度扩散问题,BP算法计算出的梯度随着深度向前而显著下降,导致前面网络参数贡献很小,更新速度慢。

解决方法:

逐层贪婪训练,无监督预训练(unsupervised pre-training)即训练网络的第一个隐藏层,再训练第二个…最后用这些训练好的网络参数值作为整体网络参数的初始值。

1、无监督学习——->参数初始值;

2、监督学习——->fine-tuning,即训练有标注样本。

经过预训练最终能得到比较好的局部最优解。

fine-tuning对神经网络权值改变很小,似乎权值被困在某个局部区域。而且第一层改变最少,第二层次之…最后一层最大。

原文地址:https://www.cnblogs.com/guohaoblog/p/9655297.html