搜故事,从300万个故事到海量知识百科的华丽转变!

谷歌大脑科学家亲解LSTM:一个关于“遗忘”与“记忆”的故事

时间:2015-09-24

Google Brain 科学家 Christopher Olah 的博客如果你对深度学习稍有些研究的话,相信你一定听说过 LSTM,,他与 Sepp Hochreiter 在 1997 年发表的一篇论文中提出了 LSTM 的概念

提示:本文共有 5090 个字,阅读大概需要 11 分钟。

雷锋网按:这篇文章发布已久,但非常经典,出自 ,小编保证这是相对通俗易懂的一篇入门介绍了,看不懂的话欢迎关注「AI 科技评论」私聊。Google Brain 科学家 Christopher Olah 的博客

如果你对深度学习稍有些研究的话,相信你一定听说过 LSTM,,他与 Sepp Hochreiter 在 1997 年发表的一篇论文中提出了 LSTM 的概念。雷锋网此前也编译过 LSTM 之父 Jürgen Schmidhuber 的访谈文章

LSTM 能够提升神经网络接受输入信息及训练数据的记忆机制,让输出结果得到大幅度的提升。虽然因为当时的硬件限制不那么广为人知,但近年来包括谷歌在内的一系列公司都开始在深度学习中采用 LSTM。

那么 LSTM 到底是什么呢?雷锋网今天介绍的这篇文章出自 Google Brain 科学家 Christopher Olah 的博客,雷锋网在原文的基础上加入了一些自己的理解,尽量保证这是最简单的入门介绍了,看不懂的话欢迎关注「AI 科技评论」私聊。

首先,了解一下 RNN 吧

在开始 LSTM 的入门前,别急,让我们先了解一下 RNN。如果你有一定的基础,雷锋网建议你直接跳过这一部分。

首先,人们在思考问题的时候,并不会从零开始,而是会凭借自己以往的一些经验与记忆做出判断。最简单的例子,就是你现在正在阅读的过程中,你不会孤立地理解所读的每一个词,而会结合前面所看到的词来理解意义。也就是说,你的思考具备连续性。

传统的神经网络可做不到这一点,而且这俨然是它的一个短板。举个例子,你想要对一部电影里的每个镜头进行分类,判断荧幕上都在演些什么。但是,传统神经网络可能只能孤立地看待每一帧,而无法把上一个镜头串联起下一秒发生的事情。

RNN(循环神经网络)就是为解决这个问题而生的,顾名思义,也就是能够让信息在网络中再次循环的网络。

含有「环」(loop)的循环神经网络

上图是 RNN 的一部分,A 的输入是 xt , 输出为值 ht. 这个循环能够让信息从神经网络中的一步传递到下一步。

这些环看起来让 RNN 变得有些难理解。但是,如果你再想一下,其实它与传统神经网络类似,只不过是把同一个网络多次复制,并将信息传递到下一个网络。如果将这个循环拆开,就能比较容易地理解了:

一个展开的 RNN

像链条一样的网络实际上也体现出 RNN 的一个特点:它与序列或列表有着紧密的联系,而它们是处理此类数据的重要架构(简直就是量身定制的一样!)。

而更重要的是,它们确实得以顺利应用。在过去的几年时间中,RNN 被成功应用于解决各种问题:语音识别、语言建模、机器翻译、为图像起标题等……而且它的应用领域还在不断扩展。它到底有多牛?我就不在这里赘述了。

这些成功的关键在于它们使用了 LSTM。LSTM 是 RNN 的一种特殊形式,而它的普适性比起传统的 RNN 要好得多。几乎所有激动人心的发现都是在 LSTM 上实现的,而这也是雷锋网在接下来的篇幅中所要讨论的内容。

世界上最遥远的距离

RNN 的一大魅力在于它能够将此前的信息结合到当前的任务中,比如像我们刚才提及的电影例子一样,利用此前的帧信息理解当前的内容。如果 RNN 能实现这一点,那诚然非常有效。但事实是否如愿?不一定。

有时,我们只需要利用近期信息来处理当前任务。比如在一个语言模型中,如果我们尝试根据几个单词来预测下一个单词,像我们要猜出「the clouds are in the _____」,但是因为句义已经非常明显,我们不需要更多的上下文。在这种情况下,相关信息所隔的距离并不远,因此 RNN 能够学会使用此前的信息。

但是,就像我们做完型填空时,可能需要整合全文来填某一个句子,比如「I grew up in France….(雷锋网此处省略一万字)I speak fluent _____ .」。如果网络只知道邻近的几个单词,可能它会知道此处需要填写一门语言,但至于应该填什么,就需要找到更远前的信息,直到 找到 France 才行。这种需要寻找相距很远信息的情况,实际上非常常见。

而糟糕的是,距离增加时,RNN 能将相关信息串联起来的能力也就越弱。正如雷锋网云,世界上最遥远的距离不是生与死,而是明明在同一个段落里,却找不到相关联的词语。

理论上,RNN 是能够处理这种「遥远」的问题的。我们能够人为地挑选出一些参数,解决依赖问题中较为简单的任务。不过在实践中,RNN 并不能自主地处理这些任务。这个问题 Hochreiter (1991) [German] 与 Bengio, et al. (1994) 已经进行过探讨并找到了相关方法。

幸运的是,LSTM 不存在这个问题。

LSTM 网络

长短期记忆网络——通常也被简称为 LSTMs——是一种特殊类型的 RNN,能够学习长期的依赖关系。这个网络就像雷锋网所说的,由 Sepp Hochreiter 和 Jürgen Schmidhuber 在 1997 年提出,并加以完善与普及,LSTM 在各类任务上表现良好,因此也被广泛使用。

LSTM 就是为了解决长期依赖问题而生,也就是说,对信息的长期记忆是它们的自发行为,而不是刻意去学习的。

所有的 RNN 都具备重复性的链条形式,而在标准的 RNN 中,这个重复模式都有着一个简单的结构,比如单层的 tanh 层。

标准 RNN 的重复模块里都有一个单层网络

LSTM 也有这种结构化的链条,但重复性模块有着不同的结构。与 RNN 不同的是,LSTM 中有一个四层的网络,并以一种特殊的方式进行交互。

LSTM 网络的重复模块包含一个四层的交互网络

然而我们并不需要在意这些细节。接下来,请和雷锋网一起对 LSTM 图进行一步步的梳理。现在,让我们一起熟悉下接下来会用到的一些符号。

在上面所示的图中,

黄块表示神经网络层;粉圈代表按位操作(pointwise operations),如向量加法;每条线代表着一整个向量(vector),用来表示从一个节点的输出到另一个节点的输入;合并的线代表连接(concatenate);分叉的线表示复制(copy)。

LSTMs 的核心

LSTMs 的核心所在是 cell 的状态(cell state),也就是下图这条向右的线。

Cell 的状态就像是传送带,它的状态会沿着整条链条传送,而只有少数地方有一些线性交互。信息如果以这样的方式传递,实际上会保持不变。

LSTM 通过一种名为「门」(gate)的结构控制 cell 的状态,并向其中删减或增加信息。

雷锋网注:你可以把门理解为一种控制信息通过的方式。门由一个 sigmoid 网络层与一个按位乘操作构成。

Sigmoid 层的输出值在 0 到 1 间,表示每个部分所通过的信息。0 表示「对所有信息关上大门」;1 表示「我家大门常打开」。

一个 LSTM 有三个这样的门,控制 cell 的状态。

解读 LSTM:一个关于“遗忘”的故事

首先,LSTM 的第一步需要决定我们需要从 cell 中抛弃哪些信息。这个决定是从 sigmoid 中的「遗忘层」来实现的。它的输入是 ht-1 和 xt,输出为一个 0 到 1 之间的数。Ct1 就是每个在 cell 中所有在 0 和 1 之间的数值,就像我们刚刚所说的,0 代表全抛弃,1 代表全保留。

再拿刚才预测单词的语言模型来举例,cell 的状态可能会需要考虑主语的性别,这样才能找到正确的代词。因此如果我们设定,如果看到了一个新的主语,就「忘记」旧的主语所代表的性别。

下一步,我们需要决定什么样的信息应该被存储起来。这个过程主要分两步。首先是 sigmoid 层(输入门)决定我们需要更新哪些值;随后,tanh 层生成了一个新的候选向量 C`,它能够加入状态中。

最后,我们将这两个值结合起来,并更新 cell 的状态。

在雷锋网方才提及的这个例子中,我们需要将新主语的性别信息加入 cell 的状态中,以替换要忘记的旧信息。

接下来,我们就可以更新 cell 的状态了。将旧状态与 ft 相乘,忘记此前我们想要忘记的内容,然后加上 C`。得到的结果便是新的候选值,依照我们决定的值进行缩放。

在这个语言模型中,这个过程就实现了我们所设想的目标:遇到一个新主语时,就忘记旧语言的性别。

最后,我们需要确定输出的内容。这个输出内容取决于我们的 cell 状态,但这是一个经过过滤的版本。

首先,我们会运行一个 sigmoid 层决定 cell 状态输出哪一部分。随后,我们把 cell 状态通过 tanh 函数,将输出值保持在-1 到 1 间。之后,我们再乘以 sigmoid 门的输出值,就可以得到结果了。

对于语言模型的例子,当它只看到一个主语时,就可能会输出与动词相关的信息。比如它会输出主语是单数还是复数。这样的话,如果后面真的出现了动词,我们就可以确定它的形式了。

LSTM 的各种「变体」

目前我所提及的 LSTM,只是最最基本的形式,并不是所有的 LSTM 长得都一样一样的。实际上,所有提及 LSTM 的论文都有着小小的改动,这些改进虽然并不明显,但值得在这里一提。

时尚时尚最时尚的 LSTM 变体就是 Gers & Schmidhuber (2000) 提出的「猫眼连接」(peephole connections)的神经网络,也就是说,门连接层能够接收到 cell 的状态。

上图展示了全加上「猫眼」的效果,但实际上论文中并不会加这么多啦。

另一种变体就是采用一对门,分别叫遗忘门(forget)及输入门(input)。与分开决定遗忘及输入的内容不同,现在的变体会将这两个流程一同实现。我们只有在将要输入新信息时才会遗忘,而也只会在忘记信息的同时才会有新的信息输入。

一个比较惹眼的变体为 GRU(Gated Recurrent),由 Cho, et al. (2014) 提出。他将遗忘门与输入门结合在一起,名为「更新门」(update gate),并将 cell 状态与隐藏层状态合并在一起,此外还有一些小的改动。这个模型比起标准 LSTM 模型简单一些,因此也变得更加流行了。

当然,这里所列举的只是一管窥豹,还有很多其它的变体,比如 Yao, et al. (2015) 提出的 Depth Gated RNNs;或是另辟蹊径处理长期依赖问题的 Clockwork RNNs,由 Koutnik, et al. (2014) 提出。

哪个是最好的呢?而这些变化是否真的意义深远?Greff, et al. (2015) 曾经对比较流行的几种变种做过对比,发现它们基本上都差不多;而 Jozefowicz, et al. (2015) 测试了超过一万种 RNN 结构,发现有一些能够在特定任务上超过 LSTMs。

结论

早些时候,我曾经提及很多人用 RNN 取得重要进步,而这些都是基于 LSTM 的网络。它们的确在大多数任务上表现颇佳!

在前文中,雷锋网小编贴出了好多公式呀,概念呀,算法呀,搞得 LSTM 好像有点吓人。但是呢,我们希望一步步的解读能让 LSTM 于你而言,不再是一头雾水的一个概念,让它变得更加有人味一些。

LSTM 对于 RNN 来说是一个大的进步。在有了 LSTMs 后,越来越多的任务都可用 RNN 来解决了。那么自然地,我们会想:是否还会有下一个 LSTM 式的飞跃呢?学界普遍的一个答案是,会的!下一步就是 attention 了。Attention 是什么?也就是说,从 RNN 的每一步中提取信息,并形成一个更大的信息集合。比如使用 RNN 产生能描述图片的标题时,它可能只选择图片的一部分进行关注。实际上,Xu, et al. (2015) 就是这样做的——这可能会成为你探索 attention 算法的一个切入口。目前采用 attention 的研究也已经取得了不少进展,可能已经走到了飞跃的十字路口吧……

除了 attention,RNN 领域中还有其它的研究方向,比如 Kalchbrenner, et al. (2015) 的 Grid LSTMs 前景不错,而生成模型中的 RNN 同样也令人印象深刻:比如 Gregor, et al. (2015)、 Chung, et al. (2015) 或是 Bayer & Osendorfer (2015) 的论文。

过去几年间,RNN 可谓是深度学习的宠儿,我也同样相信接下来的数年也会是这样。

看到此处说明本文对你还是有帮助的,关于“谷歌大脑科学家亲解LSTM:一个关于“遗忘”与“记忆”的故事”留言是大家的经验之谈相信也会对你有益,推荐继续阅读下面的相关内容,与本文相关度极高!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
相关阅读
通过Keras 构建基于 LSTM 模型的故事生成器

通过Keras 构建基于 LSTM 模型的故事生成器

2013-10-08 #短篇故事

谷歌大脑是如何炼成的:万字无删减版全解密一

谷歌大脑是如何炼成的:万字无删减版全解密一

谷歌,故事,人工智能,A.I.,查伊,公司,机器,雷锋网,机器学习,有关,技术,版本,谷歌翻译,产品,大脑,时间,系统,通用,谷歌地图,这个词,东西,世界,人类,伦敦,侄子,制度,助手,思想,文字,智能

2015-11-25 #经典故事

科技巨头的创业故事:借助镜像和万维网 谷歌哲学的零价格原则!

科技巨头的创业故事:借助镜像和万维网 谷歌哲学的零价格原则!

谷歌,斯坦福大学,哲学,数字,布林,计算机科学,创始人,佩奇,盖亚,成一个,原则,图像,大学,大部分,宇宙,巨头,带宽,文件,科技,理论,沙山,计算机,语料库,香农,服务,大数据,是一家,着我们,计算机科学家,镜像世界

2011-09-16 #故事会

谷歌母公司打算消灭全世界的蚊子

谷歌母公司打算消灭全世界的蚊子

蚊子,弗雷斯诺,疾病,公司,克氏体,沃尔巴,行动,技术,细菌,项目,埃及伊蚊,科学家,百家号,公蚊子,地点,数量,咬人,全世界,加州,医疗保健,社群,服务,克劳福德,多布森,帕克斯,霍尔曼,公众号,谷歌,专利技术,人们

2019-09-28 #故事会

微软 海康威视 谷歌等七大案例 详解科改“科技彩虹法”

微软 海康威视 谷歌等七大案例 详解科改“科技彩虹法”

公司,科技公司,董事会,科技,首席科学家,技术,国有,董事,科技创新,科技企业,股权,改革,企业,问题,战略,容错,知本咨询,委员会,考核,带头人,决策,层次,核心,管控,管理,主线,制度,多元化,资本,领域

2007-10-13 #故事阅读

人类大脑和动物大脑4个不同的地方 科学家:成为高等生物的原因

人类大脑和动物大脑4个不同的地方 科学家:成为高等生物的原因

大脑,动物,人类,科学家,纸币,组织,老鼠,更聪明,比其他,脑容量,体重,智慧,大象,比人,发育,切掉,地方,区域,原因,宠物,形态,所在,时候,时间,普通人,比例,物种,生物,生物学,神经元

2008-04-15 #经典故事

老鼠大脑记忆编辑实验 科学家:暂时没观察到行为变化

老鼠大脑记忆编辑实验 科学家:暂时没观察到行为变化

大脑,实验,技术,科学家们,信息,神经元,记忆,科学,情况,效果,片段,老鼠,监测,作用,全息,团队,感觉,感官,模式,神经,阶段,调节器,大脑活动,研究人员,运动中心,人工智能,个人,作者,原理,场景

2020-09-29 #故事会在线阅读

探索大脑生物钟的奥秘 上海科学家有了新发现

探索大脑生物钟的奥秘 上海科学家有了新发现

细胞,节律,神经元,亚型,研究组,核心,大脑,相位,严军,信号,基因,神经,神经科学,生物节律,图说,中心,上海,发挥作用,哺乳动物,日晷,时辰,机制,起搏器,科学家,类型,研究,光信号,不清楚,基因表达,科学家们

2013-09-13 #小故事