多层感知机概述——2020.2.15

其他博客:

多层感知机从零开始实现:https://www.cnblogs.com/somedayLi/p/12359167.html
多层感知机简洁实现:https:////www.cnblogs.com/somedayLi/p/12359420.html

一、隐藏层

    多层感知机在单层神经⽹络的基础上引⼊了⼀到多个隐藏层(hidden layer)。隐藏层位于输⼊层和输出层之间。下图展示了⼀个多层感知机的神经⽹络图,它含有⼀个隐藏层,该层中有5个隐藏单元。

    上图所示的多层感知机中,输⼊和输出个数分别为4和3,中间的隐藏层中包含了5个隐藏单元(hidden unit)。由于输⼊层不涉及计算,因此上图的多层感知机的层数为2。由上图可⻅,隐藏层中的神经元和输⼊层中各个输⼊完全连接,输出层中的神经元和隐藏层中的各个神经元也完全连接。因此,多层感知机中的隐藏层和输出层都是全连接层。

二、激活函数

    上述问题的根源在于全连接层只是对数据做仿射变换(affine transformation)⽽多个仿射变换的叠加仍然是⼀个仿射变换。解决⽅法——引⼊⾮线性变换,即通过激活函数(activation function)实现非线性变换。关于激活函数,可以看我的另一篇博客激活函数总结,本书中列举的三个激活函数是:ReLU函数、sigmoid函数、tanh函数。

三、多层感知机

    多层感知机是指——由全连接组成的神经网络,至少含有一个隐藏层,并且,每个隐藏层的输出均通过激活函数进行变换。多层感知机的层数和各隐藏层中隐藏单元个数都是超参数(超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据——百度百科)。以单隐藏层为例并沿⽤本节之前
定义的符号(见下面引用内容),多层感知机按以下⽅式计算输出:

给定⼀个⼩批量样本(X in R^{n imes d}) ,其批量⼤⼩为(n) ,输⼊个数为(d)。假设多层感知机只有⼀个隐藏层,其中隐藏单元个数为 。记隐藏层的输出(也称为隐藏层变量或隐藏变量)为(H),有(H in R^{n imes h})。因为隐藏层和输出层均是全连接层,可以设隐藏层的权重参数和偏差参数分别为(W_h in R^{d imes h})(b_h in R^{1 imes h}),输出层的权重和偏差参数分别为(W_o in R^{h imes q})(b_o in R^{1 imes q})

[H = phi left( XW_h + b_h ight) \ O = HW_o + b_o ]

    其中(phi)表示激活函数。在分类问题中,我们可以对输出(O)做softmax运算,并使⽤softmax回归中的交叉熵损失函数。 在回归问题中,我们将输出层的输出个数设为1,并将输出(O)直接提供给线性回归中使⽤
的平⽅损失函数。

小结

  • 多层感知机在输出层与输⼊层之间加⼊了⼀个或多个全连接隐藏层,并通过激活函数对隐藏层输出进⾏变换。
  • 常⽤的激活函数包括ReLU函数、sigmoid函数和tanh函数。
原文地址:https://www.cnblogs.com/somedayLi/p/12313804.html