caoz的心得与分享,只此一家,别无分号.

深度学习并非最优方案

发布日期:2016-03-14 11:15:33 +0000

随便写个标题吧。

今天写点技术,因为发现虽然科普技术的文章很多,但是各种误解还是蛮多的,甚至我自己都不能说可以完全置身事外。


打别人脸的同时,就要做好被别人打脸的准备。


于是,昨天这篇,我自己也暴露了对其他领域的傲慢和无知,谢谢各位粉丝的提醒,指出我的问题,今天第一个指出问题的是我的资深女粉丝,南洋理工大学物理专业的某萱博士,她给的链接里提到,电子竞技属于不完全信息博弈,和围棋这样的完全信息博弈是有区别的,目前不能认为人类已经完全攻克。


嗯,是的,相当部分竞技,和棋牌类项目,都属于不完全信息博弈,所以,这是另一个领域的事情,相信谷歌未来也会投入探索。实话说,我真心不认为,这个领域有多难,只是边界条件和判断规则有所不同罢了,但在这个领域被攻破之前,我还必须要提醒自己,不能过于傲慢,暴露无知。


那么,网上有一种言论,把深度学习当做包治百病的技术,这就不对了。


其实,正如我的另一个资深女粉丝,数学达人某迪女研究僧所言,围棋是一个NP项目,好吧,其实我也不懂NP是个啥东西,但是这里有个重要概念是,围棋是不能靠穷举,遍历,暴力计算来解决的数学问题,目前也不存在一步寻求最优解的可能性,所以通过机器自学习,总结特征规律,然后,给出局势判断,基于概率进行走子。


知乎大V云天外在分析alphago的时候有一个特别重要的观点值得分享一下,alphago最可怕的不是怎么找到下一步,而是怎么判断当前的局势,基于对局势的判断才能提到如何选择招数,实际上从前三盘看,alphago对局势的判断和人类完全不同;当然,人类本身也完全不同,在第一盘,第二盘,都暴露出一个明显的问题,在收官之前,各个职业棋手主播对局势判断的差异简直是天壤之别,只有柯洁展露了惊人的实力,能正确判断出局面优劣,其他很多老九段简直如在梦中。第三盘,人类和alphago在形势判断上难得达成一致,因为李世石实在被欺负的太惨了;而第四盘,alphago为什么突然进入崩盘模式,deepmind专家的解读是,在78手之后,alphago对局势的判断突然出了问题,直到87手才反应过来。


所以,关于昨天的那盘棋,各种阴谋论的背后,都是盲目认为围棋不会判断错误,这个逻辑是不通的,深度学习从来不是最优解,从来都会存在盲区和判断错误,如果不存在这些问题,机器就不用再学习,再提高了,人类也不用跟机器比赛了,直接观摩围棋的终点在哪里好了。 深度学习之所以能自我提升,能自我发展,就是因为有缺陷,有误区,才会不断提升,并逐渐逼近最优。


但,并不是所有的项目,都需要深度学习的。


很多项目,是可以暴力破解,直接靠强大的计算力找到最优路线。

比如,最简单的,井字棋。

比如,跳棋。


你真的没必要在这个领域搞深度学习,一步到达终点的项目有啥可学习的。


比如,不完全信息的例子,21点,基于概率的最优打法早就在网上公开了,随便搜搜都有,当然你按照最优打法也赢不了庄家,这是规则设计决定的。当然这里也有例外,就是纯随机发牌的最优解和获胜概率固然已有定论,但是如果基于系统有多少套牌和发牌记录去计算,又会存在新的动态最优解和动态获胜概率! 但这也是完全!可以!用!概率!算出来的!根本!不需要!深度!的!学习! 我的资深男粉丝,MIT博士后赖某,就精于此道。


在不完全信息的博弈项目里,必须承认存在这样一个局面,就是概率最优解不等于必胜解,甚至不等于胜率过半解,比如,在高明的赌场的规则设置里,你即便真的拿出了概率最优的打法,从统计规律来说也赢不了庄家的21点,人家的规则也是数学家设计的。在这种情况下,谈深度学习,谈挑战赌场,都是儿戏。


下面说说麻将。


麻将是个典型的不完全信息的游戏,那么,基于概率统计,是否存在最优解路线呢,我们先简化问题,如果只考虑个人的手牌和明面的牌(已经打出的牌和对方吃、碰的牌),系统完全可以算出最高概率的几种胡牌可能,并将对胡牌影响概率最低的手牌打出。这种计算对于学过概率统计的大学生而言,并不是很高深的课题,作为应届本科生的毕业课题,都显得有些简单。 但这不是最终解。


引入第二个边界条件,赢牌番数,如果你可以有较高概率赢一把小牌,和相对较低概率赢一把大牌,就要计算风险收益比,选择综合风险收益比最高的路线,对胡牌概率的数据加上番数修正,这事其实也不难,你很容易得到一个修正后的最优解方案,这也并不是很高深的课题。但这仍然不是最终解。


第三个边界条件,出牌风险,所谓点炮。麻将复杂的地方在于,你不能只按照个人最佳胡牌概率打牌,必须通过观察注意到别人胡牌的可能和机会,并避免成为点炮的那个,(简单举个例子,如果上一个玩家出了一张二条没有玩家要,那么理论上你出二条应该是非常安全的。)而此时,就存在信息不完整的问题了。基于对方明面的牌和打过的牌以及打出的顺序,计算对方可能的胡牌范围,每张的胡牌概率,并自动修正你打出每张牌的风险值,和你胡牌概率再做修正,是追求自己胡牌,还是规避点炮风险。 实际上,由于玩家存在一定的自摸概率,所以即便自己胡牌概率不高,彻底选择规避风险也并不是一条可取的路线。 但这里就存在了一个致命问题,如果每个玩家,都是按照最优概率出牌,虽然这个模型复杂,但是系统理论上还是可以根据出牌记录和明牌记录计算出别人的胡牌概率和风险指数,而事实上是,人类并不会按照最优概率出牌,而且有可能打出从概率上讲不该打出的牌,而此时就会导致计算机造成严重的误判,这就是不完全信息所带来的特有的问题,而完全信息的博弈场面里,是不存在这种局面的。


所以,麻将这个问题,我认为是属于可以直接寻求概率最优解,但是受制于不完全信息的局限,概率最优解很可能遭遇对局者误导的一种竞技项目,在这个领域,深度学习未必能带来提升,而遭遇误导的风险依然存在。我的理解是,麻将完全可以做出概率最优的系统,但不代表概率最优就一定胜率最大,这是没有办法的事情,偶然性因素影响非常大,如果是很多人类和一台智能麻将计算机比赛,即便麻将计算机拥有最优概率,拿不到冠军的概率也是大于拿到冠军的概率,你只能说它拿冠军的概率在所有人中最高,但不代表这个概率会超过50%。


德州扑克同理,你完全可以设计系统按照概率最大化进行博弈,但受制于不完全信息,人类选手可以通过诈牌,或拿着大牌却故意装怂等手段误导机器,导致机器误判,在这种信息博弈层面,机器想要学习人类,还有极为漫长的路径。


在相当比例的不完全信息的博弈项目里,均存在确定的概率计算方法,在这样的领域,可以一步寻求概率最优解,压根用不到深度学习模式;而在相当比例的完全信息博弈项目里,也可以使用穷举,暴力计算来破解,比如国象残局,计算机已经进入上帝模式,这更不是深度学习可以达到的境界。只有进入到 不可穷举,不可计算的领域,比如围棋,才涉及深度学习的话题。所以,用深度学习包治百病,什么炸金花,斗地主,都是胡扯。


下面再说一下电子竞技,深度学习是如何进行电子竞技的学习的。

其实,一个通用的深度学习系统,你甚至不需要让深度学习系统了解游戏的设计理念,游戏的数值,是的,这都是他可以自学的范畴。让算法完全以一个玩家的角度,在对游戏的观察中学习和成长,我简述一下这里的逻辑。


第一步是,标注游戏的成分,这个还是要做的,相当于制定规则的边界。

首先让深度学习系统能标注和识别不同的建筑,兵种,操作,以及对应的资源的产出和消耗。这是一个基本模型,你必须让他知道游戏的基本构成和基本规则。

第二步是,设定胜利条件,让机器学习知道胜利的目标是什么。

第三步是,训练集,大量的训练集,也就是对战记录。

第四步是,基于海量训练集,总结特征和策略,用于实战,并重复三,不断提升。


这里可能存在很多思维上的误区,

你说每个局面都是独一无二,计算机如何思考?这其实和围棋是一样的,正因为不能遍历,才需要机器自己总结规律,寻找规则。围棋实际上二十手以后,最多三十手以后,基本上机器面对的局面就没有棋谱里可以借鉴的案例了,计算机如何思考的,这就是基于大量训练集总结出的规律,那这个规律是什么,连设计师都不知道,这才是深度学习神奇的地方,计算机会找到它认为适合的规律,并在不断的大量训练集中调整和优化。


你说计算机不知道人类的策略和计谋,这其实也不重要,计算机只是基于局面和特征,进行局势判断和价值判断,选择下一步的操作策略,在局面判断中,计算机有自己的简化策略,你看上去界面有很多目标,很多建筑,很多兵种,很多数值,但计算机可以按照它认为合适的方式简化为几个重要指标,并针对性选择最佳的后续操作策略,当然,这中间可能有错误,但最后比拼的就是他的错误比你的少,比你的小,以及,他犯了错会总结,会提高。


深度学习总结的规律是否一定正确呢?实话说,真不一定,比如让深度学习去理解香港股市和所有市场信息的关系,也许他会得到一个丁蟹效应并作为重要策略,我们人类知道,丁蟹效应只是一个巧合梗,并不具备科学性,但深度学习,很可能会认为这是一条重要的价值判定策略。


在不完全信息的博弈中,往往存在一些偶然性的因素,深度学习的表现只能通过概率来说话,而看上去不具备碾压实力。但对技能和策略要求越高的领域,深度学习所可能达到的成果将越能体现出优势,这一点是毋庸置疑的。


希望此文,能澄清一些概念,别什么玩意都深度学习。


总结一下

1、深度学习不是最优路线,只是通过大量训练集,使自己趋近于最优路线。在这个过程中,误判和缺陷一定是不可避免的。过于神话深度学习没有意义。


2、对于可穷举,可暴力计算的博弈问题,以及可确定概率最优的博弈问题,使用深度学习属于典型的画蛇添足,脱裤子放屁。


3、在不完全信息的局面下,人类存在的一些狡黠特性是深度学习暂时无法攻克的(典型如德州扑克,下注本身的谋略),但不代表说这类问题是彻底无解的,如果深度学习掌握了更高层次的规律和特征,可以完全无视你的狡黠和计谋。(我个人认为电子竞技深度学习是可以到这个境界的,但需要谷歌或谁来证明。)


4、如果你数学足够好,不用深度学习也可以试着去研究赌场的漏洞; 如果你数学不够好,用了深度学习你也玩不过赌场请的数学家,洗洗睡吧。


5、我承认我昨天对不完全信息的博弈问题过于轻视了,谢谢粉丝们指正批评。