多层感知器
机器学习与数据挖掘 |
---|
多层感知器(英語:Multilayer Perceptron,缩写:MLP)是一种前向结构的人工神经网络,映射一组输入向量到一组输出向量。MLP可以被看作是一个有向图,由多个的节点层所组成,每一层都全连接到下一层。除了输入节点,每个节点都是一个带有非线性激活函数的神经元(或称处理单元)。一种被称为反向传播算法的监督学习方法常被用来训练MLP。[1][2] 多层感知器遵循人類神經系統原理,學習並進行數據預測。它首先學習,然後使用權重存儲數據,並使用算法來調整權重並減少訓練過程中的偏差,即實際值和預測值之間的誤差。主要優勢在於其快速解決複雜問題的能力。多層感知的基本結構由三層組成:第一輸入層,中間隱藏層和最後輸出層,輸入元素和權重的乘積被饋給具有神經元偏差的求和結點,主要優勢在於其快速解決複雜問題的能力。 [3] MLP是感知器的推广,克服了感知器不能对线性不可分数据进行识别的弱点。[4]
理论
[编辑]若每个神经元的激活函数都是线性函数,那么,任意层数的MLP都可被约简成一个等价的单层感知器。[5]
实际上,MLP本身可以使用任何形式的激活函数,譬如阶梯函数逻辑Sigmoid函数,但为了使用反向传播算法进行有效学习,激活函数必须限制为可微函数。由于具有良好可微性,很多S函数,尤其是双曲正切函数(Hyperbolic tangent)及逻辑函数,被采用为激活函数。
在深度学习的最新发展中,线性整流(ReLU)更频繁地被用来克服与S函数相关的数值问题。
两个历史上常见的激活函数都是 S函数,形式是
和 。
第一个是个双曲正切函数,值域为 -1 到 1;第二个是个逻辑函数,形状很相似但是值域为 0 到 1。令 yi 为第 i 个节点(神经元)的输出,而 vi 是输入连接的加权和。也有其他的激活函数,例如线性整流函数,径向基函数(用于径向基函数网络,另一种监督神经网络模型)。
层
[编辑]MLP由三层或更多层非线性激活节点组成(一个输入层和一个具有一个或多个隐藏层的输出层)。由于多层互连是完全连接的,所以一层中的每个节点都以一定的权重 wij 连接到下一层的每个节点。
学习
[编辑]MLP 在感知器中进行学习,通过每次处理数据后改变连接权重,降低输出与预测结果的误差量。这是有监督学习的一个例子,通过反向传播来实现,反向传播是线性感知器中最小均方算法的推广。
我们可以将输出节点 j 的第 n 个数据点的误差表示为 ,其中 d 是目标值,y 是由感知器预测的值。调整节点权重的方式是,尝试通过修正节点权重最小化输出的整体误差
- .
使用梯度下降,每个权重的修正量为
其中 yi 是前一个神经元的输出,η是学习率。η需要精心挑选,保证权重可以快速收敛而不发生震荡。
式中的导数取决于局部场 vj。场是变化的。很容易证明输出节点的导数可以简化为
其中 是激活函数的导数。是不变的。对于隐藏节点的权重变化,分析更加困难,但是可以看出相关的导数是
- .
代表输出层的第k个节点的权重变化会影响这个导数。因此,为了改变隐藏层权重,输出层权重根据激活函数的导数而改变,因此该算法代表激活函数的反向传播[6]。
术语
[编辑]术语“多层感知器”不是指具有多层的单感知器,每一层由多个感知器组成。另一种说法是“多层感知器网络”。此外,MLP的“感知器”不是最严格意义上的感知器。真正的感知器在形式上是人工神经元的一个特例,它使用一个阈值激活函数,如阶跃函数。MLP感知器可以使用任意激活函数。一个真正的感知器执行二进制分类(或者这个或者那个),一个MLP神经元可以自由地执行分类或者回归,这取决于它的激活函数。
后来应用术语“多层感知器”时,没有考虑节点/层的性质,节点/层可以由任意定义的人工神经元组成,而不是具体的感知器。这种解释避免了将“感知器”的定义放宽到一般意义上的人工神经元。
应用
[编辑]常被MLP用来进行学习的反向传播算法,在模式识别的领域中算是标准监督学习算法,并在计算神经学及并行分布式处理领域中,持续成为被研究的课题。MLP已被证明是一种通用的函数近似方法,可以被用来拟合复杂的函数,或解决分类问题。
MLP在80年代的时候曾是相当流行的机器学习方法,拥有广泛的应用场景,譬如语音识别、图像识别、机器翻译等等,但自90年代以来,MLP遇到来自更为简单的支持向量机的强劲竞争。近来,由于深度学习的成功,MLP又重新得到了关注。
文献
[编辑]- ^ Rosenblatt, Frank. x. Principles of Neurodynamics: Perceptrons and the Theory of Brain Mechanisms. Spartan Books, Washington DC, 1961
- ^ Rumelhart, David E., Geoffrey E. Hinton, and R. J. Williams.“Learning Internal Representations by Error Propagation”. David E. Rumelhart, James L. McClelland, and the PDP research group.(editors), Parallel distributed processing: Explorations in the microstructure of cognition, Volume 1: Foundations. MIT Press, 1986.
- ^ Sustainable Construction Safety Knowledge Sharing: A Partial Least Square-Structural Equation Modeling and A Feedforward Neural Network Approach, Sustainability 2019, 11(20), 5831; https://doi.org/10.3390/su11205831
- ^ Cybenko, G. 1989. Approximation by superpositions of a sigmoidal function Mathematics of Control, Signals, and Systems, 2(4), 303–314.
- ^ Neural Networks for pattern recognition 第一版. Oxford University Press. 1995. ISBN 0198538642.
- ^ Haykin, Simon. Neural Networks: A Comprehensive Foundation 2. Prentice Hall. 1998. ISBN 0-13-273350-1.