新智元编译
来源:medium.com
作者:Andrej Karpathy
编译:刘小芹 弗格森
【新智元导读】 Karpathy在文章中谈到了AlphaGo技术中一些很酷的部分,以及,从围棋的7大属性出发,谈到了AlphaGo常常被人忽视的一些局限性。
我最近有幸跟几个人聊到了AlphaGo与柯洁等棋手的比赛。特别是,大多数的报道都是大众科学+PR的混合体,所以,最常见的问题就变成了“AlphaGo的突破性表现在什么地方?”“AI研究者如何看待AlphaGo的胜利”以及“ 胜利的意义在哪?”
我想,针对这些问题,我有一些自己的想法。
AlphaGo 是由一系列相对来说比较基础(standard)的技术组成的:行为复制(对人类所展示的数据进行有监督式的学习),强化学习,价值函数和蒙特卡洛树搜索(MCTS)。不过,这些“组件”的组合形式是极具创新性的。
具体说来,AlphaGo使用了一个SL(监督学习)策略,来把在自我对弈中变得越来越完美的强化学习策略激活。这也是随后他们评估价值函数的来源,接着他们会把价值函数嵌入到蒙特卡洛树搜索中(从某处程度上来说这很令人意外),蒙特卡洛树搜索会使用(更烂!但是更多样化)的监督学习策略来对rollouts进行抽样。
此外,策略/价值网络是一些深度神经网络,所以,要让所有的事情都正常工作,这意味着其本身也会面临一些独特的挑战(例如,价值函数的训练使用的是一种狡猾的方法,以预防过拟合)。在所有的这些方面,DeepMind都执行得非常好。他们曾说,在解决强化学习的难题上,AlphaGo本身并没有使用任何具有基础性的、算法的突破。
缩小来看,总的来说 AlphaGo 还只是一个狭义的AI系统,会下围棋,但是也仅此而已。DeepMind用来玩 ATARI 游戏的智能体使用的并不是AlphaGo惯用的技术方法。神经图灵机与AlphaGo没有什么关系。
谷歌搜索引擎也不会使用AlphaGo。所以,AlphaGo不会推广到除围棋以外的任何问题上。但是,研究AlphaGo的人和神经网络技术可以扩展,它们比旧时代的AI 具有更高的效率,因为以前的AI,每一词demo都需要储备专门化的、具体的代码。
我希望通过列举围棋的一些特殊属性,来扩展AlphaGo的狭义意义。这能有利于我们了解AlphaGo可以或者不可以扩展到什么地方。围棋是:
完全确定性的。在围棋的规则中,不存在任何不清晰的地方。如果对弈双方采取的是相同的一系列动作,那么,他们可以达到的状态就通常就是确定的。
可以完全观察的。每一个玩家都拥有完全的信息,并且不存在隐藏的变量。例如,德州扑克就不符合这一属性,因为你不能看到对手的牌。
行动空间是不连续的。有一些独特的下法是可以施展。作为对比,在机器人身上,你可能会希望在每一个节点都需要连续具有连续性的控制。
能够获得一个完美的模拟器(游戏本身),所以每一步能取得的效果都是可以精确预测的。这一前提是AlphaGo强烈依赖的,但是,这种情形在现实世界中是非常稀缺的。
每一盘棋都很短,只有大约200手。相对于强化学习的阶段,这是一段相当短的时间。因为在自我对弈阶段,每一盘棋可能包含的是上万或者更多手。
评估是清晰、快速的,允许大量的试错。换句话说,智能体能数百万次的体验胜利和失败,这能让它们进行学习,虽然缓慢但是很确定,正如深度神经网络中常见的优化那样。
有大量的人类棋谱数据,所以AlphaGo不需要从头开始进行学习。
以上列举了围棋的一些魅力,下面我们再来看机器人问题,以及我们可以如何将AlphaGo 应用到机器人中,比如说 Amazon 的机器人拣选挑战赛(Picking Challenge)。这个问题只是想想就有点滑稽。
首先,你的动作(高维度,连续动作)由机器人的电机笨拙/吵闹地执行(违反了1和3)。
机器人可能必须要环顾四周以便找到需要移动的物品,因此它并不能总是感知到所有相关信息,有时候它只是根据需要收集信息(违反了2)。
我们可能有一个物理模拟器,但这些模拟器是不完美的(尤其是模拟接触压力);这就带来了一些挑战(违反了4)。
取决于你的行动空间的抽象程度(扭矩- >夹子的位置),一次成功可能要远多于200个动作(也就是说,第5点取决于设置)。更长的情节增加了信用分配的问题,这对学习算法在任何结果的行动中分配责任来说很困难。
由于我们是在现实世界中操作,机器人练习数百万次某一动作(成功或失败)会变得更加困难。一种解决方法是并行化机器人,但会相当昂贵。此外,机器人的失败可能还包括机器人本身的损坏。另一种方法是使用模拟器,然后转移到现实世界中,但在不同领域的转移中又会带来新的挑战。(即违反了6)
最后,很少有数百万的人类演示数据(违反了7)。
简言之,基本上围棋满足的每一个假设,以及AlphaGo有优势的地方都被违反了,每一个成功的方法看起来都完全不一样了。更一般地说,上文的围棋的一些属性对当前的算法(例如1,2,3)并不是不可克服的,而且有些对于AlphaGo的训练是非常关键的,但是很少存在于其他真实世界的应用(4,6)。
虽然 AlphaGo 在AI算法方面并没有根本性的突破,虽然它仍然只是狭义AI的一个例子,但 AlphaGo 仍然象征着 Alphabet 的AI 能力:该公司的人才数量/质量上,他们掌握的计算资源,以及公司高层对AI的关注。
Alphabet 在AI上下了大赌注,而且是安全的赌注。不过也许我的这篇文章是带有偏见的:)