多层感知器
在之前的课程中,我们了解到,感知器(指单层感知器)具有一定的局限——无法解决异或问题,即线性不可分的问题。
将多个单层感知器进行组合,就可以得到一个多层感知器(MLP——Multi-Layer Perceptron)结构。 多层感知器包含输入层,一个或多个隐藏层以及一个输出层。每层的神经元与下一层进行完全连接。
如果网络中包含一个以上的隐层,则称其为深度人工神经网络。
说明:
- 通常我们说的神经网络的层,指具有计算的层,因为输入层没有计算,因此,通常输入层不计入神经网络的层次。
- 多层感知器(深度神经网络)可以解决线性不可分问题。
激活函数
激活函数概念
在神经网络中,激活函数用来为每一个结点(神经元)定义输出,该输出可以作为下一个结点(神经元)的输入。
激活函数的作用
激活函数提供网络的非线性建模能力。如果不使用激活函数,即使是多层神经网络,也无法解决线性不可分的问题。
激活函数的特征
激活函数的一些属性:
- 非线性 可以解决非线性可分问题。当激活函数是线性时,多层神经网络相当于单层神经网络。
- 范围性 当激活函数是有限范围时,基于梯度的训练方法往往更稳定,因为模式呈现仅显着影响有限的权重。当范围无限时,训练通常更有效,因为模式呈现显着影响大多数权重。在后一种情况下,通常需要较小的学习率。
- 可微性 该属性用来实现基于梯度的优化方法。
- 单调性 当激活函数是单调的时,与单层模型相关联的误差表面保证是凸的。
- 平滑性并且具有单调导数 在某些情况下,这些函数已被证明更为普遍。
- 原点中心化 当激活函数具有此属性时,使用较小的随机值初始化权重,可以让神经网络学习更加有效(更有利于权重的更新)。否则,在初始化权重时必须特别小心。如果函数f满足以下条件,则表明函数是原点中心化的。
- f ( 0 ) = 0 f(0) = 0 f(0)=