神经网络反向传播算法原理笔记

       神经网络是一种是基于生物学中神经网络的基本原理,在理解和抽象了人脑结构和外界刺激响应机制后,以网络拓扑知识为理论基础,模拟人脑的神经系统对复杂信息的处理机制的一种数学模型。该模型以并行分布的处理能力、高容错性、智能化和自学习等能力为特征,将信息的加工和存储结合在一起,以其独特的知识表示方式和智能化的自适应学习能力,引起各学科领域的关注。它实际上是一个有大量简单元件相互连接而成的复杂网络,具有高度的非线性,能够进行复杂的逻辑操作和非线性关系实现的系统。

       神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。每个节点代表一种特定的输出函数,称为激活函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重(weight),神经网络就是通过这种方式来模拟人类的记忆。网络的输出则取决于网络的结构、网络的连接方式、权重和激活函数。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。神经网络的构筑理念是受到生物的神经网络运作启发而产生的。人工神经网络则是把对生物神经网络的认识与数学统计模型相结合,借助数学统计工具来实现。另一方面在人工智能学的人工感知领域,通过数学统计学的方法,使神经网络能够具备类似于人的决定能力和简单的判断能力。
       神经网络架构:
1
2
假设有这样一个学生分数数据集:
3
       两个输入栏表示了学生学习的时间和期中考试的分数。最终结果栏可以有两种值,1 或者 0,来表示学生是否通过的期末考试。例如,如果学生学习了 35 个小时并在期中获得了 67 分,他 / 她就会通过期末考试。
       现在假设我们想预测一个学习了 25 个小时并在期中考试中获得 70 分的学生是否能够通过期末考试 ?这是一个二元分类问题,多层感知器可以从给定的样本(训练数据)进行学习,并且根据给出的新的数据点,进行准确的预测。
训练多层感知器:反向传播算法
       反向传播误差,通常缩写为「BackProp」,是几种训练人工神经网络的方法之一。这是一种监督学习方法,即通过标记的训练数据来学习(有监督者来引导学习)。简单说来,BackProp 就像「从错误中学习」。监督者在人工神经网络犯错误时进行纠正。
       一个人工神经网络包含多层的节点;输入层,中间隐藏层和输出层。相邻层节点的连接都有配有「权重」。学习的目的是为这些边缘分配正确的权重。通过输入向量,这些权重可以决定输出向量。在监督学习中,训练集是已标注的。这意味着对于一些给定的输入,我们知道期望的输出。
       反向传播算法:最初,所有的边权重(edge weight)都是随机分配的。对于所有训练数据集中的输入,人工神经网络都被激活,并且观察其输出。这些输出会和我们已知的、期望的输出进行比较,误差会「传播」回上一层。该误差会被标注,权重也会被相应的「调整」。该流程重复,直到输出误差低于制定的标准。
       上述算法结束后,我们就得到了一个学习过的神经网络,该网络被认为是可以接受「新」输入的。该神经网络可以说从一些样本(标注数据)和其错误(误差传播)中得到了学习。

多层感知器的前向传播:
4
       在分类任务中,通常在感知器的输出层中使用 Softmax 函数作为激活函数,以保证输出的是概率并且相加等于 1。Softmax 函数接收一个随机实值的分数向量,转化成多个介于 0 和 1 之间、并且总和为 1 的多个向量值。所以,在这个例子中:
       概率(Pass)+概率(Fail)=1

第一步:前向传播
       网络中所有的权重都是随机分配的。现在考虑上图中标注 V 的隐藏层节点。假设从输入连接到这些节点的权重分别为 w1、w2 和 w3(如图上图所示)。
       神经网络会将第一个训练样本作为输入(已知在输入为 35 和 67 的情况下,通过的概率为 1)。
       网络的输入=[35, 67]
       期望的网络输出(目标)=[1, 0]
       涉及到的节点的输出 V 可以按如下方式计算(f 是类似 Sigmoid 的激活函数):
               V = f(1w1 + 35w2 + 67*w3)

第二步:反向传播和权重更新
       计算输出节点的总误差,并将这些误差用反向传播算法传播回网络,以计算梯度。接下来,使用类似梯度下降之类的算法来「调整」网络中的所有权重,目的是减少输出层的误差。下图展示了这一过程(暂时忽略图中的数学等式)。
       假设附给节点的新权重分别是 w4,w5 和 w6(在反向传播和权重调整之后)。
5

在同样的输入下,多层感知器网络有更好的表现:
6

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章