探索-利用权衡
探索-利用权衡,是一个正在学习的机器人每次要选择动作时都会面对的基本两难:它应该坚持那个自己已经知道有效的动作(利用),还是去尝试某个新的、不确定的动作,指望它效果更好(探索)?设想你刚搬到一座陌生的城市,找到了一家还不错的咖啡馆。每天早上,你可以回到那杯安全又熟悉的咖啡,也可以冒险去一家陌生的店——它可能棒极了,也可能糟透了。如果永远只去同一家,你就永远发现不了隔两条街那家更好的店;可如果每天都赌一家新店,你又会把许多个早晨浪费在难喝的咖啡上。一个正在学技能的机器人,就一遍又一遍地活在这道选择题里。
它之所以重要,是因为机器人只能从它真正尝试过的事情中学习。如果一只机械臂总是重复那个到目前为止管用的抓取动作,它就收集不到任何关于自己从未试过的抓法的信息,于是它可能永远卡在一个平庸的习惯上,而一个好得多的动作其实就在视野之外。但如果它一直疯狂地探索,又会不断丢掉自己已经学到的好东西,很少真正去享用它们。好的学习两者都需要:足够的探索,去发现什么是可能的;足够的利用,去真正从已发现的东西中受益。
在实践中,工程师会有意去调节这个平衡。一种常见做法是:在训练早期、机器人几乎一无所知时多多探索,然后随着它越来越有把握,逐渐转向利用——就像你刚到一座城市的头几周里到处试咖啡馆,等熟悉之后再安顿在几家最爱上。该探索多少,取决于犯错的代价有多高:一个仿真里的机器人可以承受鲁莽的实验,而一台真实、脆弱又昂贵的机器却承受不起。
一台正在学习码放箱子的仓库机器人,一直在用一个成功率约 70% 的倾斜角度。为了进步,它的训练被设定为偶尔尝试一个更陡的角度;大多数尝试都失败了,但其中一个新角度的成功率竟达到 95%——这是它一味求稳就永远找不到的收获。
一点点被迫的探索,让机器人找到了比安稳老办法好得多的抓取方式。
这个权衡在强化学习中被研究得最为透彻——机器人通过试错和奖励来学习——但凡是既要收集信息、又要据此行动的系统,都会遇到同样的“探索还是利用”的张力。