Yiwen Liao作者Joni Chung, Panda编辑

医疗图像检测训练数据少?迁移学习来帮忙

迁移学习是指把从一个域(源域)学习到的知识迁移到另一个域(目标域)的机器学习方法。印度班加罗尔 GE Global Research 的研究者研究了将从自然图像中学习到的特征迁移到医疗图像检测任务上的问题。机器之心技术分析师对该研究进行了解读,本文为解读的中文版。

论文地址:https://arxiv.org/pdf/1704.06040.pdf

1、引言

迁移学习机器学习领域内一个流行的主题,尤其是当缺少大量训练数据时。这篇论文系统性地研究了可以如何将在 ImageNet 上针对图像分类任务训练的卷积神经网络用于医疗图像——更确切地说,是用于针对“肾脏检测”问题的超声图像。

2、方法

图1:CaffeNet 架构的简单示意图

在这项研究中,研究者使用了图 1 所示的 CaffeNet 作为特征提取器来研究迁移学习的过程。但他们仅为检测任务使用了图 1 中 fc7 层之后的特征,其具有 4096 个维度。三种提取出的特征类型如下:

CaffeNet_FA(全网络适应):整个网络的权重都会根据肾脏图像样本进行更新和微调。

CaffeNet_PA(部分网络适应):保持 conv1 和 conv2 的权重不变,根据肾脏图像样本更新其它层的权重

CaffeNet_NA(零网络适应):保持整个模型的所有权重都不变。

为了与用于医疗图像检测问题的传统方法进行比较,他们还提取了这些肾脏图像样本的 Haar 特征(具有大约 2000 维)作为分类的输入。

3、实验和结果

研究者使用了两个验证指标:1)定位失败的数量,即检测得到的肾脏 ROI 和基本真值图像块之间的 Dice-Index 低于 0.80 的图像的数量;2)检测准确度。为了比较不同类型的特征,研究者训练了另一个二元分类器,这是一个梯度提升机(GBM:Gradient Boosting Machine)。

表 1 给出了整个定量分析结果:
  表1:在未见过的 45 张验证图像上的表现比较很显然,从一个预训练的 CNN 提取的特征能对后续的分类任务有更大的贡献。即使没有微调,CaffeNet_NA 也能在失败数量同等时得到比 Haar 特征更高的准确度。两种特征融合不仅能实现最高的准确度,而且让人惊讶的是还能将失败数量降至 3;相比而言,其它特征的失败数量超过 10。

下图展示了使用不同类型的特征作为输入所得到的可视化分类结果:

图 2:分类结果示例研究者比较了从所学到的卷积神经网络的第 1 和 2 层生成的某些响应图像与传统的图像处理(比如相位一致性和 Frangi Vesselness Filter)的输出,结果如下:

图 3:来自第 1 和 2 层的响应图像研究者发现,CNN 学习到的特征相当于某些广泛使用的非线性特征提取器所得到的特征。比如,响应图像 (g) 和 (i) 类似于 (b) 和 (c)。根据 (g) 和 (d),可以看到散斑噪声减少了。

表 2 给出了使用 L2 范数作为指标,每一层中过滤器的数量变化超过 40% 的层。

表 2:以 L2 范数作为指标,变化超过 40% 的每层过滤器数量

第 1 和 2 层的过滤器没有太大变化。研究者认为这可能是因为对于自然图像和超声图像而言,更低层面的特征基本是一样的。

4、分析师简评

一般性评论:

这篇论文研究了医疗图像上的某些迁移学习细节。研究表明,在自然图像上训练的卷积神经网络可用作医疗图像的有效特征提取器。对预训练后的网络进行微调能极大提升特征提取的表现。预训练的卷积神经网络可以基于数学归纳提取出同样或相似的特征作为非线性特征提取器。

可能存在的问题

验证集太小了,实验中仅使用了 45 张图像。所以“失败数量”的结果不是很有说服力。

改进建议

  1. 比较更多不同的预训练网络作为特征提取器的情况,以研究神经网络的架构是否会对迁移学习的效果产生影响。
  2. 使用不同的医疗图像(这里仅使用了肾脏图像)来比较特征提取器的表现。

其它思考

迁移学习是一个活跃的机器学习领域。首先,很多问题(比如医疗图像检测)都只有很少的训练样本。我们需要仅需使用少量训练样本就能表现良好的模型。其次,从头开始创建全新的模型是非常困难且非常耗时的,因为所要初始化和调节的参数数以千计。很多情况下,这些参数非常敏感,而且调节很困难。所以迁移学习能为我们提供一种使用给定数据集实现训练的更简单方法。此外,通过研究迁移学习的内在过程原理,我们可以更理解不同训练任务之间的共同结构和关系。

技术分析
相关数据
范数技术

范数(norm),是具有“长度”概念的函数。在线性代数、泛函分析及相关的数学领域,是一个函数,其为向量空间内的所有向量赋予非零的正长度或大小。半范数反而可以为非零的向量赋予零长度。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

参数技术

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

提升算法技术

Boosting是一种主要用于减少偏差的机器学习集成元算法,也是监督学习的一个变化,是一种将弱学习器转换为强学习器的机器学习算法家族。 Boosting是基于Kearns和Valiant(1988,1989)提出的问题:一组弱学习器能创造一个强大的学习器吗?一个弱的学习器被定义为一个分类器,它与真实的分类只有轻微的相关性(它可以比随机猜测更好地标注示例)。相反,强大的学习器是一个与真实分类任意相关的分类器。

梯度提升技术

梯度提升是用于回归和分类问题的机器学习技术,其以弱预测模型(通常为决策树)的集合的形式产生预测模型。 它像其他增强方法一样以阶段式方式构建模型,并且通过允许优化任意可微损失函数来推广它们。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

验证集技术

验证数据集是用于调整分类器超参数(即模型结构)的一组数据集,它有时也被称为开发集(dev set)。

神经网络技术

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

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

迁移学习技术

迁移学习是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数机器学习算法都是为了解决单个任务而设计的,但是促进迁移学习的算法的开发是机器学习社区持续关注的话题。 迁移学习对人类来说很常见,例如,我们可能会发现学习识别苹果可能有助于识别梨,或者学习弹奏电子琴可能有助于学习钢琴。

图像处理技术

图像处理是指对图像进行分析、加工和处理,使其满足视觉、心理或其他要求的技术。 图像处理是信号处理在图像领域上的一个应用。 目前大多数的图像均是以数字形式存储,因而图像处理很多情况下指数字图像处理。

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