主包觉得只是刷网课很无聊,给自己找点事情干,用问题导向学习效率会更高,也清楚自己欠缺什么知识,所以决定从VLA开始看,顺手参加一下蚂蚁灵波的具身大模型挑战赛。

1. 学习 Flow Matching,阅读 π₀ 论文

学习了流匹配的思想,读了PI0论文,大概了解了连续生成的架构。

什么是流匹配(Flow Matching)?

生成模型:把随机噪声,变成有意义的数据。

噪声一般为标准高斯噪声:

[
p_0 = N(0,I)
]

(p_1) 为目标数据分布。

核心问题是:每一个噪声点该怎么走。

Flow Matching的思想是:学习一个随时间变化的速度场。每个位置,每个时刻,都告诉粒子该往哪里走,走多块——粒子噪声就会随时间搬运成数据。

但问题是我们根本不知道真正的速度场应该怎样,而流匹配用了一个非常巧妙的构造:

随机取一个噪声点 (x_0) 和一个数据点 (x_1),用直线连起来,速度为匀速 (x_1-x_0),则:

[
x_t=(1-t)x_0+tx_1
]

训练过程:

让网络 (V(x_t,t)) 输出逼近 (x_1-x_0)(回归)。

这无需轨迹模拟,只需要每步采样一对点和一个 (t)。

但同一个位置会有很多直线经过,方向各不相同。最小化均方误差的话,刚好学到这些方向的条件平均,即真正的速度场。

训练好之后,即撒下一批全新的噪声点,用欧拉法(Euler)一步步求解常微分方程(ODE),最终得到想要的数据分布。(其实这个特别简单。。。)

总结:

  1. 直线连接

  2. 速度回归

  3. 积分求解

Flow Matching(流匹配)本质上是一种生成模型的训练方法,并不规定必须使用哪一种神经网络(Transformer、MLP、U-Net...)如何构造训练数据、让网络预测什么、使用什么损失函数则是更应该关注的。

2. 蚂蚁灵波具身大模型挑战赛

蚂蚁灵波的代码git下来了,还没太细看,今天读论文有点力竭了,明天复现下baseline。

惊叹于主包自己知识的匮乏...

3.持续学习

更新文章的时候,正在读,写在明天的更新里。

课题组一个方向属于是,我也在狠狠了解(我觉得和自进化RSI是一个路子)。

个人感想

当算法工程师\程序员学习知识的强度这莫大吗?

感觉每一个新进展都有很多神奇的技术名词和一堆paper,知识密度也太大了qaq。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐