https://blog.csdn.net/valada/article/details/79910125
内容简介
人工智能和机器学习领域的学术论文汗牛充栋。每年的各大顶级会议、研讨班录用好几千篇论文,即便是亲临现场也很难追踪到所有的前沿信息。在时间精力有限的情况下,选择精读哪些论文,学习哪些热门技术就成为了 AI 学者和从业人员所头痛的问题。这个栏目就是要帮助大家筛选出有意思的论文,解读出论文的核心思想,为精读提供阅读指导。
本书内容
深度增强学习前沿算法思想
2016年 AlphaGo 计算机围棋系统战胜顶尖职业棋手李世石,引起了全世界的广泛关注,人工智能进一步被 推到了风口浪尖。而其中的深度增强学习算法是 AlphaGo 的核心,也是通用人工智能的实现关键。本文将 带领大家了解深度增强学习的前沿算法思想,领略人工智能的核心奥秘。
前言
深度增强学习(Deep Reinforcement Learning,DRL)是近两年来深度学习领域迅猛发展起来的一个分支,目的是解决计算机从感知到决策控制的问题,从而实现通用人工智能。以 Google DeepMind 公司为首,基于深度增强学习的算法已经在视频、游戏、围棋、机器人等领域取得了突破性进展。2016年 Google DeepMind 推出的 AlphaGo 围棋系统,使用蒙特卡洛树搜索和深度学习结合的方式使计算机的围棋水平达到甚至超过了顶尖职业棋手的水平,引起了世界性的轰动。AlphaGo 的核心就在于使用了深度增强学习算法,使得计算机能够通过自对弈的方式不断提升棋力。深度增强学习算法由于能够基于深度神经网络实现从感知到决策控制的端到端自学习,具有非常广阔的应用前景,它的发展也将进一步推动人工智能的革命。
深度增强学习与通用人工智能
当前深度学习已经在计算机视觉、语音识别、自然语言理解等领域取得了突破,相关技术也已经逐渐成熟并落地进入到我们的生活当中。然而,这些领域研究的问题都只是为了让计算机能够感知和理解这个世界。以此同时,决策控制才是人工智能领域要解决的核心问题。计算机视觉等感知问题要求输入感知信息到计算机,计算机能够理解,而决策控制问题则要求计算机能够根据感知信息进行判断思考,输出正确的行为。要使计算机能够很好地决策控制,要求计算机具备一定的“思考”能力,使计算机能够通过学习来掌握解决各种问题的能力,而这正是通用人工智能(Artificial General Intelligence,AGI)(即强人工智能)的研究目标。通用人工智能是要创造出一种无需人工编程自己学会解决各种问题的智能体,最终目标是实现类人级别甚至超人级别的智能。
通用人工智能的基本框架即是增强学习(Reinforcement Learning,RL)的框架,如图1所示。
图1 通用人工智能基本框架
智能体的行为都可以归结为与世界的交互。智能体观察这个世界,然后根据观察及自身的状态输出动作,这个世界会因此而发生改变,从而形成回馈返回给智能体。所以核心问题就是如何构建出这样一个能够与世界交互的智能体。深度增强学习将深度学习(Deep Learning)和增强学习(Reinforcement Learning)结合起来,深度学习用来提供学习的机制,而增强学习为深度学习提供学习的目标。这使得深度增强学习具备构建出复杂智能体的潜力,也因此,AlphaGo 的第一作者 David Silver 认为深度增强学习等价于通用人工智能 DRL=DL+RL=Universal AI。
深度增强学习的 Actor-Critic 框架
目前深度增强学习的算法都可以包含在 Actor-Critic 框架下,如图2所示。
图2 Actor-Critic框架
把深度增强学习的算法认为是智能体的大脑,那么这个大脑包含了两个部分:Actor 行动模块和 Critic 评判模块。其中 Actor 行动模块是大脑的执行机构,输入外部的状态 s,然后输出动作 a。而 Critic 评判模块则可认为是大脑的价值观,根据历史信息及回馈 r 进行自我调整,然后影响整个 Actor 行动模块。这种 Actor-Critic 的方法非常类似于人类自身的行为方式。我们人类也是在自身价值观和本能的指导下进行行为,并且价值观受经验的影响不断改变。在 Actor-Critic 框架下,Google DeepMind 相继提出了 DQN,A3C 和 UNREAL 等深度增强学习算法,其中 UNREAL 是目前最好的深度增强学习算法。下面我们将介绍这三个算法的基本思想。
DQN(Deep Q Network)算法
DQN 是 Google DeepMind 于2013年提出的第一个深度增强学习算法,并在2015年进一步完善,发表在2015年的《Nature》上。DeepMind 将 DQN 应用在计算机玩 Atari 游戏上,不同于以往的做法,仅使用视频信息作为输入,和人类玩游戏一样。在这种情况下,基于 DQN 的程序在多种 Atari 游戏上取得了超越人类水平的成绩。这是深度增强学习概念的第一次提出,并由此开始快速发展。
DQN 算法面向相对简单的离散输出,即输出的动作仅有少数有限的个数。在这种情况下,DQN 算法在 Actor-Critic 框架下仅使用 Critic 评判模块,而没有使用 Actor 行动模块,因为使用 Critic 评判模块即可以选择并执行最优的动作,如图3所示。
图3 DQN 基本结构
在 DQN 中,用一个价值网络(Value Network)来表示 Critic 评判模块,价值网络输出 Q(s,a),即状态 s 和动作 a 下的价值。基于价值网络,我们可以遍历某个状态 s 下各种动作的价值,然后选择价值最大的一个动作输出。所以,主要问题是如何通过深度学习的随机梯度下降方法来更新价值网络。为了使用梯度下降方法,我们必须为价值网络构造一个损失函数。由于价值网络输出的是 Q 值,因此如果能够构造出一个目标 Q 值,就能够通过平方差 MSE 的方式来得到损失函数。但对于价值网络来说,输入的信息仅有状态 s,动作 a 及回馈 r。因此,如何计算出目标 Q 值是 DQN 算法的关键,而这正是增强学习能够解决的问题。基于增强学习的 Bellman 公式,我们能够基于输入信息特别是回馈 r 构造出目标 Q 值,从而得到损失函数,对价值网络进行更新。
图4 UNREAL 算法框图
在实际使用中,价值网络可以根据具体的问题构造不同的网络形式。比如 Atari 有些输入的是图像信息,就可以构造一个卷积神经网络(Convolutional Neural Network,CNN)来作为价值网络。为了增加对历史信息的记忆,还可以在 CNN 之后加上 LSTM 长短记忆模型。在 DQN 训练的时候,先采集历史的输入输出信息作为样本放在经验池(Replay Memory)里面,然后通过随机采样的方式采样多个样本进行 minibatch 的随机梯度下降训练。
DQN 算法作为第一个深度增强学习算法,仅使用价值网络,训练效率较低,需要大量的时间训练,并且只能面向低维的离散控制问题,通用性有限。但由于 DQN 算法第一次成功结合了深度学习和增强学习,解决了高维数据输入问题,并且在 Atari 游戏上取得突破,具有开创性的意义。
A3C(Asynchronous Advantage Actor Critic)算法
A3C 算法是2015年 DeepMind 提出的相比 DQN 更好更通用的一个深度增强学习算法。A3C 算法完全使用了 Actor-Critic 框架,并且引入了异步训练的思想,在提升性能的同时也大大加快了训练速度。A3C 算法的基本思想,即 Actor-Critic 的基本思想,是对输出的动作进行好坏评估,如果动作被认为是好的,那么就调整行动网络(Actor Network)使该动作出现的可能性增加。反之如果动作被认为是坏的,则使该动作出现的可能性减少。通过反复的训练,不断调整行动网络找到最优的动作。AlphaGo 的自我学习也是基于这样的思想。
基于 Actor-Critic 的基本思想,Critic 评判模块的价值网络(Value Network)可以采用 DQN 的方法进行更新,那么如何构造行动网络的损失函数,实现对网络的训练是算法的关键。一般行动网络的输出有两种方式:一种是概率的方式,即输出某一个动作的概率;另一种是确定性的方式,即输出具体的某一个动作。A3C 采用的是概率输出的方式。因此,我们从 Critic 评判模块,即价值网络中得到对动作的好坏评价,然后用输出动作的对数似然值(Log Likelihood)乘以动作的评价,作为行动网络的损失函数。行动网络的目标是最大化这个损失函数,即如果动作评价为正,就增加其概率,反之减少,符合 Actor-Critic 的基本思想。有了行动网络的损失函数,也就可以通过随机梯度下降的方式进行参数的更新。
为了使算法取得更好的效果,如何准确地评价动作的好坏也是算法的关键。A3C 在动作价值Q的基础上,使用优势 A(Advantage)作为动作的评价。优势 A 是指动作 a 在状态 s 下相对其他动作的优势。假设状态 s 的价值是 V,那么 A=Q-V。这里的动作价值 Q 是指状态 s 下 a 的价值,与 V 的含义不同。直观上看,采用优势 A 来评估动作更为准确。举个例子来说,假设在状态 s 下,动作1的 Q 值是3,动作2的 Q 值是1,状态s的价值V是2。如果使用 Q 作为动作的评价,那么动作1和2的出现概率都会增加,但是实际上我们知道唯一要增加出现概率的是动作1。这时如果采用优势 A,我们可以计算出动作1的优势是1,动作2的优势是-1。基于优势A来更新网络,动作1的出现概率增加,动作2的出现概率减少,更符合我们的目标。因此,A3C 算法调整了 Critic 评判模块的价值网络,让其输出 V 值,然后使用多步的历史信息来计算动作的 Q 值,从而得到优势 A,进而计算出损失函数,对行动网络进行更新。
A3C 算法为了提升训练速度还采用异步训练的思想,即同时启动多个训练环境,同时进行采样,并直接使用采集的样本进行训练。相比 DQN 算法,A3C 算法不需要使用经验池来存储历史样本,节约了存储空间,并且采用异步训练,大大加倍了数据的采样速度,也因此提升了训练速度。与此同时,采用多个不同训练环境采集样本,样本的分布更加均匀,更有利于神经网络的训练。
A3C 算法在以上多个环节上做出了改进,使得其在 Atari 游戏上的平均成绩是 DQN 算法的4倍,取得了巨大的提升,并且训练速度也成倍的增加。因此,A3C 算法取代了 DQN 成为了更好的深度增强学习算法。
UNREAL(UNsupervised REinforcement and Auxiliary Learning)算法
UNREAL 算法是2016年11月 DeepMind 提出的最新深度增强学习算法,在A3C算法的基础上对性能和速度进行进一步提升,在 Atari 游戏上取得了人类水平8.8倍的成绩,并且在第一视角的3D迷宫环境 Labyrinth 上也达到了87%的人类水平,成为当前最好的深度增强学习算法。
A3C 算法充分使用了 Actor-Critic 框架,是一套完善的算法,因此,我们很难通过改变算法框架的方式来对算法做出改进。UNREAL 算法在 A3C 算法的基础上,另辟蹊径,通过在训练 A3C 的同时,训练多个辅助任务来改进算法。UNREAL 算法的基本思想来源于我们人类的学习方式。人要完成一个任务,往往通过完成其他多种辅助任务来实现。比如说我们要收集邮票,可以自己去买,也可以让朋友帮忙获取,或者和其他人交换的方式得到。UNREAL 算法通过设置多个辅助任务,同时训练同一个 A3C 网络,从而加快学习的速度,并进一步提升性能。
在 UNREAL 算法中,包含了两类辅助任务:第一种是控制任务,包括像素控制和隐藏层激活控制。像素控制是指控制输入图像的变化,使得图像的变化最大。因为图像变化大往往说明智能体在执行重要的环节,通过控制图像的变化能够改善动作的选择。隐藏层激活控制则是控制隐藏层神经元的激活数量,目的是使其激活量越多越好。这类似于人类大脑细胞的开发,神经元使用得越多,可能越聪明,也因此能够做出更好的选择。另一种辅助任务是回馈预测任务。因为在很多场景下,回馈 r 并不是每时每刻都能获取的(比如在 Labyrinth 中吃到苹果才能得1分),所以让神经网络能够预测回馈值会使其具有更好的表达能力。在 UNREAL 算法中,使用历史连续多帧的图像输入来预测下一步的回馈值作为训练目标。除了以上两种回馈预测任务外,UNREAL 算法还使用历史信息额外增加了价值迭代任务,即 DQN 的更新方法,进一步提升算法的训练速度。
UNREAL 算法本质上是通过训练多个面向同一个最终目标的任务来提升行动网络的表达能力和水平,符合人类的学习方式。值得注意的是,UNREAL 虽然增加了训练任务,但并没有通过其他途径获取别的样本,是在保持原有样本数据不变的情况下对算法进行提升,这使得 UNREAL 算法被认为是一种无监督学习的方法。基于 UNREAL 算法的思想,可以根据不同任务的特点针对性地设计辅助任务,来改进算法。
小结
深度增强学习经过近两年的发展,在算法层面上取得了越来越好的效果。从 DQN,A3C 到 UNREAL,精妙的算法设计无不闪耀着人类智慧的光芒。在未来,除了算法本身的改进,深度增强学习作为能够解决从感知到决策控制的通用型学习算法,将能够在现实生活中的各种领域得到广泛的应用。AlphaGo 的成功只是通用人工智能爆发的前夜。
NIPS 2016精选论文
人工智能和机器学习的顶级会议 Neural Information Processing Systems 2016 (NIPS 2016)12月已经在西班牙的巴塞罗那圆满举行。因为 NIPS 的论文涵盖主题非常广泛,所以一般读者很难从浩如烟海的文献中即刻抓取到有用信息。同时,读到有价值的信息需要专业知识和不少时间投入。在本文中,继续上一期,笔者精选出5篇有意思的文章,为读者解惑。
Can Active Memory Replace Attention
概要:Active Memory 能够替代 Attention 吗?本文想要探讨这样的话题。不过,从结果看,答案是,不能。
这篇文章来自 Google Brain 的 Lukasz Kaiser 和 Samy Bengio。文章的主旨是想使用一种叫做 Active Memory 的机制来替代 Attention 机制。文章通过扩展第一作者在 ICLR 2016提出的一个 Neural-GPU 模型,使其拥有 Active Memory 的能力并且叫做 Extended-Neural GPU,通过机器翻译来展现该机制可与 Attention 匹敌。不过,读者们需要注意,文中提出的 Active Memory 机制主要基于 Convolution Operator,是否能够扩展到其他模型,还需要进一步讨论。
文章最有价值的部分在于 Attention 机制以及 Active Memory 机制的讨论。从模型的发展角度来说,文章指出,Attention 机制的提出是要解决使用 RNN 来进行机器翻译时,因为一个固定维度的 Hidden Vector,导致翻译效果下降,甚至在比较长的语句中翻译效果进一步恶化。本质来说,Attention 机制就是把这些中间结果组合起来,也就不仅仅是一个固定长度的隐含状态,而是一个所谓的记忆(Memory)Tensor,在解码的每一步,一个基于过去 Memory 的 Distribution 会被计算,然后解码器(Decoder)的输入是过去这些 Memory 的一个加权平均。因此,在这样的机制下,解码器可以对过去不同的细节进行关注,从而产生需要的字符。这套 Attention 机制已经被认为在机器翻译之外,如图形模型中有较好效果。文章认为 Attention 的局限在于其定义本身,也就是 Attention 定义中的 Softmax。这个 Softmax 还是想关注过去 Memory 中的某一个单元。
文章认为,这个局限使得在一些任务中,Attention 机制完全无法完成相应的学习功能。是否能够打破这个局限?文章认为 Acitve Memory 机制可以打破 Attention 的局限。简单说来,Active Memory 就是在解码这个步骤依赖并且访问所有的Memory,每一步解码的 Memory 都不一样。当然,这个机制在之前的 Neural-GPU 中已经提出来,并且在那篇文章中展现出了算法任务(Algorithmic Tasks)上的良好性能。但在传统的机器翻译任务上,这样的模型效果并不理想。这篇文章就是想通过对模型进行小改进从而达到在机器翻译任务上的进步。在这里我们不复述模型的改进,因为感觉这个改进并不具备普遍适用性而是为了增强模型性能所做的 Hack。不过,文章指出,作者的思路和 Grid LSTM 比较相似,有兴趣的读者可以去参考。在经历了一系列 Hack 之后,新提出来的 Extended Neural-GPU 在机器翻译这个任务上,与 GRU+Attention 有了相似的模型性能。对于 Attention 机制有兴趣的读者,可以精读这篇文章。
Stein Variational Gradient Descent: A General Purpose Bayesian Inference Algorithm
摘要:Variational Inference 的难点是没有通用的算法模式,这篇文章也许是一个启发。
众所周知,Bayesian Inference 的难点是如何对 Posterior Distribution 进行计算。在很长一段时间内 Markov chain Monte Carlo (MCMC)是解决这类问题的有效工具。然而,MCMC 的缺点是速度慢,并且很难判断是否已经 Converge。所以,这也是很多时候 Variational Inference(VI)显得要更加吸引人的原因,因为 VI 常常是一个 Deterministic 的算法,并且很多优化(Optimization)领域的工具都可以拿来使用。VI 的问题是,对于不同的 Model,一般需要进行单独推导,并没有统一的一般形式的算法来解模型。如何提出一个一般意义的算法对 VI 进行优化,是最近 VI 领域的热门研究课题。这篇文章也是对该领域推动的一次尝试。文章提出的算法本身比较简单,具有下面这几个特点:
算法初始时从一个简单的 Distribution 抽出一堆 Particles(也可以认为是Samples)。
然后进行多次迭代,每次迭代时所有 Particles 都朝着减小 KL Divergence 的方向前进,这一步用作者的观点说就是类似 Gradient Descent 的一种做法。
最后算法返回一堆 Particles,它们已经可以代表 Posterior Distribution 了。
这个算法最关键的是第二步如何进行,简单说来,涉及两个部分:
把 Particles 移动到 Posterior Distribution 的高 Probability 区域,这样能让 Particles 具有代表性。
同时,也不让这些 Particles 都聚拢在一起(Collapsed),也就是说,依然希望这些 Particles 具有多样性代表整个 Posterior Distribution 的各个部分。
其实文章的难点和深涩的地方是解释为什么这个流程是正确的算法,里面涉及到所谓的 Stein Identity 以及 Kernelized Stein Discrenpancy。这里就不复述了,有兴趣的读者可以去留意原文。文章的实验部分比较简单,先对一个一维的 Gaussian Distribution 的情况做了 Validation,确保可以运行。紧接着在 Bayesian Logistic Regression 和 Bayesian Neural Network 上面做了实验,对比了一系列方法和数据集。总体看,提出的算法有两大优势:第一,准确度明显高于其他算法,第二,速度大幅增加。对于这类新算法文章,可能还是希望能够看到应用到更复杂的模型上以及更大的数据上。
Coresets for Scalable Bayesian Logistic Regression
摘要:在大规模机器学习的浪潮中,主要思路往往是改进算法本身来适应数据的增大。这篇文章则提出一个新颖的思路,来构建具有代表性的数据集,从而来扩展算法的规模。
这篇文章出自麻省理工(MIT)Tamara Broderick 教授的实验室。Tamara 之前是 Michael Jordan 的学生,主要研究 Bayesian Nonparametric 模型。文章思路比较新颖,在传统的把基于单机的 Bayesian inference 算法推广到大数据的过程中,一般的思路往往是改进算法本身。比如文章提到了 Streaming Variational Inference 或者是 Distributed MCMC 等算法,都是要在经典的算法基础上进行更改,适应大数据的应用场景。对于这样的一般思路,文章认为这些改进后的算法往往缺乏理论的严格证明,并且也对算法的质量并没有保证。
这篇文章的观察是基于这么一个假设,那就是在大数据的情况下,数据本身往往是冗余的。比如,在一个新闻事件爆发的时候,很多对于这个事件的报道都是相似的。这篇文章的根本思路是,尝试改变数据集,而不是算法本身,来达到算法的大规模应用。文章采取了一个叫 Coreset 的概念,也就是一个加权的数据子集,用来逼近全集数据。Coreset 这一概念已经在诸如 K-means 或者 PCA 等算法中得到研究,之前并没有被应用到 Bayesian 的情况下。这篇本文是用 Bayesian Logistic Regression 来做例子。那么,这个 Coreset 如何构建呢?文章提出了这样的算法:
首先要基于一个 K-Clustering(后来的实验中采用了 K-means);
然后计算一个叫做 Sensitivity 的值,用来衡量每一个数据点是否冗余,这个值越大,就越不冗余;
把所有的 Sensitivity 重新 Normalize,并且从 Normalize 之后的 Weight 里面,Sample 出一组数据,最后留下非零 Weight 的数据集。
文章对这个 Coreset 进行了严格的证明,这里就不复述了。文章的实验在生成的数据集以及真实数据集中都进行了对比。在好几个数据集上,采用 Coreset 的算法能够在几千到几万这个数量级上很快达到普通算法在全集上的效果。不过,文章也留下了几个非常根本的疑问,比如这个 Coreset 看上去是为 Logistic Regression 特殊构造的,不知道对于其他的算法该如何构造。另外,算法本身需要对数据进行 K-Clustering,这对于大数据来说可能已经很难达到,于是整体的算法效率还有待考验。不过这些不掩盖这篇文章的新颖思路。
Data Programming: Creating Large Training Sets, Quickly
摘要:在很多机器学习的任务中,构建一个有标注的数据集可能是最消耗人工的步骤。这篇文章提出了一个叫 Data Programming 的理论来尝试解决这个问题。
这篇文章来自斯坦福大学的一批学者。他们想要解决这么一个问题,那就是在很多机器学习的任务中,构建一个有标注的数据集可能是最消耗人工的步骤。如何能够有效降低这步的时间和投入的精力,成了这篇文章的主题。
文章提出了一个叫 Data Programming 的概念。简单说来,在这个框架下,用户提供一组 Heuristic 标注函数(Labeling Functions)。这些标注函数可以互相抵触,可以重复,也可以依赖外部的 Knowledge Base 等。然后,文章提出的框架则学习各个标注函数之间的 Correlation 关系,从而可以利用多种标注函数,达到监督学习(Supervised Learning)的效果。文章采用 Logistic Regression 在 Binary 的分类问题上作为一个例子。每一个 Heuristic 标注函数拥有两个参数,一个是控制有多大可能性标注一个对象,而另一个则是控制标注对象的准确度。于是学习这两个参数就成为目标函数的主要部分。在所有的标注函数都是独立的情况下,文章采用了最大似然(Maximum Likelihood Estimation)的方法估计到这两个参数的取值。
在已经得到了这两个估计的情况下,作者们进一步利用原本的 Logistic Regression 来学习一个分类器。也就是说,整个框架分为两个部分。当然,独立的标注函数作用还是有限。文章提出了一个类似 Markov Random Field 的方式来处理各个标注函数之间的相互关系。在数据实验中,基于 Data Programming 的方法不管是在人工 Feature 还是采取 LSTM 自动学习的 Feature 中都有很显著的效果提升。这篇文章非常适合需要对 Crowdsourcing 进行学习和研究的学者。
Residual Networks Behave Like Ensembles of Relatively Shallow Network
摘要:残差网为什么能够训练深层次的网络?这篇文章从集成学习(Ensemble Learning)的角度入手,给残差网新的解释。
这篇文章来自于康奈尔大学的学者,他们在这篇文章里,主要是想从全新的,也就是集成学习(Ensemble Learning)的角度来解释残差网的成功。这篇文章的贡献主要有以下三个方面:
文章展示了残差网其实可以被看做是很多路径(Path)的集合,而不仅仅是一个很深的网络。
文章通过研究发现,这些路径并不互相紧密拟合。同时,这些路径表现出了集成学习的效果。
作者同时也研究了残差网的 Gradient 问题,发现仅仅是短路径对 Gradient 的传播起了作用,而更深的路径在训练模型时并不是必须的。
文章的核心其实是把残差网的所有层级之间的路径全部展开(Unravel),从而可以展示出残差网其实是很多变元(Variable)的路径,也就是由路径长短不一的网络群组成。在这样的启示下,我们很容易发现,即便删除残差网的一些节点,这仅仅会影响非常多路径中的一部分,但对整体路径群并没有特别大的影响。从这一点来说,残差网和传统的 Feed-Forward 网络有很大的不同。作者做了几组实验来展示这种变元路径对于残差网的影响。首先,删除残差网中的 Residual Module,并且比较了相同的行为在 VGG 网络中的情况。效果是残差网的性能并没有得到根本的变化,而 VGG 的性能则大打折扣。进一步,作者删除了残差网中的多个Module,观察到误差进一步上升,从而发现模块的个数和性能的相关性,得出残差网有集成学习效应的结论。
另外一个实验,则是作者任意更换模块的顺序,结果惊人,残差网居然对于部分的模块交换有鲁棒(Robust)效果。文章最后通过一些小的模拟实验,验证了关于 Gradient 的假设,并且展示了残差网中真正起作用的路径其实都相对较短。文章应该是打开了很多未来研究的话题,比如残差网如果并没有真正解决深度网络的“深”(Deep)的问题,而是多样性的路径带来了残差网性能上的提升,那么深度网络究竟需不需要很深的结构呢?能不能训练很多结构迥异的小网络,或者是动态生成这些小网络,然后依靠集成学习来达到残差网的效果呢?这些都是未来可以探讨的课题。
WSDM 2017精选论文
ICLR 2017精选论文
WWW 2017精选论文
AISTATS 2017精选论文
ACL 2017精选论文
阅读全文: http://gitbook.cn/gitchat/geekbook/5a5c5e6a2be8c361148234e6