机器学习笔记(11): RDT (Reccurent Depth Transfomer)

可能更好的阅读体验 Jeefy's Blog: RDT (Reccurent Depth Transfomer)

  • Universal Transformer

类似于 RNN 的思路,但是对于一般的 Transformer 引入循环,也就是重复思考:

特殊的设计有两点:

  • Depth/Time PE

由于有 loop 的存在,所以实际上除了位置,还有一个时间维度的编码,那么每次 loop 回来之后,在每次 self-attention 之前,都要嵌入该时间编码,其中 \(\ ^t\) 表示轮次

\(P^t_{i, 2j} = \sin\left(\frac{i}{10000^{2j/d}}\right) + \sin\left(\frac{t}{10000^{2j/d}}\right)\)
\(P^t_{i, 2j+1} = \cos\left(\frac{i}{10000^{2j/d}}\right) + \cos\left(\frac{t}{10000^{2j/d}}\right)\)

  • ACT(Adaptive Computation Time)

也就是可以动态的调整 loop times,分成 每位置独立的标量停止概率预测 + 累积阈值判定 + 余量插值 三个机制协同

具体来说,也就是对于每一个时间,额外训练一个参数,用于计算每一次循环后的停止概率:

\[p_i^t = \sigma(W_h h_i^t + b) \]

当 \(p_i^t\) 累计大于某个值 \(\tau\),或者步数大于某一步,那么就终止循环。

同样,每一层的状态,也是基于这个 \(p_i^t\) 的加权平均:

\[\begin{aligned} w_i^t &= \begin{cases} 1 - H_i^t + p_i^t & 首次跨越阈值或者达到循环最大次数 \\ 0 & 停止循环 \end{cases} \\ transformed &= TransitionFunction(SelfAttention(state_i^{t-1})) \\ state_i^t &= w_i^t · transformed + (1 - w_i^t) · state_i^{t-1} \\ \end{aligned} \]

posted @ 2026-04-22 00:15  jeefy  阅读(62)  评论(0)    收藏  举报