礼拜四读书会第六十四期:那条著名的阿尔法狗
洞烛
1楼
主讲:【云也】 八十年代生人。理工科届的一个小学生。喜欢钱和各种不来钱的爱好。
主持:【鱼鱼】【洞烛】
【云也】 大家晚上好!先自我介绍下。我本科专业是计算机工程。博士课题是信号处理。现在的工作是数据科学家,做地理和运动数据分析。就我的专业经历来说,对统计模型,优化算法,和近似算法比较熟悉
【洞烛】 本群相对而言,文科生居多,所以请【云也】尽量不出现术语。
【云也】 阿尔法狗,算是个戏谑的翻译方法。这个系统本名叫 AlphaGo。Alpha 是希腊语里的第一个字母,相当于英语里的α 。Go嘛,就是围棋的英语,所以今天我们先从围棋这个游戏开始讲。
【云也】 阿尔法狗战胜李世石这个事件的重点,在于围棋这个游戏本身。我记得上世纪90年代,IBM的深蓝下国际象棋下赢了世界冠军卡斯帕罗夫,差不多二十年后,计算机人工智能才能胜过围棋界的人类顶尖选手
【鱼鱼】 Deepmind是完全另一个团队?
【云也】 Deepmind最早是一个专注于深层学习技术的初创公司,Google 看到了他们的潜力,把Deepmind买下来了
【云也】 继续说围棋。这个游戏的特点是:规则无比简单,但变化则是所有棋类游戏里最多的。19*19 = 361 个下子位置,黑白两方,谁在棋盘上占领的区域最大,谁就赢了。区域占领的判断规则也很简单,你的子被围住,地盘就全归对方。这里需要强调一点,因为这个游戏的规则简单,没有隐藏需要猜测的部分,所以只要一方能够准确预测评估每一步的所有后手,每个后手的所有后手… 那赢棋需要做的只是等待对方出错。
【剪剪清风】 围棋规则简单,真正对局起来可不简单
【云也】 是的。这位朋友说得很好!围棋对局的难度,来源于潜在变化对于有限的脑力记忆力来说,实在太多。我们可以简单粗略地算一下,空盘有361个下子地位置,我下一个子,对方剩下360个点可下,依次类推,要预测全盘的所有可能,最多要361乘360乘359乘...乘1(理论上是361的阶乘,实际不用那么多),这个数字之大,每秒10亿次的电脑,也要算巨长的时间
【剪剪清风】 双方都不出错的情况下,要看谁算的更深,越简单的实施起来越难,因为每一步后面都可能变幻莫测。围棋对局中常常有送死一点小的,杀死对方大片
【云也】 【剪剪清风】说的,是下过围棋懂围棋的人类的解读。但是阿尔法狗并不会有意识地这么想
【剪剪清风】 电脑也要算这个,从对局中看出会这么计算的。我很惊叹,设计这台电脑的人是怎么设计的啊,对局结束后我实在惊叹设计者
【云也】 即使是阿尔法狗,也没有产生这个意识的能力
【鱼鱼】 AlphaGo其实属于弱人工智能
【云也】 我们可以往下一步说,AlphaGo的原理。我们刚才说到,如果你的记忆力和脑力好到可以在脑海里模拟每一步的每一种可能以及以此类推的后续,那你肯定就赢了。但是由于变化太多,最快的电脑也不能在合理的时间里做到预测每一种可能。
【鱼鱼】 这种计算依赖硬件吗?
【云也】 这里就要引入一个重要的计算机科学/工程学里的思想方法:在运用精确穷举法不现实的情况下,求近似最优。我个人理解里,AlphaGo的大局算法并不算特别突破性的创新:就是对于下一步所有的能下的位置进行抽样,预演,推算结果。抽样的难度是广度上的选择,要缩小抽样的广度,来抽最有胜算的下子点。预演呢,最笨的方法,是电脑自己和自己把剩下的部分下完,看看每种被抽的下法到底是输还是赢。但这么预演由于变化多(对于预演的每一步也要再抽样预演),根本无法在合理时间里完成,需要有一个很快的方法能合理地猜测下每一步的胜算。Alpha GO 在抽样和预演上都做了优化
【鱼鱼】 是怎么优化的呢?
【云也】 抽样优化用的是策略网络,预演优化用的是估值网络。这里的网络,指的是神经元网络。而且是近十年来新出现的一种神经元网络技术,深层学习网络。
【鱼鱼】 它是怎么进行学习的?
【云也】 神经元网络的概念,早在上世纪4,50年代就被提出来了。
【紫书】 是否跟决策树有关@云也,似乎听起来跟我们做统计计算的时候用的统计方法有点点联系
【鱼鱼】 决策树就是蒙特卡洛树吗?
【云也】 嗯,不太一样。决策树是不断地判断输入,一个个条件地去判断归类输入的信息,最后得到一个足够精细的分类,根据这个分类作一个决定。神经元网络的工作原理则是简化模仿了人类的认知原理。
【紫书】 这个名字应该就很接近人类的认知方式吧,从名字上能猜出来一些
【云也】 动物的神经末梢,比如触觉,视觉,味觉神经,接触外界刺激,然后把刺激传导到下一层神经元,进行初级知识的识别。拿视觉作比方,第一层受光刺激能识别点,第二层结合第一层的输出,能识别到线。第三层能识别形状…, 到最后能识别比较复杂的知识
主持:【鱼鱼】【洞烛】
【云也】 大家晚上好!先自我介绍下。我本科专业是计算机工程。博士课题是信号处理。现在的工作是数据科学家,做地理和运动数据分析。就我的专业经历来说,对统计模型,优化算法,和近似算法比较熟悉
【洞烛】 本群相对而言,文科生居多,所以请【云也】尽量不出现术语。
【云也】 阿尔法狗,算是个戏谑的翻译方法。这个系统本名叫 AlphaGo。Alpha 是希腊语里的第一个字母,相当于英语里的α 。Go嘛,就是围棋的英语,所以今天我们先从围棋这个游戏开始讲。
【云也】 阿尔法狗战胜李世石这个事件的重点,在于围棋这个游戏本身。我记得上世纪90年代,IBM的深蓝下国际象棋下赢了世界冠军卡斯帕罗夫,差不多二十年后,计算机人工智能才能胜过围棋界的人类顶尖选手
【鱼鱼】 Deepmind是完全另一个团队?
【云也】 Deepmind最早是一个专注于深层学习技术的初创公司,Google 看到了他们的潜力,把Deepmind买下来了
【云也】 继续说围棋。这个游戏的特点是:规则无比简单,但变化则是所有棋类游戏里最多的。19*19 = 361 个下子位置,黑白两方,谁在棋盘上占领的区域最大,谁就赢了。区域占领的判断规则也很简单,你的子被围住,地盘就全归对方。这里需要强调一点,因为这个游戏的规则简单,没有隐藏需要猜测的部分,所以只要一方能够准确预测评估每一步的所有后手,每个后手的所有后手… 那赢棋需要做的只是等待对方出错。
【剪剪清风】 围棋规则简单,真正对局起来可不简单
【云也】 是的。这位朋友说得很好!围棋对局的难度,来源于潜在变化对于有限的脑力记忆力来说,实在太多。我们可以简单粗略地算一下,空盘有361个下子地位置,我下一个子,对方剩下360个点可下,依次类推,要预测全盘的所有可能,最多要361乘360乘359乘...乘1(理论上是361的阶乘,实际不用那么多),这个数字之大,每秒10亿次的电脑,也要算巨长的时间
【剪剪清风】 双方都不出错的情况下,要看谁算的更深,越简单的实施起来越难,因为每一步后面都可能变幻莫测。围棋对局中常常有送死一点小的,杀死对方大片
【云也】 【剪剪清风】说的,是下过围棋懂围棋的人类的解读。但是阿尔法狗并不会有意识地这么想
【剪剪清风】 电脑也要算这个,从对局中看出会这么计算的。我很惊叹,设计这台电脑的人是怎么设计的啊,对局结束后我实在惊叹设计者
【云也】 即使是阿尔法狗,也没有产生这个意识的能力
【鱼鱼】 AlphaGo其实属于弱人工智能
【云也】 我们可以往下一步说,AlphaGo的原理。我们刚才说到,如果你的记忆力和脑力好到可以在脑海里模拟每一步的每一种可能以及以此类推的后续,那你肯定就赢了。但是由于变化太多,最快的电脑也不能在合理的时间里做到预测每一种可能。
【鱼鱼】 这种计算依赖硬件吗?
【云也】 这里就要引入一个重要的计算机科学/工程学里的思想方法:在运用精确穷举法不现实的情况下,求近似最优。我个人理解里,AlphaGo的大局算法并不算特别突破性的创新:就是对于下一步所有的能下的位置进行抽样,预演,推算结果。抽样的难度是广度上的选择,要缩小抽样的广度,来抽最有胜算的下子点。预演呢,最笨的方法,是电脑自己和自己把剩下的部分下完,看看每种被抽的下法到底是输还是赢。但这么预演由于变化多(对于预演的每一步也要再抽样预演),根本无法在合理时间里完成,需要有一个很快的方法能合理地猜测下每一步的胜算。Alpha GO 在抽样和预演上都做了优化
【鱼鱼】 是怎么优化的呢?
【云也】 抽样优化用的是策略网络,预演优化用的是估值网络。这里的网络,指的是神经元网络。而且是近十年来新出现的一种神经元网络技术,深层学习网络。
【鱼鱼】 它是怎么进行学习的?
【云也】 神经元网络的概念,早在上世纪4,50年代就被提出来了。
【紫书】 是否跟决策树有关@云也,似乎听起来跟我们做统计计算的时候用的统计方法有点点联系
【鱼鱼】 决策树就是蒙特卡洛树吗?
【云也】 嗯,不太一样。决策树是不断地判断输入,一个个条件地去判断归类输入的信息,最后得到一个足够精细的分类,根据这个分类作一个决定。神经元网络的工作原理则是简化模仿了人类的认知原理。
【紫书】 这个名字应该就很接近人类的认知方式吧,从名字上能猜出来一些
【云也】 动物的神经末梢,比如触觉,视觉,味觉神经,接触外界刺激,然后把刺激传导到下一层神经元,进行初级知识的识别。拿视觉作比方,第一层受光刺激能识别点,第二层结合第一层的输出,能识别到线。第三层能识别形状…, 到最后能识别比较复杂的知识