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

楼主: jamesho8743 (加拿大好美)   2017-11-09 23:06:26
※ 引述《tlchen (台湾加油)》之铭言:
: ※ 引述《qweewqq (风一样的男子)》之铭言:
: : DeepMind指出,他们不使用任何人类知识,AlphaGo Zero用上的是新的“强化学习”方法
: 对于 "不使用任何人类知识" 这句, 我心中始终有个大问号.
: 首先, 在一开始的 random play, AZ 根本不知何时要停.
: 必须人工设定去停它. 这用到了人类知道这样的游戏, 应该有限步要停.
: 虽然 AZ 的参数是经由自我对战学的, 但整个架构呢?
: 要有几层的的类神经网络? 每层有多少节点? 层跟层间的结构?
: covolution 要用 5x5 还是怎样的大小?
: 要怎样配合 VN, PN? 要用 MCTS 来寻找?
: 这些都没用到人类的围棋知识吗?
: 这整个大架构, 是在学人类棋谱时, 发现这样的架构, 可以训练出不错的 AI.
: 这架构不是随便设就行得通的吧?
: 经由人类棋谱训练, 找到一个好的大架构, 这样可以称作不使用人类知识?
: 如果今天一个完全不懂围棋的人, 只针对规则, 就去订了大模型架构,
: 然后经由自我对战去学参数. 这样的结果, 那叫做不使用任何人类围棋知识.
: 现在这样算吗? 我心中实在有很大的黑人问号.
1.
AGZ 怎会不知何时要停? 何必需要什么特别人工设定它? 跟第一盘或第几盘也没关系
给定围棋规则(禁自尽 禁同型)
即使你2个人类对下 到最后双方再无可着手的时候就是终局(你可以找个人试试)
这跟机器或人类无关
1. 原po 一直在搞混人类知识跟人类围棋知识
所谓人类围棋知识 是专指人类"在棋盘上"的着手 应法 思考 这叫围棋知识(不包括基本规则)
AGZ "就算有" 建立在之前 AlphaGo的基础上 比如说要用 几层类神经网络 MCTS 或其它
"人类工程上"的知识 但这些跟"人类围棋知识" 并不相同 基本上这个是工程问题 数学问题 主是跟棋盘大小
围棋规则 及围棋本质等相关的东西 而跟人类"棋盘上的着法"无关
基本上你搞混了 build time 跟 run time
AGZ的工程师懂或不懂围棋也不重要(他要懂基本规则) 他不需要是一张白纸
除非AGZ 的设计者有把 什么不属于基本规则的想法写入程式 如征子 定石 手顺等等
不然AGZ 本来就没用到"人类围棋知识"
就是只给定基本规则 所有的着法都可以 所有的着法都是自我对战发现改良的
它训练过程根本没看过人类下棋 没跟人对下
总之
人类工程上对围棋的知识(解法 算法 设计等) \= 人类围棋知识
写出一个GAME 不代表我在玩这个GAME时是天下无敌
在GAME里面无敌不表示我能写出这个GAME
一个是 build time 一个是 run time
这两个意义也不同 不要搞混
如果你今天要把人类只要跟围棋有关的东西都叫人类围棋知识了
把所有东西都定义进来 这就没什么好讲的
(至于你一直说AGZ大架构有没有用到人类的围棋知识,
如果AGZ 只针对围棋的基本规则去设计 优化 那就没有用到
如果AGZ 有针对盘面特定结构去设计 优化 那就是有)
作者: danine (平常心)   2017-11-09 23:33:00
简单明了
楼主: jamesho8743 (加拿大好美)   2017-11-09 23:35:00
还有 alpha go 并不是因为人类棋谱才找出一个好的大架构 而是本来就设计出一个架构 才拿人类棋谱来验证或先得到一个还不错的结果
作者: tlchen (台湾加油)   2017-11-09 23:40:00
楼上这个可有根据?我抱怀疑的态度电脑围棋的演进,如何设定,不断在改变而改变的原因,很大的因素是看跟人下,怎样改变可提升胜率AlphaGo 的架构,完全跟之前的无关?讲个较极端的例子,假设今天有个工程师分别用VGGNet,
作者: birdy590 (Birdy)   2017-11-09 23:45:00
你应该先看一下 DZG作者那串文
作者: tlchen (台湾加油)   2017-11-09 23:46:00
GoogLeNet, 及 ResNet 设计了三个AI. 并分别用人类棋谱去
作者: birdy590 (Birdy)   2017-11-09 23:46:00
alphago实际上是用现有的一些技术拼凑实验出来
作者: tlchen (台湾加油)   2017-11-09 23:47:00
学参数.然后三个AI对打,假设最后ResNet赢了,所以工程师之
作者: birdy590 (Birdy)   2017-11-09 23:47:00
过去就算有人想到 也没有足够资源做出来zero就更不用说了 成本高的夸张
作者: tlchen (台湾加油)   2017-11-09 23:48:00
后就只用ResNet的版本,然后用自我对战学参数.这样的AI,算不算没有用到人类的围棋知识?
作者: birdy590 (Birdy)   2017-11-09 23:50:00
无言 显然没看懂这篇
作者: tlchen (台湾加油)   2017-11-09 23:50:00
根据这篇的说法,那似乎是没有用到人类的知识
作者: birdy590 (Birdy)   2017-11-09 23:51:00
alphago一开始就抛弃了人类的“围棋知识”
作者: tlchen (台湾加油)   2017-11-09 23:51:00
在我的认知,它用到了人类的围棋知识.因为所谓的优化,并不
作者: birdy590 (Birdy)   2017-11-09 23:52:00
喂人类棋谱的时候 还可以说会受人类决策的影响
作者: tlchen (台湾加油)   2017-11-09 23:52:00
不只是参数的优化.这位工程师,一开始还做了一个三种模型
作者: Uizmp (黑袍法师)   2017-11-09 23:53:00
不用人类棋谱, 纯粹自战可能也会得到 ResNet 最适合的结论
作者: staristic (ANSI lover)   2017-11-09 23:53:00
tlchen,我建议你先定义一下你的人类围棋知识是哪些你从来没定义过你这个用词指涉的范围,这样讨论不下去
作者: tlchen (台湾加油)   2017-11-09 23:54:00
类似的情况是我之前文章说的,大架构的优化,没用到人类的知识吗?
作者: birdy590 (Birdy)   2017-11-09 23:54:00
这些根本不是围棋知识 而是写程式的知识
作者: staristic (ANSI lover)   2017-11-09 23:54:00
人类的知识和人类的围棋知识差很多耶?你指哪个?
作者: Uizmp (黑袍法师)   2017-11-09 23:55:00
人类的知识, 但不见得是围棋的
作者: birdy590 (Birdy)   2017-11-09 23:55:00
只要规则定义清楚 程式设计师根本不需要会下围棋
作者: tlchen (台湾加油)   2017-11-09 23:55:00
我说的是人类围棋知识,而棋谱是它的表现
作者: Uizmp (黑袍法师)   2017-11-09 23:56:00
不过以DM说可以应用在其他领域(服务器省电),应该是泛用的
作者: tlchen (台湾加油)   2017-11-09 23:56:00
若选大架构是可以从自战选的,我就认为是没用到人类围棋知识,这是我在先前文章就这样说的
作者: Uizmp (黑袍法师)   2017-11-09 23:57:00
不用, 反而需要的是神经网络方面的知识
作者: staristic (ANSI lover)   2017-11-09 23:57:00
所以不要鬼打墙啦,你的“人类的围棋知识”的定义是?
作者: birdy590 (Birdy)   2017-11-09 23:57:00
master之前 训练过程会从人类棋谱取得特征所以可以视为间接接收了人类的围棋知识
作者: staristic (ANSI lover)   2017-11-09 23:58:00
我们先来搞定最基础的定义再继续往下讨论
作者: tlchen (台湾加油)   2017-11-09 23:58:00
这些不只是写程式的知识,每个领域,要用怎样的架构,是不同
作者: birdy590 (Birdy)   2017-11-09 23:58:00
但是算法本身和围棋知识并没有关系
作者: Uizmp (黑袍法师)   2017-11-09 23:58:00
棋谱可以从人类来,但大多是自战 (后来就纯粹自战了
作者: birdy590 (Birdy)   2017-11-09 23:59:00
写程式的人也不需要会下棋
作者: tlchen (台湾加油)   2017-11-09 23:59:00
为什么在围棋适合用ResNet,这不需要对围棋的了解?
作者: Uizmp (黑袍法师)   2017-11-09 23:59:00
这个就是写程式的知识 和规则有关, 和棋力无关
作者: birdy590 (Birdy)   2017-11-10 00:00:00
实验一下就知道了 为什么需要额外的知识?
作者: Uizmp (黑袍法师)   2017-11-10 00:00:00
不需要, 因为 ResNet 和 围棋没有关系啊
作者: birdy590 (Birdy)   2017-11-10 00:03:00
从论文也看的出来 过程中试过又丢掉的东西肯定很多这些和围棋本身并没有关系 围棋高手也看不出来哪种好
作者: tlchen (台湾加油)   2017-11-10 00:07:00
实验一下就知道,但怎么实验的?有没有用到人类的棋谱?或是跟人下?或许真的可以用自我对战去选大架构,而这样做出来的,如我文所说,我认为这样是不靠人类围棋知识.但 alphago zero是吗?这是我主要的疑问
作者: birdy590 (Birdy)   2017-11-10 00:12:00
要实验就两个算法对下 需要什么棋谱?
作者: staristic (ANSI lover)   2017-11-10 00:14:00
我再问一下,你所谓“人类围棋知识”的定义是?
作者: Uizmp (黑袍法师)   2017-11-10 00:14:00
结论只有谁赢, 这个不需要有棋力吧?
作者: Uizmp (黑袍法师)   2017-11-10 00:19:00
他大概觉得被李世石找出问题,AG要用同个架构训练更久也算吧3天的AGZ打不过Master,要40天,但因为Master有人类棋谱所以.
楼主: jamesho8743 (加拿大好美)   2017-11-10 00:28:00
简单来说 Alpha go 喂人类棋谱或自我对战 训练出来的是参数 相当于人类的记忆 而alpha go 程式则相当于大脑本身记忆可以换可以训练 但这并不会去影响大脑本身的结构不清楚这点也不用再扯了 这是run time 的东西除非在build time的时候 工程师把除了围棋规则以外的想法写了进去 或加进结构 这点本文已有说明
作者: tlchen (台湾加油)   2017-11-10 00:41:00
人类围棋知识,就是除了围棋本身规则,人类根据这规则而有的想法或产品问题是这个大脑的结构是人为建构的,人为如此建构,是否经某种优化过程,而过程是否用到人类围棋知识像我举的例子,要用某模型,决定的过程是否用到了跟人对战或其它人类围棋知识
作者: staristic (ANSI lover)   2017-11-10 00:47:00
AlphaGo Zero 没有,就这样
作者: tlchen (台湾加油)   2017-11-10 00:47:00
当然实验可以是两个AI对下,但两个AI对下,它们用的参数是怎么来的
楼主: jamesho8743 (加拿大好美)   2017-11-10 00:47:00
了解tlchen 他现在把AG工程师如果因为用人类棋谱得到的结果 使得工程师去选择了某个算法 所造成对AGZ的影响 也认为是"人类的围棋知识"的影响
作者: birdy590 (Birdy)   2017-11-10 00:48:00
其实alphago从一开始就没有
作者: tlchen (台湾加油)   2017-11-10 00:48:00
AlphaGo Zero 的大架构是跟 AlphaGo Master 类似的你确定这个架构没有?
楼主: jamesho8743 (加拿大好美)   2017-11-10 00:49:00
但前面已说过即使有 这是人类工程上的围棋知识 而不是人类棋盘上的围棋知识
作者: staristic (ANSI lover)   2017-11-10 00:50:00
如果tlchen的理解像james大讲的,那也不用讨论了
作者: birdy590 (Birdy)   2017-11-10 00:50:00
建立适合围棋的模型 不需要什么围棋知识
作者: tlchen (台湾加油)   2017-11-10 00:51:00
MCTS这方法不是AlphaGo先用的,它也拿来用,不是根据之前的经验?
作者: birdy590 (Birdy)   2017-11-10 00:51:00
几乎都是工程考量 想办法提高算法的效率
楼主: jamesho8743 (加拿大好美)   2017-11-10 00:53:00
如果工程师完全只用围棋规则推导出来的 那就肯定没有人类棋盘上的知识在里头
作者: tlchen (台湾加油)   2017-11-10 00:53:00
不需要围棋知识,就可以知道怎样选择适合的模型?
作者: birdy590 (Birdy)   2017-11-10 00:53:00
说穿了都是剪枝的方法 哪种好是比较出来的初期弱的时候 判断好坏包括比对和人类棋手决策的命中率
作者: tlchen (台湾加油)   2017-11-10 00:54:00
人类工程上的围棋知识是怎么来的?难道不是先前的实验,利用到人类的围棋知识
作者: birdy590 (Birdy)   2017-11-10 00:55:00
变强以后这招就不灵了 直接对下个100盘最快最直接什么叫工程上的围棋知识?
作者: tlchen (台湾加油)   2017-11-10 00:55:00
我这篇推文的一开始例子看一下,那算不算用到人类围棋知识?
作者: birdy590 (Birdy)   2017-11-10 00:56:00
比较好坏跟人类棋谱何干?
作者: staristic (ANSI lover)   2017-11-10 00:56:00
AlphaGo前的AI和AlphaGo的架构完全不同啦是不是机器学习这点是决定性的差别啊
作者: birdy590 (Birdy)   2017-11-10 00:58:00
所以前面就说DZG作者专访先看一下
作者: tlchen (台湾加油)   2017-11-10 00:58:00
b大,回去看一下我的例子,那些AI的参数是用棋谱学的
作者: birdy590 (Birdy)   2017-11-10 00:59:00
里面讲以前的做法 那些才叫“围棋知识”棋谱是拿来训练用的 跟架构也没有关系这里的参数又是指啥?
作者: tlchen (台湾加油)   2017-11-10 01:00:00
s大,MCTS之前的AI有没有用?AlphaGo也拿来用,这没用到经验?b大,我讲的围棋知识,前面有定义.棋谱是其展现
作者: birdy590 (Birdy)   2017-11-10 01:01:00
MCTS跟围棋知识毫无关系你不知道MonteCarlo是指什么吗
作者: tlchen (台湾加油)   2017-11-10 01:02:00
参数是类神经网络的那些 weights, master 是用人类棋谱学
作者: staristic (ANSI lover)   2017-11-10 01:03:00
MCTS是一种通用算法,不止用在围棋
作者: tlchen (台湾加油)   2017-11-10 01:03:00
而 AZ 的参数是经由自我对战学的
作者: birdy590 (Birdy)   2017-11-10 01:03:00
原始的算法可是乱下下到完
楼主: jamesho8743 (加拿大好美)   2017-11-10 01:04:00
要用AI当然就不想用人类知识 看不出要把人类的围棋知识加入干嘛 围棋可以光数学纯綷推导 优化 加入人类知识只是更多例外更难写 以AGZ来说 没有 end 你要坚持你自己的想法跟世界不同 那就继续吧 大家都错了deep mind 也说谎 你是对的
作者: tlchen (台湾加油)   2017-11-10 01:04:00
MCTS当然不止用在围棋,但之前在围棋上有成功的经验,而
作者: birdy590 (Birdy)   2017-11-10 01:04:00
zero证明了master之前也只是抄近路
作者: tlchen (台湾加油)   2017-11-10 01:05:00
AlphaGo 也用了, 没用到前人经验?
作者: birdy590 (Birdy)   2017-11-10 01:05:00
从乱下开始慢慢训练起 结果还可以更强那跟围棋知识根本无关
作者: staristic (ANSI lover)   2017-11-10 01:06:00
是前人的经验没错啊,但是这不是在人类围棋的知识内吧你到底有没有搞清楚自己在问啥?算法的知识 != 人类围棋的知识
楼主: jamesho8743 (加拿大好美)   2017-11-10 01:08:00
人类工程上的围棋知识怎么来的?当然是思考跟推导来的 这不需要会下围棋 只要会思考 数学 跟基本规则
作者: monyo (无常)   2017-11-10 01:12:00
他定义的"人类围棋知识"其实是"人类开发电脑围棋累积知识"我这样解读对不对?
作者: birdy590 (Birdy)   2017-11-10 01:14:00
楼上这定义也太小看deepmind了它用的技术虽然之前多半都存在要把它们凑在一起并不是件容易的事
作者: monyo (无常)   2017-11-10 01:21:00
啊? 我只是试图解读tl的定义啊
作者: birdy590 (Birdy)   2017-11-10 01:27:00
tl没有意识到一件事 就是MCTS和围棋知识是背道而驰就连随机乱下到完 都能得到一定的棋力
作者: JasonHuang (吉吉吉)   2017-11-10 01:39:00
T大什么神逻辑?照这样讲世界上没人能称作无师自通了。因为学习过程就算没问过其他人,没参考过书籍,但因为其他人类已证明人脑是学得会且有效的,所以只要有人成功做过的事,那就算有用到前人经验??
作者: wadashi1 (阿拉丁)   2017-11-10 01:45:00
tlchen有没有看过zero自战的第一盘?很精彩,建议看看一开始没有做活跟吃子的观念,乱下碰触到规则才发生吃子还会自己把空填满自杀而黑子181枚,白子180枚,共361枚,下完就没得下了,最后由规则来定出胜负。Zero就是从这种模式训练过来的!看了一下,不止..40block下到共541步,20block下到共469步
作者: ddavid (谎言接线生)   2017-11-10 03:08:00
我是觉得可以放弃解释了,基本上他就是用他的自定义在做讨论,或者说根本不是要讨论而只是想讲他的定义@wadashi1 没有子下完这种事。规则上万一真的双方子用完,
作者: chris610020 (可悲的阿明)   2017-11-10 03:10:00
应该说初始的价值网络都是一片空白的,完全只依靠人类给的算式求最佳解
作者: ddavid (谎言接线生)   2017-11-10 03:10:00
可以用交换死子的方式重新取得可下的子。@chris610020 你解释这个已经没有用了,因为那就是认为那个一片空白的网络也算是靠“他认为的围棋知识”选出来的他就是
作者: chris610020 (可悲的阿明)   2017-11-10 03:23:00
他讲的偏向算法优化,尽量不要做无意义的事不优化只是跑的比较慢,解果还是一样的结果
作者: ddavid (谎言接线生)   2017-11-10 03:31:00
这倒未必,选取的架构不同也许会落到不同的Local Max里面而落到Local Max里面并没有什么理论保证一定出得来
作者: wadashi1 (阿拉丁)   2017-11-10 11:43:00
感觉起来tlchen认为..因为围棋规则来修正Zero就算是用到人类围棋知识,但..不给Zero规则,它怎么知道怎么玩?什么不能下?怎么决定胜负? 人类的定石,征子,棋谱,所有人类的技巧,Zero完全没有,有的只是定义的围棋规则对它的修正。
作者: raiderho (冷颜冷雨)   2017-11-10 11:59:00
tlchen没说的那么浅,但是他认为继承上一版本的原始架构参数都是围棋知识,这和大多数的定义不同,问题是他的定义目前没引出什么有建设性的讨论。
作者: mothertime (我超爱傅红雪这变态)   2017-11-10 12:14:00
这篇不是很明确说出人类棋谱等于人类围棋知识了吗?规则比较像边界条件,不属于知识吧
作者: oldTim (TIME WILL TELL)   2017-11-10 16:18:00
如果只是棋谱本身不是知识,是资讯。要将资讯归纳整理后才能称为知识,比如说你如果不懂化学拿到元素周期表就算能够全部背起来也不能说懂得周期表里面的化学知识拿电脑围棋来说,AG出世前的第一波专家系统AI通常都有真对判断局部攻杀部分输入人类的定石Data,与AG的最大差别并非输入不同的data,而是使用了人类围棋知识中"局部"的观念来做死活判断,而局部这个观念是人类自行总结的规则里没有
作者: siyaoran (七星)   2017-11-10 19:33:00
tlchen一开始就对参数这东西理解错了 weight怎么给的也是靠机器学习自己修正的 须要人给weight还能算机器学习?
作者: peterhuo (人生位阶乐胜真爽)   2017-11-10 20:41:00
辛苦,那厮基本上就是自尊心太强的X孩别再浪费时间回啦

Links booklink

Contact Us: admin [ a t ] ucptt.com