多层感知器(MLP)是一种前馈人工神经网络,它拥有输入层、隐藏层和输出层。如果隐藏层超过1个,则又称为深度人工神经网络。MLP是一种深度学习算法的一种,使用反向传播来训练算法。
常见的多层感知器应用包括语音识别、图像识别和机器翻译,它被广泛用于解决需要监督学习的问题以及计算神经科学和并行分布式处理的研究。
多层感知器(MLP)工作机制
多层感知器(MLP)的输入层接收要处理的输入信号,输出层执行预测和分类等所需任务,位于输入和输出层之间的隐藏层则是MLP的真正计算引擎。数据正向沿着输入层流向输出层,MLP中的神经元通过反向传播进行训练学习算法。
具体为:
多层感知器中的神经元可以使用任意激活函数。多层感知器属于前馈算法的范畴,输入与加权和中的初始权重相结合并受到激活函数的影响,在多次感知器中,每个线性组合都会传播到下一层,每一层都在为下一层提供它们的计算结果。
想象一下,如果算法只计算每个神经元的加权和,将结果传播到输出层,然后停止,这就无法计算最小化成本函数的权重;如果算法只计算一次迭代,那算法就没有实际的进行学习。这时多层感知器反向传播机制就开始发挥作用。
反向传播允许多层感知器迭代地调整网络中的权重,直至获得最小化成本函数的权重。
反向传播要正常工作有一个硬性要求。在神经元中组合输入、权重函数和阈值函数必须是可微的。这些函数必须有一个有界导数,因为梯度下降通常是多层感知器中使用的优化函数。
在每次迭代中,在加权和通过所有层转发之后,均方误差的梯度在所有输入-输出对中计算。然后,为了将其传播回去,第一个隐藏层的权重用梯度值更新。这个过程一直持续到每个输入-输出对的梯度收敛,这意味着与前一次迭代相比,新计算的梯度没有超过指定的收敛阈值。
多层感知器(MLP)训练学习过程
1、从输入层开始,将数据向前传播到输出层;
2、根据输出,计算预测结果与已知结果之间的差异;
3、反向传播差异,求其对网络中每个权重的导数,并更新模型。
重复上面的三个步骤来学习训练优化算法。