一个 13 层的 Transformer 能干什么用?模拟基本计算器、基本线性代数库和使用反向传播的 in-context learning 算法都可以。
论文链接:https://arxiv.org/pdf/2301.13196.pdf
在本文中,作者展示了 Transformer 网络可以通过使用特定权重对它们进行硬编码并将它们置于一个循环中来模拟复杂的算法和程序。作者通过对 Attention 进行逆向工程来模拟基本计算块来做到这一点,例如对输入序列的编辑操作、非线性函数、函数调用、程序计数器和条件分支。作者的论文证明了使用单个循环或递归将 Transformer 的输出序列连接回其输入的重要性,从而避免对深度模型的需要。
作者通过设计一个 Transformer 来实现这一点,该 Transformer 可以执行以单个指令的通用版本编写的程序,称为 SUBLEQ (A,B,C),即如果小于或等于零,则相减并分支。SUBLEQ 是一种单指令语言,定义了单指令集计算机(one-instruction set computer,简写为 OISC)。SUBLEQ 由 3 个内存地址操作数组成,执行时用存储器地址 B 的值减去存储器地址 A 的值,结果存入 B。如果 B 的结果小于等于 0,则跳转到地址 C,否则继续执行下一条指令。但这条指令能够定义通用计算机。

内容中包含的图片若涉及版权问题,请及时与我们联系删除


评论
沙发等你来抢