雷锋网注:本文作者许铁, 法国巴黎高师物理硕士 ,以色列理工大学(以色列85%科技创业人才的摇篮, 计算机科学享誉全球)计算神经科学博士,巡洋舰科技有限公司创始人, 曾在香港浸会大学非线性科学中心工作一年。 阿尔法狗这个被大家热议过很久的主题, 里面其实包含了非常深刻的机器学习智慧。 是一部学习机器学习甚至是人类决策的绝好教材。机器学习是Alphago取胜的关键,为什么它会发挥巨大作用,请看下文。 了解一门科学技术最好的方法就是找出其核心论文, 让我们看看阿法狗的核心论文是怎么解读这个问题的。 以及 如果把你放在这样一个位置, 会如何设计这盘游戏。 如果大家了解棋牌类游戏以及电脑与之对弈的历史, 则会非常清楚老派程序员的套路, 那就会明白这类问题最简单的办法就是穷举法, 比如历史著名的八皇后问题, 你需要在国际象棋棋盘上摆放八个皇后,而使得她们各自不位于对方的纵线,横线或对角线上, 你只需要按照一定的方法做一个循环,从第一排往下一排遍历, 当你碰见摆不开的情形,就回到上一步最终重新摆,最后总可以把没有问题的组合求出来。
图: 八皇后, 穷尽并知难而退就够了,八个女人也不难安排 与之类似的方法稍作改进可以很好的解决国际象棋的问题,直播, 却难以做到解决围棋的问题, 为什么? 因为众所周知的,围棋的维度实在太大了, 每一次落子都有几百(棋盘19*19大小)种可能, 设想假如一盘棋要在几百步之后得出胜负,你有多少种可能性, 确实很难通过任何和穷举法沾边的算法解决掉。 这里就涉及如何有效的减少搜索空间,这个核心问题。这也是为什么一个下围棋的问题需要用到机器学习的关键, 因为机器学习让你通过有限数据推测所有其他可能(类似一个插值过程)。 要让机器做这个事先看看人是怎么做的, 其实决策的核心就是如何减少搜索空间的问题。 虽然人生的可能在一定程度是无限的, 但大多数可能你连考虑都不会考虑, 比如去朝鲜移民或到孟加拉国卖香蕉。我们人类用愚蠢,聪明, 合理,不合理这些词汇描述各种选择的优劣, 并且大脑自动屏蔽大部分不合理的解释。 你是如何得到这些答案的呢? 第一个就是如何通过常年的试错来计算每个行为的结果,所谓一朝被蛇咬,十年怕井绳。另一个就是看书,和高手对话直接学习它们的经验。 反过来就是机器学习的原理,首先说试错学习,或者根据某种行为最终导致的结果来调整行为策略的方法, 我们通常称之为 强化学习。
强化学习通常用如上框图实现, 即agent会根据环境给与的reward调整action的一个反馈系统, 最终实现利益最大化, 难点在于agent的行为通常改变环境,而环境影响行为策略。 而具体到围棋上, 这个策略的核心是根据围棋的特性: 1. 在每一步双方信息完全已知 2. 每一步的策略只需考虑这一步的状态 这允许机器学习用一个非常凶猛的简化框架来解决这个问题, 马尔科夫决策过程。也即是说我们用一个离散的时间序列来表述状态s,另一个离散的时间序列表述行为a,两个时间序列有着深刻的耦合关系,下一刻的状态s(t+1)取决于此刻行为 a(t)和状态 s(t),最终决定下一刻的行为 a(t+1) 两者间的关系即策略P(a(t)|s(t)),由于是马尔科夫链, 所以每一时刻的策略只与此刻状态s(t)有关。 各种棋类就是最明显的马链。 由于未来存在不确定性, 策略本身也是一个概率分布函数的形式。最终我们要优化采取P(s|a)所得到的回报R(s)最大。 马尔科夫决策过程是在解决未来状态不确定而状态和行为又具有马氏性时十分有利的方法。 解决马尔科夫决策过程的一个简单实用粗暴的算法叫做 蒙特卡洛树搜索(MCTS)。
图: 蒙特卡洛树与它的四个步骤 ,选择,扩张, 模拟估值和结果回传,对应一个经典的强化学习框架 说到蒙特卡洛, 这是大名鼎鼎的随机抽样方法。所谓树,大家一定可以想到决策树,树的节点是某一刻的状态,而枝杈代表一个决策, 而这里的蒙特卡洛树, 即用随机抽样的方法生成整个决策树的过程。 (责任编辑:本港台直播) |