matlab循环神经网络,循环神经网络的增强方法:注意力机制以及更多

雷锋网 AI 科技评论按:一提起 RNN,我们最容易想到的实现就是 LSTM + attention。LSTM 作为经典的网络结构可谓是老当益壮,而另一方面注意力机制过于常见,我们甚至会觉得它是「理所当然的」。但其实注意力机制其实并不是唯一一种网络增强的方式。这篇 Distill.pub 博客的文章就带我们重温了包括注意力在内的多种网络增强方式,它们侧重的方向不一样,也就方便研究/开发人员们按照自己的实际需求进行选取。雷锋网 AI 科技评论编译如下。

循环神经网络(RNN)是深度学习技术中十分重要的一类模型,它让神经网络能够处理文本、音频和视频等序列数据。人们可以用循环神经网络将一个序列归结为一个高级的理解模式,从而对序列进行标注,甚至从头开始生成一个新的序列。

399df1f644b220b032c6bb95eb56d0b8.png

基本的 RNN 设计过程需要对棘手的长序列进行处理,但是一种特殊的RNN 变体——LSTM(long short-term memory,长短期记忆网络)可以在这种情况下很好地工作。人们发现这些模型十分强大,能够在包括机器翻译、语音识别和图像理解(看图说话)等许多任务中取得非常好的效果。因此,在过去的几年里,循环神经网络已经被广泛使用。

随着人们对循环神经网络的研究越来越深入,我们已经看到越来越多的人试图用一些新的特性来增强循环神经网络。有四个方向的改进特别令人激动:

28f7542d2774e1e97af485b4a731151e.png

这些技术中,每一项技术都对神经网络有很大的提升。然而,真正炫酷的是,这些技术还能结合在一起使用,而且现有的这些技术似乎都只是广阔的研究空间中的一叶扁舟。此外,它们都依赖于同样的底层技术——注意力机制,从而发挥作用。

神经图灵机

神经图灵机[2] 将 RNN 与外部存储单元相结合。由于向量是自然语言在神经网络中的表现形式,所以存储单元中的内容是一组向量:

27af34cc3548d7249023c46482ebc310.png

但是对神经图灵机的读写的工作方式是怎样的呢?真正的挑战是,我们需要让它们可微。特别是,我们需要让它们对于我们读和写的位置可微,从而让我们学会在哪里进行读写操作的。由于存储地址在根本上是离散的,要让它们可微是十分困难的。为此,神经图灵机采取了一种很聪明的解决方案:在每一步操作中,它们会在存储单元的所有位置进行读写,只是程度不同而已。

举例而言,让我们重点关注读操作。RNN 并没有指定一个特定的读取位置,而是输出了一个「注意力分布」,它描述了我们对于不同的存储位置关注程度的分布情况。由此得到的读操作的结果就是一个加权和。

a61ffde68af8f4e63443f463c85bcfe9.png

类似地,我们也会以不同程度在存储单元中的各个位置进行写操作。我们再次用一个注意力分布描述我们在每个位置写入了多少内容。我们通过使存储单元中每个位置的新值成为旧存储内容和新写入的值的凸组合来做到这一点,而旧的存储内容和新值之间的位置取决于注意力权重。

9706050954390544630a360f902631f1.png

但是,神经图灵机是如何确定应该将注意力集中在存储单元的哪些位置上呢?实际上,它们采用了两种不同方法的组合:基于内容的注意力机制和基于位置的注意力机制。基于内容的注意力机制使神经图灵机可以在他们的存储器中进行搜索并重点关注于他们所寻找的目标相匹配的位置,而基于位置的注意力机制则使存储单元中注意力的相对运动成为了可能,使神经图灵机能够循环。

78b4dca6f098586489379d35a630574f.png

这种读写能力使得神经图灵机能够执行许多简单的算法,而不仅限于神经网络范畴。例如,它们可以学习在存储单元中存放一个长的序列,然后对其反复进行循环操作。当它们这样做的时候,我们可以看到他们在哪些位置执行了读写操作,以便更好地理解他们在做什么:

eac97456da7edcaf497002ba14537dc6.png

你可以在[3]中查看更多的实验结果。上图是基于重复的复制实验得出的。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值