导语
2016年 AlphaGo 横空出世,在AI界和围棋界掀起了一阵腥风血雨。宝刀一出,无数围棋高手如樊麾,李世石,柯洁等人先后被斩于马下。
正所谓:十步杀一人,千里不留行。事了拂衣去,深藏功与名。
AlphaGo 使用的技术有深度神经网络和树搜索,这篇文章主要介绍一下树搜索。
简单的说 Monte-Carlo Tree Search(MCTS)的意思就是讲蒙特卡罗抽样的思想用到树搜索上。在我了解到MCTS思想背后的简单和暴力之后,在棋类领域机器打败人类是必然的事情。但我认为这仅仅能说明机器的计算水平很高,这是AI领域进步的一小步,现在的AI离真正的智能还很远。
[2016, Mastering the game of Go with deep neural networks and tree search - DeepMind]
对于人工智能来说,围棋一直被视为最具挑战性的经典游戏,这是由于其巨大的搜索空间以及难于评估的棋盘盘面和走子。这里我们介绍了一个新方法:使用价值网络 (value networks )来评估棋盘盘面和使用策略网络 (policy networks )来选择走子。为了训练这些深度神经网络,我们将有监督学习(从人类职业比赛中学习)和增强学习(从自我对抗的比赛中学习)创新地结合在一起。在没有使用任何前瞻搜索的情况下,这些神经网络的水平已经相当于最先进的使用蒙特卡罗树搜索(MCTS: Monte Carlo tree search)的程序,这些程序模拟了成千上万的随机的自我对抗盘局。我们还提出了一种将蒙特卡罗仿真和价值网络以及策略网络结合起来的新搜索算法。使用该搜索算法后, AlphaGo 在和其他围棋程序的对弈中,赢了 99.8%的盘局,并且以 5 比 0 击败了欧洲围棋冠军。这是计算机程序首次在全尺寸的围棋对抗中击败职业围棋选手,这个壮举以前被认为是至少十年以后才会发生。[知乎]Alphago打败的可不是李世石抑或全人类,而是围棋这项智力运动千百年来演变发展积攒而出的人类自信。
多臂赌博机问题
这里又要介绍一个新的概念了:Multi-Arm Bandit Problem 多臂赌博机问题。
设想我们身处在一个赌城中,面前是多台赌博机,但我们不知道每台赌博机输或者赢的概率。那我们怎么能在给定一定的次数,例如玩100次,获得最大的收益呢?
本能的最简单想法是,我们将每台机器都试w次(例如10次),统计每台机器拉动10次拉杆的最终收益,选择收益最大的拉杆一直拉。。。
那么请问这样的做法是能保证最大收益么? 实际上这是一个两难的境地(exploration-exploitation),一方面我们要尝试了解哪台机器会有最大的收益,另一方面我们要牺牲潜在的收益来多尝试。
以上就是多臂赌博机问题。
<