神经网络前向传播推导

神经网络机构如图:
在这里插入图片描述
x为N*m的矩阵,N为样本的个数(即Batch Size,每次送给神经网络的样本个数),m为特征维度。

第一层:
w 1 w_1 w1 m × m 1 m\times m_1 m×m1的矩阵,则:

h 1 = x N m w 1 , m m 1 = h 1 , N m 1 h_1=x_{Nm}w_{1,mm_1}=h_{1,Nm_1} h1=xNmw1,mm1=h1,Nm1

乘法后,样本个数没变,单数维度成 w 1 w_1 w1的维度
再给每个维度加上偏置项: b 1 ∈ R m 1 b_1\in R^{m_1} b1Rm1
b 1 = [ 1 2 3 ] b_1=\left[\begin{matrix}1&2&3\end{matrix}\right] b1=[123]
则最后把 b 1 b_1 b1扩展为: [ 1 2 3 1 2 3 ⋯ ⋯ ⋯ ] \left[\begin{matrix}1&2&3\\1&2&3\\\cdots&\cdots&\cdots\end{matrix}\right] 112233,即每一个样本的每一维特征都要加上偏置项,进入下一层,公式:

h 1 = x w 1 + b ~ 1 h_1=xw_1+\tilde b_1 h1=xw1+b~1 b ~ 1 \tilde b_1 b~1 b 1 T b_1^T b1T后沿行方向拓展到N行(样本数)。

Z 1 = f 1 ( h 1 ) Z_1=f_1(h_1) Z1=f1(h1),此处从 h 1 h_1 h1 Z 1 Z_1 Z1并非矩阵变换,函数f作用于矩阵的每一个元素,所以 Z 1 Z_1 Z1 h 1 h_1 h1结构一致,为 N × m 1 N\times m_1 N×m1

第二层:
h 2 = x w 2 + b ~ 2 h_2=xw_2+\tilde b_2 h2=xw2+b~2 Z 1 = f 2 ( h 1 ) Z_1=f_2(h_1) Z1=f2(h1)

直到第L层:
h L = x w L + b ~ L h_L=xw_L+\tilde b_L hL=xwL+b~L Z L = f L ( h L ) Z_L=f_L(h_L) ZL=fL(hL)

最后一层输出OUT:
O U T = Z L w L + 1 + b ~ L + 1 OUT=Z_Lw_{L+1}+\tilde b_{L+1} OUT=ZLwL+1+b~L+1

w L + 1 w_{L+1} wL+1矩阵大小 N × n N\times n N×n n n n为所期望输出的特征维度的大小。

总结:
以上从x到OUT的部分,不管是分类问题(损失函数一般为Cross Entropy)还是回归问题(损失函数一般为MSE)都要用到的。区别在于,上述过程是回归的过程,而分类问题还要在OUT后面接softmax。对损失函数的求导过程,其实是对 O U T = Z L w L + 1 + b ~ L + 1 OUT=Z_Lw_{L+1}+\tilde b_{L+1} OUT=ZLwL+1+b~L+1的结果求导,

求导过程:
∂ J ∂ O U T \frac{\partial J}{\partial OUT} OUTJ J J J为损失函数)

详见MSE求导及CE求导公式推导。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值