【翻译】Learning representations by back-propagating errors

Learning representations by back-propagating errors


文献
https://doi.org/10.1038/323533a0

摘要

我们描述了一种新的学习程序,即反向传播,用于神经元样单元的网络。 该过程反复调整网络中连接的权重,以便最小化对网络的实际输出矢量和所需输出矢量之间的差异的度量。 权重调整的结果是,内部的**“隐藏”单元**(它们不是输入或输出的一部分)开始代表任务域的重要特征,并且任务中的规律性通过这些单元之间的相互作用来捕获。 创建有用的新功能的能力将反向传播与早期更简单的方法(例如感知器收敛过程)区分开来。

0

已经进行了许多尝试来设计自组织神经网络。 目的是找到一个强大的突触修饰规则,该规则将允许任意连接的神经网络开发适合于特定任务域的内部结构。 通过为输入单元的每个状态向量提供输出单元的期望状态向量来指定任务。 如果将输入单元直接连接到输出单元,则比较容易找到学习规则,该学习规则可反复调整连接的相对强度,从而逐渐减小实际输出矢量和期望输出矢量之间的差异。
当我们引入隐藏单元的实际或期望状态未由任务指定时,学习会变得更加有趣,但会变得更加困难。 (在感知器中,输入和输出之间存在不是真正的隐藏单元的“特征分析器”,因为它们的输入连接是手动固定的,因此它们的状态完全由输入向量确定:它们不学习表示。) 程序必须决定在什么情况下隐藏单元应该处于活动状态,以帮助实现所需的输入输出行为。 这等于决定这些单位应代表什么。 我们证明了通用目的和相对简单的过程足以构建适当的内部表示形式。

分层网络

学习过程的最简单形式是分层网络,其底部有一层输入单元。 任意数量的中间层; 在顶部有一层输出单元。 禁止在层内或从较高层到较低层的连接,但是连接可以跳过中间层。 通过设置输入单元的状态,可以将输入向量呈现给网络。 然后,通过将等式(1)和(2)应用于来自较低层的连接,可以确定每个层中单元的状态。 一层中的所有单元的状态并行设置,但不同层的状态则顺序设置,从底部开始一直向上直到确定输出单元的状态。
equation 1
equation 2
u n i t j unit_j unitj 的总输入 x i x_i xi 是连接到 j j j 的单位的输出 Y i Y_i Yi 和这些连接上的权重 w j , i w_j,_i wj,i
线性函数

equation 1
在这里插入图片描述

可以通过向每个单位始终输入值为1的额外输入来为单位提供偏差。此额外输入上的权重称为偏差,它等于相反符号的阈值。 可以像其他砝码一样对待它。
一个单元具有实值输出 Y i Y_i Yi,它是其总输入的非线性函数。

equation 2
在这里插入图片描述

不必完全使用方程式(1)和(2)中给出的函数。 任何具有有界导数的输入输出函数都可以。 但是,在应用非线性之前使用线性函数将输入组合到一个单元中,可以大大简化学习过程

目的找到一组权重以确保对于每个输入向量,网络生成的输出向量与所需的输出向量相同(或足够接近)。 如果存在一组固定的有限输入输出情况,则可以通过比较每种情况下的实际和期望输出矢量来计算具有特定权重集的网络性能的总误差。 总误差 E E E 定义为
总误差equation 3

其中,c是案例(输入-输出对)的索引,
j是输出单元的索引,
y是输出单元的实际状态,
d是其所需状态。
为了通过梯度下降使E最小,有必要针对网络中的每个权重计算E的偏导数。 这只是每个输入-输出情况的偏导数之和。对于给定情况,将通过两次计算相对于每个权重的误差的偏导数。
我们已经描述了前向通过,其中每层中的单元的状态取决于它们使用等式(1)和(2)从较低层中的单元接收的输入。
将导数从顶层传播回底层的后向传递更为复杂。

向后传递backward pass通过为每个输出单元计算 ∂ E ∂ y {\partial E}\over{\partial y} yE 开始。 针对特定情况 c c c求微分方程(3)并抑制指数 c c c得出
backward pass
然后,我们可以应用链式规则来计算 ∂ E ∂ x j {\partial E}\over{\partial x_j} xjE
在这里插入图片描述
微分方程(2),得到 ∂ y j ∂ x j {\partial y_j}\over{\partial x_j} xjyj的值,然后代入
在这里插入图片描述
这意味着我们知道到输出单位的总输入x的变化将如何影响误差。 但是,此总输入只是较低级别单元状态的线性函数,还是连接权重的线性函数,因此很容易计算出更改这些状态​​和权重将如何影响误差。 对于权重 w j , i w_j,_i wj,i,从 i 到 j i到j ij导数是:
在这里插入图片描述
对于第 i i i 个单位的输出,对 ∂ E ∂ y {\partial E}\over{\partial y} yE 的贡献; i i i j j j 的影响导致的结果仅仅是(简化为):
在这里插入图片描述
因此,考虑到从单元 i i i 发出的所有连接,得到:
在这里插入图片描述
现在,我们已经看到了当给出最后一层的所有单位(unit)的 ∂ E ∂ y {\partial E}\over{\partial y} yE 时如何计算倒数第二层每个单位(unit)的 ∂ E ∂ y {\partial E}\over{\partial y} yE 。 因此,我们可以重复此过程为较早的各层计算该项,并随着权重计算 ∂ E ∂ w {\partial E}\over{\partial w} wE

使用 ∂ E ∂ w {\partial E}\over{\partial w} wE 的一种方法是在每种输入-输出情况之后更改权重。 这样做的优点是,导数不需要单独的存储器。 我们在这里报告的研究中,使用的一种替代方案是,在更改权重之前,在所有输入-输出情况下累计 ∂ E ∂ w {\partial E}\over{\partial w} wE梯度下降的最简单形式是将每个权重改变与累积的 ∂ E ∂ w {\partial E}\over{\partial w} wE 成正比的量
在这里插入图片描述
该方法的收敛速度不如使用二阶导数的方法快,但是它更简单,并且可以通过并行硬件中的本地计算轻松实现。 通过使用一种加速方法,可以在不牺牲简单性和局部性的情况下显着改善它,在该方法中,电流梯度用于修改权重空间中点的速度而不是其位置
在这里插入图片描述

其中,对于整个输入-输出情况集合中的每次扫描,

t都会增加1,
a是0与1之间的指数衰减因子,它决定了当前梯度和较早的梯度对权重变化的相对贡献。

对称性

为了打破对称性,我们从小的随机权重开始。
David Parker(个人交流)和Yann Le Cun3独立地发现了学习程序的变体。

仅将输入单元连接到输出单元无法完成的一项简单任务就是检测对称性。 为了检测一维输入单元阵列的二元活动水平是否相对于中心点对称,必须使用中间层,因为单个输入单元中的活动(单独考虑)无法提供关于对称性或对称性的证据。 整个输入向量的非对称性,因此仅将各个输入单元的证据相加是不够的。 (参考文献2中给出了需要中间单元的更正式的证明。)学习过程仅使用两个中间单元就发现了一种优雅的解决方案,如图1所示。

Fig1

已学会检测输入向量中的镜像对称性的网络。
弧上的数字是权重,
节点内部的数字是偏差。
学习需要对64个可能的输入向量进行1425次扫描,并根据每次扫描后的累积梯度来调整权重。
等式(9)中的参数值是e = 0.1和a = 0.9。

初始权重是随机的,并且均匀地分布在-0.3和0.3之间。 该解决方案的关键特性是,对于给定的隐藏单位,关于输入矢量的中心对称的权重大小相等,而符号相反。
因此,如果呈现对称模式,则两个隐藏单元将从输入单元接收到净输入0,并且由于隐藏单元具有负偏置,因此两个都将关闭。 在这种情况下,具有正偏压的输出单元将打开。

请注意,中点两侧的权重之比为1:2:4。

这确保了在中点上方可能出现的八个模式中的每个都向每个隐藏单元发送了唯一的激活总和,因此,在下方的唯一模式 可以精确平衡该总和的中点是对称的。

对于所有非对称模式,两个隐藏单元都将从输入单元接收非零激活。 两个隐藏单元的权重模式相同,但符号相反,因此,对于每个非对称模式,都会出现一个隐藏单元并抑制输出单元。

另一个有趣的任务是将信息存储在两个家族树中图2)。 图3显示了我们使用的网络图4显示了在104个可能的三元组中的100个训练了网络之后,一些隐藏单元的“接收场”
fig2

两个同构的家谱。
信息可以表示为(人!)(关系)(人2)形式的三元组,其中可能的关系为{父亲,母亲,丈夫,妻子,儿子,女儿,叔叔,姨妈,兄弟,姐妹 , 侄子侄女}。
如果给定前两个网状网,它可以产生每个三元组的第三项,则可以说它知道这些三元组。
前两个项通过激活两个输入单元进行编码,然后网络必须通过激活代表第三个项的输出单元来完成命题。

在这里插入图片描述

学习后在五层网络中的活动级别。
底层在左侧有24个输入单元代表(人1),在右侧有12个输入单元代表关系。
这两组内部的白色方块显示了单元的活动水平
第一组中有一个活动单位代表Colin,
第二组中有一个活动单位代表关系“有姨妈”。
两个输入组中的每一个都完全连接到第二层中自己的6个单元组。 这些小组学习将人和关系编码为活动的分布式模式。
第二层完全连接到12个单元的中央层,而第二层连接到6个单元的倒数第二层。
倒数第二层中的活动必须激活正确的输出单元,每个输出单元代表一个特定的人(人2)。
在这种情况下,有两个正确答案(用黑点标记),因为科林有两个姨妈。 输入单元和输出单元在空间上均排成一排,英国人排成一排,同构的意大利人排在其后。
fig4
从代表人的24个输入单位到第二层中学习人的分布式表示的6个单位的权重。
白色矩形,具有刺激性的重量;
黑色矩形,抑制重量;
矩形的区域编码权重的大小。
来自12个英语国家的权重在每个单元的第一行。 第1单元主要关注英语和意大利语之间的区别,而其他大多数单元则忽略此区别。 这意味着英国人的代表与意大利人的代表非常相似。
该网络利用了两个家谱之间的同构性,以允许其共享结构,因此,它倾向于将一棵树合理地推广到另一棵树。
单元2编码一个人属于哪个世代,
单元6编码一个人来自哪个家庭。
隐藏单元捕获的功能在输入和输出编码中根本不是明确的,因为它们为每个人使用单独的单元。 因为隐藏的功能捕获了任务域的基础结构,所以网络可以正确地概括为未对其进行训练的四个三元组。
我们对网络进行了1500次扫描训练,前20次扫描使用e = 0.005和a = 0.5,其余扫描使用E = 0.01和a = 0.9。 为了使重量更容易理解,我们通过在每次更改重量后将每个重量减少0.2%,引入了“重量衰减”。 长时间学习后,衰减通过 ∂ E ∂ w {\partial E}\over{\partial w} wE 平衡,因此每个权重的最终大小表明了其在减少误差方面的有用性
为了防止需要大量权重的网络将输出驱动为1或0,如果应该打开的输出单元的活动高于0.8,应该关闭的输出单元的活动低于0.2,则将误差视为零。

到目前为止,我们仅涉及分层的前馈网络。** 分层网络和迭代运行的循环网络之间的等效关系**如图5所示。

fig5

运行三个迭代的同步迭代网络和等效的分层网络。
循环网络中的每个时间步均对应于分层网络中的一层。
分层网络的学习过程可以映射为迭代网络的学习过程。
执行此映射会出现两个复杂问题:

首先,在分层网络中,执行向前遍历需要中间层中各单元的输出水平才能执行向后遍历(请参见公式(5)和(6))。 因此,在迭代网络中,必须存储每个单元的输出状态的历史记录。
其次,要使分层网络等效于迭代网络,不同层之间的相应权重必须具有相同的值。 为了保留此属性,我们对每组相应权重中的所有权重进行平均i / E / aw,然后将组中的每个权重更改与该平均梯度成比例的量。
通过这两个条件,可以将学习过程直接应用于迭代网络。 这些网络然后可以学习执行迭代搜索或学习顺序结构4•

缺点

学习过程最明显的缺点是,误差表面可能包含局部最小值,因此不能保证梯度下降找到全局最小值。 但是,许多任务的经验表明,网络很少会陷入较差的局部最小值,而局部最小值明显小于全局最小值。 我们仅在具有足够连接来执行任务的网络中遇到了这种不良行为。 添加更多连接会在权重空间中创建额外的尺寸,并且这些尺寸会提供围绕障碍的路径,这些障碍会在较低尺寸的子空间中产生较差的局部最小值。
当前形式的学习程序并不是大脑学习的合理模型。 但是,将该程序应用于各种任务表明,可以通过权重空间中的梯度下降来构建有趣的内部表示,这表明值得寻找在生物学上可行的在神经网络中进行梯度下降的方法。
我们感谢系统开发基金会和海军研究办公室的财政支持。

  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在模型无关的分层强化学习中,学习表示是一项重要的任务。学习表示是指通过提取有用的信息和特征来将观察数据转化为表示向量。这些表示向量可以用于解决强化学习问题中的决策和行动选择。 模型无关的分层强化学习是指不依赖于环境模型的强化学习方法。它通常由两个部分组成:低层控制策略和高层任务规划器。低层控制策略负责实际的行动选择和执行,而高层任务规划器则负责指导低层控制策略的决策过程。 学习表示在模型无关的分层强化学习中起到至关重要的作用。通过学习适当的表示,可以提高对观察数据的理解能力,使得模型能够捕捉到环境中的重要特征和结构。这些表示可以显著减少观察数据的维度,并提供更高层次的抽象,从而简化了决策和规划的过程。 学习表示的方法多种多样,包括基于深度学习的方法和基于特征选择的方法。基于深度学习的方法,如卷积神经网络和循环神经网络,可以通过学习多层次的特征表示来提取环境观察数据的有用信息。而基于特征选择的方法则通过选择最有信息量的特征来减少表示的维度,从而简化了模型的复杂度。 总之,学习表示在模型无关的分层强化学习中起到了至关重要的作用。通过学习适当的表示,模型可以更好地理解观察数据并进行决策和规划。不同的方法可以用来实现学习表示,包括基于深度学习的方法和基于特征选择的方法。这些方法的选择取决于具体任务和问题的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值