1、准备样本
在一个复杂的网络中,我们准备一定数量的用来训练的 x 向量,可以是文本,可以是 图片,可以是音频,甚至可以是音视频结合的更为复杂的训练样本,当然只要是输入到网 络中作为训练样本的一定是向量化的。
2、清洗处理
在放人网络进行训练之前,需要进行一定处理,处理的目的是为了帮助网络更高效、更准确地做好分类。
3、正式训练
根据网络中两个神经元的表达式描述:
zh=whx+bh,yh=11+e−zhz_{h}=w_hx+b_h,y_h=\dfrac{1}{1+e^{-z_h}}zh=whx+bh,yh=1+e−zh1
zo=woyh+bo,yo=11+e−zoz_{o}=w_oy_h+b_o,y_o=\dfrac{1}{1+e^{-z_o}}zo=woyh+bo,yo=1+e−zo1
x1x_1x1一旦代入后,就会是这样一个映射关系:
zh1=whx1+bh,yh1=11+e−zh1z_{h1}=w_hx_1+b_h,y_{h1}=\dfrac{1}{1+e^{-z_{h1}}}zh1=whx1+bh,yh1=1+e−zh11
zo1=woyh1+bo,yo1=11+e−zo1z_{o1}=w_{o}y_{h1}+b_o,y_{o1}=\dfrac{1}{1+e^{-z_{o1}}}zo1=woyh1+bo,yo1=1+e−zo11
由x1,y1x_1,y_1x1,y1带来的误差值可以定义了Loss1=(yo1−y1)2Loss_1=(y_{o1}-y_1)^2Loss1=(yo1−y1)2
由10个训练数据共同带来的误差值就变成了:Loss=∑i=110(yo1−y1)2Loss=\sum^{10}_{i=1}(y_{o1}-y_1)^2Loss=i=1∑10(yo1−y1)2也就是需要更新以下四个表达式:
(wh)n=(wh)n−1−η∂Loss∂wh(w_h)^n=(w_h)^{n-1}-\eta\dfrac{\partial Loss}{\partial w_h}(wh)n=(wh)n−1−η∂wh∂Loss
(bh)n=(bh)n−1−η∂Loss∂bh(b_h)^n=(b_h)^{n-1}-\eta\dfrac{\partial Loss}{\partial b_h}(bh)n=(bh)n−1−η∂bh∂Loss
(wo)n=(wo)n−1−η∂Loss∂wo(w_o)^n=(w_o)^{n-1}-\eta\dfrac{\partial Loss}{\partial w_o}(wo)n=(wo)n−1−η∂wo∂Loss
(bo)n=(bo)n−1−η∂Loss∂bo(b_o)^n=(b_o)^{n-1}-\eta\dfrac{\partial Loss}{\partial b_o}(bo)n=(bo)n−1−η∂bo∂Loss
首先将
Loss=∑i=110(yo1−y1)2  ⟹  Loss=12∑i=110(yo1−y1)2Loss=\sum^{10}_{i=1}(y_{o1}-y_1)^2\implies Loss=\frac{1}{2}\sum^{10}_{i=1}(y_{o1}-y_1)^2Loss=i=1∑10(yo1−y1)2⟹Loss=21i=1∑10(yo1−y1)2