经典论文:
D.E.Rumelhart,G.E.Hinton,and R.J.Williams,“Learning representations by back-propagating erros,” Nature,vol.323,no.6088,pp.833-536,1986
反向传播Back Propagation是将损失函数的信息沿网络层向后传播用以计算梯度,达到优化网络参数的目的。反向传播是非常重要的算法。
设输入样本自变量(0.35,0.9),应变量0.5,初始权重如图。
三个神经元计算公式为 f ( x ) = 1 1 + e − x , x f(x)=\frac{1}{1+e^{-x}},x f(x)=1+e−x1,x是输入的权重和。得到:
P ( A , B ) = 1 1 + e − ( A P ∗ A + B P ∗ B ) = 1 1 + e − ( 0.1 ∗ 0.35 + 0.9 ∗ 0.8 ) ; Q ( A , B ) = 0.6637 ; O ( P , Q ) = 0.69 ; ξ = 1 2 ( 0.69 − 0.5 ) 2 = 0.01805 P(A,B)=\frac{1}{1+e^{-(AP*A+BP*B)}}=\frac{1}{1+e^{-(0.1*0.35+0.9*0.8)}};Q(A,B)=0.6637;O(P,Q)=0.69;\xi=\frac{1}{2}(0.69-0.5)^2=0.01805 P(A,B)=1+e−(AP∗A+BP∗B)1=1+e−(0.1∗0.35+0.9∗0.8)1;Q(A,B)=0.6637;O(P,Q)=0.69;ξ=21(0.69−0.5)2=0.01805
为了得到最小的 ξ \xi ξ值,使用梯度下降法。
∂ ξ ∂ P O = ∂ ξ ∂ e ∗ ∂ e ∂ o ∗ ∂ o ∂ P O = e ∗ O ∗ ( 1 − O ) ∗ P = ( 0.69 − 0.5 ) ∗ 0.69 ∗ ( 1 − 0.69 ) ∗ 0.68 = 0.02763 \frac{\partial \xi}{\partial PO}=\frac{\partial \xi}{\partial e}*\frac{\partial e}{\partial o}*\frac{\partial o}{\partial PO}={e}*{O*(1-O)}*{P}=(0.69-0.5)*0.69*(1-0.69)*0.68=0.02763 ∂PO∂ξ=∂e∂ξ∗∂o∂e∗∂PO∂o=e∗O∗(1−O)∗P=(0.69−0.5)∗0.69∗(1−0.69)∗0.68=0.02763
∂ ξ ∂ Q O = e ∗ f ( x ) ( 1 − f ( x ) ) = ( 0.69 − 0.5 ) ∗ 0.69 ∗ ( 1 − 0.69 ) ∗ 0.6673 = 0.02711 \frac{\partial \xi}{\partial QO}=e*f(x)(1-f(x))=(0.69-0.5)*0.69*(1-0.69)*0.6673=0.02711 ∂QO∂ξ=e∗f(x)(1−f(x))=(0.69−0.5)∗0.69∗(1−0.69)∗0.6673=0.02711
P O ∗ = P O − ∂ ξ ∂ P O = 0.2723 , Q O ∗ = 0.8730 PO^\ast=PO-\frac{\partial \xi}{\partial PO}=0.2723,QO^\ast=0.8730 PO∗=PO−∂PO∂ξ=0.2723,QO∗=0.8730
∂ ξ ∂ A P = ∂ x i ∂ e ∗ ∂ e ∂ o ∗ ∂ o ∂ p = ∂ p ∂ A P = e ∗ O ( 1 − O ) ∗ P O ∗ ( 1 − P ) ∗ P ∗ A \frac{\partial \xi}{\partial AP}=\frac{\partial xi}{\partial e}*\frac{\partial e}{\partial o}*\frac{\partial o}{\partial p}=\frac{\partial p}{\partial AP}=e*O(1- O)*PO*(1-P)*P*A ∂AP∂ξ=∂e∂xi∗∂o∂e∗∂p∂o=∂AP∂p=e∗O(1−O)∗PO∗(1−P)∗P∗A
A P ∗ = A P − ∂ ξ ∂ A P = 0.09916 ; B P ∗ = 0.7978 ; A Q ∗ = 0.3972 ; B Q ∗ = 0.5928 AP^\ast=AP-\frac{\partial \xi}{\partial AP}=0.09916;BP^\ast=0.7978;AQ^\ast=0.3972;BQ^\ast=0.5928 AP∗=AP−∂AP∂ξ=0.09916;BP∗=0.7978;AQ∗=0.3972;BQ∗=0.5928
深度学习是一种基于无监督特征学习和特征层次结构的学习模型。
利用算法自动提取特征进行“端到端”的学习高维权重参数或者海量的训练数据。
神经网络 | 深度学习 | |
---|---|---|
网络结构 | 3层以内 | 可达上千层 |
层间连接 | 通常全连接 | 形式多样:共享权值、局部感知、跨层反馈等 |
目标函数 | MSE | CE等 |
激活函数 | Sigmoid等 | ReLU等 |
梯度下降方法 | GD等 | Adam等 |
避免过适应 | 凭经验 | Dropout等 |
Lab code (WIP), but call for comments