以下图为例:
step 1. 前向传播:根据前向传播公式,逐步从前往后算出前向传播运算结果(绿色的那些值)。
step 2. 根据链式求导法则,逐步从后往前算出红色的那些梯度值。
step 3. 根据随机梯度下降算法,参数更新公式,更新一波权重参数w0,w1,w2。
step2和step3加起来是反向传播过程。
然后不断循环该过程,直到loss(是一个跟权重参数有关的函数)小于一个特定值,就停止更新,loss用于衡量预测值和label值的差距,如均方差,交叉熵等,天下loss千千万,loss设计是一门学问。
代码实现过程:
1. 准备数据
2. 定义前向传播函数
3. 定义loss
4. 定义优化算法
5. 开始迭代
(1)求y_pred
(2)求loss
(3)梯度归零
(4)反向传播
(5)更新参数