一个神经网络的正向传播过程

 我们用一个网络为例,试图把一前向传播的每个细节说清楚,图中为了强调传递函数的矩阵表达,特意忽略了激活函数这一步骤,可以将其看成一个多层的线性网络。

一个神经网络的正向传播过程_第1张图片

要想把这个过程说清楚,首先需要将神经网络中各个参数用文字表达清楚,就是把图中的w和b以及上下标定义清楚.

对于形如

w _{jk} ^l

表示的是神经网络中第l-1层的第k个节点,向神经网络中第l层的第j个节点之间的权重,注意w的下标是首位表示的是节点后层节点的位置,末尾表示是前层节点的位置。理解这样的表达方式在后面的计算中会很好理解。

同理,b的表示相比于w要简单一些,符号

b _j ^l

表示第l层网络在第j个节点的偏置。无论w还是b的表示,上标都是表示层数。并且

w _{jk} ^l

b _j ^l

表示都是第l层网络第j个节点的参数。所以该节点的输出可以表示为:

y_{j}=\sum_{k=1}^{3} w_{j k}^{1} x_{k}+b_{j}^{1} \quad \quad j\in 1,2,3,4

z_{j}=\sum_{k=1}^{4} w_{j k}^{2} y_{k}+b_{j}^{2} \quad \quad j\in 1,2

也就是:

\begin{bmatrix} y_1\\ y_2\\ y_3\\ y_4 \end{bmatrix}=\begin{bmatrix} w_{11}^1 & w_{12}^1&w_{13}^1 \\ w_{21}^1 & w_{22}^1 &w_{23}^1 \\ w_{31}^1 & w_{32}^1 &w_{33}^1 \\ w_{41}^1 & w_{42}^1 &w_{43}^1 \end{bmatrix}\begin{bmatrix}x_1\\ x_2\\ x_3 \end{bmatrix}+\begin{bmatrix}b_1^1\\ b_2^1\\ b_3^1 \\b_4^1 \end{bmatrix}

\begin{bmatrix} z_1\\ z_2 \end{bmatrix}=\begin{bmatrix} w_{11}^2 & w_{12}^2&w_{13}^2 & w_{14}^2\\ w_{21}^2 & w_{22}^2&w_{23}^2 & w_{24}^2 \end{bmatrix} \begin{bmatrix} y_1\\ y_2\\ y_2\\ y_3 \end{bmatrix} + \begin{bmatrix} b_1^2\\ b_2^2 \end{bmatrix}

联立两式,即可得到输入和输出的关系:

\\ \begin{bmatrix} z_1\\ z_2 \end{bmatrix}=\begin{bmatrix} w_{11}^2 & w_{12}^2&w_{13}^2 & w_{14}^2\\ w_{21}^2 & w_{22}^2&w_{23}^2 & w_{24}^2 \end{bmatrix}\bigg(\begin{bmatrix} w_{11}^1 & w_{12}^1&w_{13}^1 \\ w_{21}^1 & w_{22}^1 &w_{23}^1 \\ w_{31}^1 & w_{32}^1 &w_{33}^1 \\ w_{41}^1 & w_{42}^1 &w_{43}^1 \end{bmatrix}\begin{bmatrix}x_1\\ x_2\\ x_3 \end{bmatrix}+\begin{bmatrix}b_1^1\\ b_2^1\\ b_3^1 \\b_4^1 \end{bmatrix}\bigg) + \begin{bmatrix} b_1^2\\ b_2^2 \end{bmatrix}

\boldsymbol{\\ \begin{bmatrix} z_1\\ z_2 \end{bmatrix}=\begin{bmatrix} w_{11}^2 & w_{12}^2&w_{13}^2 & w_{14}^2\\ w_{21}^2 & w_{22}^2&w_{23}^2 & w_{24}^2 \end{bmatrix}\begin{bmatrix} w_{11}^1 & w_{12}^1&w_{13}^1 \\ w_{21}^1 & w_{22}^1 &w_{23}^1 \\ w_{31}^1 & w_{32}^1 &w_{33}^1 \\ w_{41}^1 & w_{42}^1 &w_{43}^1 \end{bmatrix}\begin{bmatrix}x_1\\ x_2\\ x_3 \end{bmatrix}+\begin{bmatrix} w_{11}^2 & w_{12}^2&w_{13}^2 & w_{14}^2\\ w_{21}^2 & w_{22}^2&w_{23}^2 & w_{24}^2 \end{bmatrix}\begin{bmatrix}b_1^1\\ b_2^1\\ b_3^1 \\b_4^1 \end{bmatrix}+ \begin{bmatrix} b_1^2\\ b_2^2 \end{bmatrix}}

以上就是神经网络的正向传递函数表达式。

基本上,不考虑非线性激活函数的情况下,每一个全连接层都是对输入向量的仿射变换,线性变换矩阵是权重矩阵,平移向量是偏置向量,全连接层是直接进行矩阵乘法得到当前层的输出。这和卷积层的计算是有所区别的。

结束!

你可能感兴趣的:(算法,人工智能,数学,神经网络,深度学习)