深度学习技术要点解析
1. 多层感知机与激活函数
1.1 激活函数选择
多层感知机(MLP)在多分类问题中需要合适的激活函数,而回归问题一般不需要激活函数。若MLP出现过拟合训练数据的情况,可以尝试减少隐藏层的数量以及每个隐藏层的神经元数量。
1.2 权重初始化
权重初始化时,所有权重应独立采样,不能具有相同的初始值。因为若所有权重初始值相同,即使不为零,神经元之间的对称性也无法打破,反向传播也难以解决这个问题,这会导致同一层的所有神经元权重始终相同,就像每层只有一个神经元,训练速度会变得很慢,且几乎不可能收敛到一个好的解。而偏置项初始化为零是完全可行的,也可以像初始化权重一样初始化偏置项,这不会有太大影响。
1.3 激活函数特性
- SELU函数 :相较于ReLU函数,SELU函数有诸多优势。它能取负值,使得神经元的平均输出更接近零,有助于缓解梯度消失问题;其导数始终不为零,可避免ReLU单元出现的死亡单元问题;在满足特定条件(如模型为顺序模型、权重使用LeCun初始化、输入标准化且无不兼容层或正则化)时,SELU函数能确保模型自归一化,解决梯度爆炸/消失问题。
- ReLU函数 :虽然通常性能不如SELU和Leaky ReLU,但因其简单性,仍是很多人的首选。而且ReLU函数能精确输出零,在某些情况下很有用,还能受益于优化实现和硬件加速。
- 其他激活函数 :双曲正切(tanh)在输出层需要输出 -1 到 1 之间的数值时有用,如今在隐藏层使用
超级会员免费看
订阅专栏 解锁全文
1737

被折叠的 条评论
为什么被折叠?



