那么问题来了, 蒙特卡洛树和深度学习两者如何天衣无缝的结合起来呢? 这就是整个Alphago设计最巧妙的地方 : 首先,你应该还记得MCTS的框架, 首先MCTS可以拆解为4步:第一selection,在已有的选项(经历过的)中进行抽样选择,直播, 第二expansion, 走到一个没有先前从未经历的局面上,探索新行为,即生成新的枝杈, 第三Evaluation,得到新行为的回报,第四,回传,把回报的结果反向传递给策略。深度学习的结果可以被非常完美的嵌入到蒙特卡洛搜索的步骤里, 首先在expansion的步骤,我们不用从零开始随机的生成一个前所未有的状态,而是用根据前人经验训练的策略网络直接生成新状态, 海量了减小了无用的搜索。 然后, 在Evaluation的步骤上, 我们可以不需要跑完整个比赛,而是通过深度学习的结果直接算出这个新姿势可能的长期回报(此处即估值网络的巨大作用,所谓步步看清n久之后的影响),这个计算出的回报,会在最终游戏完成的时候与真正实践的结果相结合完成学习的步骤。
图 :深度学习如何嵌入蒙特卡洛树搜索 与战胜国际象棋大师的深蓝不同, 在Alphago的情形下机器学习发挥了巨大的作用,因为Alphago的策略和智能主要是在不停看棋谱和左右互搏中进化出来的,对于围棋这样规则非常复杂的东西,设计一套必胜规则几无可能,也只有机器学习(强化学习)的进化和自我改进思想才是最终取胜之法器。也是为什么Alphago的技术对其它人工智能非常有启发。 从整个上面的解析看来, 其实训练Alphago的算法思路并非十分复杂,用一句话总结, 就是在巨人的肩膀上迅速试错。 这也是各种人生决策的最好办法吧。 你说你要活独一无二的人生不模拟任何人,你估计是个撞南墙的傻X,你说你要就看着最牛逼的精英跟着走, 你可能一辈子重复别人的生活。而牛X的人, 显然是站在巨人的肩膀上,边描摹那三千万精英的步法,并深度总结其规律, 然后在变化自己的动作花样。 然而我们人类没有那么多时间完simulation,也没有那么多GPU进行并行运算, 所以我们其实在找的是低搜索成本的近似解,谓之次优解。 欢迎关注巡洋舰机器学习对抗复杂系统系列后续--一个强化学习在电网设计中的实例 (责任编辑:本港台直播) |