EP.017 / TRANSCRIPT

LSTM:Sepp Hochreiter 与消失的梯度逐字稿

从早先的少糖要求,到后来改成七点的聚餐

FINAL MASTER / release-approved

答案在最后

0:00

先想象你去买茶,开口就说:这杯要少糖。等着制作时,你和店员又聊了几句天气。过了一会儿,店员开始加糖。最早那句“少糖”,这时候还得管用。

要是最后做出来太甜了,问题又多了一层。下次点单时,店员该怎样更好地留下这个要求?今天我们要讲的,就是机器怎样把早先的信息留到后面使用,以及它怎样从最后才知道的错误中,学会这件事。

[001]

引用 [001]

context

少糖买茶、聊天和做甜后的练习均为节目构造的生活类比。来源仅支撑早先输入、干扰与末尾反馈的问题结构,不能证明论文做过点单实验或机器理解自然语言。真实 Task 6b 到第四章才介绍。

定位 §5.6, Task 6b, author-copy PDF 19-20; error signals only at sequence end

查看完整证据关系

把困难追到回传路径

0:29

这个问题,把我们带到一九九一年。在慕尼黑工业大学做学位论文的 Sepp Hochreiter,研究动态神经网络为什么难以训练。他的论文指导者之一,是 Jürgen Schmidhuber。

当时,研究者已经能够根据最后的错误,调整网络内部的连接。我们可以把这种训练,先理解为做完一次练习,再回头改进处理办法。可一旦任务需要等很久才知道对错,早先那些步骤就越来越难得到有效的调整。

[002]

引用 [002]

context

人物、日期和监督角色按原件;训练练习为教学解释,不复原现场。题名页 Josef、目录 S. 与通行 Sepp 分层,Betreuer 不与 Brauer 的 Aufgabensteller 合并。1986 只作方法背景,无唯一发明主张。

定位 1991 PDF 1 title page, dated 15.6.1991, Betreuer J. Schmidhuber; 1986 PDF 1 / Nature p. 533, hidden representations and error back-propagation

查看完整证据关系

多年以后,Hochreiter 在二〇二五年发布的 Eye on AI 访谈里,回忆自己怎样追查这个训练难题。采访者是 Craig S. Smith。先听他怎么描述当时的问题。

[003]

引用 [003]

context

A/v2 已由用户确认短片试听通过并选入;日期为发布日而非已知录制日。只用本人研究回忆,不承担首创证明;自动逐字和译意未随试听批准转为核准引文。

定位 Eye on AI #232, released 2025-01-22; acquired MP3 00:02:26.680-00:02:42.800; context 00:01:44.000-00:03:21.300

查看完整证据关系

Sepp Hochreiter(原声): At this time, it was 1991. A recurrent neural network couldn't memorize. And then I was digging into the problem. And what I discovered was a problem which is now known as a vanishing gradient.

Eye on AI #232,Craig S. Smith 访谈,2025-01-22 发布;节目 01:13.168–01:29.288;访谈源 02:26.680–02:42.800。

[049]

引用 [049]

context

Sepp Hochreiter 的后见回忆;原声用于呈现研究动作或设计目标,机制与贡献另以同期论文核对。

定位 节目 01:13.168–01:29.288;访谈源 02:26.680–02:42.800

查看完整证据关系

他在这里回忆的,是隔了很久才需要用到早先信息时,网络不容易学好的困难。循环神经网络本来就能把前面的状态带到后面:每读入一项新内容,就把已有状态和眼前输入一起计算,形成下一份状态。

拿点单作比方:听到“少糖”,当前这杯茶的要求就变了。接下来听到别的话,之前的要求也还有机会参与判断。网络里留下的是一组数值,我们把它叫作状态。它让过去有机会继续起作用。

[004]

引用 [004]

context

A 后明确限定长依赖训练困难,不把回忆口语概括解释成循环网络没有状态。点单类比只解释数值状态继续参与计算,不当真实订单实验或模型理解意图。

定位 §3.1 / author-copy PDF 3, recurrent network activation and notation; PDF 3-5, error flow across time

查看完整证据关系

再看学习。茶太甜了,练习就需要让下一次的处理有所改变。可能是听到“少糖”时,没有留下足够清楚的记录;也可能是最后加糖时,没有用好已有的要求。

训练要做的,就是计算:哪些连接改一点,最后的错误会小一点?往哪个方向改、影响有多强,这种信息就体现在梯度里。

这些调整会改变下一次的处理。已经做好的那杯茶不会因此变甜或变淡,改进留给下一次练习。

[005]

引用 [005]

context

做甜后的复盘只解释参数敏感性与后续更新,不宣称模型定位到某个真实店员行为;梯度用于改进后续样本,不让过去输入重新发生。

定位 1991 §§2.2-2.3, PDF 22-24 / printed pp. 19-21; 1997 §3.1, PDF 3-5

查看完整证据关系

困难出在往回查的这条路上。用一个简化的比方:纠错意见每经过一个环节,传给更早一步的调整力度就缩小一半。经过许多环,最初接单那一步几乎收不到有效的调整。

真实网络并非每步都缩小一半,但计算里确实有许多局部因子连续相乘。它们可能让信号越来越弱,也可能反过来放得太大。前一种困难叫梯度消失,后一种叫梯度爆炸。隔得越远,早先那一步就越难学好。

[006]

引用 [006]

context

每环一半为明确简化的反向调整力度类比,不是实测衰减比例或前向内容固定遗忘率;实际连乘包含局部变化率、连接及多路径,可衰减或放大。

定位 §§2.2-2.3, PDF 22-24 / printed pp. 19-21, products in backward error flow

查看完整证据关系

注意,刚才“纠错力度打折”的比方,说的是训练时的调整,和顾客的话有没有被记住,是两件事。

一张点单记录可能还在,可练习未必能有效教会系统该怎样改进记录方式。所以我们要分别看:要求有没有留到最后?如果没用好,最后的错误又能不能帮助最早那一步学得更好?

Hochreiter 研究的困难,正是后一条学习路径。

[007]

引用 [007]

context

卡片存在而不易学会改进是区分前向保留和反向训练的有限类比,不把两种失败合并。1994 交叉支持分析,不作为 1991 人物已掌握的未来知识。

定位 1991 §§2.2-2.3; 1994 manuscript abstract / PDF 1 and introduction / PDF 2, long-term storage versus efficient gradient learning

查看完整证据关系

Hochreiter 在论文里继续追问:能不能安排一条特殊路径,让往回传的纠错信号少受这种削弱?他已经开始研究怎样维持恒定的误差回流。

到一九九四年,Yoshua Bengio、Patrice Simard 和 Paolo Frasconi 的论文,也分析了长期保留信息与有效学习之间的困难。

接下来的设计,还得同时照顾使用。就像一张点单卡,既要把“少糖”留下,又不能让后面随便聊的一句话,都把它改掉。

[008]

引用 [008]

supports

1991 仅归属已核的恒定回流研究,1994 三人分析为旁证;卡片防乱写是根据后续论文设计冲突的教学提问,不是历史动机引语或全部门控已在 1991 成型的证明。

定位 1991 chapter 4, PDF 51 / printed p. 48; 1994 abstract and §§3-4; 1997 §3.2 / PDF 5-6, input weight conflict

查看完整证据关系

留下来,也要能使用

4:01

在一九九六年修订的技术报告,以及一九九七年发表的论文里,Hochreiter 和 Schmidhuber 给出了共同的设计:Long Short-Term Memory,简称 LSTM,长短期记忆。

我们可以借一张点单卡来理解它的记忆单元。卡片上记下当前要求,等候时保留,做茶时拿来参考。先跟着这几个动作走,再看网络怎样用数值和控制把它们实现出来。

[009]

引用 [009]

supports

共同署名支撑共同设计;1996 修订不冒充 1995 初稿。点单卡仅解释保留和访问分工,真实记忆单元存数值、由学得的控制运作,不按字面存储自然语言订单。

定位 1996 report PDF 1, v3.0 Revised December 1996; 1997 PDF 1 authors / title, §4 PDF 6-8 / Fig. 1

查看完整证据关系

到了记忆单元的设计,这条学习路径就有了一个具体目标。沿用前面“纠错力度打折”的比方,能不能让中间一段始终按系数一回传?

在同一场 Eye on AI 访谈里,Hochreiter 接着解释了这个目标,以及它与记忆单元的关系。

[010]

引用 [010]

context

采访者与发布年份已在 A 引入段建立,B 为同场后见解释;用户已确认 B/v1 当前短片试听通过。逐字、译文及用途权利不自动提升,恒定只限特殊内部路径。

定位 Eye on AI #232, release 2025-01-22; acquired MP3 source 00:04:54.000-00:05:27.820; context 00:04:27.000-00:05:44.150

查看完整证据关系

Sepp Hochreiter(原声): Here's the idea was, can I build something, construct some architecture. If you go back in time, it's scaling with a factor of one. Meaning it's equally important. If you go one step back, it's equally important. You go another time step back, it's equally important. And this was the LSTM architecture. It's called the memory cell. The memory cell was a construction where you can go back over time and the credit assignment, how much something contributes to the final answer remains the same.

Eye on AI #232,Craig S. Smith 访谈,2025-01-22 发布;节目 04:43.535–05:17.355;访谈源 04:54.000–05:27.820。

[050]

引用 [050]

context

Sepp Hochreiter 的后见回忆;原声用于呈现研究动作或设计目标,机制与贡献另以同期论文核对。

定位 节目 04:43.535–05:17.355;访谈源 04:54.000–05:27.820

查看完整证据关系

论文把这个目标做进了单元内部一条固定权重为一的自身连接,让状态延续和误差回流有了一段受保护的路径。接下来的问题,是它怎样与外界来往。

用点单卡作比方,“少糖”写下以后,不必因为又等了一会儿,就自动变淡。但卡片还会接触新内容。要是聊到什么都往上写,重要要求仍可能受到干扰。于是,接下来要控制谁能写进去。

[011]

引用 [011]

context

卡片不随等待自动变淡只说明受保护状态路径;新输入仍可能扰动。固定一保护特定内部误差路径,不代表全网络梯度恒定或所有内容能永久保存。

定位 §3.2 / PDF 5-6, identity activation and fixed w_jj=1; §4 / PDF 6-7, Fig. 1

查看完整证据关系

这项控制叫输入门。它好比点单卡的写入口,调节这一步的新内容,有多少加入已有记录。

听到与这杯茶有关的要求,新内容可以多加入一些;遇到不相关的聊天,就可以少加入一些。旧状态继续留下,只有经过调节的新贡献,才加到它上面。

实际的门可以开大一点、关小一点,并非只有全开和全关。这样,网络就有办法把需要的内容留下,同时少受中间干扰。

[012]

引用 [012]

context

点单卡写入口只比喻新贡献的连续缩放后相加;输入门不直接抹旧状态。茶要求 / 聊天只是理想行为的构造示意,不是被观测到的单元策略。

定位 §4 / PDF 6-7, s_cj(t)=s_cj(t-1)+y_inj(t)g(net_cj(t)); gate logistic range in experimental conditions

查看完整证据关系

谁来决定门开多大?这个决定也由网络计算,并通过训练逐渐形成。研究者提供的是一套能够控制写入的结构,怎样使用,还得在一次次练习中学出来。

点单卡到这里就只是比方了。真正的单元里没有一张写着“少糖”的纸,存的是数值;也没有人替它写好“听到少糖就开门”的整套规则。类比帮助我们分清动作,实际的控制依赖学得的连接。

[013]

引用 [013]

context

显式结束文字卡类比,回到数值状态及训练形成的连续门控;没有硬编码少糖开关、模型理解意图或人类记忆机制相同的主张。

定位 §4 / PDF 6-8, gate input sums, network topology and Learning; §5.6 / PDF 19, local input vectors

查看完整证据关系

卡片记好了,什么时候拿出来用?顾客正在聊周末去哪儿,还不需要据此加糖;开始做茶时,这项要求才该影响动作。

LSTM 把这类“何时对外起作用”的控制,交给输出门。内部状态经过转换,再由输出门调节,才成为这个单元向外提供的结果。

门关小,其他计算暂时少受它影响;门开大,这份状态就能更多地参与后续判断。

[014]

引用 [014]

context

拿卡参考比喻输出门调节状态对外作用;实际为 h(s) 乘门值,不指整个网络只在做茶时或序列末尾输出。顾客聊天为构造。

定位 §3.2 / PDF 6, output weight conflict; §4 / PDF 7, y_cj(t)=y_outj(t)h(s_cj(t))

查看完整证据关系

一张卡片暂时扣在桌上,内容仍然在;需要时翻过来,又能拿来参考。这个比方可以帮助区分,保留和使用。

输出门关小,不会因此把内部状态擦掉。输入门关小,也只是少加新内容,旧状态还有自己的传递路径。

于是,“少糖”有机会经过一段等待,再在做茶时发挥作用。我们已经把写入、保留和对外使用,分成了几个可以控制的动作。

[015]

引用 [015]

context

扣下卡片仍保留内容仅比喻对外输出与内部状态分开,不是隐藏文本文件。关输入仅减新贡献,旧状态沿路径保留,尚未引入后版遗忘门。

定位 §4 / PDF 6-8, input / output protection and internal-state / cell-output equations

查看完整证据关系

现在,假设最后还是做错了。训练要沿着这些处理关系,计算怎样调整连接。

纠错信号进入记忆单元时,仍会受到输出门等计算的影响。但进到那条受保护的内部路径以后,就能往更早的状态传,不必每一步都重复被削弱。

到了写入连接,它又会经过输入门等环节的调节,形成相应的修改。保护的是中间这段路。这样,最后的错误才更有机会教会网络,下次一开始该怎样处理。

[016]

引用 [016]

context

依原论文特定截断规则解释:入 / 出门及转换仍缩放,特殊内部路径不再步步衰减;非全历史完整 BPTT、全网络恒定梯度或过去动作被改写。

定位 §4 Learning / PDF 8, error scaled by output gate and h', constant internal flow, input gate and g', then truncation

查看完整证据关系

把这几步连起来看:一开始留下要求,中间少受干扰,需要时拿来使用;做错以后,早先的处理也更有机会得到有效调整。

这给学习创造了更有利的条件。它仍然需要许多训练样本,也可能先学到一些容易却不够好的用法。结构提供了办法,究竟学会没有,要让结果来回答。

[017]

引用 [017]

context

提供更有利训练条件而非任意任务保证;多样本和非理想单元用法依据论文。点单串联为教学回收,不当作者实际实验。

定位 §4 / PDF 8, Learning and Abuse problem and solutions; §5.6 / PDF 19-20, training / testing

查看完整证据关系

刚才,我们只用一张卡片解释一个单元的职责。真实网络可以有多个单元,它们之间也有连接,共同处理前后关系。

接下来回到论文的实际实验,看看研究者怎样检查,早先的信息有没有在最后的判断里用上。

[018]

引用 [018]

supports

单卡说明一个单元的职责,不充当完整分类器。Task 6b 实为三块、每块两单元;没有硬配某个单元给少糖、某个给聊天的轨迹。

定位 §5.6 Architecture / PDF 19-20, Task 6b three cell blocks of size two, recurrent connectivity; Typical solutions / PDF 20 pertains to Task 6a

查看完整证据关系

回到论文,怎样算记住

8:47

买茶是帮助理解的生活例子。论文实际用的是一串人工符号,把任务压得很简单:三个关键符号,夹在许多无关符号中;直到结尾,才检查机器能否按它们出现的先后顺序,作出正确分类。

同样的几个符号,顺序变了,类别就可能不同。光记得出现过什么还不够,先后关系也要留下。整条序列有一百到一百一十步,关键符号的位置还会在规定区间内变化。

[019]

引用 [019]

supports

实际 Task 6b 为 100–110 步、三个 X/Y 关键符号、八类时序分类,位置来自规定区间。正文不要求听众背符号组合,也不说任务是自然语言点单或序列生成。

定位 §5.6 Task 6b / PDF 19: length 100-110; t1 10-20, t2 33-43, t3 66-76; eight class mappings

查看完整证据关系

Hochreiter 和 Schmidhuber 报告,LSTM 学会了这样的时序分类。训练时不断生成随机序列,检验再用另外生成的序列,中间的干扰和关键位置都可能变化。

在论文给定的结构、训练方法和标准下,网络能够把隔得很远的先后信息,用进结尾的判断。这份结果支持了一个具体结论:晚到的错误,可以帮助网络学会利用早先的输入。

[020]

引用 [020]

supports

结果为作者报告,未独立复跑。Task 6b 表均值为 2 错 / 2560、十次试验;停止条件与误差标准依原文,不把结果扩展到买茶或所有任务。

定位 §5.6 Training/Testing and Results / PDF 20; Table 9, Task 6b: 308 weights, mean 2 wrong / 2560, mean stopping after 571100 sequences, ten trials

查看完整证据关系

这个实验的价值,就在于把需要检查的要求单独拿了出来。没有茶的口味,没有顾客聊天,也不用先理解一句自然语言;只看关键的先后信息,能不能跨过干扰。

因此,我们不能把实验成绩直接说成机器已经会理解点单或读懂任意文章。生活例子让困难容易想象,人工实验则让其中一项能力可以被具体检验。

[021]

引用 [021]

context

生活类比与人工基准明确分层;任务简洁的价值为编辑分析。不移用其他实验超过 1000 步数据,不声称已证明点单理解、任意文章理解或普通交谈记忆。

定位 §5.6 / PDF 19-20, artificial task definition; §7 / PDF 23, real-world applications discussed as prospects

查看完整证据关系

每轮实验开始前,还有一个帮助:外部程序会把记忆单元的状态清零。就像一杯茶做完,别人替你收走旧点单卡,再给下一位顾客准备一张新的。

网络负责把这一轮的重要信息留到最后,上一轮留下的内容怎样退出,暂时有人代劳。要是没有这一步,让许多轮输入一直连着来,会发生什么?

[022]

引用 [022]

supports

别人收旧卡只是外部逐段清零状态的类比。清的是运行状态而非训练权重;2000 论文揭示旧条件,本段尚未叙述后续改动。

定位 §2.1 / PDF 5, standard LSTM requires external resets and state growth without resets; continual temporal order / PDF 16

查看完整证据关系

下一轮,谁让记忆重新开始

10:32

下一位顾客来了,这杯的要求可能是正常糖。上一杯的“少糖”,显然不该不分情况地继续支配所有订单。

后续研究就改变了类似的使用条件。Felix A. Gers、Schmidhuber 和 Fred Cummins,让网络面对接连不断的输入,中间不再由外部程序清空状态。

原来有利于保留的结构,这时可能让旧数值不断积累。网络还需要决定,以前留下的状态,现在该保留多少。

[023]

引用 [023]

supports

下一位顾客为构造的持续使用直觉,三人工作实际测连续人工序列。旧数值可能增长为条件性现象,不说所有运行必然发散,不将原版任务改写成订单数据。

定位 1999 PDF 2 title / abstract; 2000 §2.1 / PDF 5 and continual temporal order task / PDF 16

查看完整证据关系

旧数值积得很大,为什么会影响使用?可以拿音量接近上限作个比方:输入再增强一点,能听到的变化却已经很小。

单元的输出转换也有范围限制。内部状态太大时,向外提供的结果会接近范围的一端。内部再变一些,外面看见的差别很小,这叫饱和。

这里卡住的是数值怎样变成可用输出,并不是电脑没有地方再存东西了。

[024]

引用 [024]

context

音量接近上限仅比喻有界输出低敏感性,不模拟完整非线性曲线、物理内存耗尽或梯度消失。实际问题为状态增长后的输出饱和。

定位 §2.1 / PDF 5, growing cell states and squashing-function saturation

查看完整证据关系

接下来要调节的,是那些已经留下的旧状态。只控制新内容加入多少,还没有直接决定旧内容继续保留多少。

这项后续改动,就叫遗忘门。

[025]

引用 [025]

context

本版以同期论文直接引入遗忘门,C 已转未选备选,没有待播放位置;保留旧 paragraph/citation 身份而不整体重编号。这里只区分新贡献与旧状态的控制,不宣称输入门在数学上无法影响未来状态。

定位 §2.1 / PDF 5, state growth without resets; §3.1 / PDF 6, equations 6-7, learned forget gate

查看完整证据关系

Gers、Schmidhuber 和 Cummins 的这项工作,已经见于一九九九年的会议稿,二〇〇〇年又发表了长篇论文。

它调节的是旧状态。原来,旧状态直接保留,再加新内容;现在,先把旧状态乘上一个由网络算出的保留量,再加新内容。

接近全部保留,旧影响就继续;只保留一点,旧影响就减弱。它既可以让内容慢慢淡去,也可以接近清空。用点单卡作比方,网络多了一项决定旧记录怎样退出的控制。

[026]

引用 [026]

context

三人署名与 1999 会议 / 2000 长篇分别归原件。遗忘门先缩放旧状态,再加新贡献,可连续渐退;卡片退出只是关系类比,不是文本擦除算法。

定位 1999 PDF 2, title and three authors; 2000 §3.1 / PDF 6, equations 6-7, forget-gate activation and state update

查看完整证据关系

旧点单卡不再沿用,学徒练出来的接单办法却仍然保留。这能帮助我们分清两种东西:这一杯留下的工作记录,以及通过练习形成的处理方法。

遗忘门调节的是运行状态,不会因为减少旧状态,就把训练学到的连接一并删除。

当然,茶还没做好,就把“少糖”的影响清掉,也会出错。所以,重要的不是一味少记,而是学会哪些内容还需要留到后面。

[027]

引用 [027]

context

点单卡与练成的方法用于区分运行状态与训练权重;遗忘门不删训练知识。过早减弱重要信息会有害是条件性解释,不把越忘越好当研究结论。

定位 §3.1 / PDF 6, runtime state and learned gate equations; §3.2, learning rules for gate weights

查看完整证据关系

三位作者把带遗忘门的版本,放回持续输入的人工时序任务,报告它能够在所测条件下,处理接连到来的序列。

这让问题往前走了一步。先前,我们只问一杯茶的要求怎样留到制作;现在,还要考虑下一位顾客来了,旧要求怎样退出,新要求怎样接上。

会把东西留下,是一项能力。一直工作下去,还得会调整留下的内容。

[028]

引用 [028]

supports

作者连续人工任务结果,未复跑或引用未逐项复核的成功率。顾客接续仅收束使用条件的类比,不证明模型真的处理连续自然语言订单。

定位 Continual temporal order / PDF 16, printed p. 15; conclusions immediately following

查看完整证据关系

聚餐改到七点,日历填几点

13:11

语言建模也在沿别的路线推进。二〇〇三年,Bengio 等人让网络一边学习词的表示,一边根据前面的词预测下一个词,用的是固定窗口的前馈网络,与 LSTM 并行。

接下来,我们从后来被称作 GPT-1 的二〇一八年研究出发,回看直到二〇二六年的记忆尝试。换一个更贴近日常使用的问题:一件事后来改了,AI 到了真正办事的时候,用的是旧消息,还是新消息?

[029]

引用 [029]

context

2003 固定窗口前馈为平行路线,不是 LSTM 后代或全部词表示首创;随后明示 2018–2026 比较,聚餐情境是本期构造,截止 2026-10-20。

定位 2003 printed pp. 1138-1140, §§1-1.2 and §2 / Fig. 1; 2018 §3.1 / PDF 3

查看完整证据关系

设想你和朋友约周六聚餐。一开始定在六点,后来大家商量,改成了七点。几天以后,你请 AI 帮你把这次聚餐加进日历。

它该填几点?我们当然希望是七点。六点不是从没出现过,只是已经被后来的消息改掉了。

下面就用这个设想,跟着一个能读记录、调用日历工具的 AI 代理往下看。我们把这样的任务系统叫作 agent。它既要找到消息,也要把最新时间用进实际安排。

[030]

引用 [030]

context

六点改七点、朋友、日历字段及后续 agent 操作全部为构造说明,来源只支撑更新和记忆用于工具参数的任务能力,不证明任一产品已执行此例。本轮未实际操作日历。

定位 Managed Agents engineering article, session / harness / sandbox architecture; LongMemEval Table 1 / PDF 3, knowledge update; Mem2ActBench §3.5 / PDF 5, memory-supported tool arguments

查看完整证据关系

先回到 GPT-1。它的预训练使用连续五百一十二个词元组成的片段。词元可以先理解为模型读文本时使用的小块,不一定等于一个完整的词。

训练会让模型学到很多语言模式,好比知道“聚餐”“几点”“日历”通常怎样使用。但这一次的聚餐改到了七点,是我们后来才确定的事。系统还需要在当前任务中读到这条新消息。

于是,一条改进方向很直接:让它这一次能够读到更多过去的内容。

[031]

引用 [031]

context

512 是 GPT-1 连续训练片段长度,非所有参数知识容量或聊天产品记忆上限;认识聚餐用语与得知这次最新时间是教学区分,不是假称该系统已部署日历代理。

定位 §3.1 / PDF 3, unsupervised pre-training objective; §4.1 Model specifications / PDF 5, contiguous training sequences of 512 tokens

查看完整证据关系

一种办法,是把前一段计算留下的内部表示,带到后一段继续参考。就像翻到下一页时,前一页留下的线索还能参与理解,不必每次从空白开始。

二〇一九年的 Transformer-XL 采用了这种分段复用,在论文的语言建模实验里取得改进。它保留的是算过的内部表示,并没有把全部过去无限地重新训练一遍。

这先扩大了系统能够参考的范围。

[032]

引用 [032]

supports

翻页线索仅解释前段表示可在后段参考,非实际生成文字摘要;缓存路径停止梯度,不重训全部历史。改进限定作者语言建模 / RECL 指标,不报通用记忆倍数。

定位 §3.2 / PDF 3, segment-level recurrence and stop-gradient cache; §4.3 / PDF 7-8, Tables 6-8

查看完整证据关系

另一个办法,是一次摊开更多聊天和文档,让模型能一起读到更长的历史。这就是扩大上下文窗口的作用。

到二〇二四年,Google 发布 Gemini 1.5 时,报告它在百万词元里寻找预先放入的事实,找回率达到百分之九十九。这是具体的进步:远处的一条信息,仍能被找到。

但找到一句“六点”,还不能决定日历填六点。我们的聊天里,另有一句把时间改成了七点。

[033]

引用 [033]

supports

只用 2024 发布方 1M NIAH 99% 口径,不与 v5 >99.7% 混用,不作 2026 最新规格或全部任务成功率。六点 / 七点是构造,检索不等于识别修订。

定位 2024-02-15 launch page, Long-context understanding / Needle In A Haystack paragraph: 99% recall at 1M tokens

查看完整证据关系

所以,放得下以后,还得看用得怎样。二〇二三年的 Lost in the Middle 研究发现,当时一些被测模型,会因为有用信息在长输入中的位置不同,而答得好坏不同。

这说的是当时的模型和任务。它提醒我们,检验时不能只看聊天能放多长,还要移动那句“改成七点”,看看系统是否仍能找到,并正确使用。

材料在眼前,是一步;把合适的那条用上,是下一步。

[034]

引用 [034]

context

2023 被测模型的材料位置实验,不推断全部 2026 系统仍有同幅度失败。移动七点消息为本期构造的建议检查方法,非原基准题或已运行测试。

定位 2023-07-06 v1, PDF 1 Fig. 1; §§2-3, multi-document QA and key-value retrieval

查看完整证据关系

聊天越积越多,每次从头读到尾,也要花时间和计算。我们平时会怎么做?先翻出跟这次聚餐有关的消息。

系统也可以把资料保存在模型外面,需要时先查找,再把相关内容交给模型。二〇二〇年的 RAG,是这条检索增强生成路线的代表:它把文档检索和生成器结合,在论文的开放问答实验里取得了改进。

这里新增的能力,是按需要找资料,供当前任务使用。

[035]

引用 [035]

context

翻聊天只解释按需找外部资料;原 RAG 使用文档索引而非自动生活经历存储。NQ 44.5 EM 与 36.6 比较来自不同模型和训练,不当单一记忆开关增益。

定位 RAG fixed v4, abstract, §2 and §4.1 / Table 1; context engineering article, limited context budget and long-horizon task sections

查看完整证据关系

资料放在外面,也比较容易更换。文档和索引更新了,后续回答就有机会参考新内容。

不过,那句“改到七点”首先得被保存。后来查找时,也得把它找出来。如果系统只找到了较早的六点消息,资料虽然存着,日历仍然可能填错。

保存新消息、找到新消息、看出它修改了旧约定,这几步都需要安排。

[036]

引用 [036]

context

外部索引可更新并非自动采集新经历、识别修订或保证检索命中。只找到六点是构造的失败条件,不是具名产品实测故障。

定位 RAG §4.5, knowledge access / index update experiment; LongMemEval §3 and Table 1, knowledge-update ability

查看完整证据关系

研究者也没有停止改进模型内部的记忆。有的工作让一个专门的神经记忆模块,在读新内容时继续学习;另一些工作让模型查用训练形成的模式表,减少反复重建常见模式的工作。论文各自报告了所测任务的收益。

这些办法保存的东西,与把这次聚餐时间写进记录并不相同。接下来,我们就看 agent 怎样管理这种任务记录。

[037]

引用 [037]

context

Titans 测试时更新专门神经记忆模块,不是整底座每次聊天重训;Engram 为静态 N-gram 查找表。所报语言/推理或检索收益非个人事件记忆分;无普遍商业部署推断。

定位 Titans, submitted 2024-12-31, §§3-5; Engram, 2026-01-12 v1, §§2-3 and Tables 1-2

查看完整证据关系

agent 连续工作,会积累很长的聊天、文件和工具结果。当前调用读不下这么多时,一种做法是把进度压成较短的工作便条。

比如:“周六聚餐已改到七点,地点还没定。”这张便条比整段聊天短,却留下了继续办事需要的条件。完整过程可以另存在日志或文件里。

压缩不是随便删字。如果偏偏删掉“已改到七点”,省下了篇幅,也可能丢掉接下来最需要的一件事。

[038]

引用 [038]

context

七点 / 地点待定便条是构造的压缩示例,不是实际服务产物;来源支撑有损压缩、外部笔记和持久日志,不保证所有原始过程每次自动读回。

定位 Context engineering, Context engineering for long-horizon tasks / Compaction / Structured note-taking; Managed Agents, session event log, context management and harness separation

查看完整证据关系

OpenAI 的一个官方 agent 开发示例,把当前运行的压缩、以后可复用的经验,以及可核查的工作产物分开处理。

借用这个分工看聚餐:当前便条告诉系统,事情做到哪儿了;这次确认的时间,要有明确记录;“下次创建安排前,先查最后一次确认”,则可以成为以后复用的工作经验。

当次事实和做事方法分开保存,后续就不必全靠一段越来越短的聊天摘要。具体存什么,仍需按任务设计。

[039]

引用 [039]

context

官方合成证据审阅示例的运行压缩、未来流程经验、可核产物分工;聚餐应用是明确借用,不是原例或全部 SDK 规则。未执行 notebook,也未独立测性能。

定位 Official notebook markdown cells: Memory vs. Compaction, Using Agents SDK, Step 2 / Step 3; exact Git blob 0c2e00f660b21c4aa0ccac7c26832fee4f56b641

查看完整证据关系

Claude 的托管代理服务,公开了一种把记忆做成文件的办法。记录可以跨会话保留,也可以查看、导出和管理版本;后续需要时,再读进当前任务。

前面的点单卡只是比喻。到了这样的 agent,外部记录可以真的存在于文件里。我们就有机会查到,它究竟记了六点还是七点,哪次被修改过。

文件能长久保存,当前这次办事,仍得读到适用的部分。

[040]

引用 [040]

supports

所核 Managed Agents memory 页面为 public beta,文件/导出/版本能力为产品公开机制,不代表全部 Claude 产品默认实现。查六点七点为构造,不是实际服务操作。

定位 2026-04-23 memory product page, How memory works / Portable memories; Managed Agents session and memory-tool sections

查看完整证据关系

记录多了,还要整理。Anthropic 把一种任务间的整理过程叫作 dreaming:回看过去的会话和记忆,提取反复出现的模式,再整理保存内容。

想想一叠便条里,同时留着“六点聚餐”和“改为七点”。保留两条历史没有问题,给下次办事用的记录,还得说明哪条现在有效。

整理的价值,就要看它有没有把这些关系留下,而非只是把字数变少。

[041]

引用 [041]

context

dreaming 所核为 research preview、任务间回看/模式提取/整理,可自动更新或审阅变更;不等同生物睡眠。六点七点便条仅解释整理应保留的适用关系,不是已验证整理结果,不报客户倍数。

定位 2026-05-19 product page, Build self-improving agents with dreaming and Getting started, between-session review of sessions / memories

查看完整证据关系

现在把这件小事走完一遍。七点的新消息,要先记下来;需要时能找到;读到以后,知道它替代了六点;最后,把七点填进日历。

任何一步都可能掉链子。摘要只剩六点,查找漏了新消息,或者嘴上说七点、日历却填六点,都是不同环节的问题。

所以我们可以分别检查:存没存,找没找对,看没看懂更新,最后有没有办对。

[042]

引用 [042]

context

四步链与日历错填均为构造检验框架,来源分别提供压缩、更新、工具参数的依据,不指控具名产品故障,也不把错误一律归于梯度消失。

定位 Compaction / Structured note-taking; LongMemEval §3, knowledge updates; Mem2ActBench §3.5 and §5.5, tool-argument construction and failure analysis

查看完整证据关系

评测也在检查这些区别。LongMemEval 把多次会话、时间关系、知识更新,以及不知道答案时能否拒答,纳入长期互动的测试。

聚餐例子里,问“最初约几点”,六点是对的;问“现在安排几点”,就该是七点。把旧消息记得很准,也要能够区分我们现在问的是哪件事。

记忆测试因此可以检查,系统是否接受了后来发生的变化。

[043]

引用 [043]

context

LongMemEval 500 题混合模拟/构造/人工编辑,测提取、多会话、时间、更新与拒答。六点七点两问为本期构造,不是原题,不外推 2024 分数至 2026 全产品。

定位 2024-10-14 v1, Table 1 / PDF 3, five abilities; §3 and Fig. 2 / PDF 5, 500-question construction

查看完整证据关系

二〇二六年的 Mem2ActBench,又把要求推进到工具使用:找到的历史信息,能不能变成正确的调用参数?

在它使用指定开源模型和合成任务的实验里,检索到更合适的材料,确实改善了参数指标;即使直接给出正确证据,应用结果仍有缺口。

这正像我们的日历检查:会说“七点”,与创建的安排里真的是七点,可以分开验证。

[044]

引用 [044]

supports

400 合成工具任务、七框架、Qwen2.5 7B/32B/72B。Table 4 参数 F1 10.0/30.7/53.8 不是端到端成功率;未闭合 TA 和 12/13 轮次口径不使用。日历例未实测,不作为最新 OpenAI/Claude 横评。

定位 §3.5-4.1 / PDF 5; §5.1 / PDF 6; Tables 3-4 / PDF 7; §5.5 / PDF 8

查看完整证据关系

走到这里,改进已经很具体。更长的输入,让更多过去有机会被看到;检索,帮助找到有关记录;持久文件和任务间整理,让下一次还有材料可用。

它们各自取得了某些任务上的进步,但成绩也要分开理解。找到长材料中的一句话,答对一道问题,以及把日历时间填对,完成的是不同要求。

问记忆有没有变好,就可以继续问:那条七点的新消息,最后有没有改变这次安排?

[045]

引用 [045]

context

长输入检索、开放问答、持久文件能力与工具参数指标各按原设置解释,不合成统一排行榜。七点影响本次安排为本期评价问题,不是实验结论。

定位 Gemini launch NIAH paragraph; RAG Table 1; Managed memory How memory works; Mem2ActBench Table 4

查看完整证据关系

那杯少糖的茶

21:34

再回到那杯少糖的茶。要求在开头说,制作在后面发生,中间还有别的内容。系统需要把早先的影响留到真正使用的时候。做错以后,训练还得有办法改进早先的处理。

Hochreiter 分析了后一条学习路径的困难;他与 Schmidhuber 的共同设计,把受保护的内部路径和写入、输出控制结合起来。Gers、Schmidhuber 和 Cummins 又加入对旧状态保留量的调节,让持续输入也能在所测条件下得到处理。

[046]

引用 [046]

context

少糖情境回收与历史贡献分开;1991 诊断、1997 共同设计、三人后续状态控制均有原文前提。无真实订单实验、唯一发明或任意持续任务成功主张。

定位 1991 §§2.2-2.3 / chapter 4; 1997 §4 / Fig. 1 and §5.6; 2000 §3.1 equation 7 and continual task / PDF 16

查看完整证据关系

前面用点单卡解释的 LSTM,实际在单元里保存数值,用训练形成的门调节它们。今天的文件式 agent,则可以真的把聊天写到外部记录,再按需要读回。

做法不同,仍然各有选择要完成。少糖的要求得留到做茶,旧订单又不能一直支配下一杯。聚餐的新时间得被保存,还要替代这次安排里已经过期的六点。

内部数值控制、外部文件和检索,各有自己的机制与出错原因。

[047]

引用 [047]

context

明确点单卡只是数值状态类比,文件式 agent 的外部记录是不同对象;问题可比较,不暗示文件操作是遗忘门、agent 回到 LSTM 或摘要/检索错就是梯度消失。

定位 1997 §4; 2000 §3.1; Managed Agents session / harness / memory-tool architecture; official notebook Memory vs. Compaction

查看完整证据关系

这也让“记住”有了容易检查的落点。茶该做的时候,少糖的要求有没有影响加糖?日历该创建的时候,七点的新消息有没有进入安排?

过去留下的东西,到了需要它的时候,能让这一次做得更对,记忆才在任务里产生了价值。

[048]

引用 [048]

context

少糖和聚餐都是构造;两项具体行动回收原有主张,末句是编辑判断,不当人类记忆定义或已测产品效果。没有永不遗忘或产业胜利结论。

定位 1997 §5.6; 2000 continual temporal order / PDF 16; LongMemEval Table 1; Mem2ActBench §3.5 and Table 4

查看完整证据关系

单集与系列识别

22:57

你刚刚收听的是《原代码》第十七期,《LSTM:Sepp Hochreiter 与消失的梯度》。这是《大语言模型前史》系列的第七期,副标题是“从 Alan Turing、John von Neumann 到 GPT-1”。

下一期,我们回到输入和输出都有不同长度的任务,看看怎样把一段输入交给后续生成,以及访问输入时又会遇到什么瓶颈。

官方网站

23:24

你可以访问《原代码》的官方网站。网站地址是,原代码三个字的全拼,点 X Y Z。在那里,你可以查看本期逐字稿、证据引用关系和证据快照,也可以收听往期节目。

感谢收听,我们下期再见。