Re: [讨论] 我还以为是龙傲天,原来是AlphaGo啊

楼主: capita (小明)   2017-10-19 16:43:35
※ 引述《wizardfizban (疯法师)》之铭言:
: 回一下好了,但我要说我对AI的了解很浅,欢迎打脸。
: 单纯说游戏树:
: 游戏树就是你在游戏中每面临一个选择时,每个选择都能画出分叉,一路下去就有如树木
: 一样,这棵树就叫游戏树。
比较正确的名词是决策树 decision tree.
: AI一开始对围棋无解是因为围棋是棋类中游戏树算大的,但后来在成功让AI能选择游戏树
: 特定区域运算的技术后,AI的棋力就开始上升了,最后打赢了人脑。
区域运算是非常早期的算法,这样做的棋力很差。
从 AlphaGo Zero 的成长中,可以得到很明确的答案,征子是围棋新手等级
就应该了解的一种围棋方法,但它却是一种全棋盘的策略。
所以 AlphaGo Zero 在发展出大量复杂的围棋手法和定石之后,才学会如何
应对征子。
也就是说对人脑简单的事情,对电脑来说不一定简单,使用区域运算方法的
电脑围棋,都会轻易被哪怕最简单的全局策略所打败。
围棋的决策树太大是根本问题,所以剪枝方法是其中的关键,粗暴硬剪必然
会产生漏洞,早年用专家系统的方式,没学过就不会下,更是常被极少见的
下法打脸。
最先成功有效的方法是蒙地卡罗树搜寻法,简单来说就是随机选点,在相同
深度的搜寻下失败次数愈多,进一步搜寻的机率就愈低。
蒙地卡罗方法的基本问题是深度有限,如果一个有效应对的步数超过搜寻的
深度,就无法被发现,目前的电脑围棋设定大约是二十步。
但这样对于电脑围棋来说仍然剪枝不够,这使得大部分使用蒙地卡罗方法的
围棋程式,都采用在对方落子处临近的地方优先选点的方式,不使用纯然的
随机选择,或者说建立一个有差异性的选点机率函数,取代每个点都有相同
机率的原始做法。
接着很长一段时间,就是开发者用人工的方式微调机率函数,以及排除显然
不必要和错误的选点,电脑围棋的棋力在这个状况下缓缓进步。
最后机器学习就在这个地方被引进了,默认的机率函数和人工方法,被使用
历史资料学习而得的选点程序所取代。
然而机器学习的本身也是需要经过大量运算的,一开始并没有显现出比加强
蒙地卡罗方法的运算量的优势,所以并没有成为主流方法。
直到 DeepMind 公司使用新的深度学习模型,在其他游戏中取得令人惊艳的
成果,这个方法才真正被用力实作在电脑围棋上。
他们采取的是很聪明的做法,单一神经网络的机器学习模型运算成本太高,
那么就拆成两个,虽然可能损失具有结合性的部分,但运算成本大幅降低,
再用相当暴力的运算能力,电脑围棋终于成功打败了职业棋手。
也就是第一次登上 Nature 杂志的 AlphaGo 。
在证明这个方向可行之后,此后就是在这个新模型上的各种加强。
而 AlphaGo Zero 则是在算法改进到相当程度后,觉得可以不用再使用两个
神经网络,重新使用单一神经网络的方式,并改用新的深度残差网络模型。
单一神经网络使得从零开始的学习真正可行,不然要让两个网络一开始就能
配合,会有很大的运气成分。
: 所以接下来挑战的目标是更复杂的游戏 ─ 即时战略 (RTS)。
: 但目前这个挑战卡死了......
: 因为游戏树太大了,近于无穷大。
: RTS每一秒都要做出大量判断,侦查、推测再应用到自己战术上。对比于围棋这种每回合
: 就是一动,而且游戏盘面完全公开的模式,RTS要做的运算量太多了。
: 相对之下,人脑就是有法子判断筛选出正确要注意的资讯而加以运用。
: 所以在RTS的挑战中,AI目前被卡死了,很多相关学者正在一起努力寻找新的方向。
: 因此,在把变量限定到一定程度之下,AI的确赢过人脑。但在大量变量之下,AI目前不?
: 。AI连星海争霸中单纯用作弊来战斗的死脑筋电脑对手都打不赢了。
: 也许有一天AI也会攻克RTS领域,然后再向别的领域发起挑战。那时我们大概又会发现AI
: 的极限......
: 我们对人脑的了解还是太少了。
理论上并不是运算量的问题,而是回馈和收敛的问题,围棋可以加速运算,
下几百万盘不是问题,但 RTS 要玩几百万场,需要的时间就极为巨大。
而最初始的胜负回馈资料不足,就难以回馈到盘面的优势判断,更无法建立
整体策略的评估。收敛的问题也是,变量太多就很难和过往资料比较,也就
难以收敛出结果。
人类学习的效率至今仍远远超过机器,在数量短期填补不上的状况下,如何
提升机器学习的效率,就成了下一个巨大的关卡。
并且单就 RTS 而言,人类有大量的知识,游戏本身也依赖这些知识来设计,
这让人类玩游戏时,可以在一开始就能利用这些知识,获得不错的成绩,
在学习上的优势就更加明显。
所以真的是很大的挑战,这应该说是机器学习的算法问题比较大。

Links booklink

Contact Us: admin [ a t ] ucptt.com