神经网络计算过程
原理是设计一个多参数的非线性组合模型,即多层神经网络model.
用这个model来近似(拟合)一个无法求出的复杂函数 y = f(x).
(输入x和输出y皆为高维变量的)
-
定义这个模型的前向传播过程,即forward : 即数据input进model,model输出output,类似y=f(x).
-
根据Loss的定义,一般为真实样本的(y,x),和模型的随机输入和输出 (z,y’)的比较函数。在Loss中分别对每个维度的参数求其偏导数,得到每个参数的偏导数值即x_i.grad()
-
根据优化(Optimizer)的学习策略,小幅更新各个参数的梯度. 先看其grad正负,再根据正负方向对原参数值加减一定比例的梯度值
(更新公式:w = w - n*grad, 如果梯度值为正,原参数就会减小。如果梯度值为负,原参数值就会增大)