1. 神经网络核心思想
人工神经网络(Artificial Neural Networks,简写为ANNs)也简称为神经网络(NNs)或称作连接模型(Connection Model)。它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型,起源于上世纪五、六十年代,当时叫感知机(perceptron),拥有输入层、输出层和一个隐含层。
Hinton 六十年代还是中学生时,就对脑科学着迷。当时一个同学给他介绍关于大脑记忆的理论是:大脑对于事物和概念的记忆,不是存储在某个单一的地点,而是像全息照片一样,分布式地,存在于一个巨大的神经元的网络里。
分布式表征 (Distributed Representation),是神经网络研究的一个核心思想。它的意思是,当你表达一个概念的时候,不是用单个神经元一对一地存储定义;概念和神经元是多对多的关系:一个概念可以用多个神经元共同定义表达,同时一个神经元也可以参与多个不同概念的表达。
分布式表征和传统的局部表征 (localized representation) 相比,存储效率高很多。线性增加的神经元数目,可以表达指数级增加的大量不同概念。
分布式表征的另一个优点是,即使局部出现硬件故障,信息的表达不会受到根本性的破坏。链接
2. 反向传播算法
反向传播算法(Backpropagation algorithm,简称BP算法)是一种监督学习算法,常被用来训练多层感知机。 于1974年,Paul Werbos[1]首次给出了如何训练一般网络的学习算法,而人工神经网络只是其中的特例。
算法简介
反向传播算法(BP算法)主要由两个环节(激励传播、权重更新)反复循环迭代,直到网络的对输入的响应达到预定的目标范围为止。
(a)激励传播
每次迭代中的传播环节包含两步:
(前向传播阶段)将训练输入送入网络以获得激励响应;
(反向传播阶段)将激励响应同训练输入对应的目标输出求差,从而获得隐层和输出层的响应误差。
(b)权重更新
对于每个突触上的权重,按照以下步骤进行更新:
将输入激励和响应误差相乘,从而获得权重的梯度;
将这个梯度乘上一个比例并取反后加到权重上;
这个比例将会影响到训练过程的速度和效果,因此称为“训练因子”;
梯度的方向指明了误差扩大的方向,因此在更新权重的时候需要对其取反,从而减小权重引起的误差。
神经网络中的BP算法(摘自知乎:Linglai Li):
BP算法主要是用于最常见的一类神经网络,叫多层前向神经网络,本质可以看作是一个general nonlinear estimator,即输入 输出y,视图找到一个关系 (在这里f 的实现方式就是神经网络ÿ