2017年12月7日星期四

阿里 NIPS 2017 Workshop 论文:基于 TensorFlow 的深度模型训练 GPU 显存优化

NIPS 2017 在美国长滩举办,场面非常热烈。阿里巴巴一篇介绍深度模型训练 GPU 显存优化的论文《Training Deeper Models by GPU Memory Optimization on TensorFlow》将在 NIPS 2017 ML Systems Workshop 中做口头报告。这篇论文聚焦特征图,提出两种方法减少深度神经网络训练过程中的显存消耗,并且把这些方法的实现无缝整合到 TensorFlow 中,克服了 TensorFlow 训练大模型时无法有效优化显存的缺点。


近期深度学习在不同应用中发挥的作用越来越重要。训练深度学习模型的必要逻辑包括适合 GPU 的并行线性代数计算。但是,由于物理限制,GPU 的设备内存(即显存)通常比主机内存小。最新的高端 NVIDIA GPU P100 具备 12–16 GB 的显存,而一个 CPU 服务器有 128GB 的主机内存。然而,深度学习模型的趋势是「更深更宽」的架构。例如,ResNet [6] 包含多达 1001 个神经元层,神经网络机器翻译(NMT)模型包含 8 个使用注意力机制的层 [7][8],且 NMT 模型中的大部分的单个层是按顺序水平循环展开的,难以避免地带来大量显存消耗。


简言之,有限的 GPU 显存与不断增长的模型复杂度之间的差距使显存优化成为必然。下面将介绍深度学习训练流程中 GPU 显存使用的主要组成。


特征图(feature map)。对于深度学习模型,特征图是一个层在前向传输中生成的中间输出结果,且在后向传输的梯度计算中作为输入。图 1 是 ResNet-50 在 ImageNet 数据集上进行一次小批量训练迭代的 GPU 显存占用曲线。随着特征图的不断累积,曲线到达最高点。特征图的大小通常由批尺寸(batch size)和模型架构决定(如 CNN 架构的卷积步幅大小、输出通道数量;RNN 架构的门数量、时间步长和隐层大小)。不再需要作为输入的特征图占用的显存将会被释放,导致图 1 中显存占用曲线的下降。对于复杂的模型训练,用户必须通过调整批尺寸,甚至重新设计模型架构来避免「内存不足」的问题。尽管在分布式训练的情况下 [9],训练任务可以分配到多个设备上来缓解内存不足的问题,但是这也导致了额外的通信开销。设备的带宽限制也可能显著拖慢训练过程。



图 1:ResNet-50 的显存占用在一个训练步中的变化曲线。横轴代表分配/释放次数,纵轴代表当前显存占用的总比特数。


权重。与特征图相比,权重占用内存相对较少 [11]。在这篇论文中,权重作为 GPU 内存中的持久内存,只有整个训练任务完成后才可以被释放。


临时显存(Temporary memory)。一些算法(如基于 Fast-Fourier-Transform(FFT)的卷积算法)需要大量的额外显存。这些显存占用是暂时的,在计算结束后立即得到释放。临时显存的大小可以通过在 GPU 软件库(如 cuDNN)中列举每个算法来自动调整,因此可以被忽略。


很明显,特征图是 GPU 显存使用的主要组成部分。论文作者聚焦特征图,提出了两种方法来解决 GPU 显存限制问题,即通用的「swap-out/in」方法以及适用于 Seq2Seq 模型的内存高效注意力层。所有这些优化都基于 TensorFlow [13]。TensorFlow 具备内置内存分配器,实现了「best-fit with coalescing」的算法。该分配器旨在通过 coalescing 支持碎片整理(de-fragmentation)。但是,它的内置内存管理策略未考虑大模型训练时的显存优化。


该论文的贡献如下。聚焦于特征图,提出两种方法减少深度神经网络训练过程中的 GPU 显存消耗。基于数据流图的「swap-out/in」方法使用主机内存作为更大的内存池,从而放宽 GPU 显存上限的限制;而内存高效的注意力层可用来优化显存消耗量大的 Seq2Seq 模型。这些方法的实现被无缝整合到 TensorFlow 中,且可透明地应用于所有模型,无需对现有模型架构的描述作任何改变。


论文: Training Deeper Models by GPU Memory Optimization on TensorFlow

 

作者:孟晨、孙敏敏、杨军、邱明辉、顾扬




论文地址:http://ift.tt/2jtV9rw


摘要:随着大数据时代的到来、GPGPU 的获取成本降低以及神经网络建模技术的进步,在 GPU 上训练深度学习模型变得越来越流行。然而,由于深度学习模型的内在复杂性和现代 GPU 的显存资源限制,训练深度模型仍然是一个困难的任务,尤其是当模型大小对于单个 GPU 而言太大的时候。在这篇论文中,我们提出了一种基于通用数据流图的 GPU 显存优化策略,即「swap-out/in」,将主机内存当做一个更大的内存池来克服 GPU 的内存限制。同时,为了优化内存消耗大的 Seq2Seq 模型,我们还提出了专用的优化策略。我们将这些策略无缝整合到 TensorFlow 中,且优化不会造成准确率的损失。我们在大量的实验中观察到了显著的显存使用降低。给定一个固定的模型和系统配置,最大训练批尺寸可以增加 2 到 30 倍。



图 2:引用计数(reference count)。



图 3:swap out/in 优化的原子操作(Atomic operation)。删除从节点 e 到节点 b 的引用边,并添加了红色和蓝色的节点和边。



图 4:注意力操作(Attention operation)优化。d 指梯度。图左未经优化,图右经过了显存优化。



表 1:对 swap out/in 的评估。GPU 的显存上限是 12GB。



表 2:对显存高效序列模型的评估。

]]> 原文: http://ift.tt/2AGWLYs
RSS Feed

机器知心

IFTTT

薄列峰加入京东后,首次披露金融AI实验室的进展与规划

短短两月内,京东迎来三位人工智能重磅人物:前微软亚太科技董事长申元庆、前 IBM Watson 首席科学家周伯文先后加入之后,前亚马逊首席科学家薄列峰也走上了同样的道路,担任京东金融 AI 实验室首席科学家。这一远在硅谷的 AI 实验室将致力于发掘前沿 AI 技术的商业潜力,吸引美国 AI 人才,打造京东金融中美技术研发双引擎的格局,推动无界零售、无界金融的新发展。薄列峰的加盟,进一步强化了京东金融在人工智能领域的技术能力。


10 月 16 日,京东金融宣布,人工智能领域资深科学家薄列峰博士正式加盟京东,担任京东金融 AI 实验室首席科学家。在此之前,薄列峰是亚马逊西雅图总部首席科学家(Principal Scientist),带领研究团队从事 Amazon Go 无人零售店的基础算法研究和工程落地,致力于打造 Just Walk Out 的全新购物体验。


2007 年,薄列峰毕业于西安电子科技大学,先后在芝加哥大学丰田研究院和华盛顿大学从事博士后研究,领域涵盖机器学习、深度学习、计算机视觉、机器人、自然语言处理等。薄列峰在国际顶级会议和期刊上合计发表论文 50 余篇,论文总被引用 6000 余次,H 指数 38,其中博士学位论文荣获全国百篇优秀博士论文奖,RGB-D 物体识别论文荣获机器人会议 ICRA 最佳计算机视觉论文奖;在国际学术活动方面,薄列峰任华盛顿大学计算机科学与工程学院合聘教授(Affiliate Faculty),担任过包括 NIPS 、 CVPR 、 ICCV 、 ECCV 、 AAAI 、 SDM 等在内的顶级人工智能会议程序委员会委员。


在薄列峰加入之前,京东金融利用机器学习进行数据处理和建模,实现了智能风控和自动化运营,为金融行业各类机构提供了全链条、模块化的服务。根据京东金融提供的数据,目前平台累计为 800 万线上线下商户、3.6 亿个人用户提供支付和金融服务。


据京东金融副总裁、技术研发部总经理曹鹏介绍,京东金融将持续引进世界级数据和技术科学家,打造海外与国内技术研发双引擎的格局,为成为一家世界级科技公司夯实基础。


近日,京东金融 AI 实验室在美国硅谷正式投入运营,薄列峰接受机器之心独家专访,谈了谈实验室的定位、个人发展以及对行业的理解。以下是经过编辑的访谈内容:


机器之心:京东金融在美国硅谷成立了 AI 实验室,如何理解它的定位和发展方向?


薄列峰:京东金融 AI 实验室主要关注前沿 AI 技术及产品衍生出的商业价值,到 2018 年,京东金融 AI 实验室将汇集 50 余位人工智能领域的顶级科学家,每年的研发投入甚至可以和谷歌、Facebook 等硅谷一线科技公司的顶级实验室相媲美。


目前,京东金融 AI 实验室已经在机器学习、计算机视觉等领域展开研究工作。在推动无界零售发展方面,京东金融 AI 实验室正在推动研制的销售对话系统和销售机器人也将在未来投入应用。未来,京东金融 AI 实验室将继续发挥京东金融场景、数据和技术优势,吸纳美国优秀人才,聚焦机器学习、计算机视觉、自然语言理解等研究领域,探索前沿人工智能技术并致力于应用落地,为用户创造更大价值。

 

机器之心:2007 年,你获得电子科技大学电气工程学博士学位,后来的研究方向都涉及到机器学习、深度学习、计算机视觉等方面,方向的选择是出于哪些考虑?


薄列峰:博士阶段我主要做的是大规模机器学习这个方向,后来在美国这段时间做的计算机视觉和深度学习方面的东西相对比较多一点。选择这个方向主要是考虑将机器学习的算法与具体的应用问题相结合,比如说与人的姿势估计、物体识别等具体的东西来结合,从而做一个端对端的系统,这样有助于对整个问题有更全面的了解。


举一个例子,比如估计人的姿势,计算机视觉首先定义问题,比如用关节点的位置表示姿势,定义好问题后,不光要考虑数据怎么搜集,还要考虑算法怎么设计,这样也就将数据和算法相互打通。在这块联合考虑以后,我发现深度学习不但有针对解决具体问题的能力,还能学习不同层次的特征。


机器之心:记得你有一篇 RGB-D 物体识别论文获得 ICRA 2011 最佳计算机视觉论文奖,它的最大贡献是什么?


薄列峰:这个论文提出了一个有效的算法来融合 RGB 和深度信息去做物体的识别。它的贡献在于首次提出了联合使用 RGB 和深度信息来做物体识别的一个方法,同时证明深度信息对于物体识别具有重要的意义。在后期大量的相关的 RGB-D 论文中,这个结论和观点也得到了验证。比如现在最流行的 iPhoneX,它的人脸识别,用的也是深度信息。


机器之心:在你读博期间,亚马逊的推荐系统取代人工推荐、谷歌翻译开始使用统计原理,那时候你对人工智能行业状态的感受是怎样的?


薄列峰:机器学习在那个时候已经开始被顶级的科技公司认可,工业界的应用也比较多,像推荐系统取代人工推荐,机器翻译使用统计原理都是典型的代表。但计算机视觉和自然语言理解这一块,更多还是处在科学研究阶段,还在为大规模商用做铺垫。


反观现在的发展,举一个例子,自然语言理解上,亚马逊的代表产品 Alexa 智能音箱,在美国已经卖到了大约 2000 万台以上;计算机视觉,像人脸识别技术,在国内已经相当普及,包括苹果 iPhoneX 可以用人脸解锁等,反响也很好。


此外,当时机器学习也进入了一个瓶颈期,传统的机器学习算法其实对性能的提升相对比较有限。由于当时我是一个在读博士的身份,更多还是关注学术圈,一些深度学习的算法在那个时候也开始崭露头角,这跟当时传统的机器学习陷入瓶颈,对性能提升比较小也有很大的关系。比较有代表的深度学习算法就是著名的深度学习奠基人 Geoffrey Hinton 在自然和神经计算上发表的两篇关于深度学习的论文,这对当时机器学习技术是一个比较有力的推动。


机器之心:在华盛顿大学读完博士后,你先后加入英特尔实验室、亚马逊,可否简单分享一下这几次工作的转变以及不同公司工作经验给你带来的影响?


薄列峰:我在英特尔的实验室时工作内容更加偏向于纯研究,像是在微软的研究院,主要是针对自己提出的一些问题来研究解决方案,比较这种解决方案相对于传统方法有哪些优势,或者这个问题本身相对于传统问题有什么新的特点。大多数成果是以论文的形式出现,中间也讨论过将一些成果应用到英特尔一些不同层次的具体问题上。


2013 年 8 月我加入亚马逊,之后四年一直在做 Amazon Go,主要是用先进的机器学习、深度学习和计算机视觉算法实现 Just Walk Out 这样一个用户体验。这个项目是高度保密的,所以这期间我没有发表过跟 Amazon Go 相关的论文。


这四年中最大转变是在解决一个问题的过程中,不单单是看算法、数据,还会想如果把这个问题定义得更好,是不是会有更好的解决方案,还有如何选择硬件,怎样通过优化硬件的布置来简化、降低问题的难度。所以,以解决一个有重大商业价值的问题为导向,然后再考虑所有相关因素,哪些因素是导致这个问题解决不好,就去解决这个因素。简单地总结来说,我在英特尔工作重点集中在研究发表论文上,在亚马逊重点工作方向集中在产品上。


机器之心:在公司做研究的体验是怎样的?我们观察到 13 年加入亚马逊之后,个人主页就很少有论文公布,是因为工作内容偏重不同吗?还是在亚马逊发论文并不是被放在第一位的?


薄列峰:在公司做研究的体验,关于在英特尔和亚马逊前面已经解答过了。关于个人主页很少有论文公布,是因为工作内容偏重不同,这个答案是肯定的。因为亚马逊更加产品导向,英特尔更加基础研究导向。基本上是这样,在亚马逊发论文并不是被放在第一位的事儿,虽然涉及到的是解决有商业价值的问题,但研究要用的算法是非常先进的。


另外,因为 Amazon Go 这个产品在零售领域是一个极具创新性和前瞻性的产品,这个过程中其实能产生非常多具有发表价值的内容,但这属于商业机密,从公司角度考虑是不予发表的。也就是说,这个方向是对的,创新性、前瞻性也非常好,但 Amazon Go 是要去抢占市场的一个商业产品,不能在市场还没有被抢占之前,把商业机密全部泄露出去。举一个例子,像 Alexa 智能音箱这种东西,也都是觉得市场占有得差不多才公布一些信息。


机器之心:你和前同事任小枫各自加入中国最有代表性的两家电商公司,你们有谈论过当下不少海外科学家加入中国公司的现象吗?


薄列峰:谈论过。简单地说这个现象并不奇怪,因为亚马逊是美国最大的电商公司,而且在多个产品线上具有领先性。比如零售、云、Alexa 智能音箱、也包括线下的智慧零售等,都是很具有前瞻性的。从这个角度来讲,我觉得加入中国最具代表性的电商公司并不奇怪,我个人非常看好具备丰富生态链的电商公司,因为在各个生态链上都有人工智能落地和应用的场景。


不少海外科学家加入中国公司这样的现象,我认为主要由于中国公司目前在场景、迭代速度,包括中国市场对新产品的接受度上,都具有非常大的包容性。而对数据的搜集和使用也具有优势,中国公司提供了比美国公司更好的应用场景和更多的潜在客户,当这两者结合做出产品以后将产生更大的商业价值。未来,这个现象也会越来越常见。


另外,我选择加入京东金融是看重京东金融对用户体验的重视,因为京东和京东金融坚持用户体验至上的商业思维模式。技术最大的影响是以正面的方式去改变大家的生活,以更加有效的方式让大家在生活中更加流畅地获取和使用信息,最大的一个应用就是改善大家的生活,把各个方面都做得更加方便,我认为这是科技最大的价值所在。


机器之心:中国公司越来越多地参与到对全球化 AI 人才的抢夺中,你对这个状况的感受是什么?在海外的华人科学家圈子有留意到这个趋势吗?


薄列峰:感受还是很明显的。参加 CVPR 或者 NIPS 这样的会议,都能看到很多中国公司的身影。同样,在海外华人圈里,大家非常强烈地感受到了这样的趋势和方向,也都不会感到太意外,因为随着人工智能的发展,AI 是接下来影响市场、公司成长的一个大方向。


大家比较普遍的看法是,中国的科技公司已经越来越全球化,做出来的东西越来越具有前瞻性。对于京东金融来说,我们不满足于对标某一个美国公司的产品,而是要更加以用户为中心,做出满足用户体验的多样化的产品。美国的 Fintech 公司做得相对单一,少见像京东金融这样做综合性业务。


举一个例子,以京东金融明星产品白条和金条为例,如果在海外,可以与之对标就是信用卡,但是信用卡是由银行线下发放的,京东金融推出了白条和金条后,是可以用手机 APP 操作,甚至可以实现秒批。与海外的信用卡相比,有它独特的地方。

]]> 原文: http://ift.tt/2jtVc6G
RSS Feed

机器知心

IFTTT

OpenAI发布「块稀疏」GPU内核:实现文本情感分析与图像生成建模当前最优水平

近日,OpenAI 在其一篇题为《Block-Sparse GPU Kernels》的博文中发布了一个低级别神经网络架构的高度优化 GPU 内核,并且这个神经网络带有「块稀疏」(block-sparse)权重。根据已选的稀疏性,这些内核可以比 cuBLAS 或 cuSPARSE 运行快几个数量级,并在文本情感分析与文本、图像生成建模方面取得了当前最优结果。机器之心对博文进行了编译,GitHub 链接及论文摘要请见文中。
  • GitHub 地址:http://ift.tt/2AfZxF6
  • 论文地址:http://ift.tt/2B91gf6


深度学习模型架构和算法的发展在很大程度上受限于基本操作的高效 GPU 实现的可用性。这其中的一个问题是缺乏稀疏线性操作的高效 GPU 实现,它也正是今天我们发布的内容,以及用其实现一些稀疏模式的初步结果。这些初步结果很有潜在价值但还存在不确定性,因此我们想邀请社区加入进来,共同解决这一难题。


密集层(左)可由宽而稀疏的层(中)或者深而稀疏的层(右)替代,并同时近似地保持计算时间。


与密集权重矩阵相反,稀疏权重矩阵具有大量为零的条目。稀疏权重矩阵作为模型的构建模块很有吸引力,因为矩阵乘法和稀疏块卷积的计算成本仅与非零块的数量成比例。例如,稀疏使得某些神经网络的训练成为可能,这些神经网络比给定相同参数和计算预算的其它网络更宽、更深,例如具有数万个隐藏单元的 LSTM(目前训练的最大的 LSTM 只有数千个隐藏单元)。

内核



密集权重矩阵(左)和块稀疏(中)权重矩阵的可视化,其中白色代表零值权重。


内核允许在全连接层和卷积层高效地使用块稀疏权重(如上所示)。对于卷积层,内核允许输入和输出特征维度的稀疏性;连接性在空间维度上不受影响。稀疏性是在块的层面被定义的(如上右图所示),并已经优化为 8x8(本实例中)、 16x16 或 32x32 的块大小。在块的层面上,稀疏性模式是完全可配置的。由于内核跳过零值块的计算,所以计算成本只与非零权重的数量成正比,而不是输入/输出特征的数量。存储参数的成本也只与非零权重的数量成正比。



不同级别的稀疏性相对于 cuBLAS 的加速效果,其使用了宽状态(12288 个隐藏单元)、32x32 的块大小和 32 的批尺寸。该对比实验使用英伟达 Titan X Pascal GPU 和 CUDA 8 完成。和 cuSPARSE 对比的加速效果更佳。


使用稀疏内核


以下是在 TensorFlow 中进行稀疏矩阵乘法运算的示例代码:


  1. from blocksparse.matmul import BlocksparseMatMul

  2. import tensorflow as tf

  3. import numpy as np

  4. hidden_size = 4096

  5. block_size = 32

  6. minibatch_size = 64

  7. # Create a (random) sparsity pattern

  8. sparsity = np.random.randint(2, size=(hidden_size//block_size,hidden_size//block_size))

  9. # Initialize the sparse matrix multiplication object

  10. bsmm = BlocksparseMatMul(sparsity, block_size=block_size)

  11. # Input to graph

  12. x = tf.placeholder(tf.float32, shape=[None, hidden_size])

  13. # Initialize block-sparse weights

  14. w = tf.get_variable("w", bsmm.w_shape, dtype=tf.float32)

  15. # Block-sparse matrix multiplication

  16. y = bsmm(x, w)

  17. # Run

  18. sess = tf.InteractiveSession()

  19. sess.run(tf.global_variables_initializer())

  20. result = sess.run([y], feed_dict = {x: np.ones((minibatch_size,hidden_size), dtype='float32')})

  21. print(result)


小世界(Small-World)LSTM


块稀疏内核的一个很有趣的应用是用于创建小世界(small-world)神经网络。小世界图的连接方式是图中的任意两个节点之间仅通过少量几步就能连接,即使图中有数百万个节点。我们实现小世界连接的动机是,即使具有高度的稀疏度,我们仍然希望信息在网络中能快速地传播。大脑中的连接模式就是小世界的,这使我们好奇同样的性质能不能用于提高 LSTM 的性能。我们使用小世界稀疏连接高效地训练了拥有大约两万个隐藏单元(与拥有相似参数数量的密集网络相比具有 5 倍的宽度)的 LSTM,提升了文本生成建模和半监督情绪分类的结果,详情参见我们的论文。



在小世界图中,小世界图的连接方式是图中的任意两个节点之间仅通过少量几步就能连接,即使图中有数百万个节点。以上动图展示了一个二维 Watts-Strogatz 小世界图上的中心节点(像素)的激活扩散现象(随机平滑灰度仅仅是为了审美效果)。在这个图中,节点之间的平均路径长度小于 5,和我们在 LSTM 实验中使用的 Barabasi-Albert 图相似。


情绪表征学习


通过使用在我们的情绪神经实验(Unsupervised Sentiment Neuron,http://ift.tt/2jt2ac4 LSTM,并比较了使用密集权重矩阵的模型和一个块稀疏的变体。稀疏模型在所有的情绪数据集上的性能都超越了相对的密集模型。我们的稀疏模型将在文档级 IMDB 数据集上的当前最佳性能从 5.91% 误差率(Miyato 等,2016)降低到了 5.01%。相对于我们之前的结果(Unsupervised Sentiment Neuron,仅在短句级数据集上获得最佳结果),这个提升是很有潜在价值的。



在密集特征上训练的线性模型和稀疏生成模型的情绪分类错误率(%),两者拥有近似相等的参数总数。


压缩结果


通过使用稀疏和宽的 LSTM,在我们实验中的每个特征占用的比特数从 1.059 下降到了 1.048(在相等参数数量的前提下,即大约 1 亿个参数)。拥有块稀疏线性层的架构也可以提高相对于使用密集连接线性层的结果。我们对在 CIFAR-10 自然图像上训练的 PixelCNN++模型做了一个简单的修改。用稀疏内核替代了常规的 2D 卷积核,同时增加网络深度,但保持其它超参数不变,使每个维度占用的比特数从 2.92 下降到 2.90,达到了在该数据集上的当前最佳。


研究方向


我们在这里提几个对未来研究的建议。


大多数神经网络的权重(连接)在训练完成之后都可以修剪掉。如果能结合剪枝技术和我们的稀疏内核,能获得怎样的加速效果呢?


在生物大脑中,除了连接强度以外,网络的稀疏结构部分地在成长过程中确定。是否可以在人工神经网络中实现类似的行为,即不仅将梯度用于学习连接强度,还用于寻找最优的稀疏结构。最新的一篇论文提出了一种方法用于学习块稀疏 RNN(http://ift.tt/2jtyxHF L0 正则化,可用于实现这一目标。


我们训练了拥有成千上万个隐藏单元的 LSTM,可以更好地处理文本。更一般地说,稀疏层使得训练拥有大型权重矩阵(但参数数量、计算开销和相对的密集模型相等)的模型成为可能。这种模型能为哪些领域带来显著的进步呢?


论文:GPU Kernels for Block-SparseWeights




论文链接:http://ift.tt/2B91gf6


摘要:我们正在发布一个低级别神经网络架构(带有块稀疏(block-sparse)权重)的高度优化 GPU 内核,它允许在权重矩阵中带有灵活可配置的块稀疏性模式的线性层(包括卷积层)的高效评估与微分。我们发现根据已选稀疏性,这些内核可以比 cuBLAS 或 cuSPARSE 运行快几个数量级。我们借助这些内核取得了文本情感分析与文本、图像生成建模方面的当前最优结果。通过公开发布这些内核,我们希望可以促进模型和算法设计的进一步发展。

]]> 原文: http://ift.tt/2AGR1xx
RSS Feed

机器知心

IFTTT

Alpha Zero 碎碎念

本文只代表个人观点,且本文不允许任何转载,看见请帮忙举报。

前有:

  • Mastering the Game of Go with Deep Neural Networks and Tree Search
    • 提出了把SL+RL+MCTS
  • Mastering the game of Go without human knowledge
    • 不再用SL,完全用DRL,而且是MCTS上的DRL。

后有:

  • Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm
    • 把Zero的方法general化。

于是乎 新闻媒体开始 铺天盖地 地 报道。我冷静一下,理性分析。

AlphaGo刚出来的那阵子我大学还没有毕业,那段时间只是感觉李世石输得很惨 。随后便是DeepMind一发不可收拾的paper海战术,从DQN开始,Double DQN,Prioritized Experience Replay,Dueling Network,DDPG, A2C, A3C, UNREAL, ACER, ACKTR,TRPO,DPPO,再到近期的 Rainbow 以及 AlphaGo Zero。

最后说一下前天的paper, Alpha Zero。各种文章和报道有分析过的就不想多说了,再随便扯几点别的。。。

0X01 计算资源

5000个第一代TPU进行self-play(以及少量的Evaluator)和64个第二代TPU进行training

Alphago Zero 用了2000+的TPU,到了Alpha Zero 变成了5000,算一笔小帐:

姑且算 1 个 TPU \approx 10颗 GTX 1080TI 好了,批发价我们算5000RMB一块?10×5000=5W 5000个TPU就是:5W×5000=25000W=2.5E

去掉七七八八杂碎,良心价打个折,去掉零头,2亿 软妹币 好了,但愿我数学没算错???亲娘,真的有这么多钱吗?亲爹,反正拿不到这么多机器就对了啦。(听说有句名言叫做: 有钱不仅可以任性,还可以为所欲为??)

0X02 MCTS vs. Alpha-Beta

老实说之前我还真的没有觉得MCTS可以取代Alpha-Beta,毕竟除了围棋之外,象棋,西洋棋,黑白棋,将棋这些棋类的AI还都是以Alpha-Beta+大量的heuristic的程序为主导。AlphaGo Zero出来的时候,确实是惊叹了一下在MCTS上面进行RL training能够取得如此好的效果。可能大家不知道Stockfish有多强,去它的官网看看,或者去github上面看看源码吧,从2008年第一版到现在怎么说也快10年了吧。于心不忍的是Stockfish本来是强到没朋友的,被Alpha Zero说打爆就打爆啊。真的惨。

0X03 关于Input 和 Output

比较有意思的是shogi。将棋总有8种棋子,加上升变后的6种,共有14种,另外需要考虑盘面的重复出现情况,4次就要判和棋。还有被吃掉的子的数量,以及总move数量。总共是 (14+14+3+7+7)*8+1+1=362 乘以8是记录前后8手,这个和alphago zero的做法一样。

再看output,首先是要确定要动哪一个位置的棋子( 9*9 ),然后再确定要动到哪里去(这点是和围棋最不同的地方)。

升变前,除去桂马有两个位置的特殊走法,其他任何子都可以是右边这种走法的子集合,除去自己的位置,上下左右,以及斜对角线,各有8个位置可以到达所以共有 8*8=64 个位置,再加上升变后的情况以及除去将以外可以有其他7种棋子可以重新被拿回到场上,所以是64+2+64+2+7=139

那output就是 9*9*139=11259

换句话说就是对应11259类,这比ImageNet的1000类要多得多,不过通过这种方式还是降低了一些。暴力中又没有那么暴力了。但是说实话在DeepMind没有这样做之前,我并不认为这么高的维度居然也会work。

0X04 关于paper作者

我想不光只看到AlphaGo的Leader David Silver还有诸如 Julian Schrittwieser在deepmind做过星际争霸2Ioannis Antonoglou 很早就做过DQN,Prioritized Experience ReplayMatthew Lai 的 硕士论文就是写的Giraffe (这也是为什么他们随随便便就做西洋棋的原因之一)反正这一票DRL相关的东西他们都做过就对了。233

0X05 其他

反正现在各种复现,各种open source涌出。。。。效果上面和deepmind还是根本没法比。。。

就是在瞎扯,其他没什么了。



via 集智 - 知乎专栏 http://ift.tt/2AWAczt
RSS Feed

RSS7

IFTTT

2017 百度教育年度盛典:通过人工智能对接教育需求与服务



12 月 5 日,「智 IN 中国」——2017 百度教育年度盛典在京召开。百度总裁张亚勤、百度教育事业部总经理张高、中央戏剧学院副教授、著名演员张晓龙等嘉宾出席,展望科技带给教育的变化,表达对于未来教育升级的期冀。


持续打造开放智能平台,推动教育行业智慧升级


百度总裁张亚勤博士在发言中表示,百度在 AI 战略上的强化深入,将推动 AI 技术在细分领域的落地,教育正是其中重要的落地场景之一。依托百度云,百度教育将不断地把百度在人工智能、大数据、云计算的最前沿技术能力向教育行业进行输出,推动人工智能与教育教学实践的深度融合。


未来,百度教育希望能够向全行业开放百度「AI+教育」的成果,共同打造一个开放的教育生态智能平台,真正推动社会范围内的教育智能化升级。


内容化智能化个性化推动教育创新融合,用 AI 连接需求与优质服务


百度教育事业部总经理张高博士开展了以「智慧教育 创新融合」为主题的演讲。他提到,目前,百度教育月活用户高达 5.4 亿,主要用户构成来自于中国最大的文档和学习资料服务平台——百度文库,以及严肃阅读行业市场占比第一的阅读 APP——百度阅读。另外,百度教育旗下面向 K12 和高校所打造的产品——百度智慧课堂,为我国千所中小学及高校提供智能备课、授课和学习解决方案。同时,更多基于 AI 技术所打造的全新产品功能,如:知识捕手、VR 课堂、AR 知识点解析、智能备课等,正以创新的服务体验满足用户教与学的需求。


随后,张高博士对百度教育的后续整体发展方向做出解读。今年,百度教育不仅在内容化、个性化、智能化方面收获了一定成果。同时,也正持续以创新推动升级,用 AI 连接需求与优质服务,致力于开放合作打造优质教育服务生态。张高博士表示,目前,百度教育通过开展「生态合作计划」,已与 1000 余家学校、5000 多家教育机构以及超过 400 家出版社建立了合作生态,正在一步一步实现「AI+教育」真正意义上的创新融合与服务落地。


开放合作打造优质教育服务生态,科技让教育更有温度


百度教育产品负责人则带来了 2017 年百度教育在产品方面的成果。据介绍,基于知识画像、知识连接、知识图谱,百度教育强大的教育优质多态内容已形成了一个智能知识库。智能知识库能够实现细颗粒度知识点挖掘,连接图书、文档、视频、音频等一切内容最终形成知识网络,从而激发用户学习欲望,也让优质内容触手可及。


现场也介绍了百度教育旗下产品线——百度智慧课堂。百度智慧课堂是百度教育在基础教育和高等教育领域重点打造的一款优质资源服务平台。通过百度 AI 技术,以及百万级专业知识图谱,百度智慧课堂串联优质教育资源,有效提高教育资源流通效率,从而推动区域化教育资源共享。例如,针对教师教学中优质备课资源缺乏这一问题,百度智慧课堂可精准识别用户身份,同步判断教学进度,从而实现与教学需求同步的备课资源推荐。此外,百度智慧课堂为传统课堂增加精密测量仪,通过对课前、课中、课后的学生学情进行跟踪分析,让老师时时了解每一个学生的动态和学习需求,为教学规划的设定提供参考。


在公益环节中,百度教育事业部总经理张高博士携手江西省赣州市上犹县县长和教委领导,把百度智慧课堂送去了教育扶贫的一线。双方共同启动了百度教育年度公益项目——人工智能教育示范县。扶贫必扶智,基于百度教育的资源优势、技术优势,免费为上犹县的师生送去优质教育资源与服务,打破教育资源壁垒,促进当地教育水平提升。


最后,百度教育举行 2017 金烛奖颁奖典礼,向以身为烛的教育者们送上表彰。获奖教育机构分别获得「百度教育 2017 年度教育行业典范」、「百度教育 2017 年度影响力在线教育品牌」、「百度教育 2017 年度优质文档机构」等 10 余个奖项。


在人工智能时代,百度致力于用科技让复杂的世界更简单。未来,百度教育将通过人工智能与教育的创新融合,持续打通优质教育资源,构建更开放的教育生态,为用户带来更好的内容和体验,也让更多学习者、教育者切身享受到前沿技术为教育行业带来的变革。


]]> 原文: http://ift.tt/2BQ13us
RSS Feed

机器知心

IFTTT

2017年12月6日星期三

NIPS风波|获奖者登台开炮:ML是炼金术,大神LeCun强硬回怼

夏乙 问耕 发自 凹非寺量子位 出品 | 公众号 QbitAI

谁能想到,NIPS这种顶会都能风波乍起。

Ali Rahimi(阿里·拉希米),因为2007年发表的一篇论文,获得今年的"Test of Time"最具时间价值大奖。当然,阿里作为最佳论文作者理所应当的登台演讲。

起初,这个演讲主要介绍之前的研究成果。阿里说从很多方面来讲,我们的状况都比10年前好多了。在技术上,取得了很大的进步,街上跑着自动驾驶汽车,人工智能可以干很多事情……基于机器学习技术,能产生出几十亿美元的公司。

后来,火药味逐渐浓烈起来,阿里朝着整个深度学习界开了一枪,他说:

但某些方面更糟糕了。

空气中飘荡着一种自鸣得意的感觉,我们会说"人工智能是新的电力"。(安德鲁老师最爱的说法)

我想换个比方:机器学习已经成了炼金术。

炼金术挺好的,炼金术没毛病,它自有它的地位,炼金术"管用"。

炼金术带来了冶金、纺织、现代玻璃制造工艺、医疗等等领域的发明。但同时,炼金术还相信水蛭能治病,廉价金属能变成金子。

从当年的炼金术到现在的物理、化学,到我们现在对宇宙的认识,科学家们要消解掉2000年的炼金术理论。

如果你要做个照片分享系统,用"炼金术"就行。但我们现在所做的远远超出了这个范围,我们所做的系统用在医疗领域,用在社交媒体上,甚至能影响大选。

我希望我所生活的世界里,这些系统都建立在严格、周密、可验证的知识之上,而不是基于"炼金术"。

我有点怀念十年前NIPS上质疑各种想法够不够严谨的"学术警察",希望他们回来。

(不关心技术细节的可以跳过下面的例子)

举个例子,不知道你有没有经历过这样的情况:从零开始搭建、训练了一个神经网络,然后发现它不管用的时候,总觉得是自己的错。这种状况我大约每三个月就要经历一次,我想说,这不是你的错,是梯度下降的错。

比如说这个最简单的深度神经网络,两层线性网络:

左边是我的模型,右边是损失函数,底下是不同参数设置下梯度下降的过程。有时候loss一开始下降得很快,后来就不动了。你可能会觉得遇到了局部最小值,或者鞍点,loss和0相差还很远。

换一个下降的方向,很快就能优化到最低。

你可能会觉得这个例子不自然,或者说梯度下降在更大的神经网络上表现得不错,我的回答是:第一,很多人都被梯度下降坑过;第二,我们把自己的工具用在简单的例子上,从中学习知识,然后应用到更复杂的场景,这正符合我们建立知识的方式。

梯度下降带来的痛苦是真实存在的。

上个月,我的朋友Boris给我发了封邮件:

周五,另一个组有人改动了TensorFlow内部的默认舍入模式,从"舍到0"改成了"四舍五入到偶数"。我们的训练就崩溃了,误差从<25%飙升到了~99.97%。

这样的邮件我收到过不少,网上也有人在讨论类似的问题。

会发生这种情况,是因为我们把脆弱的优化技巧用到了我们不理解的loss上, 我们的解决方案在本来就已经很神秘的技术上增加了更多神秘性。

Batchnorm是加速梯度下降的一种方法,把Batchnorm插入到深度神经网络的层中,梯度下降的速度就会更快。

我不排斥使用一些自己不懂的技术,比如说我是坐飞机来的,并不完全清楚它的工作原理,但知道有整个航空界都在研究这项技术就很安心了。

而对于Batchnorm的工作原理,我们只知道它的功能是"reducing internal covariate shift"。

可是为什么这样就能加速梯度下降了?有没有相关的理论或者实验?你甚至都不清楚internal covariate shift是什么,就不想要一个定义吗?

Batchnorm已经成了构建深度神经网络的一个基础工具,但我们对它几乎一无所知。

想想过去一年里你为了刷竞赛榜单而做的实验、尝试的新技术;再想想过去一年里你为了解释奇怪现象、寻找其根源而做的努力。前者,我们做得很多,后者,我们应该再多做一些。简单的实验和理论是帮我们理解复杂系统的基础。

我们还有一件事可以做。现在,所有商用硬件上运行的成熟计算引擎都是梯度下降的变体,处理着数百亿的变量。

想象一下,如果我们有能在标准商用硬件上运行,处理数百亿变量线性解算器或者矩阵分解引擎,想象一下这样我们能做出多好的优化算法,用多好的模型来做实验,当然,这在数学上和系统上都很难,但这正是我们要解决的问题。

我对这个圈子有真挚的爱,这也是为什么我会站在这儿,号召大家更严格精确,别那么像炼金术师。

希望我们可以共同努力,将机器学习从"炼金术"变成"电力"。

LeCun:实名反对

一石激起千层浪,阿里的演讲引发了热烈的讨论。

深度学习专家、前谷歌大脑成员Denny Britz说:"对很多人来说,这是NIPS的高光时刻。深度学习就像炼金术,我们不知道发生了什么。我们需要在这个领域更加严谨。如果你知道背后没有可靠的科学理论,你会坐上飞机么?"

当然也有人立刻抛出不同意见。比如号称"三巨头"之一的Yann LeCun。他在Facebook上发表了一篇"长篇大论"进行了阐释。

原文概要如下:

阿里发表了一个有趣的演讲,但我压根不同意他说的话。他的核心思想是说:机器学习(ML)现在的实践,类似于"炼金术"(他的原话)。

这是种侮辱,是的。但是不要担心:他是错的。

阿里抱怨目前ML使用的许多方法,缺乏(理论上)的理解,尤其是在深度学习领域。理解是好事,这也是NIPS群体中很多人追求的目标。

但另一个更重要的目标是发明新的方法、新的技术,以及新的技巧(tricks)。

翻看科学技术发展的历史,工程实践总是先于理论理解出现:透镜和望远镜先于光学理论,蒸汽机先于热动力学,飞机先于空气动力学,无线电和数据通信先于信息理论,计算机先于计算机科学。

因此只是因为目前理论工具还没赶上实践,就批评整个ML群体(还是个相当成功的群体)在搞"炼金术",这是一个非常危险的行为。

为什么说危险?因为正是这种态度,曾让ML群体抛弃神经网络超过10年,尽管有充分的证据表明他们在很多情况下效果很好。具有非凸损失函数的神经网络不能保证收敛。所以人们连婴儿带洗澡水一起泼掉了。

只是因为可以进行理论研究就固守一套方法,而且还忽视另一套从经验上来说更好的方法,仅仅是因为还没有从理论上理解它?

是的,我们需要更好的理解我们所用的方法。但是,正确的态度应该是尝试去解决问题,而不是因为还没解决就跑去羞辱整个群体。

致阿里:你每天也在用这些方法,如果你对如何理解他们不满意,请动手研究深度学习的理论,而不是抱怨其他人没做,更不是建议NIPS世界只用"理论正确"的方法。这是错的。

阿里随后跟帖回复:

Yann,感谢你深思熟虑的反馈。你最后的让我进行理论研究的建议,正是Moritz Hardt一年前曾对我说的话。只是一小群人很难取得进步,老实说,我被这个任务的规模压得喘不过气来。这次的演讲也是寻求更多人的帮助。

我呼吁简单的实验和简单的定力,以便我们都可以毫无困惑的传达见解。你可能已经非常擅长建立深度模型,在这方面你的经验可能比几乎任何人都多。但是想象一下新手会有怎样的困惑,一切看起来都像魔术。大家谈论的都是整个模型如何工作,而不是每一个小部分在干什么。

我认同炼金术的方法很重要。这让我们加速向前,解决了眼前的问题。我对那些能迅速建立起直觉以及可工作系统的人怀有最深的敬意。你和我在Google的许多同事都有这样令人印象深刻的技能,但你们只是少数。

我呼吁你们不但授人以鱼,而且还授人以渔,让大家都能达到你的生产力水平。我所期望的"严谨"是:简单的实验,简单的定理。

LeCun再回复:

简单和通用理论很好。

热力学的原则,让我们免于浪费时间去寻找永动机。在ML领域我们已经有这样的理论,适用于所有的学习机器,包括神经网络。

但是很有可能不会有专注于神经网络的"简单"定理,原因类似于我们没有纳维-斯托克斯方程或者三体问题的解析解。

背景交代

Ali Rahimi,去年5月加入Google,目前担任Member of Technical Staff(这个职位类似于主任工程师)。2005-2011年期间,他供职于英特尔担任研究员。

这次被NIPS 2017评为最佳时间检验奖的论文《Random Features for Large-Scale Kernel Machines》,就是他在英特尔期间发表的。

1997年,阿里在UC Berkeley获得学士学位,随后在MIT获得硕士和博士学位。

如果你对他感兴趣,可以看看他的个人主页。在欣赏了他的女友、兄弟和女朋友们的照片后,量子位感觉这也是一个"逗逼型"科学家。

主页地址:http://ift.tt/2zUnXj1

炼金术又是啥?

根据维基和百度百科,炼金术(Alchemy)的目标,是想把"贱金属"炼制成"贵金属",比方把铅变成黄金。(当然还有炼丹,想造出长生不老药)。包括牛顿也曾研究过这门技术。不过现代化学证明,这种方法是行不通的。

OMT

以上,就是这次NIPS大会上关于真理标准的大讨论。

最后推荐一款应景的T恤,就是下面这款啦

在国外的服装定制平台Teespring有售,如果你对这件T恤感兴趣,而且熟悉海外购物流程,在量子位微信账号(QbitAI)回复:""一个字,就能获得购买地址。

—完—

欢迎大家关注我们的专栏:量子位 - 知乎专栏

诚挚招聘

量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复"招聘"两个字。

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态



via 量子位 - 知乎专栏 http://ift.tt/2zVCTxs
RSS Feed

RSS5

IFTTT

LangChain 彻底重写:从开源副业到独角兽,一次“核心迁移”干到 12.5 亿估值 -InfoQ 每周精要No.899期

「每周精要」 NO. 899 2025/10/25 头条 HEADLINE LangChain 彻底重写:从开源副业到独角兽,一次"核心迁移"干到 12.5 亿估值 精选 SELECTED 1000 行代码手搓 OpenAI gpt-oss 推理引...