神经网络,就是根据人的神经元结构设计的一种学习网络,从信息处理角度对人脑神经元网络进行抽象, 建立某种简单模型,按不同的连接方式组成不同的网络。
神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。
BP神经网络:是一种按误差逆传播算法训练的多层前馈网络。
BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer),如下图所示:
特点:
1. 全连接
2. 利用一种称为激活函数来描述层与层输出之间的关系,从而模拟各层神经元之间的交互反应。
3. 激活函数必须满足处处可导的条件。
BP的核心思想就是:将输出误差以某种形式通过隐层向输入层逐层反传,这里的某种形式其实就是:
也就是一种 "信号的正向传播 ----> 误差的反向传播"的过程:
神经网络的缺点:
(1) 全连接,参数个数多,模型复杂
(2) 对初始权重非常敏感,极易收敛于局部极小
(3) 算法的收敛速度慢
(4) 易出现过拟合/过训练情况
神经网络的训练模型,在反向计算误差时因为误差要对各层的单元进行平摊,进而修正参数,因此当网络层数比较多的时候,不能正确的修正前面各层的参数,从而影响整个网络的性能,因此深度学习得到进一步研究,深度学习就是堆叠多个层,实现对输入信息进行分级表达。
深度学习的提出原因:(1)多隐层的神经网络,具有优异的特征学习能力;(2)深度神经网络由于本身模型的原因在训练的时候难度较大,因此深度学习渐渐取代神经网络