学习范式
模仿学习(imitation learning)
/ im-ih-TAY-shun LER-ning /
教一个人开车,最快的办法不是一本规则手册——而是让他坐在一位老司机旁边,看老司机在每种情形下怎么做,照着学。模仿学习给机器抄的正是这条近路:与其让系统在无尽的试错中自行摸索出好的行为,不如把专家做这件事的录像给它,训练它去模仿。
每一段示范,都是一串「情形」以及专家在其中所采取的「动作」。最简单的形式叫行为克隆,它把这当成普通的监督学习:情形是输入,专家的动作是正确标签,模型学着把前者映射到后者。这绕开了强化学习里最难的那部分——设计奖励信号、并安全地探索——这也正是模仿学习在机器人和自动驾驶里受欢迎的原因,因为在真实世界里随机试错,要么危险,要么慢得不可能。
它最大的弱点,是一个滚雪球式的难题。模型只见过专家到过的那些情形;而专家既然高明,就很少陷入麻烦。于是模型头一回犯个小错、漂进一个陌生的状态时,它没有可照抄的示范,便做出更糟的选择,漂得更远,错误层层累加。补救之法是有的——让专家在模型实际到达的状态里去纠正它,或者掺进强化学习——但纯粹的模仿,其上限也终究不会高过那位示范者,而且它会不声不响地把专家的好习惯和坏习惯一并学去。
为了教一只机械臂倒咖啡,一个人手把手地带着它做这套动作几十遍,系统则记录下每一个关节的位置与移动。机械臂随后学会复现这套倒法。可一旦它稍微过了头、进入某个示范从未覆盖的姿态,它就可能手忙脚乱——因为它只会照抄,却不懂如何挽回。
照抄专家——可对专家从未到过的状态,它没有剧本。
纯粹的模仿,上限不会高过示范者,连他的坏习惯也一并学去。它的典型失败是误差累积:一个小错把它带进一个没有示范可抄的陌生状态,于是越滚越糟。
又称
另见