Science Robotics|人形机器人躺进婴儿床蹬腿玩床铃,重做发展心理学半个世纪的经典实验
发布时间:2026-08-27 13:44 浏览量:1
科学家把一个「小孩」放进了婴儿床里。
床上方吊着一个会晃的床铃,一根弹性绳把床铃和它的一只手腕连在一起——它动一动胳膊,床铃就跟着晃。
躺在床里的不是婴儿,而是
身高与儿童相仿的iCub人形机器人。
这项研究来自汉堡大学、捷克技术大学布拉格分校和巴黎西岱大学/CNRS的联合团队,
昨日发表在国际顶级期刊《Science Robotics》上。
他们想搞清楚一件发展心理学里的老问题:婴儿是怎么发现「我动一下,世界就变一下」的?而这次给出答案的方式,是让机器人自己躺进婴儿床里,真的玩一遍。
01.
把发展心理学的经典实验,搬给机器人做一遍
被搬过来的实验叫
mobile paradigm(床铃范式)
,1969年由Rovee和Rovee提出,是研究婴儿感觉运动关联(sensorimotor contingency,SMC)最经典的方法之一。
做法很简单:婴儿躺在小床里,只有一条肢体用绳子连到头顶的床铃上。到3~4个月大时,婴儿会发现是自己在让床铃动,然后
更多地去动那条「连着的」肢体
。如果这时把绳子解开,有些婴儿会出现「消退爆发」(extinction burst)——动作先猛增一下,再慢慢回落到基线。
但这个现象并不总能观测到,婴儿之间差异很大。到底是什么机制在起作用,一直不清楚。
之前也有不少计算模型试图解释这个范式,包括强化学习类、动力系统类和具身模型。
但它们都只在仿真里跑过
,没有真实世界的噪声、延迟和物理约束,也没怎么纳入预测误差、好奇心这些被认为支撑人类行为的认知机制。
这次研究团队把自己此前的仿真模型搬上了真机。iCub用的是肩部3个自由度、肘部1个、腕部1个,共5个关节;视觉只用右眼相机,分辨率320×240、15帧,经过池化后变成70个视觉单元,模型的输入就是
「画面里有多少比例的格子发生了变化」这一个量。
实验一共七种条件,三种在真机上、四种在仿真里做。
真机部分:
complex条件用的是接近原始实验的多部件床铃,被拉动后运动相当混乱;simple条件换成一根通过滑轮悬挂的泡沫管,运动方式确定得多;control条件干脆不挂床铃。仿真部分则包括simulated complex、把视觉输入与手腕位移做成1:1对应的simulated simple,以及两个「回放」条件——床铃的运动是从之前录好的数据里回放的,画面刺激一模一样,但和机器人的动作完全没关系。
每种条件都重复多次:真机complex和simple各20次,control 10次,四种仿真条件各60次。
模型这边,机器人的「大脑」是一个实时训练的神经网络,输入19个值(上一次动作的18个关节值+过去的画面变化),中间两层3000和1100个神经元,输出990+18+1个值——990个运动指令、18个关节值预测、1个画面变化预测。
990个运动指令怎么变成18个关节角度?靠的是群体编码(population coding):每个神经元同时影响同一肢体内的3个关节,还要加上±0.05的随机噪声来模拟婴儿的运动变异性。也就是说,机器人事先完全不知道自己的关节和肢体运动、环境效果之间是什么关系,必须自己学。
学习靠两个监督信号:预测损失(把自己的动作和环境的反应都预测对)和好奇损失(去探索那些结果不可预测、因此「有意思」的动作)。模型会把让自己惊讶的动作记在一张兴趣表里,惊讶就把兴趣值直接拉到1,不惊讶才每次减0.1。
02.
机器人确实学会了,但不是靠「动得更多」
怎么判断机器人到底有没有「发现」这个关联?
团队的思路是:训练一个多层感知机(MLP)当外部观察者。给它看两只手臂连续10个位置构成的序列,让它判断当时是左手还是右手连着床铃。用留一交叉验证,如果它能稳定分对,就说明机器人的探索行为里确实存在系统性差异。
结果如下(随机水平50%)👇
真机complex条件65%,显著高于随机;simple条件53%、control条件48%,都没超过随机。仿真里simulated complex 67%、simulated simple 58%,都显著;而两个回放条件掉到45%和48%。
七种条件里,四种有关联的条件有三种超过随机水平,无关联条件全部没有。
有意思的是出现了一个反直觉的规律:越简单、越确定的条件,反而越难分类。团队的解释是,complex条件恰好落在一个「难度甜区」——足够有挑战性,能激发主动探索,但又不至于永远学不会。真机simple条件里那根泡沫管占据了视野很大一块,画面变化过于剧烈反而难以预测;而仿真simple条件又太简单,探索不足、动作变少,留给MLP的线索也就少了。
那么,机器人到底是「怎么」表现出差异的?按婴儿文献的经典假设,应该是连着的那只手动得更多。
团队测了手腕走过的路径长度。
结果是:没有明显差别。不管哪种条件,连接手臂和非连接手臂的总路径长度都差不多。唯一一致的现象是,在有关联的条件里,真机约200步、仿真约450步之后,动作量会出现一次突然的转变。
换句话说,MLP抓到的东西,不是「动得多」。
03.
两种策略背后,是预测与好奇的拉锯
于是团队改用决策树,把轨迹先转换成一系列运动指标——运动发生在空间的哪个区域、变异性、两臂之间的相关性等等,再让分类器去找边界。
在complex条件下,四种主导策略覆盖了87%的样本。
比如其中一种:只要左臂在靠近躯干的一小片区域里活动(横向不超过约9厘米),就能判定是右臂连着——因为在那个位置,绳子是松的,左臂再怎么动床铃也不会动。另一种覆盖了75%左手连接样本的策略则相反:连着的手臂待在远离躯干、绳子绷紧的区域,
还有两种策略是大幅度的探索性运动,动的不一定只有连接的那只手。
四种策略可以归成两大类:要么大范围、大幅度地探索,要么在绳子有张力的特定区域做小而精准的动作。
更关键的是第二棵决策树——团队用模型的内部变量(预测损失的两个分量、好奇损失、画面变化、目标关节值)又训练了一次分类器,找出8组内部状态,再算它们与外部行为策略的条件概率对应。
前两种「精准小动作」策略,出现在损失都很低的优化状态:模型已经学会控制身体、也能准确预测环境反应,不再感到惊讶,于是转向「维持现状」,用最小的动作把关联握在手里。
后两种「大范围探索」策略,出现在运动前向模型还没学好的时候:动作预测损失偏高,行为主要由好奇心驱动,于是就是大幅、多变、不局限于连接肢体的乱动。
这正好是强化学习里那一对:探索与利用(exploration vs. exploitation)。
而它和婴儿数据也对得上。Watanabe和Taga 2006年的研究发现,2个月大、运动控制还不成熟的婴儿会增加所有肢体的运动;4个月大、运动能力更好的婴儿则专门增加连着床铃那条肢体的运动。
此外,机器人在部分试次里也出现了类似婴儿那种时有时无的消退爆发。
团队还做了消融和降自由度实验,结论有点反直觉:对模型来说最难的其实是运动控制本身,而复杂的关联反而可能帮助学习——因为相比只有「开/关」两种状态的二元关联,它提供了更多可操作的可能性、更精细的比例式反馈,以及更丰富的刺激来持续引发好奇。
所以这项研究给婴儿研究者留下的建议是:别只用「动了多少」这一个指标去判断婴儿有没有学会。婴儿相关文献里那些「不符合典型模式」而被排除掉的试次,说不定正是另一种有效策略。研究者还可以反过来用MLP和决策树这套框架,去更定量地刻画婴儿的策略,甚至通过给肢体加小重物、给床铃加噪声来分别操纵「动作可预测性」「环境可预测性」和「好奇心」这三个因素。
论文数据和代码都已公开。