Re: [心情] 李世石 Go! Go! Go!

楼主: ginstein (迈向学术之路)   2016-03-12 10:56:58
yamiyodare 在上篇已经讲解清楚算法了,
我这篇以我理解的方式做个化简,让一般人更容易理解,有错请指正。
下一盘棋最重要的两件事,
一是盘面形势判断,AlphaGo 估计盘面胜率的套件称为 value network,
二是在当前盘面下,找出最佳落子。
给出最佳落子的候选着手,此套件称为 policy network,
而最佳落子的选择,透过 MCTS 验证,简单说大量重复由现在盘面玩到结束,
是随机着手(不是固定着手),由落子候选集合找出胜率最高的落子。
但是围棋的盘面可能性超过宇宙原子总数,
我们没有神之盘面形式判断和神之最佳落子判断,
所以人们可以不断地乐此不疲的追求着神之一著。
AlphaGo 是怎么找出比职业棋士更棒的盘面形势判断?给出最佳落子候选呢?
policy network,最佳落子候选集合这部分,AlphaGo 首先是学习人类着手方式,
类神经网络可以学习人类的落子方式,但类神经网络学习时,需要有足够样本,
网络世代的来临给了足够人类对局样本,最初的最佳落子候选集合基于人类对局经验,
由人类经验开始,透过 3000 万盘自弈修正发现出更好的落子候选集合。
同样的,类神经网络透过学习那 3000 万盘自弈的胜负结果,
value network,盘面形式判断这部分,就有了比职业棋手更准确的盘面形式判断依据。
补充一下,AlphaGo 目前的训练方式并不是无敌,但无敌在人类棋手这部分
有足后的训练后,AlphaGo 就下出了人类无法到达的高度,在这节录某段话,
一个棋局是由几百个落子构成的,每一步的小幅度准确率提升,
经过几百次不断累积,那最终结果差异是非常大的,
这就是所谓的“积小胜为大胜”的道理。
这是机器对人很大的一个优势,因为它稳定,
如果准确率达到一定程度,就不容易出昏招,
只要依靠每一步的小优势不断积累就能获得巨大的累积优势。
AlphaGo 的机率选择落子方式,其问题可以明显的体现在
AlphaGo 单机版对上服务器版竟然还有 23% 的胜率,
以暴力法的下棋选择,单机版只会输不会赢,可惜的是,
AlphaGo 的落子不好的部分,机率上来说人类是无法利用到的,
不过只要出现更强的算法,新的围棋软件就能曝露出 AlphaGo 的弱点,
所以围棋未来的研究方式,一定会加入算法的研究,
以追求神之盘面形式判断和神之落子。
※ 引述《yamiyodare (shantotto)》之铭言:
: ※ 引述《bbbtri (cycling)》之铭言:
: : 本来想问这里没有人有可以出来解释一下这篇(讲AlphaGo用的算法)
: : http://benkampha.us/posts/2016-03-11.html
: : (不过不知道为什么, 连结好像失效了?)
: : 只大概看了一下, 因为连什么是hand coded evaluation都一头雾水啊 XD
: : 其中提到两种算法, 一组叫policy network,用来模仿人类的棋步, 很妙
: : 另一组是value network,用以判断一个棋步有多少价值(应该无关好坏,而是目数)
: : 前者还有分阶段, 先supervised后reinforcement
: : 而后者并不是放手让电脑自行去绕,而是有给点指示
: DeepMind 学习打砖块的过程
: https://www.youtube.com/watch?v=V1eYniJ0Rnk
: 人类给予的提示只有把分数提高, 自我训练几个小时就可以达到专家的水准.
: 一开始 AI 乱数决定移动的方法.
: 后来它会发现到乱到特定的地方不漏接球能提高分数,
: 给予的回馈会强化类神经网络让它的移动方式尽量不漏接.
: 厉害的在后面, 最后它会学到先钻通道是最有效的得分方式.
: 这不是人教的, 人只跟它说, 把分数给我打高, 其它自己想办法.
: 但像围棋这么复杂的东西, 直接用乱数下学习的过程太缓慢了.
: AI 的做法是先尽量下的跟高手一样, 因为高手可能的下法几乎包含了最佳解.
: AI 从这些候选走法往下找可以节省大量时间空间.
: 透过大量的高手对战谱训练出一个迅速模仿高手次一手的 policy network.
: value network 是型势判断, 给予一个特定盘面就能够迅速回报胜率.
: AI 开出千万分身自我对练高手的棋路到终局 (最后谁赢电脑可以判断的够准)
: 然后回溯盘面, 训练出一个可以估计任何盘面胜率的 value network.
: 目前看起来训练的越多, 估计的会越准确 (棋力越高)
: 如果任何盘面胜率都可以正确估算, 基本上围棋就被破解了.
: 因为电脑可以知道从第一手到终盘的最佳走法.
: 拿黑棋如果不贴至少会赢几目, 而且只有特定棋谱可以达到.
: 有了 policy network 跟 value network,
: AI 就可以试下各种高手次一手, 再加上有效率的蒙地卡罗搜寻法,
: 尽可能把胜率高的次一手展开往下运算, 提高胜率估算的准确度.
: 可以把它想像成很多高手提供次一手的下法, 那就来下下看, 看谁说得对.
: 但要留意, AI 的目标是胜率最高 (反击手最少), 不是目数最多, 不是棋型最美.
: 看 AlphaGo 下棋会让我想到以前打道策的谱, 许多着手都是天马行空.
: 怎么看都很奇妙, 但最后就是会赢.
: : 大概是这样, 不过我更想知道这个convolutional neural networks是什么?
: : 和节点的类神经网络有什么不一样啊?
: convolutional neural networks 是类神经网络的一种
: 它的概念是想模仿生物的视觉, 同时具有巨观跟微观的观察能力.
: : 人可以像时间暂停般做收官的, 除了AI, 恐怕还是只有李昌镐做得到
: : 但现在已经不是李昌镐的全盛期了....AlphaGo还是来的太晚了
: : 我觉得很可惜啊
: : 好在官子不是围棋唯一的特色
: : 李世石这个有阅历又艺高人胆大的, 多变的风格正适合这种前无古人的对局!
: : 在经过两次对局、探到对手的能耐后, 他会进行什么样的布局?
: : 毕竟, AlphaGo会进步, 而李世石也会啊!
: : 期待明天的对奕~
: 我在想什么样的方式可以打败 AlphaGo
: 因为 AlphaGo 是模拟高手次一手, 人类下出前所未闻的好手 (新定石新型新布局)
: 才有机会把 AlphaGo 导向胜率估不准的局势上 (因为对练很少往那边下缺乏经验)
: 举例而言, 应该没有人比武宫正树更懂宇宙流.
: 假设 AlphaGo 回到武宫以前的时代砍掉重练, AI 对于宇宙流的局势不熟.
: 武宫对 AlphaGo 用三连星开局或许可以把 AlphaGo 压着打.
: 不过压着打也是一时, 跟武宫下棋 AlphaGo 可以学到宇宙流的各种变化.
: 透过自我对练熟悉宇宙流的各种局势, 从而做出较准确的估计.
: AlphaGo 你打赢它, 它就会再度进化.
: 人类生命有限, 技艺的传承速度缓慢.
: AI 可以有效的继承人类全体的经验, 加速技艺的提升.
: 藤泽秀行曾说, 围棋如果有 100, 他最多懂的不过 6、7.
: 有没有想过, AI 继续发展下去可以让职业九段两子三子甚至九子?
: 人类要探索围棋的极限, 得靠 AI 的辅助.
作者: mathbug (天堂的定义)   2016-03-12 11:06:00
Good
作者: bbbtri (cycling)   2016-03-12 12:57:00
单机版也很强的意义到底是?是指程式码本身就写得很好吗?所以不需要用到复机版太多的演算?
楼主: ginstein (迈向学术之路)   2016-03-12 13:31:00
复机版执行MTCS没增加多少棋效,只比单机版好一点点.之前听说AlphaGo只训练3000w盘原因是elo上不去了,得改

Links booklink

Contact Us: admin [ a t ] ucptt.com