参考:

神经网络1:多层感知器-MLP - 知乎 (zhihu.com)

神经网络(容易被忽视的基础知识) - 知乎 (zhihu.com)

我们一般用深层的神经网络而不是浅层“肥胖”的网络,因为当准确率差不多的时候,参数的数量却相差数倍。

说神经网络多少层数的时候一般不包括输入层。

目的:将线性模型扩展为非线性模型

最典型的MLP包括三层:输入层、隐层和输出层,MLP神经网络不同层之间是全连接的(全连接的意思就是:上一层的任何一个神经元与下一层的所有神经元都有连接)。

超参数:隐藏层的个数和每个隐藏层输出的大小

常见神经网络——MLP多层感知机(前馈神经网络)

神经网络主要有三个基本要素:权重、偏置和激活函数

权重:神经元之间的连接强度由权重表示,权重的大小表示可能性的大小

偏置:偏置的设置是为了正确分类样本,更好的拟合数据,是模型中一个重要的参数,即保证通过输入算出的输出值不能随便激活。(12条消息) 神经网络中偏置的作用_Andy-Miao的博客-CSDN博客_神经网络中偏置的作用

激活函数:起非线性映射的作用,其可将神经元的输出幅度限制在一定范围内,一般限制在(-1~1)或(0~1)之间。最常用的激活函数是Sigmoid函数,其可将(-∞,+∞)的数映射到(0~1)的范围内;tanh是Sigmoid函数的变形,tanh的均值是0,在实际应用中有比Sigmoid更好的效果;ReLU函数是近来比较流行的激活函数,当输入信号小于0时,输出为0;当输入信号大于0时,输出等于输入。

对于最后的输出层,我们可以根据任务的种类来选择激活函数,如二分类任务中我们使用sigmoid函数(也就是logistic函数),多分类任务中使用softmax函数(得到的值都在0-1之间,看做概率)。

常见神经网络——MLP多层感知机(前馈神经网络)

常见神经网络——MLP多层感知机(前馈神经网络)

 下层单个神经元的值与上层所有输入之间的关系可通过如下方式表示:

常见神经网络——MLP多层感知机(前馈神经网络)

常见神经网络——MLP多层感知机(前馈神经网络)

对每个神经元都做一个激活:

常见神经网络——MLP多层感知机(前馈神经网络)

计算需要调节的参数:

b的个数为隐藏层和输出层的神经元个数

w的个数由各层间的神经元结合情况决定

输入层:1×784 隐藏层1:1×16 隐藏层2:1×16 输出层:1×10

所以w个数分别为786×16 16×16 16×9 

常见神经网络——MLP多层感知机(前馈神经网络)