机器人大小脑调研

人形机器人肯定算是这两年来最火的一个方向了, 大模型的出现让人型机器人落地有了曙光. 目前往往有争议的是假如人形机器人真的能够落地, 又会有多少商业价值? 比较容易想到的场景是工厂自动化, 但是这些场景对 精度和节拍有高度的要求. 就算人型真的到了那一步, 能吃下工业场景的人形机器人肯定少之又少. 更何况人形的复杂度极高, 出问题修复的成本也会非常高. 而一出问题, 产线停了. 后面的代价成本是非常大的.

But anyway, 具身智能一定是未来十年的趋势. 如何造出能够适配不同机器人的"大脑"与"小脑"是非常具有潜力的. 市场上也有不少公司往机器人大脑发力. 按照目前的定义来看, 所谓"大脑"就是指机器人能够对环境感知以及具体任务的理解, "小脑"是负责具体的运动控制. 目前来看"大脑"基本都是基于VLM(Vision Language Model)去做的, "大脑"理解了具体的任务之后进行任务拆解, 然后交给"小脑"去执行.

比较容易想到的做法就是VLM输出对应的分解任务, 小脑根据收到的任务指令调用不同的行为树去执行. 这样落地是最快的方式, 我猜这也是工业界做demo肯定会采用的方式. 这样做的好处是解释性比较高. 坏处是通用性比较差, 肯定不是最优解.

如果纯端到端的话, 通用的机器人大小脑就会非常难做. 这里面的难度绝对不比自动驾驶的端到端低. 为什么会比自动驾驶端到端难做? 因为端到端需要将PNC给的输出提前当成输入, 比如自动驾驶的端到端就要把驾驶员的油门,转角,刹车当成输入, 至少2016年Nvidia在"End to End Learning for Self-Driving Cars"这里面就是这么做的. 有可能fsd v12用了别的黑魔法, 我这边不详细讨论因为没有调研就没有发言权. 回到正题, 此外模型受限于采集的传感器安装位置, 因此不同模型不具备通用性. 这就是很大的一个问题. 不同机器人的运动学模型不一样, 任务也不一样, 所以机器人小脑需要针对不同的机器人做适配. 目前来看, 不会像自驾一样能端到端解决所有问题. 机器人大小脑的结构应该会一直存在.

希望这一波做机器人大小脑的公司比如国外的Sklid AI以及国内的X Square Robot能做出先进的成果.

剩下的文章部分是一些瞎扯关于我觉得人形机器人的落地路线.

Step1. 解决人形机器人的远程遥控问题.

Pro: 完成这一步可以远程演示demo拉融资, 美滋滋.

Con: 可惜最有价值的工业场景工厂是不会连外网的, 落地就gg了.

Step2. 解决人形机器人在特定场景的问题. 比如搬箱子, 分拣等.

Pro: 完成这一步能够吃下具体场景

Con: 在完成这一步之后, 不同厂商就会下沉到不同细分赛道. 所谓的通用机器人发现离落地还很远.

Step3: 完成人形机器人的仿真环境搭建, 云仿真, VR仿真等.

Pro: 能够在仿真环境直接验证不同的具体场景

Con: 仿真环境搭建难度比较大, 并且仿真环境需要和真实环境保持一致. 成本会非常高.

Step4: 发现原来人形的落地本质上是解决 如何在仿真环境里面快速验证原型方案的问题 , 有的玩家开始研发仿真软件.

Pro: 能够完成这一步一定是行业领头羊了

Con: 没有利润

总之, 人形机器人一定需要有类似于联盟的组织, 一起发力去推动这件事才能有希望. 单独靠任何一个玩家去推动这件事, 成本都太高了.

Andrej Karpathy在2024UCB黑客马拉松的演讲

前几天Andrej Karpathy(简称AK)刚在UCB的2024Hackathon上分享了关于如何从项目转换到应用的演讲. 视频链接在这里(从4:10到22:20).

首先AK重新提到了LLM OS会是下一代"计算机". 过去的范式是通过GUI与编程来操作数据的, 以后会是由LLM去操控硬件以及数据.

此外, AK还给了三条建议关于如何从项目转换到应用的建议:

#1 snow balling your project.

在自己的项目上面滚雪球. 一个小项目如果一直做下去, 最终会变成一个大项目. 有些项目注定不会一直滚雪球滚下去. 但是能做下去的项目最终会有很大的回报.

例子1: 最开始AK在网上做视频的时候, 一开始做的类型有教游戏编程的, 神经元模拟器, 魔方识别的提取器, 游戏视频. 但是只有教游戏编程的点击量比较多, 能够一直做下去. AK开始从游戏编程教学转向做魔方教学, 在此获得了很多做教程方面的经验. 这项技能后来迁移到他开CS231N(斯坦福第一门深度学习课)上, 以及现在他做LLM101n(从头开始学会做一个讲故事的模型).

例子2: 最开始AK联合创办OpenAI的时候, 那时候OpenAI的定位是制约Google的一股力量. 当时有一半研究AI的学者都在Google并且拥有强大的现金流. 而OpenAI只有8个人并且只有笔记本电脑. OpenAI一开始展开了很多不同的项目, 但是很多都没有继续持续下去. 但是有些项目也取得了一些成果. AK分享了Reddit Chatbot, 一个在Reddit能够对话的机器人. 当时有人建议说既然要与Google竞争就需要做更大的项目. 但是正因为一直坚持去做这个看起来很脆弱的项目才会有GPT4o的出现.

#2 put in time

AK是10000小时定律的忠实拥护者. AK建议说不要怕要做什么, 是否会成功以及失败. 只需要在这件事情上面计时. 即使那些不成功的项目, 也会带来很多启发. 只有高度练习过的付出才能带来熟练度.

例子1: 最近AK做了一个推荐电影的网站. 在推特上有评论说他觉得这个网站很酷, 觉得AK是个天才. 但其实AK已经做过 有20次类似的项目了.

例子2: 最开始AK被召进Tesla自动驾驶负责人的时候, AK做的第一件事就是重头重写了项目本身的深度学习框架. 而这个框架也一直被Tesla内部使用. 当时别人都很惊讶Ak的技能, 而AK花了5年的时间在读PhD, 而他也一直在做类似的事情.

#3 keep the dopamine flowing.

观察自己的心理状态. 并对自己的大脑要有一定程度的了解. 大脑是一个需要奖励的机器, 什么样的奖励能够让大脑更高效?

对于AK来说是持续的做项目并且持续的发布这些项目. 持续做项目的好处是能够聚焦并且在一个领域上面有深度的探索, 而课程往往是能带来广度. 持续的发布这些项目是会去考虑其他人去看你项目时候的反应, 因此会让自己提高项目的门槛并且你会额外付出做出更有质量的工作. 好的工作会有好的反馈, 好的反馈会让你更有动力的去完成你的工作.

Snow balling the project and changing the world. Keep Hacking.

通过问题寻找方向

The first principle is that you must not fool yourself, and you are the easiest person to fool. - Richard Feynman

第一个原则就是不要欺骗自己,你是最容易被欺骗的人. - 理查德.费曼

准备重要的事情, 用清单列表的方式让自己做事井井有条. 迷茫的时候, 问自己问题可以找到方向. 避免陷入想当然的思维误区.

生活就像在大海上开船, 需要时不时打一下方向盘. 让自己在正确的轨迹上航行.

在迷茫的时刻, 我希望我能够回过头来看这份问题清单:

首先是新时代的"吾日三省吾身" (汉明问题(Hamming Questions)摘取自这里):

  • 在你的领域内最重要的问题是哪些?
  • 你正在解决哪些重要问题?
  • 如果你正在做的事情并不重要, 并且你认为它不会带来重要的结果. 那么你为什么要这样做?

其次是对汉明问题的拓展:

  • 什么是你生活的追求?
  • 你现在做的事情能否达到你的追求?

如果你现在做的事不符合你的追求的话:

  • 如果达不到的话为什么还要做?
  • 不重要问题是否能够忽略? 忽略了是否会有隐患?
  • 是否有方法能够解决这些不重要的问题?
  • 是否有去尝试这些方法?
  • 是否有还没想到的方法, 比如寻求他人的帮助?

如果你现在做的事符合你的追求的话:

  • 是否能够制定衡量的指标, 是否有确实可行的计划?
  • 计划是否有反馈?
  • 是否有定期反思总结你的计划?
  • 是否有更好的计划, 能让你更快的达到目标?
  • 是否有更好的方式, 能够让你更快的完成计划. 比如使用新的技能?

如果你觉得你做不了某件事:

  • 完成这件事是否能达到你对生活的追求?
  • 为什么你觉得你做不了这件事?
  • 这件事的本质是什么 (在解决什么样的问题)?
  • 如何去了解这件事的本质?
  • 为什么你觉得你了解的就是这件事的本质?
  • 这件事的假设是什么?
  • 是否有可能假设就是错的?

最后推荐一篇陶哲轩的博客 “Ask yourself dumb questions – and answer them!".