MENU

Neural Network Representation

April 6, 2019 • Read: 321 • Deep Learning

我们以图示的方式来介绍单隐藏层的神经网络结构。如下图所示,单隐藏层神经网络就是典型的浅层(shallow)神经网络

从左到右,可以分成三层:输入层(Input layer),隐藏层(Hidden layer)和输出层(Output layer)。输入层和输出层,顾名思义,对应着训练样本的输入和输出,很好理解。隐藏层是抽象的非线性的中间层,这也是其被命名为隐藏层的原因

在写法上,我们通常把输入矩阵$X$记为$a^{[0]}$,把隐藏层输出记为$a^{[1]}$,上标从0开始。下标表示第几个神经元,注意下标从1开始。例如$a_1^{[1]}$表示隐藏层第一个神经元,$a_2^{[1]}$表示隐藏层的第2个神经元......那么,隐藏层的4个神经元就可以将其输出$a^{[1]}$写成矩阵的形式

$$ a^{[1]} = \left[ \begin{array}{ccc} a^{[1]}_{1}\\ a^{[1]}_{2}\\ a^{[1]}_{3}\\ a^{[1]}_{4} \end{array} \right] $$

最后,相应的输出层记为$a^{[2]}$,即$\hat y$。这种单隐藏层神经网络也被称为两层神经网络(2 layer NN)。之所以叫两层神经网络是因为,通常我们只会计算隐藏层输出和输出层的输出,输入层是不用计算的。这也是我们把输入层层数上标记为0的原因($a^{[0]}$)

关于隐藏层对应的权重$W^{[1]}$和常数项$b^{[1]}$,$W^{[1]}$的维度是(4,3)。这里的4对应着隐藏层神经元个数,3对应着输入层$X$特征向量包含元素个数。常数项$b^{[1]}$的维度是(4,1),这里的4同样对应着隐藏层神经元个数

关于输出层对应的权重$W^{[2]}$和常数项$b^{[2]}$,$W^{[2]}$的维度是(1,4),这里的1对应着输出层神经元个数,4对应着隐藏层神经元个数。常数项$b^{[2]}$的维度是(1,1),因为输出只有一个神经元

总结一下,第$i$层的权重$W^{[i]}$维度的行等于$i$层神经元的个数,列等于$i-1$层神经元的个数;第$i$层常数项$b^{[i]}$维度的行等于$i$层神经元的个数,列始终为1

Archives Tip
QR Code for this page
Tipping QR Code