基础思想
典型的深度学习模型就是很深层的神经网络,通过以下两种方式可以实现增加模型复杂度的目的。
- 增加隐层数目
- 增加隐层神经元数目
从增加模型复杂度的角度来看,增加隐层数目显然比增加隐层神经元数目更有效。因为增加隐层数不仅增加了拥有激活函数的神经元数目,还增加了激活函数的嵌套层数。
但多隐层神经网络难以用经典的标准BP算法进行训练,因为误差在多隐层内逆传播时,往往会发散而不能收敛到稳定状态。
训练模型手段
- 无监督逐层训练:
预训练
:每次训练一层隐结点,将上一层隐结点的输出作为输入,本层隐结点的输出作为下一层隐结点的输入。微调
:预训练全部完成后,再对整个网络进行“微调”训练。
也可以将预训练+微调
的做法视为将大量参数分组,对每组先找到局部看来比较好的设置,再基于局部最优结果联合进行全局寻优。这使得利用了模型大量参数提供的自由度同时还有效节省了训练开销。
权共享
:使一组神经元使用相同的连接权。如:卷积神经网络(Convolutional Neural Network)CNN。
总结:
通过多层处理,逐渐将初始的“低层”特征表示转化为“高层”特征表示后,用简单模型完成复杂的分类等学习任务。于是我们也可以将深度学习理解为“特征学习”(feature learning)。