Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

Panda编译

ICLR 2019 | 用浅度学习训练深度网络:避开端到端深度学习难题

第七届国际学习表征会议 ICLR 2019 将于明年 5 月在美国新奥尔良举办,目前该会议的论文正处于双盲评议阶段。本文介绍的这篇论文介绍了一种通过浅度学习优化深度网络的方法,实验表明这种方法在某些任务上能达到端到端的深度学习方法的同等表现。

论文地址:https://openreview.net/pdf?id=r1Gsk3R9Fm

摘要:浅度的监督式的具有 1 个隐藏层的神经网络具有一些受人喜爱的性质,使得它们比深度网络更容易被解释、分析和优化;但它们的表征能力却不及深度网络。这里我们使用了具有 1 个隐藏层的学习问题来序列式地逐层构建深度网络,其能够继承浅度网络的属性。与之前的使用浅度网络的方法相反,我们关注的是有研究认为深度学习具有至关重要的价值的问题。因此,我们在两个大规模图像识别任务上研究了 CNN:ImageNet 和 CIFAR-10。使用一组简单的架构和训练的思路,我们发现求解序列式的具有 1 个隐藏层的辅助问题能使所得到的 CNN 的表现超越 AlexNetImageNet 上的表现。我们还对我们的训练方法进行了扩展,通过求解 2 和 3 个隐藏层的辅助问题来构建单个层,我们得到了一个 11 层的网络,其在 ImageNet 上优于 VGG-11,得到了 89.8% 的 top-5 单个裁剪识别准确度(single crop)。就我们所知,这是首个可扩展用于 ImageNet 且可媲美端到端的 CNN 训练的替代方法。我们进行了广泛的实验,研究了其在中间层上的性质。

引言

通过反向传播算法在大规模有监督数据上训练的深度卷积神经网络(CNN)已经成为了大多数计算机视觉任务中的主导方法(Krizhevsky et al., 2012)。这也推动了深度学习在其它领域的成功应用,比如语音识别(Chan et al., 2016)、自然语言处理(Vaswani et al., 2017)和强化学习(Silver et al., 2017)。但是,我们仍然还难以理解深度网络的行为以及它们表现出色的原因。这种困难的一大原因是网络的层中采用了端到端的学习方式。

监督式的端到端学习是神经网络优化的标准方法。但是其也存在一些值得考虑的潜在问题。首先,使用全局目标就意味着一个深度网络的单个中间层的最终函数行为只能以间接的方式确定:这些层是如何协同工作以得到高准确度的预测结果的,这一点却完全不明晰。有一些研究者认为并且通过实验表明 CNN 能够学习实现这样的机制:将不变性逐渐诱导成复杂但不相关的可变性(Mallat, 2016; Yosinski et al., 2015),同时增加数据的线性可分性(Zeiler & Fergus, 2014; Oyallon, 2017; Jacobsen et al., 2018)。

虽然 CNN 已经在实验中表现出了渐进的线性可分性,但我们仍不清楚这完全是由 CNN 所实现的其它策略所造成的结果,还是所观察的这些网络的优良表现的一个充分条件。其次,理解浅度神经网络和深度神经网络之间的联系是很困难的:尽管已有研究给出了具有 1 个隐藏层的神经网络的泛化、近似或优化结果(Barron, 1994; Bach, 2014; Venturi et al., 2018; Neyshabur et al., 2018; Pinkus, 1999),但这些研究也表明从理论上理解具有多个隐藏层的神经网络要困难得多。最后,在计算和内存资源方面,端到端的反向传播可能很低效(Jaderberg et al., 2016; Salimans et al., 2017)。此外,对于某些学习问题而言,完整梯度的信息量不及其它方法(Shalev-Shwartz et al., 2017)。

通过求解浅度监督学习问题而实现的 CNN 层的序列学习是一种可替代端到端反向传播的方法。这一策略可以直接指定每一层的目标,例如通过激励对表征的特定属性的精细化(Greff et al., 2016),比如渐进的线性可分性。然后,就可以根据对浅度子问题的理论理解来开发用于深度贪婪式方法的理论工具。实际上,Arora et al. (2018)、Bengio et al. (2006)、Bach (2014)、Janzamin et al. (2015) 表明了全局最优近似,同时还有其它研究表明基于 1 个隐藏层训练的网络在特定的假设下可以有不同种类的确定结果(Huang et al., 2017; Malach & Shalev-Shwartz, 2018; Arora et al., 2014):逐个贪婪层的方法允许将这些结果级联成更大的架构。

最后,贪婪方法对读取完整梯度的依赖要低得多。这有望避免出现类似 Shalev-Shwartz et al. (2017) 中的问题。从算法角度看,它们不需要保存大多数的中间激活,也无需计算大多数的中间梯度。这有益于内存有限的场景。不幸的是,之前的研究没能让人信服的证明逐层策略可以解决这种类型的大规模问题,而正是这些问题将深度学习带到了聚光灯下。我们提出了一种可直接简单地用于 CNN 的策略,并且表明该策略可以扩展和分析其构建的表征。

我们的贡献如下:(1)首先,我们在第 3 节设计了一种简单且可扩展的用于学习逐层 CNN 的方法。(2)然后,第 4.1 节通过实验表明:通过序列式地求解具有 1 个隐藏层的问题,我们可以达到与基于 ImageNetAlexNet 相媲美的表现。这为那些研究具有 1 个隐藏层的网络及其序列式训练的同等网络的文献提供了支持。(3)我们在第 4.2 节表明逐层训练的层能表现出渐进的线性可分性。(4)尤其需要指出,我们借此通过浅度的具有 k 个隐藏层的辅助问题(k>1)来激励逐层 CNN 层的学习。使用这一方法,我们的序列式训练的具有 3 个隐藏层的模型的表现能够达到 VGG-13 的水平(第 4.3 节)。(5)我们提出了一种方法,可以在这些网络的训练过程中轻松降低模型的大小。

图 1:我们的逐层学习框架的高层面图示,使用了 k=2 个隐藏层。输入图像以及 j=2 时都使用了下采样 P(Jacobsen et al., 2018)

实验和讨论

图 2:CIFAR-10 模型的(左)线性和(右)CNN-p 可分性随网络深度的变化。对于线性可分性,我们聚合了 M = 64, 128, 256 的结果,附录 C 给出了各个结果,相对趋势也很大程度上没有变化,但更大的 M 中的整体准确度也更高。对于 CNN-p 探针,所有的模型都在第 1 或 2 层实现了 100% 的训练准确度,所以这里仅给出了测试准确度。

表 1:在 ImageNet 上的单个裁剪验证准确度。我们的模型使用了 J=8。括号中的数据是集成预测结果。 指定了模型的辅助网络,其替代了最后一个辅助网络。相对于原来的更大的辅助网络,它们仅表现出了少量损失。逐层模型与类似的没有使用 skip 连接的基准方法表现相当,并且优于所有其它端到端方法。

表 2:在 CIFAR-10 上的结果。相比于几种已有的方法,我们仅使用逐层训练方案就实现了显著的性能提升。整体而言,我们的模型和相似的未使用 skip 连接的著名基准模型的表现相当。

架构的数学形式

我们的架构有 J 个模块(见图 1),它们是连续训练的。根据输入信号 x,一个初始表征 x0,x 传播通过 j 个卷积,得到 xj。每个 xj 都输入一个辅助分类器,得到预测结果 zj,其计算的是一个中间的分类输出。在深度 j 处,用 Wθj 表示一个带有参数 θj 的卷积算子,用 Cγj 表示所有参数为 γj 的辅助分类器,用 Pj 表示下采样算子。这些参数对应于具有偏置项的 3×3 卷积核。从形式上看,对于 xj 层,我们以如下方式构建 {xj+1, zj+1}:

其中 c 是类别的数量。对于池化算子 P,我们选择的是 Dinh et al. (2017) 中描述的可逆的下采样运算,其中包括将初始的空间通道重组成 4 个以空间方式抽取的副本,这些副本可通过 2×2 的空间子采样获得,从而将分辨率降低 2 倍。我们决定不使用跨步池化、平均池化和非线性最大池化,因为这些池化方法会显著加剧信息损失。作为 CNN 中的标准做法,P 被应用在了特定的层中(Pj=P),但在其它层中没有使用(Pj=Id)。分类器 Cγj 是一个 CNN,可以写成:

其中  是宽度恒定的卷积层,A 是一个空间平均算子,L 是一个输出维度为 c 的线性算子。需要指出,这个平均操作在早期层中对于维持可扩展性而言是很重要的。可以看到,当 k=1 时,Cγj 只是一个简单的线性模型,在这种情况下,我们的架构将会由带有 1 个隐藏层的 CNN 的一个序列来训练。

理论ICLR 2019浅度学习深度学习深度网络
2
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

反向传播算法技术

反向传播(英语:Backpropagation,缩写为BP)是“误差反向传播”的简称,是一种与最优化方法(如梯度下降法)结合使用的,用来训练人工神经网络的常见方法。该方法计算对网络中所有权重计算损失函数的梯度。这个梯度会反馈给最优化方法,用来更新权值以最小化损失函数。 在神经网络上执行梯度下降法的主要算法。该算法会先按前向传播方式计算(并缓存)每个节点的输出值,然后再按反向传播遍历图的方式计算损失函数值相对于每个参数的偏导数。

监督学习技术

监督式学习(Supervised learning),是机器学习中的一个方法,可以由标记好的训练集中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练集是由一系列的训练范例组成,每个训练范例则由输入对象(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

Alex网络技术

AlexNet是一个卷积神经网络的名字,最初是与CUDA一起使用GPU支持运行的,AlexNet是2012年ImageNet竞赛冠军获得者Alex Krizhevsky设计的。该网络达错误率大大减小了15.3%,比亚军高出10.8个百分点。AlexNet是由SuperVision组设计的,由Alex Krizhevsky, Geoffrey Hinton和Ilya Sutskever组成。

语音识别技术

自动语音识别是一种将口头语音转换为实时可读文本的技术。自动语音识别也称为语音识别(Speech Recognition)或计算机语音识别(Computer Speech Recognition)。自动语音识别是一个多学科交叉的领域,它与声学、语音学、语言学、数字信号处理理论、信息论、计算机科学等众多学科紧密相连。由于语音信号的多样性和复杂性,目前的语音识别系统只能在一定的限制条件下获得满意的性能,或者说只能应用于某些特定的场合。自动语音识别在人工智能领域占据着极其重要的位置。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

图网技术

ImageNet 是一个计算机视觉系统识别项目, 是目前世界上图像识别最大的数据库。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

推荐文章
暂无评论
暂无评论~