AlexNet-BC:一种用于乳腺癌病理图像分类的深度学习方法

        一些常用的卷积神经网络(Convolutional Neural Network, CNN)及其变体,如AlexNet、VGGNet、GoogleNet等,在乳腺癌分类中容易出现过拟合的问题,这主要是由于乳腺病理图像数据集的规模较小,以及过于自信的softmax-cross-entropy loss。为了缓解过拟合问题以获得更好的分类准确性,提出了一种新的乳腺病理分类框架,称为AlexNet-BC模型。该模型使用ImageNet数据集进行预训练,并使用增强数据集进行微调。还设计了一个改进的交叉熵损失函数来惩罚过度自信的低熵输出分布,并使预测适合均匀分布。然后通过BreaKHis, IDC和UCSB数据集的一系列比较实验验证了所提出的方法。实验结果表明,在不同的放大倍数下,该方法优于现有的方法。它具有较强的鲁棒性和泛化能力,适用于组织病理学临床计算机辅助诊断系统。

1. 引言 

        机器学习(ML)方法越来越有兴趣将这一过程转移到自动化区域,以更高的精度避免人为错误。许多基于ml的方法已被引入计算机辅助诊断系统(CAD),以协助早期诊断,并被证明是可靠和有效的。基于ML的乳腺癌分类方法通常遵循三个步骤:a)预处理,b)特征提取,c)分类。预处理技术用于从大型wsi中采样获得大小为256×256的小型局部斑块。注意,有和没有肿瘤细胞的两种类型的贴片都被送去进行特征提取和分类。

        在特征提取步骤中,常用的分类器,如支持向量机、AdaBoost、随机森林、决策树等,经常使用手工制作的特征,如局部二值模式、灰度共现矩阵、基于形状的特征等。所使用的特征提取器受人类专业知识的约束。因此,由于人工特征的不完善和特征提取器的敏感性,基于机器学习的乳腺癌分类方法的可靠性相对较低。

        采用端到端网络[26]的深度学习方法可以实现自动特征学习,并将特征提取和分类合并在一起。由于人工标记病理图像具有挑战性,大多数用于乳腺癌分类的公共乳腺病理图像数据集都是小规模的,有约束的深度学习模型可能会与之过拟合。用于乳腺癌分类的基本事实标签通常采用one-hot的形式,其中标签集仅包含1和0,其中1表示硬目标的类概率,0表示非硬目标的类概率。通常用于训练深度学习模型的softmax-cross-entropy loss对于具有这种单热标签的训练样本的概率预测往往过于自信[24]。因此,在病理图像分析中广泛使用的经典深度学习模型,如AlexNet[19]、VGGNet[20]、GoogleNet[21]、Inception[22]、ResNet[23]等,都容易出现过拟合。

1.1 克服过拟合问题

  • 过拟合问题:在乳腺癌分类中,过拟合是一个常见问题,即模型在训练数据上表现良好,但在未见过的测试数据上性能下降。
  • 现有技术:为了克服过拟合问题,现有技术中常用的方法有数据增强、dropout、转移学习、标签平滑等。这些方法通过操作隐藏层激活或权重,或者通过引入噪声到输出标签中,来提高深度学习模型的泛化能力。

AlexNet-BC网络模型框架

        论文基于原始的AlexNet模型,提出了一个名为AlexNet-BC的网络模型框架。由于AlexNet-BC在小规模数据集上的性能可能受限,论文采用了数据增强技术来扩展原始数据集,并引入了转移学习策略来微调改进后的AlexNet-BC的参数。

新的损失函数

        设计了一个新的损失函数,其中在原始交叉熵损失的基础上添加了一个惩罚项。当预测的概率超过预设的阈值时,该惩罚项会使预测结果更适合于均匀分布。这是为了惩罚过于自信的预测,从而减轻过拟合。

实验验证

        该方法首先在BreaKHis数据集上进行训练和验证。进一步地,通过IDC和UCSB数据集来展示其泛化能力。

2. 相关工作

2.1 缓解数据集过小导致的过拟合

        神经网络是数据驱动的模型,需要大量的数据来训练。然而,许多应用领域,如医学图像分析,还没有大数据的接入。在这种情况下,通常使用数据增强,包括几何变换,颜色变化,随机裁剪,比例抖动,翻转,随机擦除,噪声注入,核滤波器,混合图像等,以弥补数据量少。这种技术存在一些局限性,特别是在增强数据集的质量上。

        迁移学习是另一种通过在ImageNet上预训练cnn来缓解小规模数据带来的过拟合问题的方法。相关研究表明,在ImageNet上预训练的模型,由于浅特征的相似性,可以从其他任务中学习到相似的特征。实验证明,在最坏的情况下,预训练好的CNN经过适当的微调,可以达到从头开始训练的效果。Vesal等人(2018)分别在ImageNet上对Inception-V3和ResNet-50进行了预训练,然后在乳腺病理数据集上对它们进行了微调,获得了积极的结果。Mohamed等人(2018)使用AlexNet模型测试了迁移学习的有效性,该模型在ImageNet上进行预训练,然后使用乳房x光检查数据进行微调。他们的结论是,这些从经过自然图像训练的现成深度学习模型中提取的现成特征在某些医疗任务中表现出竞争力。

        在本文中,很好地利用了数据增强和迁移学习来缓解由于乳腺病理数据集的大小和质量而导致的过拟合问题。前者用于扩展原始乳腺病理数据集;而后者则对所提出的网络框架的参数进行微调。

2.2 减少softmax -交叉熵学习的过拟合

        标签平滑被广泛用于解决深度学习模型中由于softmax-crossentropy的过度置信度而导致的过拟合问题。Lukasik等人(2020)证明,与其他降噪能力更强的损失校正技术相比,标签平滑具有竞争力。一些研究者对标签平滑与其他策略的融合进行了进一步的探索。

        例如,Xu等人(2020)基于将训练从平滑标签切换到热标签的思想,提出了一种简单有效的策略,即所谓的两阶段标签平滑算法(Two-Stage LAbel smoothing algorithm, TSLA)。这样做提高了模型的收敛性。虽然上述方法在一定程度上表现出良好的性能,但由于噪声在所有训练样本中均匀分布而导致的学习偏差尚未得到解决。

3. 方法

        首先,我们提出的AlexNet-BC模型在ImageNet数据集上进行预训练,然后使用预处理后的图像进行粗调优,同时冻结预训练模型的卷积层。最后,通过解冻卷积层对模型进行微调。 

乳腺病理分类建模框架流程图 

3.1 数据增强

        首先,从每张图像中随机提取6个patch,如图2所示。每张裁剪后的图像,分别使用几何变换、图像增强、直方图均衡化和图像二值化四种不同的图像预处理方法进行数据扩展,如图3所示。本文中使用的两种几何变换是翻转和旋转。四种不同的图像增强方法包括色彩增强、清晰度增强、对比度增强和亮度增强。此外,直方图均衡化方法应用于灰度和RGB图像,以增强其对比度。利用图像二值化方法,通过设置不同的灰度边界,使特征更加突出。通过数据增强,将数据集扩展到原来的20倍。将数据增强后的所有图像归一化作为网络的输入。

 

3.2 AlexNet-BC 模型

        AlexNet使用整流线性单元(Rectified Linear Unit, ReLU)来改善其非线性,并使用dropout技术来缓解小规模数据集造成的过拟合。没有ReLU和dropout的层在网络模型中以灰色突出显示。 

        Dropout是AlexNet中处理过拟合的有效方法。通常,在训练过程中,一个输入神经元会以概率参数d从网络中删除,从而产生一个相当“稀疏”的网络。在不损失一般性的情况下,dropout过程及其对每个输出神经元的影响如(1)-(4)所示。

r_j^{(l)}\sim\text{Bernoulli}(d)\quad(1) 

\begin{gathered} \mathbf{\tilde{y}}^{(l)}=\mathbf{r}^{(l)}*\mathbf{y}^{(l)} \text{(2)} \\ \mathbf{z}_{j}^{(l+1)}=\mathbf{w}_{j}^{(l+1)}\mathbf{\tilde{y}}^{l}+\mathbf{b}_{j}^{(l+1)} \text{(3)} \\ \mathbf{y}_{j}^{(l+1)}=f\left(\mathbf{z}_{j}^{(l+1)}\right) \text{(4)} \end{gathered} 

其中,l 为网络隐藏层的索引,j 为每层神经元节点的索引。z^{(l)}y^{(l)}分别表示第 l 层的输入/输出向量。w^{(l)} 是第 l 层的权值,b^{(l)}是第 l 层的偏置值。r^{(l)} 是一个独立的伯努利随机变量,取0的概率为d (dropout ratio),取1的概率为1-d。然后将层 l 的“稀释”输出 \tilde{y}^{(l)} 用作下一层 l+1的输入。 

在测试时,dropout操作后得到的神经元为输出权值乘以概率1-d(保留率),如式(5)所示: 

W_{\mathrm{test}}^{(l)}=(1-d)W^{(l)}\quad(5) 

随着d的增大,模型的性能略有提高;当d大于0.6时开始下降。随机禁用神经元及其对应的连接可以防止网络过分依赖单个节点,从而迫使所有节点以更好的泛化能力进行学习。然而,如果太多的神经元被丢弃,模型甚至无法执行。

        在原来的AlexNet中插入一个额外的FC层确实增加了网络的非线性,从而提高了其精度。然而,随着FC层的增加,过拟合问题变得更加严重。通过上述探索,我们提出的模型AlexNet- bc是通过在原始AlexNet上添加一个完全连接层并将dropout参数设置为0.6来构建的。

 3.3 新损失函数

        softmax分类器通常用于网络的最后一层。其目的是计算logit并以概率向量的形式输出值,表示样本属于每个输出类的概率。

\mathbf{q}^i=\frac{\mathrm{e}^{\mathbf{y}^i}}{\sum_{i=1}^k\mathrm{e}^{\mathbf{y}^i}}\quad(6) 

 k为softmax层神经元节点数;\mathbf{y}=[\mathbf{y}^{1};\mathbf{y}^{2};\ldots;\mathbf{y}^{k}]\in R^{k\times1}为该层的原始输出矩阵;\mathbf{q}=[\mathbf{q}^{1};\mathbf{q}^{2};\ldots;\mathbf{q}^{k}]\in R^{k\times1}为概率分布矩阵,\sum_{i=1}^k\mathbf{q}^i=1

        softmax分类器存在过拟合的高风险。通常,softmax函数将最后一个全连接层的多个神经元的输出映射到区间(0,1)。这样做,在乳腺癌的二分类中,正确样本的预测概率总是被强制接近1,使得交叉熵损失值接近于零。 

\begin{aligned}C(\mathbf{p},\mathbf{q})&=-\sum_{i}^{k}\mathbf{p}^{i}\mathrm{log}(\mathbf{q}^{i})\\&=-\sum_{i}^{k}\mathbf{p}^{i}\log\left(\frac{\mathrm{e}^{yi}}{\sum_{i}^{k}\mathrm{e}^{yi}}\right)&\text{(7)}\end{aligned} 

其中,\mathbf{p}=[\mathbf{p}^{1};\mathbf{p}^{2};\ldots;\mathbf{p}^{k}]\in R^{k\times1}是标签矩阵。

损失函数M(p.q)

        目的是以一种更少的自信和更强的适应性的方式正则化模型。特别是,当交叉熵损失超过预设阈值v时,新函数会对其进行惩罚。

M(\mathbf{p},\mathbf{q})=\left\{\begin{array}{l}C(\mathbf{p},\mathbf{q}),\mathbf{q}^i\leq v\\(1-\lambda)C(\mathbf{p},\mathbf{q})+\lambda\cdot C(\mathbf{\Delta},\mathbf{q}),\mathbf{q}^i>v\end{array}\right.\quad(8)

 式中,v为阈值,λ为惩罚项的权重系数。\Delta=[\frac{1}{k};\frac{1}{k};\ldots;\frac{1}{k}]\in R^{k\times1}

当 q^i>v 时,\begin{aligned}M(\mathbf{p},\mathbf{q})&=(1-\lambda)C(\mathbf{p},\mathbf{q})+\lambda\cdot C(\mathbf{\Delta},\mathbf{q})\\&=C(\mathbf{p},\mathbf{q})+\lambda(C(\mathbf{\Delta},\mathbf{q})-C(\mathbf{p},\mathbf{q}))&\text{(9)}\end{aligned}

其中\lambda(C(\mathbf{\Delta},\mathbf{q})-C(\mathbf{p},\mathbf{q}))是附加的惩罚项。其实质是使网络拟合在一定程度上均匀分布,从而缓解过拟合。 

        当概率输出接近于1时,会导致原始损失函数的输出熵接近于零,容易导致模型过度自信。在原损失函数中加入惩罚项后,模型的预测概率值分布更加均匀。结果表明,新的损失函数能够有效地减少深度学习模型中的过置信度和过拟合。

3.4 绩效评估

3.4.3 损失函数

        使用迁移学习策略来训练他们。惩罚项λ和阈值v是经验确定的。在本文的实验中,λ被设置为0.1,惩罚项v在40x、100x和400x时约为0.6,在200x时约为0.8。

        在四种不同的放大倍数下,提出的损失函数的平均精度得到了显著提高。这是因为所提出的损失函数减轻了模型的过度置信度。具体来说,当softmax的输出低于阈值时,仍然使用交叉熵损失函数,而当输出大于阈值时,增加一个惩罚项来拟合均匀分布。

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以根据需要进行如下优化和完善: 1. 在 `#homemasthead` 中添加 `height: 100vh;` 属性,将其高度设置为视口高度,使其占据整个屏幕空间。 2. 在 `#nav` 中添加 `padding: 10px 0;` 属性,将上下内边距设置为10像素,使其更加美观。 3. 在 `.display-1` 中添加 `font-weight: bold;` 属性,将字体加粗,使其更加醒目。 4. 在 `#footer` 中添加 `text-align: center;` 属性,将文本内容居中显示。 5. 在 `#links` 中添加 `cursor: pointer;` 属性,将鼠标样式设置为手型,增加交互性。 6. 在 `a:hover` 中添加 `text-decoration: none;` 和 `font-weight: bold;` 属性,将链接悬停时的下划线去掉,将字体加粗。 7. 在 `#references` 中添加 `cursor: pointer;` 属性,将鼠标样式设置为手型,增加交互性。 修改后的 CSS 代码如下: ```css @charset "utf-8"; /* CSS Document */ #homemasthead { background-image: url("Images/grass.jpg"); background-size: cover; background-position: center; font-family: 'Fuzzy Bubbles', cursive; height: 100vh; } #nav { background-color: #AFEBAA; font-family: 'BIZ UDPMincho', serif; padding: 10px 0; } .bg-dark { background-color: #476C9A !important; } .display-1 { font-size: 80px; font-weight: bold; } #home { background-color: #C7DDF8; font-family: 'BIZ UDPMincho', serif; } #about { background-color: #C7DDF8; font-family: 'BIZ UDPMincho', serif; } #footer { background-color: #476C9A; font-family: 'Fuzzy Bubbles', cursive; color: #F8FBBE; text-align: center; } #links { font-family: 'Fuzzy Bubbles', cursive; text-decoration: underline; cursor: pointer; } a { color: black; } a:link, a:visited { color: #F8FBBE; } a:hover { color: #B2BC1A; text-decoration: none; font-weight: bold; } #references { text-decoration: underline; cursor: pointer; } #refimages a { color: #00B510; text-decoration: underline; } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值