首页 > 解决方案 > 反向传播时深度学习中的问题。(Python)

问题描述

似乎无法弄清楚这个简单的 2 层网络的问题。前向过程似乎没有错误,但是,我无法弄清楚如何计算 w1、w2 和 b1 的成本,它们是第一层的权重和偏差。

//forward

z1 = point[0]*w1 + point[1]*w2 +  b1
z2 = sigmoid(z1)*w3 + b2
pred = sigmoid(z2)


//backward

z2_d_cost = 2 * (pred-target)
z2_d_pred = sigmoid_p(z2)
z2_cost_pred = z2_d_cost * z2_d_pred

w3 = w3 - z2*lrate*z2_cost_pred
b2 = b2 - lrate*z2_cost_pred

z1_d_pred = sigmoid_p(z1) * z2_cost_pred * w3

w1 = w1 - point[0]*lrate*z1_d_pred
w2 = w2 - point[1]*lrate*z1_d_pred
b1 = b1 - lrate*z1_d_pred

标签: pythonneural-networkdeep-learning

解决方案


NVM 想通了。简单的错误,应该是 w3 = w3 - z1*lrate*z2_cost_pred


推荐阅读