多层感知机在单层神经网络的基础上引入了一到多个隐藏层(hidden layer)。多层感知机的全连接层和隐藏层都是全连接层。
激活函数:为什么要引入激活函数?
答:多层感知机的全连接层只是对数据做仿射变换(affine transformation),即线性变换,而多个仿射变换的叠加依然是一个仿射变换,也就是说多层神经网络也就相当于一层。解决这个问题的办法就是在全连接层之间引入非线性变换,即激活函数。
常见的激活函数:
1. ReLU(rectified linear unit)
ReLU函数只保留正数元素,并将负数元素清零。
2.sigmoid函数
将元素映射到 (0, 1) ,在输入接近零时,sigmoid函数接近线性变换。早期的神经网络使用广泛,目前逐渐被更简单的ReLU函数替代。
3. tanh函数(双曲正切)
将元素映射到 (-1, 1),形状和sigmoid函数很像,但是其在坐标系的原点上对称。