前言:

上周末在twitter上看到这篇文章,感觉很棒。激动的分享到现在和以前的组里,做理论的同学和老师们都赞不绝口。然而网络社区里也有很多批判的声音,觉得这文章旧瓶装新酒,没啥意思;觉得本质不就是XXX(现在真是神烦”本质就是XXX这个说法“)。可能这就是LLM时代做理论研究的窘境吧:人们往往会为某个假设或者条件吭哧好几年,但最终发现得到的intuition和十几年前的结论惊人的相似,自然有可能收获一个”就这?“。但我觉得这恰恰是做理论最令人激动的地方:发现不同复杂度的系统、不同时代的网络,不同结构的智能体都在某些事情上遵从类似的原理,这难道不令人振奋么?

不过这篇文章由于notation和行文组织的原因,确实有点难懂。这不是你的错,而是作者写作的问题!所以我在这里用最浅显的语言,最易懂的方式帮你拆开了揉碎了讲解一下这篇文章的high-level贡献,不逃避,不绕弯子(雾草,什么脏东西占领了我的键盘hhh)。

作者水平有限,欢迎大家评论区comments拍砖,一起学习。

Sec0. 新在哪儿

Sec1. Notation和基本概念

这里简单过一下核心的notation,具体推导需要感兴趣各位自己耐心啃了。当然,我不会在这个过程中忘记推销我自己的工作的hhh(一般用灰色字体)。

总结:理解整个理论框架的关键是受力分析。能量g(t)要通过eNTK才能作用在各种output上。那么中间这个eNTK的各种性质就决定了training update到底对observing output有什么用的影响。本文强的地方在于它分析的是时间s→T的累积影响。 (因为考虑的是L2 loss,所以我那个AKG分解里的A就直接退化成了identity。见我ICLR 2023)

Sec2. Signal-reservoir split and Figure 1

这一部分最主要的是理解signal space和reservoir space。可以把 training residual 想成一堆力。有些力施加出去之后,真的能改变 training output,并进一步影响 test output;这些方向是 signal channel。有些力虽然存在,但当前网络结构/轨迹无法把它有效传出去;这些方向就暂时掉进 reservoir。