理解 LSTM 网络
Understanding LSTM Networks · Christopher Olah · 2015 · 博文
本页目录
- 论文名片
- Ilya 为什么选它
- 从生活说起
- 核心思想拆解
- 动手算一算
- 它改变了什么
- 术语小词典
- 原文与代码
论文名片
速览
题目:Understanding LSTM Networks(理解 LSTM 网络)。
作者与形式:Christopher Olah,2015 年长篇图解博文。
地位:史上被读得最多的深度学习科普之一,LSTM(Long Short-Term Memory,长短期记忆网络)的标准入门。
一句话内容:普通 RNN 的记忆每一步都被重写,长句记不住开头;LSTM 用一条「记忆传送带(cell state,细胞状态)」加三道阀门(遗忘门、输入门、输出门),决定旧记忆留什么、新信息存什么、此刻用什么。
Ilya 为什么选它
上一篇 RNN 的惊人有效性展示了循环网络能有多神奇,也暴露了「记性差」的短板;本篇补上的正是那块基建。在 Transformer 出现之前的好些年里,LSTM 是翻译、语音、语言模型等序列任务的主力结构,读懂它,才读懂那个时代的论文。
选这篇博文而不是原始论文,还因为它开创了一种讲法:先用图示与生活直觉把门的作用讲透,公式退居幕后。这种「直觉优先」的讲法影响了后来无数教程,也让它成为书单里最好的「钥匙」——拿到它,后续更难的论文才推得开。
从生活说起
想象一个记账员,用一块小黑板记账:每来一笔新账,他就把整块黑板擦掉重写。一个月后问他「这个月第一天记了什么」——早就没有了。普通 RNN 的记忆正是这块黑板:每读一个新字符(或新词),整块记忆都被重写一遍,长句开头自然保不住。
改良方案有两件套。第一,加一条传送带:旧账不再被擦掉,而是放上传送带平稳向前走,随时可以取用。第二,装三道阀门:一道决定旧账擦多少、一道决定新账存多少、一道决定此刻往外用多少。
换个更贴身的画面:像一本笔记本,每天只擦掉一部分、写进一部分——大部分旧内容还在,新内容也有条理地补进去,本子越记越厚而不失章法。
核心思想拆解
先说病根。普通 RNN 的记忆每一步都被重写;所谓「梯度消失(vanishing gradient)」的白话版就是:开头的影响每往传递一步就打个小折扣,传几十步就近乎归零。于是句子读到结尾,主语是单数还是复数、前文承诺过什么,全都记不清了。
第一件套:传送带。LSTM 的细胞状态是一条横穿整个「读句子」过程的传送带。信息上了带就平稳向前,不经过每一步的重写;想对它做加减,必须通过阀门。长程信息因此有了「直达通道」。
第二件套:三道阀门(gate,门)。遗忘门(forget gate)看着当前输入,决定传送带上哪些旧记忆该擦、擦多少;输入门(input gate)决定眼前的新信息存多少上带;输出门(output gate)决定此刻从带上取多少出去用。三道门都像水龙头:开度可以大、可以小、可以停在中间,而不是非开即关。
分工一句话:留什么、存什么、用什么——遗忘门管留,输入门管存,输出门管用。Olah 原文用一步步的图示讲解三道门的配合,直觉为主、公式为辅;本页遵循同样的精神,只建立画面感,不写门公式。
关键洞察:LSTM 的关键不是「记更多」,而是给记忆修一条不被每步重写的通道,再用阀门缓缓调整它——该记的近乎全保,该忘的迅速放掉。
动手算一算
本节算术为教学演示,不是论文数字。
演示:打折扣与传送带的差距
假设记忆影响每传一步打九折(乘 0.9),50 步之后是 0.9 的 50 次方,约 0.005,只剩千分之五;若阀门把保留比例提到九九折(乘 0.99),50 步之后是 0.99 的 50 次方,约 0.6,还剩六成。同样是 50 步,后者留下的是前者的 100 多倍。
这就是「传送带加阀门」的算术本质:让「保留比例」变成可以逐处学习、逐处不同的量。重要的信息路径保留比例接近一(几乎无损),无关的信息则被迅速放掉。长句开头的线索,就这样一路活到句子结尾。
它改变了什么
对内:它修补了字符接龙那条线的短板,让翻译、语音、语言模型等长序列任务真正可用。本系列随后的两篇都盖在它的地基上:RNN 正则化研究怎么把 LSTM 训练得更好;注意力机器翻译则发现,就算记性好,写译文时还是想「随时回看原文」。
对外:「传送带加三道阀门」的画面成了整整一代人理解「记忆如何流过神经网络」的通用隐喻;直到今天,讲循环网络的教程几乎都沿用 Olah 建立的图示直觉。一篇博文的讲法,成了一门课的标准教材。