前向传播
前向传播简单理解就是:将上一层的输出作为下一层的输入,并计算下一层的输出,一直到运算到输出层为止。即网络从输入得到最终输出结果的过程
如上图所示:
-
输入为 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]=W1⊤X=[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=W2⊤H=[11][1.253.8]=5.05
上述的过程就是前向传播过程,前向传播得到输出,反向传播得到梯度
推荐阅读
-
在前向传播和定向传播阶段,Dropout 为什么能防止过度拟合,Dropout 和 BN 有什么区别?
-
数据结构 图的邻接表表示法 有向 + 无向图的深度优先搜索遍历(C 代码 + 终端输入内容)
-
在线游戏 "服务器向客户端分发信息[21]。
-
反向传播与优化 pytorch
-
代码随想录算法训练营第五十八天| 110.字符串接龙,105.有向图的完全可达性,106.岛屿的周长-105.卡码网有向图的完全可达性
-
模块:Nuxt.js 应用程序中的事件钩子前详解
-
Shell 脚本:向每个群集节点分发文件
-
遍历有向图链接(DFS 算法)--优化版
-
使用拓扑排序法实现有向无环图中最长路径长度的算法
-
如何在 IP 地址前正确输入斜线:详细指南