无时钟模拟学习板:它长什么样、为什么能学习
一句话:这块板子上同时活着两份一模一样的电路——一份自由地"回答问题"(FREE),一份的输出被轻轻拉向正确答案(NUDGED)。
每个"权重"是一颗电容,它不停地比较自己在两份电路里的受力差异、朝着缩小差异的方向缓慢充放电。
没有处理器、没有时钟、没有数模转换——物理本身在做训练。
把鼠标悬停在图里任何东西上看它是什么。
悬停任何元素查看解释 · 紫框 = 学习单元(对比 + 电容)· 绿 = 权重/目标相关 · 蓝 = FREE · 橙 = NUDGED
ML ↔ 电路 词典
| 机器学习里的 | 板子上的 | 备注 |
| 激活值 z | 节点电压 | 没人"计算"它——电流平衡自己找到它 |
| 权重 w | 一颗电容的电压(控制 MOSFET 导电性) | 非易失升级版 = FeFET(Zhu 组的方向) |
| 前向传播 | RC 自然弛豫(~微秒) | 免费,且天然并行 |
| 损失的输出梯度 | OTA 电流 = g·(ŷ − y*) | 只在输出端,任何学习规则都需要这个 |
| 反向传播 | 不存在 | 被"双生网络 + 局部对比"替代 |
| 每个权重的梯度 | 该边两侧压降的平方差 Δvβ² − Δv² | 纯局部量——只需要摸自己这条边 |
| optimizer.step() | 电容充/放电(~毫秒-秒) | 学习率 = 充电电流大小 |
| 训练循环 / 时钟 | 不存在 | 两态同时物理存在 + 快慢时间尺度分离 |
一次"学习"是怎么发生的(其实是连续的,这里人为分步)
- 摆题:手动开关把输入 x 设到两份网络上,把目标 y* 设到 OTA 上。
- 瞬间稳定(微秒级):两份网络各自弛豫。FREE 的输出是网络自己的回答;NUDGED 的输出被 OTA 拉向正确答案一点点。
- 形变传播:输出端被拉动后,NUDGED 网络全身的电压分布都微微变形——离输出越远变形越小,但每条边都感受得到。这就是"credit assignment 由物理完成"。
- 逐边对比(连续进行):每条边的学习单元比较自己在两侧的压降,差异越大充电越快。方向恰好是能量下降的方向——数学上等价于梯度下降。
- 慢速累积(毫秒-秒级):权重电容比节点慢 100–1000 倍,所以在权重看来网络永远是"稳定的"——这个时间尺度差就是时钟的替代品。
- 换题:手动换下一组输入/目标。重复。loss 就这样降下去(Penn 的 32 边版本已经在物理上学会了 XOR 和非线性回归)。
造价阶梯
① 单边标定件 $70–130(先证明物理)
② 8 边网络 $170–300 ← 推荐 MVP
③ 32 边 $450–900(复现 Penn 规模)
④ 注意力微单元 +$100–250
⑤ CIM transformer block(合作方阶段)
诚实边界(也是给合作者的说法):这块板子验证的是物理学习原语——无时钟双生 EP、局部模拟更新、真电流 nudge vs 电压钳制的对比——
不是 transformer 本身。它和我们 GPU 侧共享同一条定律:nudge 幅度 vs 噪声的信噪比曲线(我们在 fp32 里测过的 β 定律,这块板会在物理里再测一遍)。