欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

前向传播

最编程 2024-07-24 22:42:22
...

前向传播简单理解就是:将上一层的输出作为下一层的输入,并计算下一层的输出,一直到运算到输出层为止。即网络从输入得到最终输出结果的过程

在这里插入图片描述

如上图所示:

  • 输入为 X = [ x 1 x 2 ] = [ 1 0.5 ] X=\begin{bmatrix}x_1\\x_2\end{bmatrix}=\begin{bmatrix}1\\0.5\end{bmatrix} X=[x1x2]=[10.5]

  • 初始化的各个权重分别为 W 1 = [ w 1 w 3 w 2 w 4 ] = [ 0.5 2.3 1.5 3 ] , W 2 = [ w 5 w 6 ] = [ 1 1 ] W_1=\begin{bmatrix}w_1&w_3\\w_2&w_4\end{bmatrix}=\begin{bmatrix}0.5&2.3\\1.5&3\end{bmatrix},W_2=\begin{bmatrix}w_5\\w_6\end{bmatrix}=\begin{bmatrix}1\\1\end{bmatrix} W1=[w1w2w3w4]=[0.51.52.33],W2=[w5w6]=[11]

那么就有:

  • 经过第一个全连接层得到hidden layer的值为 H = [ h 1 h 2 ] = W 1 ⊤ X = [ 0.5 1.5 2.3 3 ] [ 1 0.5 ] = [ 1.25 3.8 ] H=\begin{bmatrix}h_1\\h_2\end{bmatrix}=W_1^\top X=\begin{bmatrix}0.5&1.5\\2.3&3\end{bmatrix}\begin{bmatrix}1\\0.5\end{bmatrix}=\begin{bmatrix}1.25\\3.8\end{bmatrix} H=[h1h2]=W1X=[0.52.31.53][10.5]=[1.253.8]
  • 经过第二个全连接层得到输出值为 y = W 2 ⊤ H = [ 1 1 ] [ 1.25 3.8 ] = 5.05 y=W_2^\top H=\begin{bmatrix}1&1\end{bmatrix}\begin{bmatrix}1.25\\3.8\end{bmatrix}=5.05 y=W2H=[11][1.253.8]=5.05

上述的过程就是前向传播过程,前向传播得到输出,反向传播得到梯度