Midjourney工程师开源Handwired:不用训练,直接把程序规则写成神经网络

BiRun 讯,动察 Beating AI 快讯,Midjourney 工程师 Cheng Lou 开源了 Handwired,给神经网络换了一种造法。

GPT 等大模型需要通过大量数据训练,才能确定内部权重。Handwired 则直接根据 JavaScript 的计算规则设定权重。神经网络本质上由一层层数学运算组成,权重就是其中的数字系数。既然程序规则已经写好了,就可以直接构造对应的计算结构,省去训练过程。

比如,代码规定整数大于 4 就返回 10,否则返回 12。Handwired 用 ReLU 和乘法构造一个代表真假的数字开关,代替原本的 if-else 判断。循环、状态更新也能拆成类似的数值运算。

Cheng Lou 用这套方法做出了浏览器迷你桌面,130 层计算、9909 个权重负责窗口拖动、缩放、动画和照片布局。整个过程无需训练,普通 CPU 就能运行,界面仍由浏览器负责绘制。

单纯为了实现这些功能,直接写 JavaScript 更方便。但 Handwired 让固定的程序规则和可训练的参数共用一套计算结构。程序可以继续按照规则执行,需要调整的部分则能通过反向传播,根据结果的误差修改权重。

照片排版演示就利用了这个特点。用户随手画出照片的大致位置,系统便持续训练一个只有 244 个权重的小网络,让照片尽量贴近目标位置,并自动对齐边缘。固定的交互规则照常执行,排版参数则在实时学习。

Cheng Lou 还提出,可以把这种固定规则模块接进 nanoGPT。如今大模型也能调用外部程序完成精确计算,但外部代码通常无法直接参与模型的反向传播。

如果把程序规则写成兼容的计算图,就有机会让模型同时使用预先确定的规则和通过训练获得的能力,甚至联合优化其中可训练的部分。

目前这仍是早期实验。Handwired 还不能自动转换任意 JavaScript,开发者需要手工构建计算图,部分条件判断也无法直接获得有用的梯度。
利多 查看原文
你怎么看这条消息?来投第一票

评论

0/500
免责声明:本文内容仅供参考,不构成任何投资建议。
更多快讯