前几天看到马老师在聊 SkillCraft 这个工作,挺有意思的。正好它的作者 Shiqi 也分享了一点背后的故事,我读完觉得挺有启发的,就想着也和你聊聊。
事情得从去年说起。他们当时在琢磨怎么让大模型在虚拟环境里学东西,具体来说,是让模型用强化学习去玩“推箱子”这个游戏。
结果怎么训都训不好。模型就是学不会。
一开始大家觉得是强化学习算法有问题,调来调去没进展。后来才发现,问题出在一个更根本的地方:模型根本“看不懂”游戏画面。
你想,推箱子游戏里,箱子的位置、人的位置,全是靠坐标决定的。但模型看到的是什么?是一堆像素,或者是一串描述画面的二维字符串。它从这一堆信息里,根本提取不出“坐标”这个关键概念。
这就好比让你蒙着眼睛下棋,别人只告诉你棋盘上每个格子的颜色,却不告诉你棋子在哪儿,你怎么可能下得对?
当时他们没办法,用了一个特别直接,甚至有点“笨”的办法:手动修改了游戏的渲染函数。不再是给模型看画面,而是直接把坐标数字喂给它,然后让它在
登录后可查看完整内容,参与讨论!
立即登录