本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

报码:【j2开奖】干货 | Geoffrey Hinton讲座回顾:使用快速权重来存储临时记忆

时间:2017-01-09 20:40来源:118论坛 作者:118开奖 点击:
参与:吴攀、李亚洲 介绍:这个讲座谈了快速权重(fast weight)的思想及其实现。这种快速权重可以被用于存储最近的临时记忆,并且它们提供了一种实现这种类型的对过去的注意(

参与:吴攀、李亚洲

介绍:这个讲座谈了快速权重(fast weight)的思想及其实现。这种快速权重可以被用于存储最近的临时记忆,并且它们提供了一种实现这种类型的对过去的注意(attention)的神经上可行的方法——近期它已被证明在序列到序列模型上是非常有帮助的。通过使用快速权重,我们可以不再需要存储神经活动模式的副本。

  

  其中的基本思想是临时记忆(temporary memories)可以不通过添加活动神经元(active neurons)来存储,而是可以通过在一些已有神经元上进行一些修改来实现。

对于每一个神经元连接,与这个连接相关的权重都有两个组分。一是标准慢权重(standard slow weight),其代表了长期记忆,学习慢衰减也慢。另一个是快速权重,代表了短期记忆,学习快衰减也快。快速权重是真正存在的,比如:启动(priming)。假设你听到了一个带有大量噪声的词,如果这是你第一次听到这个词,你可能无法识别它。但如果你在半个小时之前听过这个词,你就可以将其识别出来,这是因为你识别这个词的阈值(threshold)被你半小时之前的记忆降低了。一般而言,假设我们有一个局部表示(localist representation),为了实现上述效果,我们就可以临时降低某个特定词的阈值,而不是改变整个结构。你也可以从另一个角度来思考:假设你有一种活动模式,你可以改变活动模式之间的神经元的权重,以使其中一个特定的模式变成一个更强的吸引子(attractor,比如更容易识别一个词)。这是我们存储记忆的方式,我们通过改变权重来存储模式而不是直接存储模式。因为如果我们使用权重矩阵(weight matrix)而非活动向量(activity vector)来存储短期记忆,我们就能通过有限的神经元实现远远更大的容量。

存储临时知识的方式有两种:

长短期记忆(LSTM):在隐藏单元存储活动。它的容量非常有限。假设一个隐藏状态有 H 个单元,那么在关于当前序列的历史上,LSTM 就会受限于 O(H) 的短期记忆(吸引子)。除此之外,LSTM 将信息存储在其隐藏单元之中,从而使得该短期记忆与正在进行的过程无关。

快速权重:让你可以使用权重矩阵来存储短期记忆,这能带来更高的容量。除此之外,该短期记忆可以存储特定于当前序列的历史的信息,从而使得该信息可被用于影响正在进行的过程。

我们可以怎样应用快速权重的思想?

让我们从 ReLU RNN 开始。ReLU RNN 很易于训练,而且很擅长学习长期依赖(长期记忆)。下面的左图表示了普通的 RNN,右图则表示一个相同的 RNN(如果我们使用空矩阵进行了「隐藏→隐藏」权重初始化,如蓝色箭头所示)。为了应用快速权重的思想,这里使用了外积学习规则(outer product learning rule)来更新快速权重矩阵 A。

报码:【j2开奖】干货 | Geoffrey Hinton讲座回顾:使用快速权重来存储临时记忆

更新快速权重矩阵 A 的规则:每次我们在时间步骤 t 学习到一个隐藏状态 h(t),我们就将当前快速权重 A(t-1) 与权重衰减参数 λ 相乘,并且加上乘以学习率 η 的新学习到的隐藏状态 h(t) 的外积(outer product)。这个更新函数如下所示。其快速权重即为过去的贡献(contribution)与随时间衰减的贡献的总和。在数学上,该贡献即为该隐藏状态的外积 h(t)h(t)^T。

A(t) = λA(t ? 1) + ηh(t)h(t)^T

hs+1(t + 1) = f([Wh(t) + Cx(t)] + A(t)hs(t + 1))

报码:【j2开奖】干货 | Geoffrey Hinton讲座回顾:使用快速权重来存储临时记忆

  

报码:【j2开奖】干货 | Geoffrey Hinton讲座回顾:使用快速权重来存储临时记忆

增加层归一化(LN)技巧使其效果更好。

在标准 RNN 中,循环单元(recurrent units)的输入总和的平均幅度有一个趋势——每一个时间步骤要么会增大、要么会减小,这会导致梯度爆炸或消失。LN 则是在向隐藏单元所接收到的总输入向量应用非线性(ReLU)之前,将该向量归一化到零均值和单位方差。在一个层归一化的 RNN 中,atv,其归一化项使其在该层的所有输入的总和的规模调整时保持不变,这能得到远远更加稳定的隐藏到隐藏动态(hidden-to-hidden dynamics)?

这样有效吗?

任务 1:联想任务

假设有一个任务,其多个关键值对(key-value pairs)被表示一个序列,该序列作为输入

将该序列转换成一个 R 维度向量,用作该循环隐藏单元的输入

检查这个任务的误差率

(责任编辑:本港台直播)

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容