自回归模型 (Autoregressive Models)
自回归模型把一个高维分布拆成一串一维的条件分布:先生成第一个元素,再在它的基础上生成第二个,依此类推。概率的链式法则保证这样的拆分是精确的,于是似然可以精确计算,训练就是每一步的交叉熵(teacher forcing),采样就是一步一步地抽。GPT 这样生成文字,PixelCNN 这样生成图像,RT-2、OpenVLA 这样的 VLA 也这样一个 token 一个 token 地输出机器人动作。本节在浏览器里现场训练小的自回归模型,看它怎样抓住多维动作之间的相关性,看温度、top-k 和 top-p 怎样在“多样”与“靠谱”之间取舍,再看它的代价:生成时喂的是自己的输出,训练时却从没见过自己的错误(exposure bias),误差会一步步累积。
1为什么机器人需要它
机器人策略要输出的往往不是一个数,而是一串有结构的东西:一个 7 维的末端动作(各维之间相互关联),未来一秒的一段动作(action chunk),一条轨迹,或者一句“先抓杯子再放进水槽”的计划。示教数据里,这些东西常常是多峰的:绕障碍物可以从左走,也可以从右走。16.2 节说过,用均方误差回归只能学到条件均值,两种走法一平均,正好撞上障碍。我们需要的是一个能表示整个分布、并且能从中采样的模型。
直接给一串长度为 \(T\) 的序列建表是不可能的:每个元素有 \(V\) 种取值,联合分布就有 \(V^T\) 格。自回归模型用一个简单而精确的办法绕开它:一次只预测一个元素,条件是前面已经有的所有元素。每一步都只是一个普通的分类问题(16.1 节的 softmax 和交叉熵),而所有步的乘积恰好是联合分布。17.5 节把动作切成了 token,17.3 节给了能看全部历史的因果 Transformer;本节讲把它们串起来的那个概率模型:怎样训练、怎样采样,以及它最典型的毛病。
2直觉:链式法则把一根线段切了又切
一个移动机器人在三个路口依次选择:左转 ←、直行 ↑、右转 →。三步的选择是一个长度为 3 的序列 \(\mathbf x=(x_1,x_2,x_3)\),共 27 种。4.2 节的乘法法则反复用两次,就得到链式法则:
把它画出来:把长度为 1 的线段按 \(p(x_1)\) 切成三段;每一段再按 \(p(x_2\mid x_1)\) 切成三段;再按 \(p(x_3\mid x_1,x_2)\) 切一次。最后一行的 27 小段,每段的宽度就是一个完整序列的概率,全部加起来正好是 1。采样就是在 \([0,1]\) 上随机扔一个点 \(u\),看它落在哪一小段(4.9 节的逆变换采样);等价地,也可以一步一步抽:先按第一行抽 \(x_1\),再在那一段里按第二行抽 \(x_2\)……这叫祖先采样(ancestral sampling)。
下图的数字是故意设计的:第一步直行 ↑ 最常见(0.45),但直行之后去哪儿都差不多;左转 ← 不常见(0.25),可一旦左转,接下来几乎一定是 ←←,那是一个固定的掉头动作。
- 先按“贪心”:它选了 ↑←↑,概率只有 0.061。再自己点击,找出一条概率是它 3 倍以上的完整序列(最后一行的一段)。
- 把分解顺序换成“x₃ 先”,再选中序列 ←←←:三行的切法全变了,但它的宽度(0.191)不变。
链式法则对任何分布、任何顺序都精确成立,没有近似。自回归模型的全部工作,就是用一个网络去学每一个条件分布 \(p(x_t\mid x_{<t})\)。顺序不影响能否表示,但会影响每个条件分布好不好学,也影响贪心解码的结果:在“x₃ 先”的顺序下,贪心正好走到了 ←←←。另外注意:每一步最可能的选择,连起来不一定是最可能的序列。贪心只得到 0.061,宽度 2 的束搜索找到 →→→(0.147),宽度 3 才找到 ←←←(0.191)。
3动手:现场训练一个二维动作的自回归模型
现在让网络来学条件分布。数据是机器人的二维动作 \(\mathbf a=(a_1,a_2)\in[-1,1]^2\)(比如末端在桌面上的一步位移),共 800 个示教样本,取自三种设计好的分布之一:“两个峰”(左上或右下,两种做法)、“圆环”、“S 形”。每一维均匀地分成 20 个箱子(17.5 节的 binning),于是一个动作就是两个 token。
同时训练两个模型,用的是同样的数据和同样的交叉熵:
- 自回归:\(p_\theta(a_1)\,\hl{cond}{p_\theta(a_2\mid a_1)}\)。第一个 token 的分布是 20 个可学习的 logit;第二个 token 由一个 [1, 32, 32, 20] 的 tanh 网络给出,输入是 \(a_1\) 所在箱子的中心(乘以 1.5)。训练时这个网络吃的是真实的 \(a_1\),不是模型自己抽的,这就是 teacher forcing。
- 各维独立:\(p_\theta(a_1)\,p_\theta(a_2)\),每一维一个独立的 softmax 头,互相看不见(第一维的头 \(p_\theta(a_1)\) 和自回归模型共用,两个模型只在第二维上不同)。很多“每维输出一个分类头、一次全部输出”的策略就是这个结构。
我们知道真实分布 \(P^\ast\),所以可以精确地算出模型和它之间的差距:交叉熵 \(H(P^\ast,Q)=-\sum P^\ast\log_2Q\)(单位 bit,4.11 节),它的下限是 \(P^\ast\) 自己的熵,超出的部分就是 KL 散度。
- 按“训练”,等自回归模型到真实分布的 KL 降到 0.3 bit 以下(几百步之内)。
- 在“两个峰”上训练至少 200 步,把视图切到“各维独立”:它把四成以上的概率(样本也一样)放在两个空角里,KL 一直停在 1 bit 左右。
- 换成“圆环”,训练至少 1000 步,把切片拖到中间(\(|a_1|<0.2\)):自回归模型的 \(p(a_2\mid a_1)\) 有两个峰,上下各占至少 30% 的概率。
“两个峰”上,各维独立的模型把左右和上下各自学对了(两个边缘分布都对),却把它们随意组合:“左 + 下”和“右 + 上”这两个示教里从未出现的动作,各分到四分之一的概率。它损失的恰好约 1 bit:每个真实动作的概率被它减半了。自回归模型的第二个头看得见 \(a_1\),所以“选了左,\(a_2\) 就该向上”,KL 降到 0.1 bit 左右就停了。这个底不是 0,因为只有 800 个样本,模型在学经验分布;继续训练它还会稍稍回升,这是过拟合(16.2 节)。
4另外三个视角:怎样采样、为什么会漂、图像也能这样生成
解码:温度、top-k 和 top-p
训练好的模型给出每一步的分布,生成时怎么从中取值是另一个设计选择。17.5 节比较过对单个 token 取最大、采样和取期望;对一整串 token,常用的是三个旋钮,每一步都作用在条件分布上:
- 温度 \(\hl{tau}{\tau}\):把 logit 除以 \(\tau\) 再 softmax,等价于 \(q\propto p^{1/\tau}\)。\(\tau<1\) 让分布更尖,\(\tau>1\) 让它更平,\(\tau\to0\) 就是贪心。
- top-k:只保留概率最大的 \(k\) 个取值,重新归一化。
- top-p(nucleus 采样):按概率从大到小累加,保留累计概率刚好达到 \(p\) 的那个最小集合 \(\hl{nucleus}{V_p}\),其余截掉。
为什么需要截断?因为学到的模型从来不会把概率精确地压到 0:softmax 的每一格都是正的,训练也不会把尾部压干净。下图用 FIG 2 的真实条件分布,再给每一步均匀地“漏”掉一小部分概率 \(\varepsilon\) 到所有箱子里,模拟一个学得还不错但尾部不干净的模型。每一步只漏 5%,但一个动作有两步,一条长序列有几百步,落到“不可能”区域的机会会逐步累积。
- 保持 \(\varepsilon\ge0.05\)、不截断(top-k 关、top-p = 1),把温度调到 1.5 以上:落到空格里的概率超过 8%。
- 在 \(\varepsilon\ge0.05\) 下找一组设置,使空格概率低于 0.5%,同时熵比真实分布的熵 \(H(P^\ast)\) 少不到 0.7 bit(提示:温度 1,只用 top-p)。
在“两个峰”上把温度降到 0.3:空格概率归零,但熵比真实分布少了 1.5 bit 以上,样本都挤到各峰的中心;降到 0(贪心),每一次都输出同一个动作,熵为 0,在“两个峰”上另一种做法完全消失了。温度和截断解决的是同一个矛盾的两头:尾部里是模型的错误,头部以外又有真实的多样性。top-p 的好处是按分布的形状自适应:分布尖的时候只留一两个箱子,平的时候留很多;top-k 用固定的 \(k\),在平坦处会截掉真实的可能性,在尖锐处又会放进垃圾。
Exposure bias:训练时喂真值,生成时喂自己
Teacher forcing 让训练又快又稳:每一步的条件都是数据里的真值,各步的损失互不依赖,用因果掩码一次前向就能算完整条序列(17.3 节)。但生成时,条件是模型自己前面生成的东西。只要前面有一点偏差,后面的输入就是训练中从没见过的;在没见过的输入上模型可能出更大的错,于是偏差越滚越大。语言模型里这叫 exposure bias(模型从没“暴露”在自己的错误下),模仿学习里叫协变量偏移(covariate shift)和误差累积(22.1 节会定量推导)。
下图是一个连续状态的自回归模型:\(\mathbf s_{t+1}=\mathbf s_t+f_\theta(\mathbf s_t)\),状态是末端在桌面上的位置(单位 m),专家沿一条正弦形的路径走,每步约 4.5 cm,偏离了就往回拉。12 条示教都从路径上出发,专家的回拉让每一个示教状态都在路径上(偏离不到 7 mm)。两个同样结构的网络([2, 32, 32, 2],tanh,同一个初始化)一起训练,只有训练数据不同:
- Teacher forcing(TF):只在示教状态上学专家的下一步。
- 噪声注入(NI):把示教状态随机扰动 \(\sigma_{\text{inj}}\),标签是专家在扰动后的状态上会怎么走。这需要能随时询问专家:这里专家是一个公式,所以可以;对人类示教者,可以在采集时就注入噪声(DART),或者用 22.1 节的 DAgger。
测试时,两者都从路径上的 8 个起点出发,自由地跑 64 步,每步执行时再加一点执行噪声 \(\sigma_a\)(真实机器人总有)。
- 保持 \(\sigma_{\text{inj}}\ge0.04\)、\(\sigma_a>0\),训练至少 1500 步:TF 的单步误差比噪声注入模型更小,平均偏离却是它的 2 倍以上。
- 按“换种子”再训练至少 1500 步:TF 跑出路径后怎么走变了(它在路径外从没被训练过),噪声注入模型仍然贴着专家,平均偏离仍不到 TF 的一半。
在种子 1 到 12 上(默认设置,每个训练 1500 步),TF 的单步误差都比噪声注入模型小(小 2.7 到 11 倍),平均偏离却大 2.3 到 6 倍;噪声注入模型的平均偏离在 10 到 16 mm 之间,与专家本身(9.7 mm,由执行噪声造成)相差不大。原因很简单:TF 模型只在路径上学过,一离开路径,它的输出就只是网络的随意外推,可能把它拉回来,也可能让它越走越偏;噪声注入模型在路径周围也学过“该往哪儿回”。单步损失衡量的是在数据分布上的误差,部署时要的是在自己生成的分布上的表现,两者可以相差很远。
图像也是序列:PixelCNN 式的逐像素生成
任何数据,只要定一个顺序,都能变成序列。图像按光栅顺序(从左到右、从上到下)排开,\(p(\mathbf x)=\prod_i p(x_i\mid x_1,\dots,x_{i-1})\):PixelRNN 和 PixelCNN 就是这样做的。PixelCNN 用掩码卷积保证第 \(i\) 个像素只看得见排在它前面的像素:卷积核里“当前像素及之后”的权重被置零,也就是一个局部的因果窗口 \(\hl{mask}{\mathcal C(i)}\)。叠很多层之后,窗口才逐渐变大(最初的 PixelCNN 叠再多层也有一块看不见的“盲区”,后来的 Gated PixelCNN 用竖直、水平两路卷积修好了它)。
下图的数据是 6 × 6 的二值小图,每张图恰好有一条完整的横线或竖线,共 12 张,等概率,所以数据的熵是 \(\log_2 12\approx3.58\) bit。两个模型都是“一个共享的小网络,对每个像素输出它亮的概率”,输入是上下文加上像素坐标:
- 局部窗口:上面 2 行、左右各 2 列,加上本行左边 2 个像素,共 12 个,相当于一层 5 × 5 的掩码卷积(中心及之后的权重置零)。
- 完整前缀:前面所有像素(没生成的位置填 0),相当于感受野覆盖整个前缀的 PixelCNN,或者 NADE、MADE 这类模型。
- 训练到完整前缀模型的似然离 3.58 bit 不到 0.5 bit,且至少 80% 的样本合法(大约需要几千张图)。
- 在至少 3000 张图之后,把模型切到“局部窗口”:合法率停在 75% 以下。看看红框:最常见的错误是整张图一条线也没有,其次是多画了一条或画了半条:窗口看不见两行以上的地方,不知道线是否已经画过了。
5再看数学
提示:把鼠标悬停在公式中带底色的符号上,图中对应的元素会被高亮(FIG 1 的最后一行、FIG 2 的条件分布柱和损失曲线、FIG 3 的解码分布和截断标记、FIG 4 的 TF 曲线、FIG 5 的上下文、FIG 6 的后验)。
分解与似然
对长度为 \(T\) 的序列 \(\mathbf x=(x_1,\dots,x_T)\),记 \(x_{<t}=(x_1,\dots,x_{t-1})\)。链式法则对任何联合分布都成立:
自回归模型用同一个网络(RNN、因果 Transformer、掩码卷积)把前缀 \(x_{<t}\) 映射成第 \(t\) 步的 logit,再 softmax。只要每个条件分布都是归一化的,乘积就自动是一个归一化的联合分布:不需要配分函数(对比 19.5 节的 EBM),也不需要变量替换的雅可比行列式(对比 19.3 节的 flow)。有条件时(机器人里几乎总是这样)只需把观测 \(o\)(图像、指令的 token)放进每个条件里:\(p_\theta(a_{1:H}\mid o)=\prod_t p_\theta(a_t\mid a_{<t},o)\)。
训练:逐步交叉熵,也就是 teacher forcing
最大似然(4.6 节)就是最小化数据上的负对数似然,它按步拆开:
关键在条件里的 \(x_{<t}\):它来自数据,不是来自模型,这就是 teacher forcing。于是 \(T\) 项损失可以并行算:一条序列一次前向,因果掩码保证第 \(t\) 个位置只看得见 \(x_{<t}\)。损失的下限是数据的熵,超出部分是 KL 散度(FIG 2 的右下图画的正是这两条线)。常用的单位:每个 token 的平均 bit 数 \(\mathcal L/(T\ln2)\);语言模型常报的困惑度 (perplexity) 是 \(2^{b}\)(\(b\) 为每个 token 的平均 bit 数),可以理解为“相当于在几个等可能的选项里猜”。
FIG 2 里两个模型都是这个损失,区别只在模型族:各维独立的模型强制 \(p_\theta(a_2\mid a_1)=p_\theta(a_2)\),它能达到的最好结果是两个边缘分布的乘积,此时 KL 恰为数据里两维之间的互信息 \(I(a_1;a_2)\)(4.11 节)。“两个峰”上,知道 \(a_1\) 在哪一边就知道 \(a_2\) 在哪一边,互信息约 1 bit,正是读数里那 1 bit。
解码规则
设某一步的模型分布为 \(p_k\)(logit 为 \(z_k\)),三个旋钮依次给出实际采样用的 \(q_k\)(从左到右:温度、top-k、top-p;\(V_K\) 是概率最大的 \(K\) 个取值,\([\cdot]\) 条件成立时为 1,否则为 0):
两点值得注意。第一,这些规则是逐步作用的,所以 \(\prod_t q_\tau(x_t\mid x_{<t})\) 一般不等于对整个序列调温 \(p(\mathbf x)^{1/\tau}/Z\):每一步的归一化常数依赖于前缀。第二,贪心解码(\(\tau\to0\))和束搜索求的是“高概率序列”,而不是“典型序列”:FIG 1 里贪心不是最可能的序列;对长序列,最可能的序列往往重复、单调(语言模型里著名的“复读”),对机器人则意味着永远只走一种模式。要多样性就采样,要可靠就截尾,两者通常一起用。
Exposure bias 的来源
训练最小化的是在数据前缀上的期望误差 \(\mathbb E_{x_{<t}\sim p_{\text{data}}}[\ell_t]\),部署时实际承受的是 \(\mathbb E_{x_{<t}\sim p_\theta}[\ell_t]\),前缀来自模型自己。两者之差取决于两个分布离得多远,而这个距离本身又随步数增长:每一步多一点偏差,后面所有步的输入分布都变了。模仿学习里,如果每步出错的概率是 \(\varepsilon\),只在专家状态上训练的策略在 \(T\) 步里的总代价可以按 \(\varepsilon T^2\) 增长,而不是 \(\varepsilon T\)(Ross 与 Bagnell,2010;22.1 节推导这个界和 DAgger 的修正)。对策大致有三类:让训练分布接近部署分布(噪声注入、DART、DAgger、scheduled sampling,即训练时随机用模型自己的输出替换部分前缀);减少需要自回归的步数(一次输出整段动作的 action chunking,22.2 节);以及闭环:每执行几步就重新观测,让真实观测而不是模型的想象来当条件。
连续值与图像
每一步的输出不一定是分类。连续值可以让网络输出一个高斯的均值和方差,或者一个高斯混合(Graves 2013 用它逐笔生成手写轨迹),PixelCNN++ 用离散化的 logistic 混合表示像素值;但单个高斯在每一步都只有一个峰,多峰性就只能靠前缀来“选边”。离散化(17.5 节)的好处是每一步本身就能有多个峰,代价是精度受箱子宽度限制、token 数变多。像素模型 \(p(\mathbf x)=\prod_i p(x_i\mid \hl{mask}{\mathcal C(i)})\) 只有在 \(\mathcal C(i)\) 覆盖整个前缀 \(x_{<i}\) 时才等于真正的链式分解;上下文更小,就等于假设了“窗口外的像素与 \(x_i\) 条件独立”,FIG 5 的局部窗口就是被这个假设骗了。
6机器人中的它:一段动作,绕左还是绕右
一段动作(action chunk)也是一个序列:未来 \(H=10\) 步的横向偏移 \(a_1,\dots,a_{10}\)(每步离散成 15 个箱子)。前方有障碍,示教里一半从左绕、一半从右绕;给定绕哪边,每一步在那条路线周围有一点独立的抖动。生成这段动作有三种做法:
- 回归均值:每一步输出条件均值。左右一平均,正好穿过障碍(16.2 节和 17.5 节讲过的问题)。
- 每步独立采样:每一步从它自己的边缘分布 \(p(a_t)\) 里抽,步与步之间互不知道。每一步单看都没错,连起来却左右乱跳。
- 自回归:\(p(a_t\mid a_{<t})\)。第一步抽到左边,“走左边这条路线”的后验概率 \(\hl{mix}{w_t}\)(给定 \(a_{<t}\))立刻接近 1,后面每一步都会跟着走左边。
这里的条件分布是从两种路线的混合精确算出来的(不需要训练),碰撞概率也用动态规划精确算出。
- 保持 P(左) 在 0.4 到 0.6 之间,分别用“每步独立”和“自回归”各抽至少 20 段:前者有 95% 到 97% 的段会碰撞,后者几乎从不碰撞(约 0.01%)。
这正是 VLA 采用自回归动作 token 的一个理由:同一个 Transformer 既能处理图像和指令,又能用链式法则表示动作各维、各步之间的相关性。下表列出几种代表性的做法(各篇论文的具体 tokenizer 见 17.5 节)。
| 工作 | 自回归地生成什么 |
|---|---|
| Decision Transformer (Chen et al., 2021) | 把(目标回报,状态,动作)交替排成一条序列,用因果 Transformer 根据前面的一切预测下一个动作。 |
| Trajectory Transformer (Janner et al., 2021) | 把状态、动作、奖励的每一维都离散化,整条轨迹逐 token 建模,再用束搜索做规划。 |
| Gato (Reed et al., 2022) | 文字、图像 patch、关节和动作都变成 token,一个 Transformer 自回归地输出下一个 token,同一组权重控制多种机器人和游戏。 |
| RT-2 (Brohan et al., 2023)、OpenVLA (Kim et al., 2024) | 视觉语言模型把动作当成文字“说”出来:每个动作维度一个 token,按顺序逐个解码(OpenVLA 是 7 个)。 |
| VQ-BeT (Lee et al., 2024) | 先把动作段编码成残差 VQ 的几层码字,再预测码字与连续偏移。 |
| π0-FAST (Pertsch et al., 2025) | 用 DCT 加 BPE 把一秒的动作压成少得多的 token(17.5 节:50 Hz 双臂任务从 700 个降到 53 个),再自回归解码,从而在高频率的任务上也能用 VLA 的自回归头。 |
延迟是第一约束:每个动作 token 都是整个大模型的一次前向(有 KV 缓存也一样),所以控制频率直接受 token 数限制;这也是 ACT、Diffusion Policy 这类一次输出整段动作的方法(22.2 节)以及 π0 的 flow matching 动作头(19.7 节)流行的原因之一。 解码设置要在机器人上调:语言模型的默认温度不一定适合动作;在动作 token 上,常见做法是贪心或低温解码,并用约束解码保证动作位置上只出现合法的动作 token(17.5 节的误区 4)。 闭环胜过开环:真实系统一般只执行一段动作的前几步就重新观测、重新生成,让观测而不是模型自己的预测来做条件,从而把 exposure bias 限制在很短的范围内。 维度顺序是设计选择:自回归地解码一个多维动作时,先解哪一维会影响每一步条件分布的难易和贪心解码的结果(FIG 1 的顺序实验)。
7常见误区
FIG 4:TF 模型的单步误差更小,自由运行时却偏得更远。teacher-forced 损失只说明“在数据前缀上预测得好”,说明不了“在自己的前缀上表现好”。对要部署的策略或动力学模型,一定要做闭环评测:自由运行多步,或者直接在机器人和仿真里跑任务,看成功率和偏离。
各维独立的分类头能学对每一维的边缘分布,却会把不同模式的维度随意拼在一起(FIG 2,“两个峰”上一半的概率落在空角);逐步独立采样会在两条路线之间乱跳(FIG 6,P(左) = 0.5 时约 97% 碰撞)。要么让后面的维度和步以前面的为条件(自回归),要么一次从一个能表示联合分布的模型里采整段(VAE、扩散、flow matching)。
它们改变的是你实际采样的分布,而且是逐步改变的(第 5 节)。温度太高,尾部的错误被放大(FIG 3,温度 1.5 时 8% 以上落进空格);太低或贪心,多样性被压掉,多峰的示教只剩一种做法,并可能在长序列里反复输出同一个 token。截断参数和温度要在目标任务上联合调,并且明白似然评测(比如困惑度)是在未截断的分布上算的,调解码不会改变它。
两种错误方向相反。上下文太短(FIG 5 的局部窗口,或只给策略最后一帧观测)相当于假设了窗口外的东西无关,模型会“忘掉”已经做过的事,比如重复画线、重复抓取。忘了因果掩码则让第 \(t\) 个位置看到了 \(x_t\) 本身或之后的 token,训练损失好得出奇,生成时却完全不行(17.3 节的误区 3)。检查方法:改动 \(x_t\) 及之后的输入,前 \(t\) 个位置的输出必须完全不变。
FIG 1:贪心选了第一步最常见的“直行”,结果整条序列只有 0.061,而最可能的序列 ←←←(0.191)第一步并不是最常见的。贪心和小宽度的束搜索都可能错过它;反过来,就算找到了最可能的序列,它也未必是好的“代表”(误区 3)。对动作序列,比起追求最可能的一条,更要紧的是整段动作内部一致、和观测一致。
8小练习
9延伸阅读
- Y. Bengio, R. Ducharme, P. Vincent & C. Jauvin, A Neural Probabilistic Language Model, JMLR, 2003 — 用神经网络表示“下一个词”的条件分布
- R. J. Williams & D. Zipser, A Learning Algorithm for Continually Running Fully Recurrent Neural Networks, Neural Computation, 1989 — teacher forcing 的早期来源
- H. Larochelle & I. Murray, The Neural Autoregressive Distribution Estimator, AISTATS 2011; M. Germain, K. Gregor, I. Murray & H. Larochelle, MADE: Masked Autoencoder for Distribution Estimation, ICML 2015 — 用权重共享和掩码做自回归密度估计
- A. Graves, Generating Sequences With Recurrent Neural Networks, arXiv, 2013 — 逐步输出高斯混合,生成连续的手写轨迹
- A. van den Oord, N. Kalchbrenner & K. Kavukcuoglu, Pixel Recurrent Neural Networks, ICML 2016; A. van den Oord et al., Conditional Image Generation with PixelCNN Decoders, NeurIPS 2016 — PixelRNN、PixelCNN 与掩码卷积
- S. Bengio, O. Vinyals, N. Jaitly & N. Shazeer, Scheduled Sampling for Sequence Prediction with Recurrent Neural Networks, NeurIPS 2015; M. Ranzato, S. Chopra, M. Auli & W. Zaremba, Sequence Level Training with Recurrent Neural Networks, ICLR 2016 — exposure bias 及其对策
- A. Holtzman, J. Buys, L. Du, M. Forbes & Y. Choi, The Curious Case of Neural Text Degeneration, ICLR 2020 — nucleus(top-p)采样,以及为什么最可能的序列并不好
- A. Radford, J. Wu, R. Child, D. Luan, D. Amodei & I. Sutskever, Language Models are Unsupervised Multitask Learners, OpenAI, 2019 — GPT-2:大规模自回归 Transformer
- S. Ross, G. Gordon & J. A. Bagnell, A Reduction of Imitation Learning and Structured Prediction to No-Regret Online Learning, AISTATS 2011 — DAgger:模仿学习里误差累积的分析与修正(22.1 节)
- M. Janner, Q. Li & S. Levine, Offline Reinforcement Learning as One Big Sequence Modeling Problem, NeurIPS 2021; L. Chen et al., Decision Transformer: Reinforcement Learning via Sequence Modeling, NeurIPS 2021 — 把决策写成自回归序列建模
- M. J. Kim et al., OpenVLA: An Open-Source Vision-Language-Action Model, CoRL 2024 — 逐 token 解码动作的开源 VLA