CV理论基础(五):神经网络基础知识——应用案例BP、从神经网络到深度学习

应用案例

经典论文:
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是将损失函数的信息沿网络层向后传播用以计算梯度,达到优化网络参数的目的。反向传播是非常重要的算法。

可手算的神经网络示例

CV理论基础(五):神经网络基础知识——应用案例BP、从神经网络到深度学习
设输入样本自变量(0.35,0.9),应变量0.5,初始权重如图。
三个神经元计算公式为f(x)=11+exxf(x)=\frac{1}{1+e^{-x}},x是输入的权重和。得到:

P(A,B)=11+e(APA+BPB)=11+e(0.10.35+0.90.8);Q(A,B)=0.6637;O(P,Q)=0.69;ξ=12(0.690.5)2=0.01805P(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

为了得到最小的ξ\xi值,使用梯度下降法。

ξPO=ξeeooPO=eO(1O)P=(0.690.5)0.69(10.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

ξQO=ef(x)(1f(x))=(0.690.5)0.69(10.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

PO=POξPO=0.2723,QO=0.8730PO^\ast=PO-\frac{\partial \xi}{\partial PO}=0.2723,QO^\ast=0.8730
ξAP=xieeoop=pAP=eO(1O)PO(1P)PA\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=APξAP=0.09916;BP=0.7978;AQ=0.3972;BQ=0.5928AP^\ast=AP-\frac{\partial \xi}{\partial AP}=0.09916;BP^\ast=0.7978;AQ^\ast=0.3972;BQ^\ast=0.5928

神经网络与深度学习

典型的机器学习

  • 学习步骤
  1. 通过传感器来获得数据
  2. 预处理、特征提取、特征选择
  3. 推理、预测、识别,机器学习算法
  • 特征
    一般情况下,机器学习特征越多,信息越多,识别准确性得到提升。但是,特征多会导致计算复杂度增加,训练数据在全体特征向量中会显得稀疏,影响相似性判断;如果有对分类无益的特征,会干扰学习效果。

深度学习

深度学习是一种基于无监督特征学习和特征层次结构的学习模型。
利用算法自动提取特征进行“端到端”的学习高维权重参数或者海量的训练数据。

  • 历史
    感知机\to神经网络\to深度学习
    基础的神经网络算法无法满足异或
  • 与神经网络的区别
神经网络 深度学习
网络结构 3层以内 可达上千层
层间连接 通常全连接 形式多样:共享权值、局部感知、跨层反馈等
目标函数 MSE CE等
**函数 Sigmoid等 ReLU等
梯度下降方法 GD等 Adam等
避免过适应 凭经验 Dropout等

资料

Lab code (WIP), but call for comments