OpenAI 神经GPU:扩展与局限
OpenAI 已增强了神经GPU,这是一种能够学习诸如多位二进制加法和二进制乘法之类算法的模型,能够推广到任意长度的输入。通过实施精心设计的课程并增加模型规模,研究人员发现神经GPU现在可以解决更广泛的算法问题,包括使用十进制表示的算术运算。
通过课程学习和模型规模提升性能
神经GPU学习复杂算法的能力在于泛化。研究人员确定了两种主要方法来提升其性能:
- 课程学习: 精心设计训练课程使模型能够更有效地学习任务。
- 增加模型规模: 增大模型规模能够提升其解决更多算法问题的能力。然而,这需要内存高效的实现,因为神经GPU的朴素实现会消耗大量内存。
扩展的算法能力
凭借这些改进,神经GPU 神经GPU现在可以执行以下任务:
- 十进制算术: 模型现在可以学习执行所有算术运算,并在参数以十进制表示时推广到任意长度的数字。以前这是不可能的。
- 算术表达式: The The 神经GPU 可以被训练来评估具有多个操作数且需要遵守操作数优先顺序的长算术表达式。这些任务仅在二进制表示下成功,且未达到完美准确性。
失效模式和类对抗行为
尽管在长数字上实现了近乎完美的泛化,神经GPU在非典型、高度对称的输入上仍然表现出特定的失效模式。这些失效模式类似于对抗样本。
例如,一个能够成功将 2x2 相乘的神经GPU,但在计算 000000…002 x 000000…002 的正确答案时会失败,尽管它已经成功地在最多 100 位长数的十进制乘法上进行了训练。