分享

卷积神经网络

 思影科技 2022-08-23 发布于重庆

      自深度学习发端以来,很少有概念像卷积神经网络(CNNs或ConvNets;图10.1)那样产生如此大的影响。受David Hubel和Torsten Wiesel关于视觉皮层的实验的启发,这些网络在20世纪90年代被引入,彼时,第一批模型被开发出来用于识别手写数字,并展现出良好的性能。然而,这些网络的巨大潜力只是在2012年“ImageNet大规模视觉识别挑战赛”(又称“ImageNet竞赛”)期间才引起了更广泛的研究界的注意。在那一年,多伦多大学的Alex Krizhevsky率先将这种类型的网络应用于一项复杂的挑战——涉及对1000个类别(例如蜜蜂、巨嘴鸟、小猎犬等)的120万张高分辨率图像进行分类。名为“AlexNet”的CNN模型以16.4%的错误率位居第一,第二名的模型表现明显差很多,错误率为26.2%。凭借这一结果,AlexNet以一己之力将深度学习推上了风口浪尖,并导致了计算机视觉领域的范式转变。从那时起,CNN研究量呈指数级增长。仅在3年内,研究人员从8层的AlexNet研发到152层的残差网络,将ImageNet挑战的错误率降至4%以内,这也反映出CNN结构的日益复杂化。

图10.1。卷积神经网络(CNN)结构示例。CNN由不同类型的层组成,如卷积层、非线性层、汇聚层、全连接层等。这些层能够以若干种方式堆叠起来,本文后面会给出一些例子。
      除了在手写数字识别和物体分类中表现出较低的错误率,CNN还在其他计算机视觉任务中表现出色,例如人类动作识别、物体定位、行人检测以及人脸识别。随后,CNN在自然语言和语音处理中的有效性的也得到了证实,在句子分类、句子建模和语音识别方面取得了良好的结果。这些深度神经网络也被成功地应用于强化学习,当AlphaGo模型能够在古老的中国围棋比赛中击败世界上最好的棋手时,它们登上了新闻头条。特别是最近,CNN在医疗领域的应用激增,包括肺炎检测、视网膜疾病识别、皮肤癌分类等。如今,CNN在广泛领域中的成功应用是深度学习日益流行的关键原因之一。CNN成功的秘诀在于其精心设计的架构,以及对目标领域的语义理解。换句话说,这种类型的网络考虑到了我们在构成输入数据的元素/模式中找到的特定特征。CNN最初是为了应用于图像而设计的,因此,它们将以下关键属性编码到体系结构中:
      局部连通性。图像主要由空间上的元素(如物体、动物、纹理、物体的碎片等)组成。因此,网络中的神经元不需要连接到输入的所有单元来寻找兴趣目标。相反,CNN的神经元只与输入的空间局部区域内的少数单元相连,这些单元被称为感受野。这使得神经元能够聚焦于局部特征而不是全局特征。
      空间不变性。图像可以有不同位置的元素而不改变其语义内容,例如,在一张猫的图像中,无论猫在图像中处于什么位置,它仍然是一张猫的图像。因此,处理图像的合适的神经网络需要通过学习获得平移不变性。换句话说,该网络需要从类似的输入模式中产生类似的输出值,无论其位置如何。CNN通过在不同的神经元之间共享参数来实现这一特性。
      层次特征。图像中的模式通常可以被分解成层次化的特征,低层次特征(如耳朵、眼睛、鼻子)可以被组合,从而形成高层次特征(如脸、人)。通过使用多层网络,CNN可以自动提取和学习某个层次的特征,以用于模式识别。
       当我们结合所有这些特性时,所产生的神经网络具有很高的执行效率,使其适合处理复杂的图像。在接下来的章节中,我们对CNN进行了全面的介绍。随后我们介绍了不同类型的层背后的基本思想,以及如何连接这些层以创建流行的CNN架构。最后,我们阐述并讨论了CNN在大脑疾病方面的典型应用。本文发表在Machine Learning Methods and Applications to Brain Disorders中。

10.2 方法描述

       CNN与第9章中介绍的传统的深度神经网络(DNN)类似:它们是由具有可学习的权重和偏置的神经元层组成的。每个神经元接收一些输入,计算一个点积,并可选择用一个非线性函数追踪它。这个过程逐层重复,直到输出层,在那里产生网络的预测结果。然而,DNN有一个重要的限制:它们在计算资源方面不能很好地扩展。正如在第9章所看到的,传统的神经网络使用全连接层,其中每个神经元都与前一层的每个神经元相连,这很容易造成一个有成千上万个参数需要估计的网络。这种类型的配置适用于一般用途,也就是说,它对输入变量的属性不做任何预设。正因如此,它在内存和计算方面的成本往往较高。
      例如,让我们考虑一种DNN不能很好地扩展的特定数据——自然图像。图像可以被表示为二维(2D)网格结构,每个网格点都对应一个像素。在RGB色彩方案中,每个像素有三个强度值,每个值对应一种原色:红、绿、蓝。如果图像的空间维度为100×100像素,那么变量的总数量为100×100×3=30,000。在这种情况下,一个全连接的神经元将有30,000个加权连接。这个数量可能仍然是可控的,但如果我们想增加更多的神经元,它就不能很好地扩展。而在深度学习中,我们希望在多个层上拥有大量的神经元。随着我们的网络增长,全连接就开始出现浪费,而大量的参数会迅速导致过拟合。这种限制在脑部疾病研究中尤为关键,因为这些数据往往具有非常高的维度(例如基因或神经影像数据)。
      那么,CNN有什么不同呢?这些网络是专门为处理网格结构的输入而设计的,这些输入在网格的局部区域具有强烈的空间依赖性。最明显的例子是自然图像。自然图像表现出空间依赖性,相邻的像素往往具有相似的颜色值。因此,图像内的特征存在基于空间距离的相互依赖关系。除了二维图像,还有其他类似网格结构数据的例子,比如:
      ·信号和序列,包括文字序列(一维数据);
      ·音频频谱图(二维数据);
      ·视频和体积图像,如计算机断层扫描和磁共振成像(MRI)数据(三维数据);
      ·时间轴中的体积图像,如功能性MRI数据(四维数据)。

10.2.1 卷积神经网络中的“层”

      一个CNN可以由几个模块组成。我们将介绍其中的四个:卷积层、非线性层、池化层和全连接层。简单起见,我们只考虑层处理二维输入数据的情况。

10.2.1.1卷积层

      CNN的本质构成是卷积层,它做了大部分繁重的计算工作。简言之:
      卷积层包含一组滤波器,其功能是在这些滤波器和层的输入之间进行卷积运算,从而建立特征映射。
       我们来分析一下这个句子。首先,滤波器是一个由离散数字组成的网格,通常是方形的。它的参数(即网格中的数字)主要存储单个模板/模式,这个模式是由滤波器在层的输入中检测到的(像一个特征检测器)。例如,一个由组成“猫模式”的离散数字构成的滤波器将能够检测输入中是否存在猫。
       卷积运算是使CNN具有空间不变性的关键步骤。卷积操作将把滤波器定位到图像的左上方。它会在滤波器的参数和输入中的匹配网格之间执行一个元素层面上的乘积,然后对结果求和以得到一个单一的值。换句话说,它将执行点积运算(图10.2)。产生的单个值表示在图像的这个特定部分中是否存在滤波器的单个模板/模式(例如我们前面提到的是否存在猫的示例)。接下来,卷积运算将滤波器向右滑动,并在这个新位置计算点积。这种滤波器在输入端按照从左到右、从上到下的方向滑动,可以在图像的各个位置应用滤波器(图10.3)。在数学上,滤波器滑动和点积的结合可以被定义为一种卷积运算。
       最后,特征映射存储卷积运算的结果(多个点积的结果)。这种存储是在一个空间网格结构中完成的,它保留了输入网格之间的空间关系。特征映射的这一特性至关重要,因为下一层的卷积操作严重依赖于这些空间关系。

图10.2 单个点积的计算。点积的计算涉及到卷积滤波器和输入数据中的匹配网格之间的元素级乘法。对所得值进行求和,获得存储在特征映射中心像素中的单个数字。

图10.3 卷积操作。我们从图像左上角的滤波器开始,计算这个滤波器和输入数据之间的点积;得到的单个值被添加到特征映射中的相应位置。然后,我们将滤波器向右滑动一个位置(每个位置显示了不同的颜色)并执行相同的操作;同样,得到的单个值被添加到特征映射中的相应位置。因此,我们依次地,从左到右,从上到下,遍历输入层的整个空间。
      然而,上述卷积层的定义并没有涉及神经网络中的神经元(见第9章)。神经元与滤波、卷积操作和特征映射的概念有着怎样的关系?
       我们可以想象,特征映射中的每个元素都与一个神经元相关,该神经元只关注输入的一个小窗口。神经元权重类似于滤波器参数,特征映射的值是其与输入进行点积运算的结果。每个与特征映射中某个元素相关联的神经元都以覆盖整个输入的方式连接到前一层的一个固定区域(局部连通性)。在相同的特征映射中,各个神经元共用相同的权重,这是基于“一个特征在每个输入位置出现的可能性相等”的假设(空间不变性)。这种设计的结果是,整个图像被扫描为相同的模式。
       正如我们前面所见,每个滤波器只存储一个模式。因此,只扫描一种模式的图像很可能导致一个非常有局限性的网络。为了解决这一局限性,卷积层需要有若干个滤波器,每个过滤器产生一个单独的2D特征映射。在得到不同的特征映射之后,我们将所有的特征映射叠加在一起,这就生成了卷积层的最终输出结果(图10.4)。

图10.4 堆叠特征映射。在本例中,卷积运算使用不同的滤波器(绿色和红色)多次覆盖在输入图像上。每个滤波器创建一个不同的特征映射,检测图像上的不同模式。然后将得到的特征映射叠加在一起,形成该层的输出。
      与DNN类似,每个滤波器的参数(共享神经元的权重)在训练阶段进行学习。这个学习过程包括在开始时随机初始化滤波器参数,然后使用梯度下降法在多次迭代中进行调整(更多关于神经网络训练的细节见第9章)。
       到目前为止,我们将层的输入数据视为一个2D矩阵。该输入结构将能够表示灰度图像。但是,图像通常不具有单通道颜色。在RGB图像中,数据被描述为三个2D矩阵。此外,如果该层的输入是上一层的特征映射,它将有多个2D矩阵,每个特征映射都会有一个这样的矩阵。在这些情况下,滤波器将同时处理所有矩阵。它们将在整个3D格式的特征矩阵(或颜色通道)上运行。例如,当试图对人脸图片进行分类时,我们可能会使用鼻子、眼睛、耳朵和嘴巴等特征。这些特征将在网络的特定层中以四个特征映射来表示,分别用于眼睛、鼻子、嘴巴和耳朵。我们知道,如果输入特征映射中的相应位置包含能匹配的特征(两只眼睛、一个鼻子、一个嘴巴和两只耳朵),则说明特定位置包含人脸。换言之,为了确定人脸的存在,卷积层必须将多个特征映射上的依据与单个滤波器结合起来,以搜索所有的这些元素。
      由于上述这些特性,卷积层与DNN中的层相比具有不同的超参数。以下介绍滤波器数量滤波器大小、步幅和填充。
10.2.1.1.1 滤波器数量
       滤波器的数量决定了特征检测器的数量。该超参数是层中最多变的一个,通常设置为2的幂,介于32和512之间。使用更多的滤波器会产生更强大的神经网络,但由于要估计的参数数量较多,因此会增加过拟合的风险。

10.2.1.1.2 滤波器大小
       滤波器的大小(高度和宽度)表征了其空间范围。我们通常使用3×3的网格,但5×5或7×7也会用到。使用小型滤波器有两个显著的好处:(i)可学习参数的数量显著减少;(ii)它确保从局部区域学习特定的模式。请注意,当我们将许多卷积层堆叠后,每个层的“有效感受野(ERF)”成为之前所有卷积层的接收函数。例如,如果我们堆叠两个卷积层,每个层的滤波器大小都是3×3,那么第二层的感受野也将是3×3,但其对输入图像的有效感受野将是5×5.自然的结果是,后面的层中的特征会获得更大的空间区域。
10.2.1.1.3 步幅
      步幅表示滤波器窗口移动的像素数。其值通常为1,这意味着滤波器是逐像素滑动。然而,如果我们希望滤波器以更大的间隔滑动,从而减少感受野之间的重叠,我们可以增大步幅。这种改变使得生成的特征映射更小(图10.5)。

图10.5 步幅大小对特征映射的影响。步幅大小是指滤波窗口移动的像素个数。当它增大时,滤波器以较大的间隔滑动,导致感受野之间的重叠更少,特征映射更小。
10.2.1.1.4 填充
      在有些情况下,可以在边界周围用零值像素填充输入数据。由于滤波器的中心像素可以定位在输入图像的边缘像素上(图10.6),因此该填充可以防止特征映射在卷积运算期间收缩,避免了输出特征维数的崩溃,从而使我们能够设计更深层次的网络。

10.2.1.2 非线性层

       与其他神经网络类似,CNN也涉及到卷积层运算后的非线性激活函数。通常,该非线性函数在卷积层内被定义。然而,有时非线性变换被当作一个独立的层,以允许在网络架构中具有更大的灵活性。在可能用到的的非线性激活函数中,ReLU函数是最流行的,它可以比其他激活函数(如tanh或sigmoid)更快地训练深度CNN,因为tanh和sigmoid函数在非常高或非常低的值下会产生饱和,使函数的梯度无限接近于零,这减慢了梯度下降最优化。另一方面,对于任何正值,ReLU函数的梯度都不接近零,这有助于最优化更快地收敛。

图10.6 在图层的输入周围使用填充(灰色区域)的效果。
(左):在输入数据的边界周围填充零值像素,使滤波器的中心像素定位在输入图像的边界处,这样可以防止在卷积运算期间特征映射收缩。
(右):没有在输入数据的边界周围填充零值像素,滤波器的中心像素不再位于输入图像的边界处,这将导致在卷积运算期间特征映射收缩。

10.2.1.3 池化层

      池化层的目的是减小卷积层捕获的空间大小。它主要目的是简化收集到的信息,并创建相同信息的浓缩版本。最常见的池化形式是最大池化(图10.7)。最大池化层在其输入上滑动一个窗口,并在窗口中获取最大值,而丢弃所有其他值。与卷积层类似,我们需要指定窗口大小(类似于滤波器大小)和步幅。

图10.7 最大池化层下采样特征映射,同时保留重要信息。每种颜色表示不同的滤波器位置。最大池化背后的思想是:查看局部中值最大的点比查看其平均值更有意义。在本例中,我们使用的最大池化是2×2池化窗口和步幅2。

10.2.1.4 全连接层

      通常,CNN的最后一层是全连接层。这些层与DNN中的层相同。它们的主要功能是对卷积层和池化层检测和提取的特征进行分类。为了在全连接层中进行输入,特征映射会被扁平化成一个单独的一维向量。

10.2.2 卷积神经网络架构

      接下来的问题是:我们如何组合不同的层来制作一个实用的CNN?正如在第9章中提到的,神经网络没有一个明确定义的过程来确定理想的架构;相反,这需要大量的实验。然而,一个好的出发点是使用一些已被证明在相同或其他研究领域有所应用的原则。在本节中,我们将举例说明如何使用视觉几何组(VGG)模型这种普遍的神经网络来组合不同的层。
      VGG模型是一种可以应用于图像识别的网络。该网络在ImageNet分类挑战中获得了亚军,由牛津大学视觉几何小组(Visual Geometry Group)的研究人员开发,也因此得名。它的一种变体有16层,被称为VGG16。通常,我们用基于VGG的架构进行我们的网络开发,因为它非常简单明了(图10.8)。

图10.8 VGG16模型示意图。
      该模型的特征提取步骤全程只使用大小为3×3 .的卷积滤波器。每个卷积层上的数字表示特征映射的宽度、特征映射的高度和滤波器的数量。该网络的一个特点是,当我们降低特征映射的空间维度时,滤波器的数量(水平维度)会增加。全连接层上的数字表示神经元的数量。带有1000个神经元的输出层采用softmax非线性函数计算输入图像属于ImageNet竞赛中1000个类别中的各个类别的概率。
      VGG可分为两部分。模型的特征提取部分包括成对的卷积层和ReLU层,随后是单个池化层。将此模式重复多次,从而降低了数据的空间维数。在这个工作流中,沿着网络应用了几个滤波器,以提取具有不同抽象级别的特征(层次特征)。模型的分类部分包含最复杂的特征。分类部分到全连接层有一个过渡,它在整个输入空间中学习全局模式。最后一个卷积层中存在的全局信息最终用于执行分类任务。通常,我们首先构建一个仅由几个层组成的小网络。如果训练过程没有出现过拟合的迹象,我们就开始增加层和滤波器的数量:我们的卷积层越多,我们的神经网络将学习识别的特征就越复杂。

10.3 在脑部疾病方面的应用

       CNN的成功激发了医学研究人员利用多种类型的医疗数据来研究CNN的潜力。CNN在脑部疾病研究中的首次应用集中在结构性MRI等神经成像数据的分析上。这些应用是现有图像处理方法在计算机视觉领域成功应用的自然延伸。多年来,CNN在脑部疾病中的应用越来越复杂,例如在使用具有越来越多层数和模式的模型时,其中的层不再只是一个接一个线性排列,还划分为不同的分支,再进行合并。最近,CNN在脑部疾病研究中的应用已扩展到其他数据模式,如脑电波(EEG),语音以及面貌。在本节中,我们将介绍其中一些应用。

10.3.1 阿尔茨海默症预测

        阿尔茨海默症(AD)是最常见的痴呆症形式,其症状特征是记忆、思维和行为受损。然而,早在这些症状表现出来之前,与细胞死亡相关的细微变化就已经发生了。放射学上,这种神经退行性病变是AD的标志,病变从颞叶开始,然后扩散至整个大脑。然而,由于正常衰老也具有脑萎缩的特征,区分正常年龄相关的萎缩和AD介导的萎缩是一项比较困难的任务,即使是有经验的放射科医生。
       在过去的几年里,越来越多的机器学习模型被用于区分健康被试和AD患者。这一激增的原因是人们对开发基于人工智能的决策支持系统越来越感兴趣,该系统可以帮助诊断和治疗患有这种疾病的人。大多数研究使用CNN根据大脑结构性神经成像数据来识别AD患者。例如,在最早的一项研究中,Payan和Montana(2015)使用这种类型的网络将受试者分为三类:健康对照组、轻度认知障碍(AD的前驱症状)组和AD组。作者使用了2265名被试的T1加权MRI图像,预处理后的图像最终产生了一个三维矩阵,其维数为68×95×79(包含超过50万个体素)。这项研究中使用的CNN结构简单。它由卷积层、最大池化层、全连接层和输出层(也是全连接的)组成。然而,训练过程更加复杂。作者没有使用随机初始化的卷积滤波器(第9章中提到,在训练开始时,网络的权重通常被设置为随机值)。相反,他们采取了两阶段的方法。首先,他们使用无监督卷积自编码器预训练卷积滤波器(参见第11章)。其后,他们用预先训练好的参数初始化卷积滤波器,然后训练CNN使其对被试进行分类。
       作者特别感兴趣的是预测AD时比较2D和3D CNN的表现。结果表明,与2D输入相比,3D输入的网络表现更好(准确率89%)。作者的结论是,图像中的局部3D模式比局部2D模式对他们的机器学习任务更有用,这一发现在随后的医学图像研究中得到了证实。
       多年来,CNN在神经成像数据中的应用变得更加复杂。例如,2018年Khvostikov、Aderghal、Benois-Pineau、Krylov和Catheline开发了一个包含多模态数据的CNN,这是一种越来越受欢迎的AD分类方法。利用来自海马体的结构性MRI弥散张量成像数据,作者比较了每种单一模态与两种组合模态的表现。在他们的方法中使用了一种被称为“孪生神经网络”的结构,许多输入分支最终被合并,使来自不同模式的数据得以融合(图10.9)。

图10.9 Khvostikov等人(2018)设计的多模态架构。每个输入的感兴趣区域(ROI)对应到海马体上,通过两种模式(结构性磁共振成像和弥散张量成像)在左右脑半球进行测量。
     在健康对照组和AD组之间的分类中,多模态方法取得了最好的成绩,准确率超过95%。尽管数据集很小,只有48名AD患者和58名健康对照,但这项研究显示出了将神经网络应用于3D神经成像数据和融合不同模式时的潜力。

10.3.2 脑肿瘤分割

        结构性MRI是评估脑肿瘤最常用的工具之一。可以利用这种技术来分割肿瘤,以进行诊断和预后评估,并测量肿瘤生长速度。然而,肿瘤自动分割的发展面临技术上的挑战。脑瘤能够以几乎任何形状和大小出现在大脑的任何地方。这种高度可变性阻止了形态和位置上的强大先验应用,而这两者是其他解剖结构分割的重要组成部分。
      为了评估这一分割任务的技术水平,Menze等人在2015年组织了多模态脑肿瘤图像分割(称为BRATS)挑战。这项计划利用术前MRI扫描,重点是分割异质脑肿瘤,即胶质瘤。他们的数据集每年更新一次,包括450多例低级别和高级别胶质瘤患者的扫描,由几位人类学专家反复手动勾画肿瘤。BRATS挑战还包括预测患者的总生存期,以探索这项自动化任务的潜在临床相关性。
      在BRATS挑战中已经提出了许多使用CNN的方法。如Pereira、Pinto、 Alves和Silva(2016)采用了不同对比下的结构性MRI二维轴向切片作为通道。这个CNN用于输入的“patch”(即CNN输入图像中的一小块,比如滤波器每次移动后能查看到的一块区域)是从MRI切片中提取的33×33个像素。然后,在正常组织、坏死组织、水肿组织、非增强组织和增强肿瘤组织中预测中心像素的类别。该方法在BRATS(2013年版测试集)上的灵敏度为86%。
       Havaei等人在2017年探索了CNN的灵活性。首先,他们的模型使用“patch”作为输入,但网络有两个不同的输入层,不同的缩放尺度。第一个输入的“patch”大小为65×65,通过卷积层和池化层处理,得到33×33的特征映射,然后连接到第二个输入——一个33×33的“patch”的中心像素。其次,他们的网络没有用典型的线性结构网络(不同的层依次排列在同一个分支上),相反,这些层被拆分为不同的分支,然后进行合并。这种方法在BRATS(2013年版测试集)上的灵敏度为84%。
       同样在2017年,Kamnitsas等人将七种不同的CNN模型结合在一起,致力于开发一个更可靠的系统。他们以不同的方式配置和训练这些模型,以在它们之间引入高方差。他们使用了三种不同类型的CNN:两个多尺度3D网络,三个全卷积网络,以及两个被称为“U-Net”的网络。所有这些架构都是专门为分割任务创建的。随后,所有架构的输出被组合成一整个模型。由于使用了集成方法,他们的系统对独立组件的不可预测故障具有鲁棒性。他们的方法在那年的BRATS挑战中赢得了第一名,灵敏度为78%(2017版验证集),这显示了CNN的灵活性和技术组合中的差异性是如何有效地分割肿瘤的。

10.3.3 癫痫检测

      如之前所述,CNN可以应用于具有一维时间序列格式的生物信号。为了实现这一点,需要去除2D卷积滤波器的其中一个维度。通过这种方法,我们可以使CNN在时间维度上保持不变。
      一维CNN的一个有效的应用是检测癫痫发作。癫痫发作是由于大脑活动的突然变化导致意识的改变,通常伴随着异常的非自主运动。癫痫的特征是有两次或两次以上毫无征兆的痉挛发作,全世界有近5000万人受此疾病困扰。通过脑电波(EEG)监测大脑活动是确诊的标准技术。专家通过直接的肉眼检查来分析EEG,以检查癫痫样异常的存在,这些异常可能提供关于患者癫痫类型和病因的有价值的信息。
      在CNN首批应用于癫痫检测的研究中,Acharya等人在2018年使用CNN自动检测三类EEG:正常、发作前和癫痫。他们的数据集由每个被试的100个脑电波信号组成,这些信号来自5名健康对照组和5名患者。正常组的数据来自健康对照组,发作前的类别由癫痫患者未发作时的信号定义,发作时的信号也来自相同的患者。
      他们的CNN架构遵循VGG网络的架构,有13层。他们使用卷积块,随后是池化层,减少了空间维度,增加了网络中的滤波器数量。最后,使用全连接层来生成输出。
       该网络对90%的正常脑电波信号、88%的发作前信号和88%的发作信号进行了正确的分类。虽然结果不及当时其他最先进的方法,但这种方法的优势是消除了特征提取和特征选择的单独步骤,这两个步骤在传统的癫痫自动检测器开发中都非常具有挑战性且非常耗时。

10.4 结论

      CNN的发展为精神病学和神经学领域带来了颇具前景的新发现,使得发现有用的模式成为可能。然而,CNN仍有改进的空间。CNN是2012年计算机视觉领域的重大突破,这一突破之所以成为可能,不仅是因为新算法的发展和更强大的计算能力,还因为共建了可用于训练和测试模型的大型公开数据集。目前,尽管越来越多的方法正在被开发以提高小数据集的性能(如迁移学习、预训练和一次性学习),现存数据集的有限大小仍然是CNN在精神病学和神经学应用中的一个关键挑战。在建立复杂和强大的、没有过拟合或样本偏倚的模型时,训练样本的数量是至关重要的因素。在高维数据(一个在机器学习领域被称为“维度诅咒”的问题)的环境中,这个问题更加严重。然而,与计算机视觉等其他研究领域相比,在脑疾病方面的大多数应用拥有更少的图像(<1000)。值得庆幸的是,现在人们越来越意识到大型开放数据集的重要性,并正在采取越来越多的措施来解决这一问题。ADNI和BRATS等大型联合企业最初是为了推动可重复的检验发现,也为机器学习研究带来了好处。例如,多中心数据集的可用性越来越高,这意味着更容易使用独立的衍生与验证样本来开发对新数据集具有更强通用性和临床转化潜力的模型。
      使用CNN时的另一个关键挑战(不是针对大脑疾病研究的)是模型的调整需要大量的专业技术知识,这反过来限制了这些模型的易用性。为了应对这一挑战,机器学习社区一直在开发协议,以加快调整模型的超参数的进程。理想情况下,人们会希望有一种自动化的方法来为任何给定的任务生成正确的架构,这个过程被称为自动化机器学习。谷歌AutoML API(https://cloud.google.com/automl/)、Adanet(https://adanet。readthedocs.io/)和Autokeras (https:// autokeras.com/)是改进了对AutoML访问的最新函数库。我们期望在不久的将来,这些工具将被应用于脑部疾病的研究,以优化包括CNN在内的神经网络模型的性能。

10.5 要点

      ·CNN的灵感来自于视觉皮层的实验,通常包括卷积层、池化层、非线性层和全连接层;
      ·CNN被设计用于处理具有强局部依赖性的网格结构输入,因此非常适合生物信号和神经图像的分析;
      ·卷积层是CNN的基本组成部分,它在小窗口中学习局部模式;相比之下,传统神经网络典型的全连接层在整个输入空间中学习全局模式。
      ·通过结合局部连通性、空间不变性和层次特征,CNN可以高效地减少参数数量;
      ·在脑疾病的研究中,CNN被用来分类、预测临床的和已知的特征、分割特定组织以及检测异常模式。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多