赞
踩
深度学习模型代表了人工智能 (AI) 和机器学习中的新学习范式。最近在图像分析和语音识别方面的突破性成果引起了人们对该领域的极大兴趣,因为在提供大数据的许多其他领域中的应用似乎也是可能的。不利的一面是,深度学习模型背后的数学和计算方法非常具有挑战性,尤其是对于跨学科科学家而言。出于这个原因,我们在本文中介绍了深度学习方法的介绍性回顾,包括深度前馈神经网络 (D-FFNN)、卷积神经网络 (CNN)、深度信念网络 (DBN)、自动编码器 (AE) 和长短术语记忆 (LSTM) 网络。这些模型构成了当前使用的深度学习模型的主要核心架构,应该属于任何数据科学家的工具箱。重要的是,这些核心架构构建块可以以几乎类似于乐高的方式灵活组合,以构建新的特定于应用程序的网络架构。因此,对这些网络架构的基本了解对于为人工智能的未来发展做好准备非常重要。
目录
我们生活在大数据时代,科学和工业的所有领域都会产生大量数据。这给我们带来了关于它们的分析和解释的前所未有的挑战。出于这个原因,迫切需要新的机器学习和人工智能方法来帮助利用这些数据。深度学习 (DL) 是一种目前备受关注的新颖方法 ( Hinton et al., 2006 )。DL 描述了一系列学习算法,而不是可用于学习复杂预测模型的单一方法,例如具有许多隐藏单元的多层神经网络 ( LeCun et al., 2015)。重要的是,深度学习已成功应用于多个应用问题。例如,一种深度学习方法以 0.21% 的错误率创下了 MNIST 数据集手写数字分类的记录(Wan et al., 2013)。进一步的应用领域包括图像识别 ( Krizhevsky et al., 2012a ; LeCun et al., 2015 )、语音识别 ( Graves et al., 2013 )、自然语言理解 ( Sarikaya et al., 2014 )、声学建模 ( Mohamed et al., al., 2011 ) 和计算生物学 ( Leung et al., 2014 ; Alipanahi et al., 2015 ; Zhang S. et al., 2015 ;Smolander 等人,2019a,b)。
大约从 1950 年代开始使用人工神经网络模型(Rosenblatt,1957);然而,当前的深度学习神经网络浪潮始于 2006 年左右(Hinton 等人,2006 年)。有监督和无监督深度学习模型的许多变体的一个共同特征是,这些模型具有学习的许多隐藏神经元层,例如,通过受限玻尔兹曼机 (RBM) 结合随机梯度下降 ( Riedmiller ) 的反向传播和误差梯度和布劳恩,1993)。由于深度学习方法的异质性,全面讨论非常具有挑战性,因此,以前的评论针对专门的子主题。例如,可以在LeCun 等人中找到没有详细解释的鸟瞰图。(2015 年),历史总结,在Schmidhuber(2015 年)中有许多详细参考,并回顾了应用领域,例如图像分析(Rawat 和 Wang,2017 年;Shen 等人,2017 年)、语音识别(Yu 和 Li,2017 年) 、自然语言处理(Young 等人,2018 年)和生物医学(Cao 等人,2018 年)。
相比之下,我们的审查针对的是中间水平,还提供了通常被忽略的技术细节。鉴于对作为数据科学一部分的深度学习的跨学科兴趣(Emmert-Streib 和 Dehmer,2019a),这使得该领域的新手更容易入门。我们选择的主题集中在深度学习方法的核心方法论上,包括深度前馈神经网络 (D-FFNN)、卷积神经网络 (CNN)、深度信念网络 (DBN)、自动编码器 (AE) 和长短期记忆(LSTM)网络。我们讨论的其他网络架构有助于理解这些核心方法。
本文组织如下。在第 2 节中,我们提供了神经网络一般发展的历史概述。然后在第 3 节中,我们讨论区分神经网络的主要架构。此后,我们将详细讨论深度前馈神经网络(第 4 节)、卷积神经网络(第 5 节)、深度信念网络(第 6 节)、自动编码器(第 7 节)和长短期记忆网络(第 8 节)。在第 9 节中,我们讨论了学习神经网络模型时的重要问题。最后,本文在第 10 节得出结论。
神经网络的历史由来已久,数十年来,许多人为神经网络的发展做出了贡献。鉴于最近对深度学习的兴趣激增,关键发展的功劳分配并非没有争议。在下文中,我们的目标是进行公正的演示,仅突出最杰出的贡献。
1943年 在 1943,神经元的第一个数学模型是由McCulloch 和 Pitts (1943)创建的。该模型旨在为神经元的功能提供一个抽象的公式,而不模仿真实生物神经元的生物物理机制。有趣的是,这个模型没有考虑学习。
1949年 在 1949,关于神经网络中生物动机学习的第一个想法是由Hebb (1949)提出的。Hebbian 学习是神经网络的一种无监督学习形式。
1957年 在 1957,感知器是由Rosenblatt (1957)引入的。感知器是一个单层神经网络,用作线性二元分类器。在现代人工神经网络语言中,感知器使用 Heaviside 函数作为激活函数(见表 1)。
表 1。神经元模型常用激活函数的概述。
1960年 在 1960,用于学习感知器的 Delta Learning 规则由Widrow 和 Hoff (1960)引入。Delta 学习规则,也称为 Widrow & Hoff 学习规则或最小均方规则,是一种用于更新神经元权重的梯度下降学习规则。它是反向传播算法的一个特例。
1968年 在 1968, Ivakhnenko (1968)介绍了一种称为数据处理组方法(GMDH) 的方法,用于训练神经网络。这些网络被广泛认为是前馈多层感知器类型的第一个深度学习网络。例如,论文 ( Ivakhnenko, 1971 ) 使用了 8 层的深度 GMDH 网络。有趣的是,层数和每层的单元数是可以学习的,并且从一开始就不是固定的。
1969年 在 1969, Minsky 和 Papert (1969)发表的一篇重要论文表明 XOR 问题不能被感知机学习,因为它不是线性可分的。这触发了神经网络的暂停阶段,称为“AI 冬天”。
1974年 在 1974, 误差反向传播 (BP) 已被建议用于神经网络 ( Werbos, 1974 ),用于以监督方式学习加权,并应用于Werbos (1981)。然而,该方法本身较旧(参见例如,Linnainmaa,1976 年)。
1980年 在 1980, Fukushima (1980)介绍了一种用于视觉模式识别的分层多层神经网络,称为Neocognitron。在深度 GMDH 网络(见上文)之后,Neocognitron被认为是第二个值得属性deep的人工神经网络。它引入了卷积神经网络(今天称为 CNN)。Neocognitron 与现代有监督的深度前馈神经网络 (D-FFNN) ( Fukushima, 2013 )的架构非常相似。
1982年 在 1982, Hopfield 介绍了一种内容可寻址的记忆神经网络,现在称为 Hopfield 网络 ( Hopfield, 1982 )。Hopfield 网络是循环神经网络的一个例子。
1986年 在 1986,反向传播再次出现在Rumelhart 等人的论文中。(1986 年)。他们通过实验表明,这种学习算法可以生成有用的内部表示,因此可用于一般的神经网络学习任务。
1987年 在 1987, Terry Sejnowski 介绍了 NETtalk 算法(Sejnowski 和 Rosenberg,1987 年)。该程序学会了如何发音英语单词,并能够随着时间的推移而提高。
1989年 在 1989,使用反向传播算法训练卷积神经网络来学习手写数字(LeCun 等人,1989 年)。类似的系统后来被用于读取手写支票和邮政编码,在 90 年代末和 2000 年代初在美国处理兑现支票。
注意:在 1980 年代,神经网络研究的第二波浪潮在很大程度上是通过称为联结主义的运动出现的(Fodor 和 Pylyshyn,1988 年)。这波浪潮一直持续到 1990 年代中期。
1991年 在 1991, Hochreiter 研究了任何深度学习网络的一个基本问题,这与无法用反向传播算法训练的问题有关 ( Hochreiter, 1991 )。他的研究表明,通过反向传播传播的信号要么无限地减少,要么无限地增加。在衰减的情况下,这与网络的深度成正比。这现在被称为消失或爆炸梯度问题。
1992年 在 1992, Schmidhuber (1992)提出了对这个问题的第一个部分补救措施。这个想法是以无监督的方式预训练 RNN,以加速后续的监督学习。所研究的网络在循环神经网络中有超过 1,000 层。
1995年 在 1995,振荡神经网络已在Wang 和 Terman (1995)中介绍过。它们已被用于各种应用,如图像和语音分割以及生成复杂的时间序列(Wang 和 Terman,1997 年;Hoppensteadt 和 Izhikevich,1999 年;Wang 和 Brown,1999 年;Soman 等人,2018 年)。
1997年 在 1997,第一个学习 RNN 的监督模型是由Hochreiter 和 Schmidhuber(1997)引入的,称为长短期记忆(LSTM)。LSTM 通过使 LSTM 网络在更长的时间内“记住”信息来防止层之间的衰减错误信号问题。
1998年 在 1998,随机梯度下降算法(基于梯度的学习)与反向传播算法相结合,用于改进 CNN 中的学习(LeCun 等人,1989 年)。因此,引入了 7 级卷积网络 LeNet-5,用于对支票上的手写数字进行分类。
2006年 在 2006,被广泛认为是突破性的一年,因为在Hinton 等人中。(2006)表明,通过使用一种称为贪婪逐层预训练的策略,可以有效地训练称为深度信念网络的神经网络。这引发了第三波神经网络,也使深度学习这个术语的使用变得流行。
2012年 在 2012, Alex Krizhevsky 使用 AlexNet 赢得了 ImageNet 大规模视觉识别挑战赛,AlexNet 是一种利用 GPU 并改进了 LeNet5(见上文)的卷积神经网络(LeCun 等人,1989 年)。这一成功开启了深度学习社区中卷积神经网络的复兴(参见 Neocognitron)。
2014年 在 2014,Goodfellow 等人介绍了生成对抗网络。(2014 年)。这个想法是两个神经网络以类似游戏的方式相互竞争。总的来说,这建立了一个可以产生新数据的生成模型。这被 Yann LeCun 称为“过去 20 年来机器学习中最酷的想法”。
2019年 在 2019、Yoshua Bengio、Geoffrey Hinton 和 Yann LeCun 因在概念和工程方面的突破而获得图灵奖,这些突破使深度神经网络成为计算的关键组成部分。
对更详细的神经网络早期历史感兴趣的读者可以参考Schmidhuber (2015)。
在图 1,我们展示了 Web of Science 出版物数据库中与深度学习相关的出版物的演变。具体来说,该图显示了依赖于 DL(深度学习)的出版年份的出版物数量;CNN,卷积神经网络;DBN,深度信念网络;LSTM,长短期记忆;AEN,自动编码器;和 MLP,多层感知器。两条虚线按 5 倍(深度学习)和 3 倍(卷积神经网络)缩放,即总体而言,对于深度学习,我们发现了大多数出版物(总共 30、230 篇)。有趣的是,其中大部分是计算机科学(52.1%)和工程(41.5%)。在应用领域,医学成像(6.2%)、机器人(2.6%)和计算生物学(2.5%)受到最多关注。
图 1。取决于 DL、深度学习的出版年份的出版物数量;CNN,卷积神经网络;DBN,深度信念网络;LSTM,长短期记忆;AEN,自动编码器;和 MLP,多层感知器。图例显示了用于查询 Web of Science 出版物数据库的搜索词。两条虚线按 5 倍(深度学习)和 3 倍(卷积神经网络)缩放。
在接下来的部分中,我们将更详细地讨论所有这些方法,因为它们代表了深度学习的核心方法。此外,我们提供有关一般人工神经网络的背景信息,以更好地理解 DL 方法。
人工神经网络 (ANN) 是受大脑功能驱动的数学模型。然而,我们在下面讨论的模型并不旨在提供生物学上真实的模型。相反,这些模型的目的是分析数据。
任何神经网络的基本实体都是神经元模型。在图 2A中,我们展示了这样一个人工神经元模型。
图 2. (A)数学人工神经元模型的表示。神经元的输入通过激活函数 φ 进行汇总和过滤(示例见表 1)。(B)人工神经元模型的简化表示。仅描述了关键元素,即输入、输出和权重。
神经元模型的基本思想是输入x和偏差b由w加权,然后汇总在一起。偏差b是一个标量值,而输入x和权重w是向量值,即x ∈ ℝ n和w ∈ ℝ n其中n ∈ ℕ 对应于输入的维度。请注意,偏差项并不总是存在,但有时会被省略。这些项的总和,即z = w T x + b然后形成激活函数的参数 φ,从而产生神经元模型的输出,
仅考虑 φ one 的自变量获得线性判别函数(Webb 和 Copsey,2011 年)。
激活函数 φ(也称为单位函数或传递函数)执行z的非线性变换。在表 1中,我们概述了常用的激活函数。
ReLU 激活函数称为 Rectified Linear Unit 或 rectifier ( Nair and Hinton, 2010 )。ReLU 激活函数是深度神经网络中最流行的激活函数。另一个有用的激活函数是 softmax 函数(Lawrence et al., 1997):
softmax 将一个n维向量x映射到一个n维向量y ,该向量具有以下性质∑一世是一世=1∑一世是一世=1. 因此,y的分量代表n 个元素中每个元素的概率。softmax 通常用于网络的最后一层。如果使用 Heaviside 阶跃函数作为激活函数,则神经元模型称为感知器( Rosenblatt, 1957 )。
通常,图 2A中所示的模型神经元通过限制对其关键元素的关注以更符合人体工程学的方式表示。在图 2B中,我们展示了仅突出显示输入部分的表示。
为了构建神经网络 (NN),神经元需要相互连接。NN 最简单的架构是前馈结构。在图 3A、B中,我们展示了浅层和深层架构的示例。
图 3。前馈神经网络的两个示例。(A)浅 FFNN。(B)具有 3 个隐藏层的深度前馈神经网络 (D-FFNN)。
一般来说,网络的深度表示分离层之间非线性变换的数量,而隐藏层的维数,即隐藏神经元的数量,称为其宽度。例如,图 3A中的浅层架构的深度为 2,而图 3B的深度为 4 [总层数减一(输入层)]。将前馈神经网络 (FFNN) 架构称为深度所需的数量是有争议的,但具有两个以上隐藏层的架构通常被认为是深度 ( Yoshua, 2009 )。
前馈神经网络,也称为多层感知器 (MLP),可以使用线性或非线性激活函数 ( Goodfellow et al., 2016 )。重要的是,NN 中没有允许直接反馈的循环。等式 (3) 定义了如何从输入中获得 MLP 的输出(Webb 和 Copsey,2011 年)。
等式 (3) 是神经网络的判别函数 ( Webb and Copsey, 2011 )。为了找到最佳参数,需要一个学习规则。一种常见的方法是定义一个误差函数(或成本函数)和一个优化算法,通过最小化训练数据的误差来找到最优参数。
循环神经网络 (RNN) 模型家族有两个子类,可以根据它们的信号处理行为进行区分。第一个包含有限脉冲循环网络(FRN)和第二个无限脉冲循环网络(IIRN)。区别在于 FRN 是由可以及时展开并用前馈神经网络代替的有向无环图 (DAG) 给出的,而 IIRN 是不可能进行这种展开的有向循环图 (DCG)。
3.3.1。霍普菲尔德网络
Hopfield 网络 (HN) ( Hopfield, 1982 ) 是 FRN 的一个示例。HN 被定义为由 McCulloch-Pitts 神经元组成的全连接网络。McCulloch-Pitts 神经元是一个二元模型,其激活函数为
神经元x i的活动,即
已经引入 Hopfield 网络作为内容可寻址(“关联”)存储器的模型,即用于存储模式。在这种情况下,已经证明权重由下式获得
而P是模式的数量,t ( k ) 是第 k 个模式,而t i ( k ) 是它的第 i 个分量。从等式(6)可以看出,权重是对称的。在这种情况下,一个有趣的问题是P或P / N的最大值是多少,称为网络容量(这里N是模式的总数)。在赫兹等人。(1991)结果表明,网络容量约为 0.138。有趣的是,Hopfield 网络中的神经元不能区分为输入神经元、隐藏神经元和输出神经元,因为在开始时每个神经元都是输入神经元,在处理过程中每个神经元都是隐藏神经元,最后每个神经元是一个输出神经元。
3.3.2. 玻尔兹曼机
玻尔兹曼机(Hinton 和 Sejnowski,1983 年)可以被描述为嘈杂的Hopfield 网络,因为它使用概率激活函数
而x i如等式 (5) 中获得。这个模型很重要,因为它是最早使用隐藏单元(潜在变量)的神经网络之一。为了学习权重,可以使用对比发散算法(参见算法 9)来训练玻尔兹曼机。简而言之,玻尔兹曼机是由两层组成的神经网络——可见层和隐藏层。两层之间的每条边都是无向的,这意味着信息可以双向流动。整个网络是全连接的,这意味着网络中的每个神经元都通过无向边连接到所有其他神经元(见图 8A、B)。
有多种不同的网络架构用作深度学习模型。下面的表 2并非旨在提供一个全面的列表,但它包含了当前使用的最流行的模型。
表 2。流行的深度学习模型列表、可用的学习算法(无监督、有监督)和 R 或 python 中的软件实现。
有趣的是,表 2中的一些模型是由其他网络组成的。例如,CDBNs 基于 RBMs 和 CNNs ( Lee et al., 2009 );DBM 基于 RBM(Salakhutdinov 和 Hinton,2009 年);DBN 基于 RBM 和 MLP;dAE 是随机自动编码器,可以相互堆叠以构建堆叠去噪自动编码器 (SdAE)。
在以下部分中,我们将讨论深度前馈神经网络 (D-FFNN)、卷积神经网络 (CNN)、深度信念网络 (DBN)、自动编码器 (AE) 和长短期记忆网络 (LSTM) 的主要核心架构更详细。
可以证明,具有一个隐藏层和有限数量的神经元的前馈神经网络可以在 ℝ n的紧凑子集上逼近任何连续函数(Hornik,1991 年)。这称为通用逼近定理。使用具有多个隐藏层的 FFNN 的原因是通用逼近定理没有提供有关如何学习这样一个网络的信息,结果证明这非常困难。导致学习此类网络困难的一个相关问题是它们的宽度可能会成倍增长。有趣的是,对于具有许多隐藏层和有限数量的隐藏神经元的 FFNN,也可以证明通用逼近定理(Lu et al., 2017) 已经找到了学习算法。因此,出于可学习性的实际原因,使用 D-FFNN 代替(浅)FFNN。
形式上,逼近未知函数f *的想法可以写成
这里f是来自特定族的函数,它取决于参数 θ,而φ是具有一层的非线性激活函数。对于许多隐藏层φ具有形式
D-FFNN不是猜测应该从中选择f的正确函数族,而是通过φ逼近该函数来学习该函数,该函数本身由n 个隐藏层逼近。
D-FFNN 的参数的实际学习(参见图 3B)可以通过反向传播算法完成,尽管现在为了计算效率,使用了随机梯度下降(Bottou,2010)。随机梯度下降计算一组随机选择的训练样本(批次)的梯度,并按顺序更新该批次的参数。这导致更快的学习。缺点是增加了不精确性。但是,对于具有大量样本的数据集(大数据),速度优势超过了这个缺点。
卷积神经网络 (CNN) 是一种利用卷积、ReLU 和池化层的特殊前馈神经网络。标准 CNN 通常由几个前馈神经网络层组成,包括卷积层、池化层和全连接层。
通常,在传统的人工神经网络中,一层中的每个神经元都连接到下一层中的所有神经元,而每个连接都是网络中的一个参数。这可能导致大量参数。CNN 不是使用全连接层,而是使用神经元之间的局部连接,即一个神经元只连接到下一层的附近神经元。这可以显着减少网络中的参数总数。
此外,局部感受野和神经元之间的所有连接都使用一组权重,我们将这组权重表示为核。内核将与连接到其本地感受野的所有其他神经元共享,并且使用相同内核的本地感受野和神经元之间的这些计算结果将存储在表示为激活图的矩阵中。共享属性称为 CNN 的权重共享(Le Cun,1989)。因此,不同的内核将导致不同的激活图,并且内核的数量可以通过超参数进行调整。因此,无论网络中神经元之间的连接总数如何,权重的总数仅对应于局部感受野的大小,即内核的大小。这在图 4B中可视化,其中两层之间的连接总数为 9,但内核的大小仅为 3。
图 4.
卷积神经网络示例。红色边缘突出了隐藏层以“局部”方式连接的事实,即只有很少的神经元连接后续层。(B) CNN 中共享权重和局部连接的示例。红色边缘突出了隐藏层以“局部”方式连接的事实,即只有很少的神经元连接后续层。标签w 1 , w 2 , w 3表示为每个连接分配的权重,三个隐藏节点共享同一组权重w 1 , w 2 , w 3连接到三个本地补丁时。
通过将权重共享和局部连接属性相结合,CNN 能够处理高维数据。有关具有三个隐藏层的 CNN 的可视化,请参见图 4A。在图 4A中,红色边缘突出了隐藏神经元的局部性,即只有很少的神经元连接到后续层。与完全连接的 FFNN 相比,CNN 的这种局部性特性使网络变得稀疏。
5.1.1。卷积层
卷积层是构建卷积神经网络的重要组成部分。与普通神经网络的隐藏层类似,卷积层的目标相同,就是将输入转换为更抽象层次的表示。然而,卷积层没有使用完全连接,而是使用局部连接来执行输入和隐藏神经元之间的计算。卷积层使用至少一个内核在输入上滑动,在每个输入区域和内核之间执行卷积操作。结果存储在激活图中,可以看作是卷积层的输出。重要的是,激活图可以包含由不同内核提取的特征。每个内核都可以充当特征提取器,并将与所有神经元共享其权重。
对于卷积过程,需要定义一些空间参数以产生一定大小的激活图。基本属性包括:
1. 内核大小 (N)。每个内核都有一个窗口大小,也称为感受野。内核将执行卷积操作,其区域与输入的窗口大小匹配,并在其激活图中产生结果。
2. 步幅 (S)。此参数定义内核将移动到下一个位置的像素数。如果设置为 1,每个内核将围绕输入体积进行卷积操作,然后一次移动 1 个像素,直到到达输入的指定边界。因此,步幅可用于缩小激活图的维度,因为步幅越大,激活图越小。
3. 零填充 (P)。此参数用于指定要在输入边界周围填充多少个零。这对于保留输入的维度非常有用。
这三个参数是用于控制卷积层输出量的最常见的超参数。具体来说,对于维度为W输入× H输入× Z的输入,对于内核 (N)、步幅 (S) 和零填充 (P) 的超参数大小,激活图的维度,即W out × H out × D可以通过下式计算:
图 5显示了如何计算输入矩阵和内核之间的结果的示例。
图 5。计算激活图中的值的示例。这里,步幅为 1,补零为 0。内核从左上位置开始从左到右每次滑动 1 个像素,到达边界后内核将从第二行开始并重复该过程直到覆盖整个输入。红色区域表示要与内核卷积的局部补丁,结果存储在激活图中的绿色区域中。
共享权重和本地连接有助于显着减少网络参数的总数。例如,假设输入的维度为 100 × 100 × 3,卷积层和内核数为 2,每个内核的局部感受野大小为 4,那么每个内核的维度为 4 × 4 × 3(3是内核的深度,与输入体积的深度相同)。对于该层中的 100 个神经元,该层中总共只有 4 × 4 × 3 × 2 = 96 个参数,因为所有 100 个神经元将共享每个内核的相同权重。这仅考虑内核的数量和局部连接的大小,而不取决于层中的神经元数量。
除了减少参数数量外,共享权重和局部连接对于有效处理图像也很重要。因此,原因是图像中的局部卷积运算会产生包含图像某些特征的值,因为在图像中局部值通常是高度相关的,并且由局部值形成的统计量通常在位置上是不变的(LeCun 等人。 , 2015 年)。因此,使用共享相同权重的内核可以检测图像中所有局部区域的模式,并且不同的内核可以从图像中提取不同类型的模式。
非线性激活函数(例如 ReLu、tanh、sigmoid 等)通常应用于来自内核和输入之间的卷积运算的值。这些值存储在激活映射中,稍后将传递到网络的下一层。
5.1.2. 池化层
池化层通常插入在卷积层和下一层之间。池化层旨在通过一些预先指定的池化方法来降低输入的维度,通过尽可能多地保存信息来减少输入。此外,池化层能够将空间不变性引入网络(Scherer 等人,2010 年),这有助于提高模型的泛化能力。为了执行池化,池化层使用步幅、零填充和池化窗口大小作为超参数。池化层将以与卷积层中的内核相同的方式使用指定的池化窗口大小扫描整个输入。例如,使用 2 的步幅、2 的窗口大小和 0 的零填充用于池化将是输入维度大小的一半。
池化方法有很多种,例如平均池化、最小池化和一些高级池化方法,例如分数最大池化和随机池化。最常用的池化方法是最大池化,因为它已被证明在通过有效捕获不变性来处理图像方面表现出色(Scherer 等人,2010)。Max-pooling 提取激活图上每个指定子窗口内的最大值。最大池可以表示为A i, j, k = max ( R i - n : i + n, j - n : j + n, k ),其中A i, j, k是大小为n × n的矩阵R中的最大激活值,以索引i 为中心,j在第k 个激活图中,n是窗口大小。
5.1.3. 全连接层
全连接层是 FFNN 中的基本隐藏层单元(参见第 3.2 节)。有趣的是,同样对于传统的 CNN 架构,通常在倒数第二层和输出层之间添加一个全连接层,以进一步模拟输入特征的非线性关系(Krizhevsky 等人,2012b;Simonyan 和 Zisserman,2014 年;Szegedy 等人)等人,2015 年)。然而,最近这种做法的好处受到了质疑,因为它引入了许多参数,可能导致过度拟合(Simonyan 和 Zisserman,2014 年)。结果,越来越多的研究人员开始使用其他技术(如 max-over-time pooling)来构建没有这种完全连接层的 CNN 架构(Lin et al., 2013; Kim, 2014 ) 来代替线性层的作用。
5.2.1。VGGNet
VGGNet(Simonyan和 Zisserman,2014 年)是探索网络深度如何影响 CNN 性能的先驱。VGGNet 由 Visual Geometry Group 和 Google DeepMind 提出,他们研究了深度为 19 的架构(例如,与 AlexNet Krizhevsky 等人的 11 相比,2012b)。
VGG19 通过增加 11 个卷积层将网络从 8 个权重层(AlexNet 提出的结构)扩展到 19 个权重层。总体而言,参数从 6100 万增加到 1.44 亿,但是,全连接层占用了大部分参数。根据他们报告的结果,在 ILSVRC 数据集上重新分类 top-1 val.error(分类器没有给出最高分数的正确类的时间百分比)的错误率从 29.6 下降到 25.5,关于 top 的错误率从 10.4 下降到 8.0在 ILSVRC2014 的 ILSVRC 数据集上 -5 val.error(分类器在其前 5 个中不包括正确类的次数百分比)。这表明较深的 CNN 结构能够比较浅的网络获得更好的结果。此外,他们堆叠了多个 3 × 3 卷积层,中间没有放置池化层,以用大滤波器尺寸(例如 7 × 7 或 11 × 11)替换卷积层。他们建议这样的架构能够接收与那些由较大的过滤器尺寸组成。因此,两个堆叠的 3 × 3 层可以从 5 × 5 的感受野中学习特征,但参数更少,非线性更多。
5.2.2. GoogLeNet 与 Inception
提高卷积神经网络性能的最直观的方法是堆叠更多层并向层添加更多参数(Simonyan 和 Zisserman,2014 年)。然而,这将带来两个主要问题。一是参数过多会导致过拟合,二是模型变得难以训练。
GoogLeNet ( Szegedy et al., 2015 ) 由谷歌引入。在引入 inception 之前,传统的最先进的 CNN 架构主要集中在增加神经网络的大小和深度,这也增加了网络的计算成本。相比之下,GoogLeNet 引入了一种架构,以通过轻量级网络结构实现最先进的性能。
初始网络架构的基本思想是在利用计算机提供的快速矩阵计算功能的同时保持网络尽可能稀疏。这个想法有利于第一个 inception 结构(见图 6)。
图 6。初始块结构。这里多个块相互堆叠,形成下一个块的输入层。
从图 6中可以看出,包括 1 × 1 卷积和 3 × 3 最大池在内的多个并行层在输入上运行在同一级别。每个隧道(即一个分离的顺序操作)有一个不同的子层,包括 3×3 卷积、5×5 卷积和 1×1 卷积层。每个隧道的所有结果都在输出层连接在一起。在这种架构中,使用 1x1 卷积来缩小输入图像,同时保留输入信息 ( Lin et al., 2013)。他们认为,连接由不同过滤器提取的所有特征对应于图像信息应该在不同尺度上处理并且只有聚合特征应该被发送到下一个级别的想法。因此,下一级可以从不同的尺度中提取特征。此外,由 inception 块引入的这种稀疏结构需要更少的参数,因此效率更高。
GoogLeNet通过在整个网络中堆叠inception结构,在ILSVRC2014的分类任务中获得第一名,证明了inception结构的质量。随后推出了inception v1、inception v2、v3,以及最新版本v4。每一代都引入了一些新功能,使网络更快、更轻、更强大。
5.2.3。资源网
原则上,具有更深结构的 CNN 比浅层结构表现更好(Simonyan 和 Zisserman,2014 年)。理论上,更深的网络有更好的能力来表示来自输入的高级特征,因此提高了预测的准确性(Donahue 等人,2014 年)。但是,不能简单地堆叠越来越多的层。在论文(He et al., 2016)中,作者观察到更多层实际上会损害性能的现象。具体来说,在他们的实验中,网络 A 有N层,网络 B 有N + M层,而最初的N层具有相同的结构。有趣的是,在 CIFAR-10 和 ImageNet 数据集上进行训练时,网络 B 显示出比网络 B 更高的训练误差。理论上,额外的M层应该会带来更好的性能,但反而会得到更高的误差,这无法用过度拟合来解释. 原因是损失被优化到局部最小值,这与消失的梯度现象不同。这被称为退化问题(He et al., 2016)。
引入ResNet ( He et al., 2016 ) 是为了克服 CNN 的退化问题,将 CNN 的深度推向极限。在 ( He et al., 2016 ) 中,作者提出了一种新的 CNN 结构,理论上它可以扩展到无限深度而不会失去准确性。在他们的论文中,他们提出了一种深度残差学习框架,该框架由多个残差块组成,以解决退化问题。残差块的结构如图 7所示。
图 7。残差块的结构。在一个块内可以有任意多的权重层。
他们没有尝试从每几个堆叠的层中学习所需的底层映射H ( x ),而是使用从输入到层输出的输入x的恒等映射,然后让网络学习残差映射F ( x ) = H ( x ) - x。添加恒等映射后,原始映射可以重新表述为H ( x ) = F ( x ) + x. 恒等映射是通过从输入节点直接到输出节点的快捷连接来实现的。这有助于解决退化问题以及深度网络的梯度消失(爆炸)问题。在极端情况下,更深层可以通过简单地将残差计算为 0 来学习输入到输出层的恒等映射。这使得深层网络的性能至少不会比浅层网络差。此外,在实践中,残差永远不会为 0,这使得更深的层可以始终从残差中学习新的东西,从而产生更好的结果。ResNet 的实施通过在整个网络中堆叠所谓的残差块来帮助将 CNN 的层数推到 152 层。ResNet 在 ILSVRC2016 比赛中取得了最好的成绩,
深度信念网络(DBN)是一种将不同类型的神经网络相互结合形成新的神经网络模型的模型。具体来说,DBN 将受限玻尔兹曼机 (RBM) 与深度前馈神经网络 (D-FFNN) 集成在一起。RBM 构成输入单元,而 D-FFNN 构成输出单元。通常,RBM 会堆叠在一起,这意味着顺序使用多个 RBM。这增加了 DBN 的深度。
由于网络 RBM 和 D-FFNN 的不同性质,使用了两种不同类型的学习算法。实际上,受限玻尔兹曼机用于以无监督方式初始化模型。此后,使用监督方法对参数进行微调(Yoshua,2009)。下面,我们将更详细地描述 DBN 训练的这两个阶段。
理论上,神经网络只能通过使用监督方法来学习。然而,在实践中发现这样的学习过程可能非常缓慢。因此,使用无监督学习来初始化模型参数。标准的神经网络学习算法(反向传播)最初只能学习浅层架构。然而,通过使用受限玻尔兹曼机对参数进行无监督初始化,可以获得更有效的神经网络训练(Hinton 等人,2006 年)。
受限玻尔兹曼机是玻尔兹曼机 (BM) 的一种特殊类型,请参见第 3.3.2 节。受限玻尔兹曼机和玻尔兹曼机之间的区别在于,受限玻尔兹曼机 (RBM) 在其结构的连通性方面存在限制(Fischer 和 Igel,2012 年)。具体来说,同一层的节点之间不能有连接。例如,参见图 8C。
图 8。玻尔兹曼机的例子。(A)神经元排列在一个圆圈上。(B)神经元根据它们的类型分开。两个玻尔兹曼机是相同的,只是它们的可视化不同。(C)从玻尔兹曼机(左)到受限玻尔兹曼机(右)的转换。
可见层中神经元的值v是已知的,但隐藏层中的神经元值h是未知的。通过定义模型的能量函数E来学习网络的参数,然后将其最小化。
通常,RBM 与二进制值一起使用,即v i ∈ {0, 1} 和h i ∈ {0, 1}。这种网络的能量函数由 ( Hinton, 2012 ) 给出:
而 Θ = { a, b , W } 是模型参数的集合。
系统的每个配置对应于通过等式 (11) 中的玻尔兹曼分布定义的概率:
在等式 (12) 中,Z是由下式给出的配分函数:
网络分配给可见向量v的概率通过对所有可能的隐藏向量求和给出:
最大似然估计 (MLE) 用于估计概率模型的最优参数 ( Hayter, 2012 )。对于训练数据集D =Dt r a i n={在1,…,在l}D=D吨r一个一世n={在1,…,在l}由l个模式组成,假设这些模式是 iid(独立且相同)分布的,则对数似然函数由下式给出:
对于简单的情况,可以通过求解来找到方程 (15) 的解析解∂∂一世ln L ( θ | D ) = _∂∂一世ln 大号(一世|D)=0. 但是,通常需要以数字方式找到参数。为此,对数似然梯度是估计最优参数的典型方法:
在等式(16)中,梯度前面的常数 η 是学习率,第一个正则化项 -λθ ( t )是权重衰减。权重衰减用于通过惩罚较大的 θ 值来约束优化问题(Hinton,2012 年)。参数 λ 也称为权重成本。等式 (16) 中的第二个正则化项称为动量。动量的目的是使学习更快并减少可能的振荡。总的来说,这应该可以稳定学习过程。
为了优化,随机梯度上升 (SGA) 使用mini-batches进行。这意味着从训练集k中随机选择一些样本,这些样本远小于总样本大小,然后估计梯度。然后为小批量更新参数 θ。反复重复这个过程,直到一个 epoch 完成。一个时期的特点是使用整个训练集一次。使用太大的小批量时会遇到一个常见问题,因为这会大大减慢学习过程。通常,k在 10 到 100 之间选择(Hinton,2012 年)。
在可以使用梯度之前,需要近似方程(16)的梯度。具体来说,关于参数的导数可以写成以下形式:
在等式(17)中,H i表示隐藏单元i的值,p ( v ) 是等式(14)中定义的概率。对于条件概率,人们发现
并且相应地
以所呈现的形式使用上述方程将是低效的,因为这些方程需要对所有可见向量进行求和。出于这个原因,对比散度 (CD) 方法用于提高梯度估计的速度。在图 9A中,我们展示了 CD 算法的伪代码。
图 9. (A)使用 Gibbs 采样的对比散度 k 步算法。(B)反向传播算法。(C) iRprop +算法。
CD 使用 Gibbs 抽样从条件分布中抽取样本,因此下一个值仅取决于前一个值。这会生成一个马尔可夫链 ( Hastie et al., 2009 )。渐近地,对于k → ∞,分布变为真正的平稳分布。在这种情况下,CD → ML。有趣的是,k = 1 已经可以为预训练带来令人满意的近似值(Carreira-Perpinan 和 Hinton,2005 年)。
通常,DBN 的预训练包括堆叠 RBM。这意味着下一个 RBM 使用前一个 RBM 的隐藏层作为可见层进行训练。这会初始化每一层的参数(Hinton 和 Salakhutdinov,2006 年)。有趣的是,这种训练的顺序不是固定的,而是可以变化的。例如,首先,可以训练最后一层,然后可以训练剩余的层(Hinton 等人,2006 年)。在图 10中,我们展示了 RBM 堆叠的示例。
图 10。可视化 RBM 的堆叠,以便以无监督的方式学习模型的参数 Θ。
在神经网络的参数初始化之后,如上一步所述,现在可以对这些参数进行微调。对于这一步,使用监督学习方法,即,现在使用在预训练阶段省略的样本标签。
为了学习模型,需要最小化一个误差函数(也称为损失函数或有时是目标函数)。这种误差函数的一个例子是均方误差 (MSE)。
在等式 (20) 中,o i = ϕ ( x i ) 是网络函数ϕ :ℝ m → ℝ n的第 i个输出,给定训练集的第i个输入x iD =Dt r a i n={(X1,吨1),…(Xl,吨l)}D=D吨r一个一世n={(X1,吨1),…(Xl,吨l)}t i是目标输出。
类似地,为了最大化 RBM 的对数似然函数(参见方程 16),人们使用梯度下降来找到最小化误差函数的参数。
这里,参数(η、λ和ν)具有与上述相同的含义。同样,梯度通常不用于整个训练数据DD,而是通过随机梯度下降(SGD) 使用较小的批次。
RBM 对数似然的梯度可以使用 CD 算法来近似(参见图 9A)。为此,使用了反向传播算法( LeCun et al., 2015 )。
让我们用一个一世l一个一世l第 l 层中第 i 个单元的激活 ( l ∈ {2, ..., L }),b吨一世b一世吨相应的偏差和在l我j在一世jl第 ( l - 1) 层的第 j 个单元和第 l 层的第 i 个单元之间的边的权重。对于激活函数 φ,以第 (l - 1) 层为输入的第 l 层的激活是a l = φ( z ( l ) ) = φ( w ( l ) a ( l -1) + b ( l ) )。
链式法则的应用导致(尼尔森,2015):
在等式(22)中,向量δ L包含输出层(L)的误差,而向量δ l包含第 l 层的误差。这里,· 表示向量的元素乘积。由此,输出层的误差梯度由下式给出
一般来说,这个结果取决于E。例如,对于 MSE,我们获得. 因此,反向传播算法的伪代码可以如图 9B所示(尼尔森,2015 年)。然后使用来自图 9B的估计梯度通过 SGD 更新参数(权重和偏差)(参见公式 21)。使用小批量执行更多更新,直到使用所有训练数据(Smolander,2016)。
弹性反向传播算法(Rprop) 是对反向传播算法的修改,最初引入该算法是为了加速基本反向传播 (Bprop) 算法(Riedmiller 和 Braun,1993 年)。至少存在四种不同版本的 Rprop(Igel 和 Hüsken,2000 年),并且在算法 9 中显示了 iRprop +算法的伪代码(通过权重回溯改进了 Rprop)(Smolander,2016 年)。
正如在算法 9 中所见,iRprop +使用有关时间步长 ( t -1) 的偏导数符号的信息来决定参数的更新。重要的是,比较结果表明 iRprop +算法比 Bprop 更快(Igel 和 Hüsken,2000 年)。
已经表明,当训练数据足够大时,即使没有预训练阶段,使用 SGD 的反向传播算法也可以学习良好的神经网络模型(LeCun 等人,2015 年)。
在图 11中,我们展示了整个 DBN 学习过程的示例。左侧显示预训练阶段,右侧显示微调。
图 11。DBN学习的两个阶段。(左)一个 RBM 的隐藏层(紫色)是下一个 RBM 的输入。出于这个原因,它们的尺寸是相等的。(右)微调中的两条边表示反向传播算法的两个阶段:输入前馈和误差反向传播。橙色层表示输出。
DBN 已成功用于许多应用任务,例如自然语言处理 ( Sarikaya et al., 2014 )、声学建模 ( Mohamed et al., 2011 )、图像识别 ( Hinton et al., 2006 ) 和计算生物学 ( Zhang ) S. 等人,2015 年)。
自动编码器是一种用于表示学习的无监督神经网络模型,例如特征选择或降维。自编码器的一个共同特性是输入和输出层的大小与对称架构相同(Hinton 和 Salakhutdinov,2006 年)。基本思想是学习从输入模式x到新编码c = h ( x ) 的映射,理想情况下,输出模式与输入模式相同,即x ≈ y = g ( c )。因此,编码c的维度通常低于x, 允许复制(或代码)x。
自动编码器的构造类似于 DBN。有趣的是,自动编码器的原始实现(Hinton 和 Salakhutdinov,2006 年)仅使用 RBM 预训练了网络的前半部分,然后展开网络,以这种方式创建网络的第二部分。与 DBN 类似,预训练阶段之后是微调阶段。在图 12中,显示了学习过程的图示。这里,编码层对应于新的编码c ,提供例如x的缩减维度。
图 12。可视化自动编码器学习的想法。学习到的输入的新编码在代码层中表示(以蓝色显示)。
自动编码器不使用标签,因此它是一种无监督学习模型。在应用中,该模型已成功用于降维。当有足够数量的数据可用时,自动编码器可以实现更好的数组数据二维表示(Hinton 和 Salakhutdinov,2006 年)。重要的是,PCA 实现了线性变换,而自动编码器是非线性的。通常,这会带来更好的性能。我们想强调这些模型有很多扩展,例如稀疏自动编码器、去噪自动编码器或变分自动编码器(Vincent 等人,2010;Deng 等人,2013;Pu 等人,2016)。
长短期记忆 (LSTM) 网络由 Hochreiter 和 Schmidhuber 在 1997 年引入(Hochreiter 和 Schmidhuber,1997)。LSTM 是 RNN 的一种变体,它能够解决 RNN 表现不佳的缺点,例如在处理长期依赖关系时(Graves,2013)。此外,LSTM 避免了梯度消失或爆炸问题(Hochreiter,1998 年;Gers 等人,1999 年)。1999 年,引入了带有遗忘门的 LSTM,它可以重置单元记忆。这改进了最初的 LSTM,成为 LSTM 网络的标准结构(Gers et al., 1999)。与深度前馈神经网络相比,LSTM 包含反馈连接。此外,它们不仅可以处理单个数据点,例如向量或数组,还可以处理数据序列。出于这个原因,LSTM 对于分析语音或视频数据特别有用。
图 13显示了 LSTM 网络模型的展开结构 ( Wang et al., 2016 )。在这个模型中,输入和输出是垂直组织的,而信息是在时间序列上水平传递的。
图 13.(左) LSTM 网络模型的折叠结构。(右) LSTM 网络模型的展开结构。x i是时间i的输入数据,y i是相应的输出(i是从 ( t - 1) 开始的时间步长)。在这个网络中,只有是′t + 2是吨+2′由 softmax 函数激活的是最终的网络输出。
在标准 LSTM 网络中,基本实体称为 LSTM 单元或内存块(Gers et al., 1999)。每个单元由一个单元、单元的记忆部分和三个门组成:一个输入门、一个输出门和一个遗忘门(也称为保持门)(Gers 等人,2002 年)。LSTM 单元可以记住任意时间间隔内的值,并且三个门控制通过单元的信息流。LSTM 单元的核心特征是称为“恒定误差轮播”(CEC)的部分(Lipton 等人,2015 年)。一般来说,LSTM 网络的形成与 RNN 完全相同,只是隐藏层中的神经元被记忆块取代。
在下文中,我们将讨论一些核心概念和相应的技术细节(W和U代表权重,b代表偏差)。在图 14中,我们展示了具有一个单元的 LSTM 块的示意图描述。
• 输入门:具有 S 型函数的单元,用于控制信息流入细胞。它从前一时间h ( t -1)的输出和当前输入x ( t )接收其激活。在 sigmoid 函数的作用下,输入门i t生成介于 0 和 1 之间的值。零表示它完全阻止信息,而值一则允许所有信息通过。
• 单元输入层:单元输入具有与输入门相似的流程,接收h ( t -1)和x ( t )作为输入。但是,tanh激活用于将输入值压缩到 -1 和 1 之间的范围内(在等式 25中由l t表示)。
• 遗忘门:具有sigmoidal 函数的单元确定应该记住或忘记单元格先前步骤的哪些信息。遗忘门f t基于输入h ( t -1)和x ( t )假设值介于 0 和 1 之间。在下一步中,f t由具有旧单元状态c t -1的 Hadamard 乘积给出,以更新到新单元状态c t(等式 26)。在这种情况下,零值意味着门关闭,因此它将完全忘记旧单元状态c t -1的信息, 而 one 的值将使所有信息都令人难忘。因此,如果旧信息被认为无意义,遗忘门有权重置单元状态。
• 细胞状态:细胞状态在较长时间内存储细胞的记忆(Ming 等人,2017 年)。每个单元都有一个循环自连接的线性单元,称为恒定误差轮播(CEC)(Hochreiter 和 Schmidhuber,1997 年)。CEC 机制确保 LSTM 网络不会遭受梯度消失或爆炸的问题(Elsayed 等人,2018 年)。CEC 由遗忘门调节,也可以由遗忘门复位。在时间t,当前单元状态c t由遗忘门控制的前一个单元状态c t -1与当前输入和单元输入的乘积更新,即 ( it ∘ l t )。总体而言,等式(27)描述了单元状态的组合更新,
• 输出门:具有S 型函数的单元可以控制信息流出细胞。一个 LSTM 使用输出门在时间t的值(记为o t )来控制由tanh函数激活的当前单元状态c t,以获得最终的输出向量h ( t ),
图 14
标准 LSTM 单元的内部连接模式(蓝色矩形)。上一个时间步的输出h ( t −1)和x ( t )是时间t的块的输入,那么时间t的输出h ( t )将是同一块的输入下一个时间步(t + 1)。
Peephole LSTM 是Gers 和 Schmidhuber (2000)提出的 LSTM 的变体。与上面讨论的标准 LSTM 相比,Peephole LSTM 使用单元状态c而不是h来调节遗忘门、输入门和输出门。在图 15中,我们展示了 Peephole LSTM 单元的内部连接,而红色箭头表示新的 peephole 连接。
图 15
Peephole LSTM 单元的内部连通性(蓝色矩形)。这里x ( t )是单元格在时间t的输入,而h ( t )是它的输出。与图 14中的标准 LSTM 相比,红色箭头是添加的新窥视孔连接。
Peephole LSTM 和标准 LSTM 之间的主要区别在于遗忘门f t、输入门i t和输出门o t不使用h ( t -1)作为输入。相反,这些门使用单元状态c t -1。为了理解 Peephole LSTM 背后的基本思想,让我们假设传统 LSTM 网络中的输出门o t -1是封闭的。那么网络h ( t -1)在时间 ( t - 1) 的输出将是 0,根据等式 (29),并且在下一个时间步t,所有三个门的调节机制将仅取决于网络输入x ( t -1)。因此,历史信息将完全丢失。Peephole LSTM 通过使用单元状态而不是输出h来控制门来避免这个问题。以下等式正式描述了 Peephole LSTM。
除了上述这些主要形式的 LSTM 之外,还有其他变体。例如,(Graves 和 Schmidhuber,2005 年)引入了双向 LSTM 网络(BLSTM) ,它可以在两个输入方向上访问远程上下文。此外,2014 年提出了“门控循环单元”的概念,被视为 LSTM 的简化版本,2015 年,Wai-kin Wong 和 Wang-chun Woo 引入了卷积 LSTM用于降水临近预报的网络 (ConvLSTM) 。LSTM 网络还有更多变体;然而,它们中的大多数都是为特定的应用领域设计的,没有明显的性能优势。
LSTM 在文本生成、文本分类、语言翻译或图像字幕中具有广泛的应用。在图 16中,显示了用于文本分类的 LSTM 分类器模型。在该图中, LSTM结构在每个时间步的输入是一个词嵌入向量Vi,这是文本分类问题的常见选择。词嵌入技术将词汇表中的词或短语映射到由实数组成的向量。一些常见的词嵌入技术包括 word2vec、GloVe、FastText 等。Zhou (2019)。输出y N是第 N 个对应的输出时间步长和是′ñ是ñ′是y N的 softmax 激活后的最终输出,它将决定输入文本的分类。
图 16
用于文本分类的 LSTM 分类器模型。N是输入文本的序列长度(字数)。从V 1到V N的输入是一系列词嵌入向量,用作模型在不同时间步长的输入。是′ñ是ñ′是最终的预测结果。
所有深度学习模型的共同属性是它们执行所谓的表示学习。有时这也称为特征学习。这表示与原始数据相比,模型可以学习到新的更好的表示。重要的是,深度学习模型不会在一个步骤内学习最终表示,而是对应于隐藏层之间的多级表示转换的多个表示(LeCun 等人,2015 年)。
深度学习模型的另一个共同特性是层之间的后续转换是非线性的(见图 3)。这增加了模型的表达能力(Duda et al., 2000)。此外,个体表示不是手动设计的,而是通过训练数据学习的(LeCun et al., 2015)。这使得深度学习模型非常灵活。
目前,CNN 是计算机视觉任务的主要深度学习模型(LeCun 等人,2015 年)。当数据由数组组成时,它们是有效的,其中数组中的附近值相互关联,例如图像、视频和声音数据的情况。卷积层可以通过使用局部连接和共享权重轻松处理高维输入,而池化层可以在不丢失基本信息的情况下对输入进行下采样。每个卷积层都能够使用不同的内核将输入图像转换为更抽象的特征组;因此,通过堆叠多个卷积层,网络能够将输入图像转换为从输入中捕获基本模式的表示,从而进行精确的预测。
然而,在其他领域,与其他深度学习架构相比,CNN 也显示出非常有竞争力的结果,例如在自然语言处理方面(Kim,2014 年;Yang 等人,2020 年)。具体来说,CNN 可以擅长从文本中提取局部信息,并探索短语和单词之间有意义的语义和句法含义。此外,文本数据的自然组成可以通过 CNN 架构轻松处理。因此,CNN 在执行分类任务方面显示出非常强大的潜力,其中成功的预测严重依赖于从输入文本中提取关键信息(Yin 等人,2017 年)。
经典网络架构是全连接和前馈的,对应于 D-FFNN。有趣的是,在 ( Mayr et al., 2016 ) 中,已经证明 D-FFNN 在预测药物毒性方面优于其他方法。同样对于药物靶点预测,D-FFNN 已被证明优于其他方法(Mayr 等人,2018 年)。这表明即使是这样的架构也可以成功地用于现代应用程序中。
通常,RNN 用于处理序列数据的问题,例如语音和语言处理或建模(Sundermeyer 等人,2012 年;Graves 等人,2013 年;Luong 和 Manning,2015 年)。虽然 DBN 和 CNN 是前馈网络,但 RNN 中的连接可以形成循环。这允许对随时间的动态变化进行建模(LeCun 等人,2015 年)。
为深度学习模型找到合适的应用程序的一个问题是它们的应用程序领域并不相互排斥。相反,正如上面的讨论所示,存在相当大的重叠,并且在许多情况下只能通过进行比较研究才能找到最佳模型。在表 3中,我们展示了涉及图像、音频、文本和基因组数据的不同应用程序的几个示例。
表 3。深度学习方法的应用概述。
数据科学中的任何模型都可以归类为推理模型或预测模型(Breiman,2001;Shmueli,2010)。推理模型不仅可以做出预测,还可以提供可解释的结构。因此,它是预测过程本身的模型,例如因果模型。相反,预测模型只是用于进行预测的黑盒模型。
本综述中讨论的模型既不旨在提供生物神经元的生理模型,也不提供可解释的结构。相反,它们是预测模型。用于神经网络的生物动机学习规则的一个例子是 Hebbian 学习规则 ( Hebb, 1949 )。Hebbian 学习是一种神经网络的无监督学习形式,它不使用关于错误的全局信息作为反向传播。相反,仅使用来自相邻神经元的局部信息。基于新的生物学见解,Hebb 的基本学习规则有许多扩展(参见例如Emmert-Streib,2006)。
最近,人们对可解释或可解释的 AI (XAI) 产生了极大的兴趣(Biran 和 Cotton,2017 年;Doshi-Velez 和 Kim,2017 年)。特别是在临床和医学领域,人们希望对统计预测模型做出可理解的决策,因为患者会受到影响(Holzinger 等人,2017 年)。该领域仍处于起步阶段,但如果能够找到对一般深度学习模型的有意义的解释,这肯定会彻底改变该领域。
作为说明,我们想补充一点,可解释的 AI 模型和不可解释的模型之间的区别并没有明确定义。例如,Olshausen 和 Field(1997)的稀疏编码模型被证明与人类视觉皮层中的图像编码相似(Tosic 和 Frossard,2011),并且可以在Charles 等人中找到该模型的应用。(2011),其中使用无监督学习方法来学习用于高光谱图像 (HIS) 数据分类的最佳稀疏编码字典。由于与人类皮层的工作机制相似,有些人可能将此模型视为 XAI 模型,而另一些人可能会质疑这种解释。
在统计学中,实验设计领域涉及评估可用样本量是否足以进行特定分析(有关实际示例,请参见Stupnikov 等人,2016 年)。相比之下,对于本文讨论的所有方法,我们假设我们处于大数据领域,这意味着有足够的样本。这对应于理想情况。但是,我们想指出,对于实际应用,需要逐案评估这种情况,以确保可用数据(分别是样本量)足以使用深度学习模型。不幸的是,这个问题在当前的文献中没有得到很好的体现。作为经验法则,深度学习模型通常在数万个样本中表现良好,但在很大程度上不清楚它们在小数据设置中的表现如何。这让用户可以估计给定模型的泛化误差的学习曲线,以避免虚假结果(Emmert-Streib 和 Dehmer,2019b)。
作为演示这个问题的一个例子,我们进行了分析,以探索样本量对 EMNIST 数据分类准确性的影响。EMNIST (Extended MNIST) ( Cohen et al., 2017 ) 由 10 个平衡类 (0-9) 的 280, 000 个手写字符(240, 000 个训练样本和 40, 000 个测试样本)组成。我们为 10 类手写数字分类任务使用了多层长短期记忆 (LSTM) 模型。我们使用的模型是一个四层网络(三个隐藏层和一个全连接层),每个隐藏层包含 200 个神经元。对于此分析,我们将批量大小设置为 100,如果训练样本的数量 < 240, 000(二次抽样),则随机抽取训练样本。
从图 17的结果可以看出,需要数千个训练样本才能实现低于 5% 的分类误差(蓝色虚线)。具体来说,需要超过 25,000 个训练样本。考虑到问题的相对简单性——十位数的分类,与癌症患者的分类或诊断相比——这个问题的严重性应该变得清晰起来。此外,这些结果表明深度学习模型无法创造奇迹。如果样本数量太少,该方法就会失效。因此,模型和数据的结合对于解决任务至关重要。
图 17
EMNIST 数据的分类误差取决于训练样本的数量。标准误差以红色显示,水平虚线对应于 5% 的误差(参考)。结果平均超过 10 次独立运行。
与上面讨论的样本量问题相关的一个问题是数据类型。不同数据类型的示例包括文本数据、图像数据、音频数据、网络数据或测量/传感器数据(例如来自基因组学)等等。可以根据这些数据源自的应用领域进一步细分这些数据,例如来自医学出版物的文本数据、来自社交媒体的文本数据或来自小说的文本数据。考虑到这样的分类,很明显“一个样本”的信息内容对于每种数据类型和每个应用程序域的含义并不相同。因此,深度学习模型的评估需要始终以特定领域的方式进行,因为此类模型之间的知识转移不是直截了当的。
最后,我们想强调的是,在核心架构之外还有其他更高级的深度学习网络模型。例如,深度学习和强化学习相互结合形成了深度强化学习(Mnih 等人,2015 年;Arulkumaran 等人,2017 年;Henderson 等人,2018 年)。此类模型已在机器人、游戏和医疗保健等问题中得到应用。
另一个高级模型的例子是图 CNN,它特别适用于数据具有图形式的情况(Henaff 等人,2015 年;Wu 等人,2019 年)。此类模型已用于自然语言处理、推荐系统、基因组学和化学(Li et al., 2018 ; Yao et al., 2019)。
最后,更高级的模型是变分自动编码器 (VAE)(An 和 Cho,2015 年;Doersch,2016 年)。简单地说,VAR 是一种正则化的自动编码器,它使用潜在空间上的分布作为输入的编码,而不是单个点。VAE 的主要应用是作为一种生成模型,用于以无监督的方式生成相似数据,例如用于图像或文本生成。
在本文中,我们对深度学习模型进行了介绍性回顾,包括深度前馈神经网络 (D-FFNN)、卷积神经网络 (CNN)、深度信念网络 (DBN)、自动编码器 (AE) 和长短期记忆网络(LSTM)。这些模型可以被认为是目前主导深度学习的核心架构。此外,我们还讨论了对这些模型进行技术理解所需的相关概念,例如受限玻尔兹曼机和弹性反向传播。鉴于网络架构的灵活性允许“乐高”” 构建新模型时,可以利用本评论中讨论的核心架构构建块的元素构建无限数量的神经网络模型。因此,对这些元素的基本了解是为人工智能未来发展做好准备的关键。
Alipanahi, B.、Delong, A.、Weirauch, MT 和 Frey, BJ (2015)。通过深度学习预测 DNA 和 RNA 结合蛋白的序列特异性。纳特。生物技术。33, 831–838。doi: 10.1038/nbt.3300
Arulkumaran, K.、Deisenroth, MP、Brundage, M. 和 Bharath, AA (2017)。深度强化学习:简要调查。IEEE 信号处理。麦格。34、26-38。doi: 10.1109/MSP.2017.2743240
Bergmeir, C. 和 Benítez, JM (2012)。使用斯图加特神经网络模拟器的 R 神经网络:RSNNS。J.统计。软件。46,1-26。doi: 10.18637/jss.v046.i07
Cao,C.,Liu,F.,Tan,H.,Song,D.,Shu,W.,Li,W.,等。(2018 年)。深度学习及其在生物医学中的应用。基因组学蛋白质组学生物信息。16、17-32。doi: 10.1016/j.gpb.2017.07.003
Charles, AS, Olshausen, BA 和 Rozell, CJ (2011)。学习高光谱图像的稀疏代码。IEEE J. 选择。最佳。信号处理。5, 963–978。doi: 10.1109/JSTSP.2011.2149497
Cho,K.,Van Merriënboer,B.,Gulcehre,C.,Bahdanau,D.,Bougares,F.,Schwenk,H.,等。(2014)。使用 rnn 编码器-解码器学习短语表示以进行统计机器翻译。arXiv [预印本]。arXiv:1406.1078。doi: 10.3115/v1/D14-1179
F. Chollet (2015)。凯拉斯。在线提供:https ://github.com/fchollet/keras
Cohen, G.、Afshar, S.、Tapson, J. 和 van Schaik, A. (2017)。Emnist:mnist 对手写字母的扩展。arXiv [预印本]。arXiv:1702.05373。doi: 10.1109/IJCNN.2017.7966217
[数据集] Abadi,M.,Agarwal,A.,Barham,P.,Brevdo,E.,Chen,Z.,Citro,C.,等。(2016 年)。Tensorflow:异构分布式系统上的大规模机器学习。arXiv:1603.04467。
[数据集] Dieleman, S., Schlüter, J., Raffel, C., Olson, E., Sonderby, SK, Nouri, D. 等。(2015 年)。烤宽面条:首次发布。
Deng, J.、Zhang, Z.、Marchi, E. 和 Schuller, B. (2013)。“用于语音情感识别的基于稀疏自动编码器的特征迁移学习”,2013 年人类协会情感计算和智能交互(IEEE) 会议,511-516。
Donahue, J., Jia, Y., Vinyals, O., Hoffman, J., Zhang, N., Tzeng, E., 等。(2014)。“Decaf:通用视觉识别的深度卷积激活特征”,国际机器学习会议,647-655。
Emmert-Streib, F. 和 Dehmer, M. (2019a)。通过对社区进行数据驱动的量化来定义数据科学。马赫 学。知道。提炼。1, 235–251。doi: 10.3390/make1010015
Emmert-Streib, F. 和 Dehmer, M. (2019b)。回归模型的评估:模型评估、模型选择和泛化误差。马赫 学。知道。提炼。1, 521–551。doi: 10.3390/make1010032
Enarvi, S. 和 Kurimo, M. (2016)。TheanoLM——神经网络语言建模的可扩展工具包。过程。Interspeech 3052–3056 doi: 10.21437/Interspeech.2016-618
Esteva,A.,Kuprel,B.,Novoa,RA,Ko,J.,Swetter,SM,Blau,HM,等。(2017)。使用深度神经网络对皮肤癌进行皮肤科医生级别的分类。自然542:115。doi: 10.1038/nature21056
Gers, FA 和 Schmidhuber, J. (2000)。“Recurrent nets that time and count”,在 IEEE-INNS-ENNS 国际神经网络联合会议论文集中。IJCNN 2000。神经计算:新千年(IEEE) 的新挑战和展望,卷。3, 189–194。
Gers, FA, Schmidhuber, J. 和 Cummins, F. (1999)。学会忘记:使用 LSTM 进行持续预测。神经计算。12, 2451–2471。doi: 10.1162/089976600300015015
Gers, FA, Schraudolph, NN 和 Schmidhuber, J. (2002)。使用 lstm 循环网络学习精确计时。J.马赫。学。水库。3, 115–143。可在线获取:http ://www.jmlr.org/papers/v3/gers02a.html
Goodfellow, I.、Pouget-Abadie, J.、Mirza, M.、Xu, B.、Warde-Farley, D.、Ozair, S. 等。(2014)。“生成对抗网络”,神经信息处理系统进展,2672-2680。
Goodfellow, IJ, Warde-Farley, D., Lamblin, P., Dumoulin, V., Mirza, M., Pascanu, R. 等。(2013)。Pylearn2:一个机器学习研究库。arXiv:1308.4214。
Graves, A. 和 Schmidhuber, J. (2005)。具有双向 LSTM 和其他神经网络架构的逐帧音素分类。神经网络 18, 602–610。doi: 10.1016/j.neunet.2005.06.042
Henderson, P.、Islam, R.、Bachman, P.、Pineau, J.、Precup, D. 和 Meger, D. (2018)。“重要的深度强化学习”,在第三十二届 AAAI 人工智能会议上。
Hinton, GE, Osindero, S. 和 Teh, Y.-W。(2006 年)。一种用于深度信念网络的快速学习算法。神经计算。18, 1527–1554。doi: 10.1162/neco.2006.18.7.1527
Holzinger, A.、Biemann, C.、Pattichis, CS 和 Kell, DB (2017)。我们需要什么来为医疗领域构建可解释的 AI 系统?arXiv [预印本]。arXiv:1712.09923。
Hosny, A.、Parmar, C.、Coroller, TP、Grossmann, P.、Zeleznik, R.、Kumar, A. 等。(2018 年)。肺癌预后的深度学习:一项回顾性多队列放射组学研究。公共科学图书馆医学。15:e1002711。doi: 10.1371/journal.pmed.1002711
Hwang, K. 和 Sung, W. (2015)。“GPU 上广义 LSTM 样 rnns 的单流并行化”,2015 年 IEEE 声学、语音和信号处理国际会议 (ICASSP) (IEEE),1047–1051。
Igel, C. 和 Hüsken, M. (2000)。“改进 RPROP 学习算法”,第二届国际 ICSC 神经计算研讨会论文集 (NC 2000),卷。2000 (Citeseer), 115–121。
Jia, Y.、Shelhamer, E.、Donahue, J.、Karayev, S.、Long, J.、Girshick, R. 等。(2014)。“Caffe:用于快速特征嵌入的卷积架构” ,第 22 届 ACM 多媒体国际会议论文集,MM '14(纽约,纽约:ACM),675-678。
江,M.,梁,Y.,冯,X.,范,X.,裴,Z.,薛,Y.,等。(2018 年)。基于深度信念网络和softmax回归的文本分类。神经计算。应用程序。29, 61–70。doi: 10.1007/s00521-016-2401-x
Kraemer, G. 和 Reichstein, M. 和 D., MM (2018)。dimRed 和 coRanking——在 R. R. J. 10, 342–358 中统一降维。doi: 10.32614/RJ-2018-039
LeCun, Y., Boser, B., Denker, JS, Henderson, D., Howard, RE, Hubbard, W. 等。(1989 年)。反向传播应用于手写邮政编码识别。神经计算。1, 541–551。
Leung, MKK, Xiong, HY, Lee, LJ 和 Frey, BJ (2014)。组织调控剪接代码的深度学习。生物信息学30, 121–129。doi: 10.1093/生物信息学/btu277
Liou, C.-Y.、Cheng, W.-C.、Liou, J.-W. 和 Liou, D.-R. (2014)。单词的自动编码器。神经计算139, 84–96。doi: 10.1016/j.neucom.2013.09.055
Mayr, A.、Klambauer, G.、Unterthiner, T. 和 Hochreiter, S. (2016)。Deeptox:使用深度学习进行毒性预测。正面。环境。科学。3:80。doi: 10.3389/fenvs.2015.00080
Mayr, A., Klambauer, G., Unterthiner, T., Steijaert, M., Wegner, JK, Ceulemans, H. 等。(2018 年)。chembl上药物靶点预测机器学习方法的大规模比较。化学。科学。9, 5441–5451。doi: 10.1039/C8SC00148K
明,Y.,曹,S.,张,R.,李,Z.,陈,Y.,宋,Y.,等。(2017)。“了解递归神经网络的隐藏记忆”,2017 年 IEEE 视觉分析科学与技术会议 (VAST) (IEEE),第 13-24 页。
Mnih,V.,Kavukcuoglu,K.,Silver,D.,Rusu,AA,Veness,J.,Bellemare,MG,等。(2015 年)。通过深度强化学习进行人工控制。自然518:529。doi: 10.1038/nature14236
Mohamed, A.-R.、Dahl, GE 和 Hinton, G. (2011)。使用深度信念网络的声学建模。IEEE Trans。音频语音朗。过程。20、14-22。doi: 10.1109/TASL.2011.2109382
Palangi,H.,Deng,L.,Shen,Y.,Gao,J.,He,X.,Chen,J.,等。(2016 年)。使用长短期记忆网络的深度句子嵌入:信息检索的分析和应用。IEEE/ACM 翻译。音频语音朗。过程。24, 694–707。doi: 10.1109/TASLP.2016.2520371
Paszke, A.、Gross, S.、Chintala, S.、Chanan, G.、Yang, E.、DeVito, Z. 等。(2017)。pytorch 中的自动微分。在线获取:https ://www.semanticscholar.org/paper/Automatic-differentiation-in-PyTorch-Paszke-Gross/b36a5bb1707bb9c70025294b3a310138aae8327a
Pedregosa, F.、Varoquaux, G.、Gramfort, A.、Michel, V.、Thirion, B.、Grisel, O. 等。(2011)。Scikit-learn:Python 中的机器学习。J.马赫。学。水库。12, 2825–2830。可在线获取:http ://www.jmlr.org/papers/v12/pedregosa11a
Pham, T.、Tran, T.、Phung, D. 和 Venkatesh, S. (2016)。“深度护理:预测医学的深度动态记忆模型”,亚太知识发现和数据挖掘会议(Springer),第 30-41 页。
Pu, Y., Gan, Z., Henao, R., Yuan, X., Li, C., Stevens, A., 等。(2016 年)。“用于深度学习图像、标签和字幕的变分自动编码器”,神经信息处理系统进展,2352-2360。
Sahu, SK 和 Anand, A. (2018)。使用长短期记忆网络从生物医学文本中提取药物-药物相互作用。J.生物医学。通知。86、15-24。doi: 10.1016/j.jbi.2018.08.005
Sarikaya, R.、Hinton, GE 和 Deoras, A. (2014)。深度信念网络在自然语言理解中的应用。IEEE/ACM 翻译。音频语音朗。过程。22, 778–784。doi: 10.1109/TASLP.2014.2303296
Shen, D., Wu, G. 和 Suk, H.-I。(2017)。医学图像分析中的深度学习。安努。牧师生物医学。英。第 19 页,第 221–248 页。doi: 10.1146/annurev-bioeng-071516-044442
斯莫兰德,J. (2016)。复杂疾病的深度学习分类方法(硕士论文),论文学院,坦佩雷理工大学,芬兰坦佩雷。可在线获取:https ://dspace.cc.tut.fi/dpub/handle/123456789/23845
Smolander, J.、Dehmer, M. 和 Emmert-Streib, F. (2019a)。将深度信念网络与支持向量机进行比较,以对来自复杂疾病的基因表达数据进行分类。FEBS 打开生物9, 1232–1248。doi: 10.1002/2211-5463.12652
Smolander, J.、Stupnikov, A.、Glazko, G.、Dehmer, M. 和 Emmert-Streib, F. (2019b)。比较 mRNA 和非编码 RNA 中包含的生物学信息,用于肺癌患者的分类。BMC 癌症19:1176。doi: 10.1186/s12885-019-6338-1
Soman, K.、Muralidharan, V. 和 Chakravarthy, VS (2018)。基于频率调制和多路复用的振荡神经自动编码器。正面。计算。神经科学。12:52。doi: 10.3389/fncom.2018.00052
Stupnikov, A.、Tripathi, S.、de Matos Simoes, R.、McArt, D.、Salto-Tellez, M.、Glazko, G. 等。(2016 年)。samExploreR:探索基于 SAM 文件的 RNA-seq 结果的可重复性和稳健性。生物信息学32, 3345–3347。doi: 10.1093/生物信息学/btw475
Szegedy, C., Liu, W., Jia, Y., Sermanet, P., Reed, S., Anguelov, D. 等。(2015 年)。“Going deep with convolutions”,IEEE 计算机视觉和模式识别会议论文集,1-9。
Venkataraman,S.,Yang,Z.,Liu,D.,Liang,E.,Falaki,H.,Meng,X.,等。(2016 年)。“Sparkr:使用 Spark 缩放 R 程序”,2016 年国际数据管理会议论文集,SIGMOD '16(纽约,纽约:ACM),1099–1104。doi: 10.1145/2882903.2903740
Vincent, P.、Larochelle, H.、Lajoie, I.、Bengio, Y. 和 Manzagol, P.-A。(2010)。堆叠去噪自动编码器:使用局部去噪标准在深度网络中学习有用的表示。J.马赫。学。水库。11, 3371–3408。可在线获取:http ://www.jmlr.org/papers/v11/vincent10a.html
Vinyals, O.、Toshev, A.、Bengio, S. 和 Erhan, D. (2015)。“展示和讲述:神经图像字幕生成器”,载于 IEEE 计算机视觉和模式识别会议论文集,3156–3164。
Wan, L.、Zeiler, M.、Zhang, S.、Cun, YL 和 Fergus, R. (2013)。“使用 dropconnect 对神经网络进行正则化” ,第 30 届国际机器学习会议论文集 (ICML-13),1058-1066。
Xingjian, S.、Chen, Z.、Wang, H.、Yeung, D.-Y.、Wong, W.-K. 和 Woo, W.-C. (2015 年)。“卷积 lstm 网络:降水临近预报的机器学习方法”,神经信息处理系统进展,802-810。
Yang, Z.、Dehmer, M.、Yli-Harja, O. 和 Emmert-Streib, F. (2020)。将深度学习与令牌选择相结合,从电子健康记录中进行患者表型分析。科学。众议员10:1432。doi: 10.1038/s41598-020-58178-1
Young, T.、Hazarika, D.、Poria, S. 和 Cambria, E. (2018)。基于深度学习的自然语言处理的最新趋势。IEEE 计算机。英特尔。麦格。13, 55–75。doi: 10.1109/MCI.2018.2840738
Yu, D. 和 Li, J. (2017)。基于深度学习的声学模型的最新进展。IEEE/CAA J. Autom。中央 4, 396–409 。doi: 10.1109/JAS.2017.7510508
张,S.,周,J.,胡,H.,龚,H.,陈,L.,Cheng,C.,等。(2015 年)。用于对 rna 结合蛋白靶标的结构特征进行建模的深度学习框架。核酸水库。43:e32。doi: 10.1093/nar/gkv1025
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。