本站原创文章,转载请说明来自《老饼讲解-深度学习》www.bbbdata.com
MLP的训练,实际就是求解MLP中的模型参数,它一般使用算法进行求解(即训练)
本文面向深度学习,讲解MLP的训练算法,和基本的训练相关知识点,例如梯度下降法、动量梯度下降、SGD等等
通过本文,可以快速了解深度学习中,MLP神经网络的训练是什么,以及采用什么方法进行训练MLP
本节介绍MLP神经网络的训练是什么,以及用什么方法进行训练
MLP神经网络的训练是什么
什么是MLP神经网络的训练
如前文所述,一个有两个输入、三个隐神经元、一个输出的MLP神经网络
它的数学表达式如下:
![]()
MLP的训练就是指求一组参数w,b,使得模型的损失函数越小越好
例如,数值预测时,MLP的损失函数为均方差误差函数,如下:
则,MLP的训练就是求一组W,b,使得上述损失函数最小化
MLP神经网络的训练算法
MLP的训练算法有很多,
但如下几个训练算法与知识点,是深度学习中入门必知、最基础的训练算法:
1. 梯度下降法
2. 动量梯度下降法
3. 权重衰减
4. SGD随机梯度下降法
其中,梯度下降算法是训练模型的一个最基本算法,它可以通过多次迭代来求解模型中的参数
但梯度下降法在平缓区域会特别慢,所以需要动量梯度下降法,使它在平缓区域时不至于太慢
又由于深度学习中,模型的参数特别多,极易过拟合,因此,加入权重衰减可在一定程度上缓和过拟合现象
进一步地,在深度学习中,样本数量特别多,直接训练会内存不足,因此需要使用SGD来随机小批小批地训练
总的来说,梯度下降法解决求解、动量梯度下降解决速度、权重衰减解决过拟合、SGD解决内存不足
这是一套最基础的组合拳,使得深度学习的模型在实际中能够完成训练
随着发展,后来又有了Adadelta、Adagrad、Adam等等训练算法,但这是阶段性的,以后还会有更多的算法
好了,以上就是MLP的训练与它的训练方法的介绍了~
End