A projection-based framework for gradient-free and parallel learning
本文介绍了 PJAX,这是一个基于 JAX 的框架,它利用迭代投影算子将神经网络训练重新表述为一个可并行化且无需梯度的可行性问题,为传统的基于梯度的优化方法提供了极具吸引力的替代方案,其在处理不可微操作和实现大规模并行化方面具有优势。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象你正在尝试解决一个巨大而复杂的拼图,比如一个巨大的三维拼图或魔方,但你并不知道最终的图案是什么。
旧方法(基于梯度的学习)
目前,大多数人工智能模型使用一种称为“反向传播”的方法进行学习。这就像一名徒步者试图在雾蒙蒙的山谷中找到谷底(最佳解决方案)。徒步者感受脚下的坡度(梯度),然后向山下迈进一步。他们就这样一步一步地继续,直到到达一个低点。
- 问题所在: 有时,徒步者会困在一个并非真正谷底的小凹陷处(局部极小值)。有时路径过于陡峭或平坦,导致徒步者迷路或移动过慢。此外,为了知道哪边是“下”,徒步者必须从谷底向山顶发送信号,这既缓慢,又需要一条非常特定且对称的路径。
新方法(基于投影的学习)
本文的作者提出了一种完全不同的策略。他们不试图寻找山谷的底部,而是将训练视为一个可行性问题。
想象你有一个房间,里面布满了墙壁,每面墙都有一条特定的规则。
- 墙 A 说:“红色积木必须紧挨着蓝色积木。”
- 墙 B 说:“绿色积木必须在红色积木的上方。”
- 墙 C 说:“总重量必须等于 50 公斤。”
你的目标不是滑下山坡,而是找到一种单一的积木排列方式,使得每一面墙的规则同时得到满足。
它是如何工作的:“投影”隐喻
作者将他们的方法称为“基于投影”。以下是他们的做法:
- 分解问题: 他们将巨大的拼图(神经网络)分解为微小的、简单的部分,称为“基本函数”(如简单的数学运算:数字相加、相乘,或判断一个数字是否为正数)。
- 局部修正: 他们不看整个拼图,而是只看一面墙(一条规则)。如果积木不符合该墙的规则,他们就将积木“投影”到墙上。想象用光照在积木上;它们投射在墙上的影子就是针对该特定规则的“正确”位置。
- 并行优势: 这是神奇之处。因为每面墙只关心其直接的邻居,你可以同时修正墙 A、墙 B 和墙 C。你不必等墙 A 修好后再开始修墙 B。这就像有一支 100 人的团队同时修复房子的不同部分,而不是一个人先修屋顶,再修厨房,然后修浴室,逐个进行。
- 重复: 他们一遍又一遍地这样做。每次,他们都会微调积木以更好地符合局部规则。最终,积木会稳定在一个位置,同时满足所有规则。这就是你训练好的 AI。
为什么这很酷(根据论文)
- 无需“坡度”: 你不需要计算“坡度”(梯度)。这意味着你可以使用那些“凹凸不平”或断裂的规则(不可微分),比如一个要么开要么关的开关。旧方法处理这些很吃力;而新方法能轻松应对。
- 生物学合理性: 在大脑中,神经元不会从思考的末端向始端发送全局的“误差信号”。它们只是根据直接邻居的行为进行调整。这种新方法模仿了这种局部的、邻居对邻居的调整。
- 速度: 因为所有人并行工作,它在现代计算机芯片(GPU/TPU)上可以快得多,这些芯片专为同时执行多项任务而设计。
权衡:“内存”成本
论文承认存在一个陷阱。为了做到这一点,计算机必须在每一步记住拼图中每一个“边”的位置。
- 类比: 在旧方法中,你只需记住徒步者当前的位置。而在新方法中,你必须记住房间里每一块积木的位置,以及它们之间的每一个连接,对于你团队中的每一个人都是如此。
- 结果: 这会消耗更多的计算机内存(RAM)。作者不得不缩小一些测试模型,以便将它们放入计算机内存中,而旧方法则能更轻松地处理更大的模型。
结果
作者构建了一个名为PJAX(Projection JAX)的软件工具来测试这一方法。他们在不同类型的拼图上进行了尝试:
- 简单模式(MLPs)
- 图像识别(CNNs)
- 语言预测(RNNs)
他们发现,虽然“旧方法”(使用 Adam 或 SGD 优化器)在许多情况下仍然是原始速度和最终准确率的冠军,但这种新的“投影”方法表现得出乎意料地好。它是一种可行的替代方案,具有以下特点:
- 无需梯度即可学习。
- 能够处理令其他方法困惑的“凹凸不平”的规则。
- 在并行硬件上学习非常高效,特别是在语言建模等任务中,旧方法在处理“梯度消失”(忘记句子的开头)方面存在困难。
总结
论文指出:“停止试图滑下山坡去寻找答案。相反,将问题视为一组局部规则。局部且同时地修正每条规则,最终,整个系统将各就各位。”这是一种训练 AI 的新方法,它更具并行性,对不同类型的数学运算更灵活,但目前需要更多的内存。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。