※ 引述《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 的辅助.