为清楚起见,我将参考您问题的图像。从左到右,这个神经网络 (NN) 有一个 5 个神经元的输入层、一个 2 个神经元的隐藏层和一个 5 个神经元的输出层。
图形表示如何工作?假设您有一个新的预测变量值,并将其输入到下面的 NN 中。NN 是如何知道分配给这个单一预测变量值的系数的?其他系数会发生什么变化?Xs 值的向量是否等于 [X1, 0, 0, 0, 0]?
一旦我们已经设置了所有的权重和偏差,神经网络就已经被训练过了。因此,网络准备好在其输入层接收数据并在输出层做出正确的预测。
在图像的 NN 中,我们有一个由 5 个神经元组成的输入层。这 5 个神经元将“接收”值已知的数据,例如它们可以是由 5 个像素(与输入层的神经元数量相同)形成的图像的像素灰度值的 5x1 向量。
在此之后,网络将执行所有需要的数学运算,并按照图像的示例在输出层给出一个 5x1 的向量。这个输出可以给出它的一些信息,例如它是否包含总共 5 个对象中的 1 个,因此如果输出层的第一个神经元与 object1 相关联,则该神经元将被激活,这意味着该对象存在。
在此之后,如果图像中存在对象1、对象3和对象4,我们将在输出层有一个像这样的向量:[1,0,1,1,0]T. 注意:在实践中,这只会在理想情况下发生。如果网络训练有素,最有可能发生的事情是向量的元素接近0对于未激活的神经元,并且接近1对于激活的神经元。
以及它与背后的矩阵数学有何关系?
为了回答这个问题,我需要一些符号。由于网络已经过训练,我们知道图像矩阵的所有元素:每个权重wjk和每一个偏见bj在哪里j表示权重矩阵(或偏差向量)的行,它还与我们要计算激活向量的层中的神经元位置有关。另一方面,k表示权重矩阵的列或神经元在当前层的前一层中的位置,我们正在计算激活。
使用这个符号,我们可以计算每个神经元的激活j在一层中:
xj=f(zj)和zj=∑kwjk×xk+bj在哪里f表示激活函数,它可以是不同类型的,如Sigmoid或Softmax。
请注意,这与分别计算每个Zi出现在问题图像中的方程式。所以这就是矩阵数学在“幕后”所做的。
编辑:正如 Gunes 所说,输入层的神经元数量与输出层的神经元数量无关。