Re: [新闻] 黄士杰返台分享AlphaGo Zero开发过程

楼主: tlchen (台湾加油)   2017-11-08 20:23:24
※ 引述《qweewqq (风一样的男子)》之铭言:
: DeepMind指出,他们不使用任何人类知识,AlphaGo Zero用上的是新的“强化学习”方法
对于 "不使用任何人类知识" 这句, 我心中始终有个大问号.
首先, 在一开始的 random play, AZ 根本不知何时要停.
必须人工设定去停它. 这用到了人类知道这样的游戏, 应该有限步要停.
虽然 AZ 的参数是经由自我对战学的, 但整个架构呢?
要有几层的的类神经网络? 每层有多少节点? 层跟层间的结构?
covolution 要用 5x5 还是怎样的大小?
要怎样配合 VN, PN? 要用 MCTS 来寻找?
这些都没用到人类的围棋知识吗?
这整个大架构, 是在学人类棋谱时, 发现这样的架构, 可以训练出不错的 AI.
这架构不是随便设就行得通的吧?
经由人类棋谱训练, 找到一个好的大架构, 这样可以称作不使用人类知识?
如果今天一个完全不懂围棋的人, 只针对规则, 就去订了大模型架构,
然后经由自我对战去学参数. 这样的结果, 那叫做不使用任何人类围棋知识.
现在这样算吗? 我心中实在有很大的黑人问号.
作者: HeterCompute (异质运算)   2017-11-08 20:29:00
说实话,只是你的文字跟他的文字定义不同而已,今天Deepmind就是在说我今天进入一个新的领域,我不需要这个领域的知识,只需要最基础的规则就行,然后
楼主: tlchen (台湾加油)   2017-11-08 20:31:00
Deepmind 传达的是,不需要人类棋谱
作者: HeterCompute (异质运算)   2017-11-08 20:31:00
就能用我丰厚的神经网络知识配合一些搜索去解决它
作者: HeterCompute (异质运算)   2017-11-08 20:32:00
你的意思是,他新的这套神经网络有用也是基于之前的
楼主: tlchen (台湾加油)   2017-11-08 20:32:00
深度学习的架构要怎么设, 不用的领域, 设法不同
作者: HeterCompute (异质运算)   2017-11-08 20:33:00
try&error,所以现在像星海这种就是很好的试基石
楼主: tlchen (台湾加油)   2017-11-08 20:33:00
现在是先因为人类棋谱, 它选了适合的模型
楼主: tlchen (台湾加油)   2017-11-08 20:40:00
就看最简单的,把 5x5 换成 3x3 or 11x11, 行得通吗?
作者: birdy590 (Birdy)   2017-11-08 20:40:00
规则不算是知识 没有规则游戏本身根本不成立
楼主: tlchen (台湾加油)   2017-11-08 20:41:00
规则有了, 但什么时候要停?
作者: birdy590 (Birdy)   2017-11-08 20:41:00
它的判断是从双方完全乱下开始慢慢训练出来
楼主: tlchen (台湾加油)   2017-11-08 20:42:00
没有人为去设个停止, 电脑会自己填自己的地
作者: HeterCompute (异质运算)   2017-11-08 20:42:00
你可以看一下AZ最一开始的棋谱,几乎是把整个棋盘
作者: birdy590 (Birdy)   2017-11-08 20:42:00
把棋盘填满为止 规则不是这样吗
作者: birdy590 (Birdy)   2017-11-08 20:43:00
它真的会 但不用多久就会学会这样对局面不利
楼主: tlchen (台湾加油)   2017-11-08 20:43:00
是几乎,但是, 为什么不继续下? 因为有人为设步数限制
作者: HeterCompute (异质运算)   2017-11-08 20:44:00
另外他判断规则胜利的方法是Tromp-Taylor scoring
作者: birdy590 (Birdy)   2017-11-08 20:44:00
你需要搞懂它的原理 判断输赢都是把棋盘填满为止
作者: HeterCompute (异质运算)   2017-11-08 20:45:00
这个规则应该是有让终局well-defined,所以尝试过
作者: birdy590 (Birdy)   2017-11-08 20:45:00
没有什么人为限制 填死自己一开始真的会
楼主: tlchen (台湾加油)   2017-11-08 20:48:00
一阵子它会了, 但第一盘呢, 第一盘为什么有办法停下来?
作者: birdy590 (Birdy)   2017-11-08 20:48:00
棋盘填满如何不停?
楼主: tlchen (台湾加油)   2017-11-08 20:50:00
棋盘怎么填满, 自己的地可以填啊
作者: HeterCompute (异质运算)   2017-11-08 20:50:00
MCTS本身就有防呆啊,两眼不可能自己填死自己只要不填死自己,就继续填啊
楼主: tlchen (台湾加油)   2017-11-08 20:51:00
当一开始什么都不知道,为什么知道不能填?
作者: HeterCompute (异质运算)   2017-11-08 20:52:00
因为你两眼填成一眼,你就要被提了,MCTS就知道不能
作者: birdy590 (Birdy)   2017-11-08 20:52:00
它不知道 这是学会的
楼主: tlchen (台湾加油)   2017-11-08 20:53:00
下了会输,可以避免. 但第一盘呢?
作者: birdy590 (Birdy)   2017-11-08 20:54:00
一开始连1,1这种自杀步可能都会下
楼主: tlchen (台湾加油)   2017-11-08 20:54:00
MCTS 之所以有用, 它知道怎样是终你自填死后, 为什么不可能后来反而赢?
作者: birdy590 (Birdy)   2017-11-08 20:55:00
一开始MCTS还是一样计算 只是准确性很差第一盘还是一样算啊 啥都不会就接近乱数有公布初期自战棋谱 看了就懂了
楼主: tlchen (台湾加油)   2017-11-08 21:47:00
这都不足以解释,第一盘怎么停的.MCTS是要看停的结果,但问题不知道什么叫停
作者: birdy590 (Birdy)   2017-11-08 21:57:00
那都是规则的一部分 所以一直只会下中国规则规则如果有大变动 就可能需要砍掉重练
作者: HeterCompute (异质运算)   2017-11-08 22:02:00
别误导,不是用中国规则,是用Tromp-Taylor
作者: aegis43210 (宇宙)   2017-11-08 22:14:00
用Tromp-Taylor,那难怪连笑打个连环劫,CGI就算不清因为Tromp-Taylor为了算的快,只算前八子有没有禁同形
作者: HeterCompute (异质运算)   2017-11-08 22:17:00
Tromp-Taylor有规定八子?那是Deepmind自己规定的?
作者: birdy590 (Birdy)   2017-11-08 22:19:00
在棋局完全结束的时候,Tromp-Taylor规则可以视为等同于中国规则然后它允许填子自尽 所以初期自战一定会出现
作者: CodingMan (程式侠)   2017-11-08 22:29:00
看一下论文好不好
作者: kero9420 (利利)   2017-11-08 23:16:00
这篇感觉只是想要抓语病+引战吧
作者: Chothort (栩栩如笙)   2017-11-08 23:55:00
钻牛角尖
作者: yys310 (有水当思无水之苦)   2017-11-09 00:02:00
对于这句有问号可以去挑战nature editor阿
作者: Yibooo ( )   2017-11-09 00:05:00
抱歉打岔 其实最最最最原始的围棋规则就是下到不能下为止所以有些人认为还棋头是更合理的围棋规则因为“你自己下不进去的地方就不是你的地”
楼主: tlchen (台湾加油)   2017-11-09 00:48:00
模型的大架构有没有受助人类棋谱,跟他们的claim,是大问题还是抓语病,钻牛角尖? 我就不多辩了
作者: birdy590 (Birdy)   2017-11-09 00:50:00
模型其实来自规则 不是人类棋谱对zero来说人类棋谱根本不存在
作者: OverInfinity (超越无限)   2017-11-09 01:27:00
第一盘会停就是因为按照规则没地方下了https://www.youtube.com/watch?v=uKPtFxnmzm0
作者: jpg31415926 (圆周率π)   2017-11-09 01:47:00
你干脆说AlphaGo是人做出来的就等同用了人类知识算了
作者: s89162504 (阿本)   2017-11-09 02:03:00
你的逻辑这么差怎么会来逛围棋板= =
作者: Eriri (英梨梨)   2017-11-09 05:38:00
真无言
楼主: tlchen (台湾加油)   2017-11-09 08:50:00
O大,你贴的那盘,可以解释为什么不继续填自己地?至于模型来自规 则? 这是大问号, CNN 要几层? convolution的 size 要是多大, 这是来自规则?这些参数, alphago zero 没用到 alphago 先前版本?逻辑该如何,够懂 learning 自然懂我在说什么.不懂,我说再多也是多说
作者: CGary (下雨天也挺浪漫的)   2017-11-09 09:11:00
有些东西paper里面的确没有说 其实上次DM的AMA你应该可以问问看...
作者: birdy590 (Birdy)   2017-11-09 09:31:00
为什么不继续填自己地? 你知道规则怎么判定棋局结束吗就算用到 alphago 先前版本的算法 也与人类棋谱无关这些其实都是工程决定 像Tromp-Taylor等于用容易程式化的方法把中国规则写成清楚的条文
作者: chigi (  )   2017-11-09 10:15:00
你不懂的地方,说实话你应该去询问作者。已经公布的paper来challenge一点意义都没有,也许你说的对她没交代清楚其中的细节也只有发表的人知道。无论是什么原因没写到,在这讨论还是没意义阿,你当版友有参与开发吗Orz
楼主: tlchen (台湾加油)   2017-11-09 10:24:00
我之前看Tromp-Taylor规则,是连两个pass,还是我误会了?重点是,黑白有一方知道 pass 后会输,那为什么要 pass?为什么不继续下下看?至于算法跟人类棋谱无关?一开始在设架构时,直接定了?还是通常是,试各种定法,看哪种可以学得好?学的时候, 没用到人类棋谱?这样可以说是大架构没用到人类棋谱?我原文有说,若由一个只懂规则的人,直接定了架构就自战那是没有用到人类围棋知识, 没有问题但是 alphago zero 似乎不是这样啊对不起,好的方法的确是问作者,我只是发表个心得让大家看得不舒服,抱歉了
作者: birdy590 (Birdy)   2017-11-09 10:31:00
那是工程判断 不叫用棋谱 棋谱是猴子下的也没影响吧?为什么要 pass? 那得计算结果得到 pass 会赢才会选计算显示填自己地比 pass 差 那为什么会填?为什么用 40-block 不用 20-block 同样是一种工程判断别人评估用不起就只能用 20, 这种决定又不是绝对的
作者: saulesmeitas (太阳女)   2017-11-09 12:12:00
你去看AGZ的自战 一开始真的是乱扔加自填地 最后的停止方法是 下到全局都只剩禁著点了 于是白棋投降局面图 https://imgur.com/a/fRDeC
作者: thomaspig (沈猪)   2017-11-09 13:41:00
这篇在干嘛
作者: harrybbs (harrybbs)   2017-11-09 16:16:00
楼上上的解释正确
楼主: tlchen (台湾加油)   2017-11-09 16:19:00
s大,请问一下,白棋其实还可以填自己的地啊,可不可能自己全被提后,反而可以反败为胜?我们知道不可能,但电脑呢?为什么电脑知道不可能?
作者: saulesmeitas (太阳女)   2017-11-09 16:28:00
呃…你是不是不会下围棋?白棋全盘死得一个子都不剩而且你看到的那些空格都是白方不能落子的点
作者: shellpig (贝壳)   2017-11-09 17:37:00
至少这AI懂围棋规则...反观
作者: birdy590 (Birdy)   2017-11-09 17:39:00
现在通行的规则绝大部份都禁止自杀 就这样
作者: ddavid (谎言接线生)   2017-11-09 17:47:00
白棋自填自杀是规则禁止,只存在于金庸小说里面下到所有空处都是禁著,就是被迫Pass
楼主: tlchen (台湾加油)   2017-11-09 18:32:00
所以规则有禁止自杀? 我真的不知道.会下棋的人知道那样是自杀,但一开始不会下棋的AI呢?好像问一下,禁止自杀的规则,是多大的自杀算自杀?
作者: birdy590 (Birdy)   2017-11-09 18:37:00
"棋盘上的任何一点,如某方下子后,该子立即呈无气状态同时又不能提取对方的棋子。这个点叫做“禁着点”。"
作者: ddavid (谎言接线生)   2017-11-09 18:39:00
你可以先去把规则弄清楚再继续这个讨论吗XD
作者: birdy590 (Birdy)   2017-11-09 18:40:00
另一个限制 "着子后不得使对方重复面临曾出现过的局面"
作者: ddavid (谎言接线生)   2017-11-09 18:41:00
连wiki查围棋都可以找到的基础规则,在连此都还没搞清楚前你的立论不具有任何稳固的基础
楼主: tlchen (台湾加油)   2017-11-09 19:04:00
规则我查过啊,但是我有两眼,自填一眼,违反了什么规则?
作者: Uizmp (黑袍法师)   2017-11-09 19:04:00
你看一下那个图吧....
作者: birdy590 (Birdy)   2017-11-09 19:08:00
自填一眼可以提取对方的棋子吗? 不行就是禁著点啊禁著规则就是要避免其中一方赖皮会让棋局下不完所以你可以不用怀疑 因为照着规则走最后一定会双方 pass
作者: Uizmporm   2017-11-09 19:20:00
他是在说 已经做活 下到后面自填的状况啦 那就继续下啊
楼主: tlchen (台湾加油)   2017-11-09 19:21:00
s大的图,明明还有黑地可以填.而o大的youtube,最后白还有三眼然后 youtube 中,两边都有自己地填子过,所以我不相信那是禁著
作者: Uizmporm   2017-11-09 19:23:00
那就继续下啊
楼主: tlchen (台湾加油)   2017-11-09 19:24:00
可是电脑停了,为什么会停?有没有设计停的方式,是根据人的围棋知识,这是我有问题的地方
作者: ywchenz (ywchenz)   2017-11-09 19:30:00
学下围棋,答案自然就出现了
作者: Uizmporm   2017-11-09 19:37:00
合理的解释是 这已经不是AGZ的第一盘棋了
作者: ddavid (谎言接线生)   2017-11-09 19:48:00
下到最后必然可以下到一方彻底剩下禁手(另一方仍可自填),这时无法可下的一方Pass,规则赋予我们计算盘面胜负的能力。当盘面已经胜利,则另一方Pass结束。若否,另一方可以自填继续下下去直到下次又成为应落子一方只剩禁手的时间点即可。如果这样还觉得不满意,还有一个大招可以开:禁同型反复。在禁同型反复规则之下,绝对不会有一盘下不完的棋,终究会有一个时刻双方全禁手必须双方Pass的情况这也是规则赋予的条件而非额外人类围棋知识,绝对没有问题
作者: saulesmeitas (太阳女)   2017-11-09 20:01:00
你可以先去查一下“禁著点” 如果还是不懂再问吧不会围棋真的超难解释的…
作者: s347   2017-11-09 20:24:00
这个问题我在用论文重新制作AZ的时候也有遇到,解法就是把自己的眼也定义为禁著点就好了神经架构用到围棋知识确实比较有效率,但其实不是必需的
作者: milkdragon (谢谢大家!!)   2017-11-09 20:53:00
电脑为什么会停?因为论文里说了 "Games terminate when both players pass or after 19 × 19 × 2 = 722 moves. ",这也正是他们使用 Tromp–Taylor scoring 的原因
作者: HeterCompute (异质运算)   2017-11-09 21:39:00
推楼上,我真忘记有这句子了
楼主: tlchen (台湾加油)   2017-11-09 21:48:00
谢谢m大,所以跟我原文说的,需要人为设定是一样的.我之前听说过,但没有查到.
作者: KenshinCS (苍炎‧狂)   2017-11-09 21:52:00
不过这人为设定的还是算在"规则"里
作者: birdy590 (Birdy)   2017-11-09 21:55:00
双方照着规则下叫做人为设定?这方向真怪
作者: KenshinCS (苍炎‧狂)   2017-11-09 22:44:00
基本上不可能没有规则就学得出东西来...
楼主: tlchen (台湾加油)   2017-11-09 23:19:00
规则里有跟19x19x2有关的东西?AZ的学习,加入了这人为设定,跟规则有什么关系?
作者: birdy590 (Birdy)   2017-11-09 23:25:00
那只是规则里的棋局结束条件用Tromp Taylor规则只是因为方便 特色就是容易程式化所以一开始就讲了alphago只会下中国规则要用其他规则不是不可能 但判断复杂可能降低效率另外训练成本也很惊人 是不为也非不能也
楼主: tlchen (台湾加油)   2017-11-10 00:03:00
19x19x2是Tromp Taylor规则里的东西吗?不是的话,我要问的是,加了这条给AI,是不是其实偷偷用到了人类对围棋的了解?
作者: Uizmp (黑袍法师)   2017-11-10 00:05:00
作者: staristic (ANSI lover)   2017-11-10 00:07:00
这当然不是,这是算法问题你去找一下停机问题,维基就有了围棋因为规则上全局禁同,必定停止,但是这个停止可以太长以后,实务计算上硬件有限,不可能去计算太长的局所以问题变成能否在有限步数内结束棋局,一种停机问题的变形,要解决这个问题最快的算法就是加一个上限722只是一个让你觉得好像和围棋知识有关的数字实际上这个数字是多少不太重要,重要的是能让程式停下
作者: birdy590 (Birdy)   2017-11-10 00:14:00
19*19*2其实只是上限 实际还是双方pass就结束
作者: staristic (ANSI lover)   2017-11-10 00:15:00
说真的我很怀疑啦,490万谱里超过400手的有几谱搞不好一谱都没有
作者: birdy590 (Birdy)   2017-11-10 00:16:00
从规则上就已经避免无限鬼打墙既然规则上确保棋局必然会结束且无平手自然就看不懂他在问啥
作者: staristic (ANSI lover)   2017-11-10 00:18:00
我就一直在问他他口中“人类围棋知识”的定义到现在没个回答,根本讨论不下去其实我停机问题的例子用在这不太对…不过算了……
作者: monyo (无常)   2017-11-10 00:54:00
到底在执著什么... 守护人类最后的尊严是吗?拜托先去学围棋好不好
作者: ddavid (谎言接线生)   2017-11-10 03:19:00
那个停止条件明明是工程、数学上的条件,他硬要扯到那就是围棋知识而且还不能算是规则部分以维护他的论点事实上就连第一局那种自填到最后满盘皆子都根本没有到上限手数便停止了,那个上限手数根本等于虚设,原本规则上都已经有能力在上限手数以内结束棋局了之所以要那个上限了不起只是工程上的保险,因为实际上要估计填来填去下到全部禁手到底平均可能到达几手不太容易所以只是事前工程上理由给个合理值叫停罢了
作者: CGary (下雨天也挺浪漫的)   2017-11-10 10:18:00
其实这个问题不是烂问题 因为今天在AI Conf, Google来的讲者也challenge了这点...
作者: birdy590 (Birdy)   2017-11-10 11:04:00
目前的确不存在通用的架构, 但这其实还是工程问题以现在硬件的计算能力, 连工人智慧精心调整出来的架构都跑的很吃力, 实在很难想像通用的架构会长什么样子
作者: staristic (ANSI lover)   2017-11-10 11:31:00
CGary 愿闻其详?
作者: raiderho (冷颜冷雨)   2017-11-10 11:37:00
整串讨论下来,就看到原po在浪费大家时间
作者: HeterCompute (异质运算)   2017-11-10 11:39:00
简单说就是神经网络架构也是base on master之前的研究得出,那就某方面还是借助了master人类棋理的部分,aja回答那不是借助人类围棋的知识,是借助人类工程上对围棋的认识
作者: CGary (下雨天也挺浪漫的)   2017-11-10 11:46:00
aja回答时其实有点不开心 不过我觉得纪挑那个问题就跟原Po差不多的概念 因为你懂了围棋 所以那个框架你设计得出来 但aja回答我觉得也合理 他觉得基于围棋的知识虽然是因素 但结果却是可以通用化到任何的game(完全公开资讯)上, 所以他认为那是可以这么说的... (我是蛮能接受这点说法,但同时也觉得这个问题本质不是烂问题)
作者: raiderho (冷颜冷雨)   2017-11-10 11:49:00
工程或学术上的术语定义,大家以之方便沟通,除非能启迪新的智慧,不然战这类定义问题实在是浪费大家时间
作者: CGary (下雨天也挺浪漫的)   2017-11-10 11:50:00
并不是这样的 因为我们完全不知道强AI到底是怎样 现在讨论
作者: birdy590 (Birdy)   2017-11-10 11:50:00
严格说来 那个框架和围棋知识还是没有关系
作者: CGary (下雨天也挺浪漫的)   2017-11-10 11:51:00
明这件事 不过在围棋版讨论这个没意义就是了 他应该去那天
作者: birdy590 (Birdy)   2017-11-10 11:51:00
真正重要的还是工程知识 而非围棋知识

Links booklink

Contact Us: admin [ a t ] ucptt.com