03 多层感知机 (multilayer perceptron,MLP)

多层感知机在单层神经.络的基础上引入了一到多个隐藏层。输入层 \(\rightarrow\) 隐藏层 \(\rightarrow\) 输出层

若三层或多层之间都为线性关系,则依然类似于单层神经网络。(上述问题的根源在于全连接层只是对数据做仿射变换(affine transformation)而多个仿射变换
的叠加仍然是一个仿射变换。解决问题的一个方法是引入非线性变换) 这个非线性函数被称为激活函数(activation function)

激活函数

ReLU函数

\(\operatorname{ReLU}(x)=\max (x, 0)\)

当输⼊为负数时,ReLU函数的导数为0;当输⼊为正数时,ReLU函数的导数为1。

sigmoid函数

\(\operatorname{sigmoid}(x)=\frac{1}{1+\exp (-x)}\)

导数为: \(\operatorname{sigmoid}^{\prime}(x)=\operatorname{sigmoid}(x)(1-\operatorname{sigmoid}(x))\)

tanh函数

\(\tanh (x)=\frac{1-\exp (-2 x)}{1+\exp (-2 x)}\)

\(\tanh ^{\prime}(x)=1-\tanh ^{2}(x)\)

多层感知机

多层感知机就是含有⾄少⼀个隐藏层的由全连接层组成的神经⽹络,且每个隐藏层的输出通过激活函数进⾏变换。多层感知机的层数和各隐藏层中隐藏单元个数都是超参数。

\(\boldsymbol{H}=\phi\left(\boldsymbol{X} \boldsymbol{W}_{h}+\boldsymbol{b}_{h}\right)\)
\(\boldsymbol{O}=\boldsymbol{H} \boldsymbol{W}_{o}+\boldsymbol{b}_{o}\)

其中,\(\phi\)表示激活函数。

你可能感兴趣的:(03 多层感知机 (multilayer perceptron,MLP))