5.25.12 数字组织病理学的自我监督对比学习

无监督学习可以弥补标记数据集的稀缺性。

无监督学习的一个有前途的子类是自监督学习,其目的是使用原始输入作为学习信号来学习显著特征。在这项工作中,我们解决了在没有任何监督的情况下学习领域特定特征的问题,以提高数字组织病理学界感兴趣的多项任务表现。

通过收集和预训练 57 个没有任何标签的组织病理学数据集,将对比自监督学习方法应用于数字组织病理学。将具有不同类型染色和分辨率属性的多个多器官数据集相结合可以提高学习特征的质量。

使用更多图像进行预训练会在多个下游任务中获得更好的性能,尽管随着更多未标记图像被纳入预训练,效率会减少。在数字组织病理学数据集上预训练的网络比 ImageNet 预训练的网络表现更好,平均将 𝐹1 分数的任务表现提高了 28% 以上。

没有观察到预训练数据集站点或器官与下游任务之间的一致相关性(例如,仅使用乳房图像进行预训练并不一定会导致与乳房相关的任务的下游任务表现优异)


1. 介绍

机器学习任务中标记图像的数量与任务绩效呈正相关;然而,标记数据稀缺且昂贵。这一问题在医学图像分析任务中更加严重,因为医学图像分析任务通常需要专家注释。

由于有关传播私人患者数据的规定,标记也必须在现场进行。在任何医学图像分析任务中,最费力和最耗时的步骤往往是标记数据,已经提出了几种方法来缓解这种数据注释瓶颈。研究发现,可以利用未标记数据的无监督和自监督方法,以及使用部分标记数据的半监督方法可以提高任务绩效。

大多数自监督技术都依赖于自然场景图像属性,而这些属性不适用于组织病理学图像。但是,最近的对比学习方法可以应用于数字病理学图像。 

使用经过自监督学习预训练的残差网络来学习可推广的特征。我们采用 SimCLR,这种对比自监督技术,在 ILSVRC2012 数据集的 top-1 分类准确率上具有与监督 ResNet 50 网络相当的性能。 

使用此方法预训练残差网络,并在下游任务中使用预训练网络执行多个多器官数字组织病理学数据集上的多个任务。探索了不同的数据采样策略,以了解导致表示的数据量和类型,从而比 ImageNet 预训练或从头开始训练提高任务性能。

具体来说,研究了用于预训练的图像数量、分辨率、染色和组织类型对学习到的表示和下游任务性能的影响。 此外,比较了多种图像增强策略,以确定数字组织病理学预训练时的最佳实验。结果表明,使用未标记的组织病理学图像进行预训练可以提高 Imagenet 预训练的任务性能,并减轻各种分类、回归和分割任务对标记数据的要求。

2. 相关工作

无监督学习一直是计算机辅助诊断系统的长期目标。以前,稀疏和变分自动编码器 已用于无监督的细胞核检测和迁移学习(例如,在多个尺度上学习卷积核组),而生成对抗网络已用于组织和细胞水平分类、细胞核分割和细胞计数。大多数这些无监督方法不适用于大于细胞的结构或比区分组织和细胞类型更复杂的任务,主要是因为它们能够处理的图像尺寸较小(例如 64 × 64 像素),并且由于此类方法可以编码的信息有限。它们可能还需要自定义网络,并且可能仅适用于具有特定分辨率和染色特性的应用。

自监督学习是无监督学习得一个有前途的子类,其中使用原始输入数据来生成学习信号,而不是先验信息(例如互信息或聚类密度)。这些方法通常可以应用于较大的图像,并与标准架构(例如残差网络)配合使用。基于上下文的自监督方法重新排列图像输入并要求网络执行空间重新排序

Noroozi 和 Favaro(2016)将图像平铺成九个方块,然后将这些方块打乱,而 Gidaris、Singh 和 Komodakis(2018)将输入图像旋转 90° 角。无论哪种情况,目的都是使用神经网络获取原始输入,该网络通过分别对图块排序或旋转角度进行预测,有效地为下游任务进行了预训练。虽然可以在自然场景图像中利用上下文信息来获得有意义的表示,但组织病理学图像中的结构是弹性的,可以形成无限多的有效分组。因此,这些技术并不直接适用于组织学领域。例如,预测旋转对于整个幻灯片图像来说不是一项可行的任务,因为细胞和周围结构在旋转图像中也会有有效的排列。

在组织病理学中,Gildenblat 和 Klaiman (2019) 使用空间邻接作为相似性的信号,而预训练任务是根据整个全视野数字切片图像(WSI) 上的空间距离将图像对标记为相似或不相似。Tellez、Litjens、van der Laak 和 Ciompi (2019) 也利用对比学习,通过对从 WSI 中提取的图像块应用增强。目的是通过区分两个增强图像是否来自同一源图像来学习显著特征。

2.1 存储库---对比学习方法

通过区分未标记的训练样本学习潜在空间特征的对比方法在计算机视觉任务中取得了最佳效果。这种对比学习方法假设在微小变换下,同一图像块的两个视图应该具有相似的特征表示。重要的是,由于对比方法仅依赖于实例级别的一致性,因此它们不需要实例之间或实例内的任何空间规律性,并且适用于数字组织病理学图像。

Dosovitskiy、Springenberg、Riedmiller 和 Brox (2014) 利用一致性假设来获得每个训练实例的参数特征表示。后来,Wu、Xiong、Yu 和 Lin (2018) 将 Dosovitskiy 等人 (2014) 扩展为非参数特征表示,使用动态存储库存储数据样本的潜在特征

一致性假设表明,随着训练样本数量的增加,学习算法的性能应该逐渐提高,模型的风险(即预测错误的可能性)应该趋近于最优风险。  

存储库用于为每个训练实例选择反例,其中任何不是原始训练实例的另一个视图或增强的图像都被视为反例。然后使用存储库获取负样本,而无需重新计算特征向量。使用简单的图像增强(例如,调整图像大小、水平翻转、颜色抖动等)和存储库已被证明能够通过最大化正样本潜在表示之间的相互信息来成功学习表示。数据增强也已得到利用,方法是在正样本和负样本图像对的特征向量上应用适当的对比损失函数。

2.2 新的对比学习方法 

最近,Chen、Kornblith、Norouzi 等人(2020 年)提出了一种对比学习方法,该方法不需要自定义网络或存储库,而是依赖于使用大量小批量实例(≥ 256)来获取每个训练实例的负样本。 通过在训练时期为每个训练实例提供更多的负样本来提高学习表示的质量。除了一些架构改进外,该方法的性能大大优于上述技术(+7%),并且当其特征用于训练 ImageNet ILSVRC-2012 数据集的线性分类器时,其性能与监督 ResNet 50 网络相当。 后来,Grill 等人通过对模型权重进行指数移动平均 (Tarvainen & Valpola, 2017) 或知识蒸馏和使用更大的投影层 (Chen, Kornblith, Swersky, Norouzi, & Hinton, 2020) 等技术逐步改进了该方法。

指数移动平均(Exponential Moving Average,简称EMA)是一种常用的计算平均数的方法。它赋予近期的数据更高的权重,而较旧的数据权重则逐渐减小。EMA可以用于分析时间序列数据。

3. 方法

3.1 对比自监督学习

使用对比学习方法的目的是最大化同一图像的两个随机增强视图之间的表示一致性。当我们对同一张图像进行不同的增强变换(如旋转、裁剪等)后,通过神经网络得到的特征表示应该是相似的。

具体而言,给定图像 𝑖、概率增强函数 f_{aug}(\cdot)对图像进行随机增强、具有参数 𝜃 的神经网络或编码器 f_{\theta}(\cdot) 和具有参数 \hat{\theta}  的辅助投影层 p_{\hat{\theta}}(\cdot)

辅助投影层  对从编码器得到的特征进行进一步转换,其中 θ̂ 是投影层的参数。

目的是匹配由 z_{i} = p_{\hat{\theta}}(f_{\theta}(f_{aug}(i))) 给出的同一图像的两个增强的 l_2 归一化特征表示。 同时,通过对比损失函数 NT-Xent(归一化温度尺度交叉熵损失)使批次中的其他图像与图像 𝑖 不同,该函数定义为

 \ell_{i,j}=-\log\frac{\exp(\sin\text{ilarity}(z_i,z_j)/\tau)}{\sum_{k=1}^{2N}\mathbb{1}_{[k\neq i]}\exp(\text{similarity}(z_i,z_k)/\tau)}

其中 𝜏 是温度参数,用于在给定的例子中分配不同的权重,以实现难负样本挖掘(hard negative mining)。难负样本挖掘旨在关注那些与正样本相似但实际上是负样本的样本,从而提高模型的学习效果。

\mathbb{1} 是指示函数,当 𝑘 ≠ 𝑖 时输出 1,否则输出 0。

相似度函数是两个 𝓁2 归一化向量之间的距离度量。𝓁2 归一化是一种将向量转换为单位长度的过程,这有助于消除向量大小对相似度计算的影响,使得计算更加关注向量方向上的相似性。

f_{\theta}(\cdot) 的输出称为预激活层输出,将 p_{\hat{\theta}}(\cdot) 的输出称为图 1 中的 MLP 输出,或 z_i

辅助投影层是一个单隐藏层 MLP,用于将预激活层输出投影到较低的嵌入空间。比较 z_iz_j 比直接比较预激活层输出更有效。


实验中,使用余弦相似度,定义为相似度 (u,v) = u^{T}v/\|u\| \|v\|。实验发现,与类似的损失函数(例如边际损失(Schroff、Kalenichenko 和 Philbin,2015 年)或逻辑损失(Mikolov、Chen、Corrado 和 Dean,2013 年))相比,NT-Xent 有助于学习更好的表征。

对于批次大小为 2𝑁 的每个预训练步骤,每个增强图像都有一个相似(或正)样本和 2(𝑁 −1) 个不相似(或负)样本。通过使用同一批次中的样本作为负样本,避免了许多方法中存在的昂贵的显式负示例挖掘,并且能够扩大批次大小,其中每个预训练步骤同时优化 ∼4N^2 个特征向量。 

所有的图像块(patches)都使用一个相同的卷积神经网络(CNN)进行处理。图中,CNN块被复制了多次以增加清晰度,但实际上它们都是相同的。

每个图像都被进行了两次数据增强(augmentation)。数据增强通常是通过旋转、裁剪、缩放或其他变换来增加图像的多样性,这有助于模型学习更鲁棒的特征。

使用CNN在预激活输出层提取特征。在CNN的最后一层(通常是全连接层之前)提取了特征表示。

从CNN中提取的特征被进一步转换到一个更低的嵌入空间,通过多层感知机(MLP)完成的。MLP在这里起到了一个降维和特征转换的作用,使得这些特征更适合进行后续的对比学习。

来自同一原始图像的数据增强版本(即图像块)在特征空间中被拉近(用绿色箭头表示)。这意味着模型学习到的特征表示使得同一个图像的不同增强版本在特征空间中更加接近。

来自不同原始图像的图像块在特征空间中被推开。这是通过使用NT-Xent损失函数实现的,它鼓励模型将不同图像的表示推得尽可能远。

 预训练网络的目的是使得增强视图之间的相似性成为学习显著特征的一个信号。

3.2 组织病理学的多样性

对比方法利用图像块之间视觉属性的变化来学习显著特征。获取视觉上多样化的块对于数字组织病理学来说具有挑战性,尤其是在高分辨率下查看图像时。给定多个未标记的数据集,假设选择具有不同染色、分辨率和组织类型的图像将产生 选择从同一 WSI(全视野数字切片图像) 中提取的图像块或从同一数据集中采样图像更多样化的数据集。 在早期的实验中,发现使用前一种方法构建的数据集进行预训练比构建从单个数据集中采样图像的预训练数据集具有更好的验证性能。

4. 实验

4.1 预训练数据集

预训练数据集包括来自血液、乳腺、淋巴、结肠、骨骼、前列腺、肝脏、胰腺、膀胱、宫颈、食道、头部、颈部、肾脏、肺、甲状腺、子宫、骨髓、皮肤、大脑、胃和卵巢等部位的图像。

在总共 57 个数据集中,有 22 个由图像块组成,35 个是 WSI(全视野数字切片图像) 数据集。大多数数据集用苏木精和伊红 (H&E) 染色,最高分辨率为 0.25 μm/像素(通常称为 40 倍)。虽然大多数 WSI 数据集来自癌症基因组图谱计划 (TCGA) 和临床蛋白质组肿瘤分析联盟 (CPTAC) 数据库,但也使用来自淋巴和乳腺癌任务的多个公共挑战数据集。图像块数据集是从各种公开来源收集的,并表现出与 WSI 数据集类似的器官多样性。

4.2 验证实验

4.2.1 验证数据集

在五分类、两分割和一回归数据集上验证了在多种设置下训练的预训练网络(例如,仅使用单个数据集或组织类型、不同数量的训练图像等进行训练)。

分类数据集包括 BACH(四类乳腺癌分类)、Lymph(三类恶性淋巴结癌分类)、BreakHisv1(二元乳腺癌分类)、NCT-CRC-HE-100K(九类结直肠癌组织分类)和 Gleason2019(五类前列腺癌分类)。

分割数据集是 BACH(WSI 上的四类乳腺癌分割)和 DigestPath2019(WSI 将早期结肠肿瘤分割为健康和癌变组织)。

回归数据集是 BreastPathQ,它涉及为给定的图像块分配百分比癌细胞评分。

4.2.2 任务

比较了使用随机初始化的网络和在ImageNet上预训练的ResNet 18、34、50和101的性能。ImageNet是一个大型的图像数据集,用于预训练各种计算机视觉模型。

对于图像分割任务,作者使用了UNet架构。UNet是一个常用于图像分割的神经网络架构,它包含一个编码器和一个解码器。编码器是预训练的,而解码器是随机初始化的。这意味着编码器的权重是从其他任务(如ImageNet分类)中迁移过来的,而解码器则需要从头开始训练。

比较了两种监督训练设置:微调(fine-tuning)和仅训练最后一层(last layer training)。微调是指在整个网络上进行训练,包括预训练的层和新添加的层。这通常用于当训练数据集足够大时,以便能够进一步调整预训练网络的权重。仅训练最后一层是指冻结预训练网络的所有层,只训练网络的最后一个分类或回归层。这通常用于评估预训练网络的表示能力,因为它直接反映了预训练特征的质量。

为了直接评估学习到的表示,作者在预激活层冻结了每个ResNet网络,并仅在一个线性分类器或回归器上训练这些表示。对于分割任务,作者没有采用仅训练最后一层的设置,因为所使用的UNet解码器包含与预训练 ResNet 编码器相当数量的可训练参数。因此,使用预训练编码器或ImageNet初始化的好处可能会被解码器的复杂性所抵消。

避免过拟合与冻结层:当训练数据集较小时,冻结网络的部分层可以防止过拟合。通过只更新网络的一部分权重,可以减少模型在训练数据上的过度拟合,从而提高在未见数据上的性能。

预训练特征的其他用途:除了直接用于分类或回归任务外,预训练的特征还可以用于聚类、特征选择,以及更传统的机器学习方法,如决策树和支持向量机。

4.2.3 验证设置

每个实验都训练了100个周期(epochs),使用的是Adam优化器。批次大小设置为128,

权重衰减是一个正则化技术,用于防止模型过拟合。对于Resnet18模型,权重衰减设置为0.00001;对于其他模型,权重衰减设置为0.0001。

数据集被划分为三个部分:50%用于训练,25%用于验证,以及25%用于测试。训练集用于训练模型;验证集用于在训练过程中调整模型的参数和监控模型的性能;测试集用于评估模型的最终性能。

对于分类和分割任务,使用宏平均F1分数(macro F1 score)作为验证指标。宏平均F1分数会平等地考虑每个类别,无论每个类别的样本数量如何,有助于处理数字病理组织学数据集中常见的类别不平衡问题。

对于回归任务,计算预测值和真实回归标签之间的平均绝对误差(mean absolute error,简称𝐿1)。在训练过程中,会保存具有最佳验证性能的模型,并在测试集上评估其性能。

5. 结果

所有预训练实验均使用 Resnet18 模型进行,验证实验在不冻结任何网络层的情况下进行。

使用“预训练”来指代无监督训练。然后使用预训练网络对验证数据集进行“监督”训练。

对于 Resnet 18 模型,可以使用 4 T P100 GPU 上的 PyTorch 在大约 24 小时内对包含 50 万张 224 × 224 像素大小图像的数据集进行 1000 次预训练。

5.1 总体比较

三种不同的预训练策略:自监督、使用ImageNet初始化、以及随机初始化。

分别在Resnet的四种不同架构(18, 34, 50, 101)上进行了实验,并记录了结果。

无论在哪种设置下,预训练(无论是自监督还是ImageNet初始化)的表现都优于随机初始化。这说明预训练能够提取到有用的特征,有助于模型在下游任务中取得更好的性能。

评估这些网络在几个不同下游任务上的性能,包括分类(Cls.)、回归(Reg.)和分割(Seg.) 

分类和分割任务,报告了五个验证数据集上的平均F1分数百分比;

回归任务,报告了一个数据集上真实细胞性百分比与预测细胞性百分比之间的平均 L_1 误差(平均绝对误差), 误差值越小越好。

对于分割任务,在Resnet 18 和 34这样较小的网络上,自监督的性能与ImageNet初始化相当。这可能意味着在较小的模型上,自监督方法能够提取到与ImageNet预训练同样有用的特征表示,尽管它们的训练方式和使用的数据集完全不同。

然而,对于更大的网络(Resnet 50 和 101),ImageNet初始化的性能更好。这可能是因为ImageNet数据集包含大量的标注图像,使得模型能够学习到更多丰富的视觉特征,而这些特征在较大的模型中能够得到更好的利用。

5.2 当只有少量训练图像可用时,预训练最有用

通常认为,预训练的网络可以提升医学图像分析(Tajbakhsh et al., 2016)和数字组织病理学任务(Mehra et al., 2018)的性能。

一系列验证实验,旨在比较不同预训练设置在分类和回归任务上的性能。这些实验使用训练数据集的不同比例({5%, 10%, 20%, 50%, 100%})进行,以探究训练数据集大小对性能的影响。

比较了三种不同的预训练设置:随机初始化、ImageNet预训练和自监督预训练。这些预训练策略应用于Resnet 18, 34, 50 和 101四种网络架构上。

在没有大量训练集的情况下,使用预训练初始化来训练分类器或回归网络可以提高性能

5.3 预训练获得的特征比 ImageNet 特征更能代表组织病理学图像块

通过自监督学习到的表示与预训练的 ImageNet 特征和随机初始化的残差网络权重进行比较,通过在验证数据集的 ResNet 模型的预激活层上训练线性分类器。对于Resnet 18和Resnet 34,最后一层(或某个特定层,如全局平均池化层之前的层)输出的特征数量是512。对于Resnet 50 和Resnet 101,这一数字增加到2048。

在网络的预激活层(pre-activation layer)之前冻结网络,并只训练一个单独的回归层。冻结网络意味着在训练过程中,被冻结的部分(即预激活层之前的所有层)的参数不会被更新,而只有回归层的参数会进行学习和调整。

对于分割任务,没有类似的冻结编码器实验,因为解码器可以包含数百万个参数,无论编码器权重如何,都可以训练这些参数以实现令人满意的性能。

自监督网络取得了比 ImageNet 初始化更好的结果,这表明我们的方法已经学习了领域特定特征,这些特征可能很有用,尤其是在训练样本稀缺的情况下。 人们可以冻结并从网络的各个层获取特征,以训练各种机器学习模型,包括神经网络、支持向量机或随机森林分类器。

5.3.1 使用学习到的特征表示进行聚类

学习到的特征表示可以直接用于聚类,而无需任何标记的训练示例。这些特征是通过某种方法(如自监督学习)学习得到的,并且可以直接用于各种任务,而无需额外的标签信息。

学习到的特征不仅可用于聚类,还可以用于查询图像到其最近邻。


在涉及WSI(全视野数字切片图像)的大多数任务中,负样本挖掘是一个重要环节。负样本挖掘通常涉及从大量数据中识别出与特定任务(如分类)不相关的样本。

文章提供了一个具体的例子来说明学习到的特征表示的重要性。使用一个包含接受新辅助治疗后乳腺癌(BRCA)样本的数据集,这些样本带有肿瘤区域的注释。作者从WSI中随机采样图像块,但这样做通常会导致正负样本类别不平衡,从而增加假负例的比例。为了缓解这个问题,作者采用了聚类方法,该方法依赖于图像块在特征空间中的相对距离所反映的视觉或形态相似性。

从69个WSI中采样了140万个图像块,并使用 Resnet18 通过自监督学习生成的512维特征表示进行聚类。使用mini-batch K-means算法将这些图像块聚类成3000个簇。使用肘部法则(Elbow heuristic)来确定簇的数量,该法则通过查看不同簇数量下的方差解释率来确定最优簇数。在这个例子中,当簇的数量为3000时,解释方差达到83.3%。

肘部法则:随着簇数量的增加,簇内数据点的聚合程度(通常通过某种距离度量来衡量)会逐渐提高。当簇数量较少时,增加簇的数量通常会显著提高聚合程度;然而,当簇数量达到某个点后,再增加簇的数量对聚合程度的提升就变得不那么显著了。

方差解释率是一种度量,用于评估聚类模型对数据方差的解释程度。在聚类分析中,方差通常表示数据点与其所属簇的质心(或中心点)之间的距离的平方的平均值。方差解释率是指模型解释的方差占总方差的比例。较高的方差解释率意味着模型能够更好地捕获数据中的结构或模式。 

 10×、20× 和 40× 分别指 1 μm∕像素、0.50 μm∕像素和 0.25 μm∕像素

5.4 在预训练中使用更多未标记图像可提高下游任务的性能

从包含前景的WSI中提取大小为224 × 224像素的图像块。如果为每个数据集都这样做,可能会产生数百万个图像块,这将导致处理起来非常困难。因此,为了解决这个问题,从每个WSI中随机抽取最多100个图像块。同时,他们使用来自非WSI数据集的所有图像来生成无监督预训练数据。使用WSI的最大可用分辨率,这取决于数据集,大约是0.25 μm/pixel或0.50 μm/pixel。

从23个非WSI数据集中使用了20.6万张图像,并从包含约2.5万个WSI 的 35个WSI数据集中抽取了超过四百万个图像块。尝试了使用不同比例({0.01, 0.1, 1, 10}%)的采样数据集进行预训练,每个数据集的最大图像数为两千张,最小为10张。如果某个数据集的图像数低于这个最小值,就使用所有可用的图像。最终,为每个比例设置获得了4千、4万和40万张图像。

还尝试了一个极端情况,即每个数据集只使用10张图像进行预训练(大约是所有可用图像的0.01%)。在这种情况下,也可以从每个WSI数据集中抽取了10个图像块,这可能导致在所有WSI中抽取的图像块数量达到数百万个。这可以看作是数据集的一个极端欠采样情况。

5.5 分辨率对预训练的影响

使用不同分辨率的图像对四个网络进行了预训练。我们使用一个乳腺图像数据集,最初旨在识别多种分辨率下的浸润性导管癌等级(Bolhasani、Amjadi、Tabatabaeian 和 Jassbi,2020 年)。除了使用所有可用图像(10、20、40×)外,我们还使用分辨率为 10×、20× 和 40× 的图像对网络进行预训练。

在高分辨率图像上进行预训练的网络在下游任务中往往表现更好。此外,我们发现结合多种分辨率可以进一步提高任务性能。而随着数据集大小每增加一个数量级,性能提升的效果会逐渐减小。

5.6 组织类型和染色之间的特征可转移性

为了评估使用专门从与目标任务中存在的组织类型相似的组织类型中提取的数据集进行预训练是否更好,我们使用 Resnet 18 对三种不同的组织类型进行了单独的实验:乳房、淋巴结和前列腺。

在TCGA-BRCA、TUPAC16、TNBC、来自 Andrew Janowczyk 的几个数据集、ICPR2014 和 ICPR2012(数据集描述见表 F.13)上进行了训练。对于每个实验,使用的训练图像数量大致相同(约四千张)

尽管进行了针对特定部位的预训练(即预训练中使用的组织),但并未观察到预训练模型与验证性能之间的强相关性。例如,在 BACH 数据集上,前列腺模型在乳腺癌分类和分割方面的表现都优于乳腺模型。同样,在恶性淋巴癌检测方面,淋巴模型的表现也优于乳腺模型。

应该注意的是,对于某些数据集,针对特定部位的预训练产生了更好的性能。例如,乳腺模型在 BreastPathQ 数据集上表现最佳,前列腺模型在 Gleason 前列腺癌分级方面优于其他模型。此外,与使用所有数据集进行训练相比,使用来自更多样化预训练数据集的图像和相当数量的预训练图像可以在所有任务中带来更好的性能。


在全视野数字切片图像(简称WSI)中,使用两种不同方式(随机采样和基于特征的K-means聚类)来提取图像块(patches)的过程,并特别强调了基于特征的 K-means 聚类方法的效果。

K-means聚类方法是一种非常流行且广泛使用的无监督学习算法,将数据点划分为K个不同的簇或群组。它的工作原理是迭代地将数据点分配给K个簇,并更新每个簇的质心(即簇内所有数据点的均值),以最小化簇内方差(即每个数据点到其所属簇质心的平方距离之和)。

6. 讨论

用于预训练的组织类型数据与下游任务在验证数据集上的性能之间没有相关性。

如果只使用一种或少数几种组织类型的数据进行预训练,那么模型可能无法学习到足够丰富的特征表示,以支持下游任务。

如果预训练的数据集不包含足够的多样性,CNN可能无法学习到抽象的特征。在没有特定目标(例如癌症分级)的情况下,网络可能更难以学习到有用的表示。

只有当预训练数据集具有足够的多样性时,网络才会被激励去编码更丰富的特征表示。如果数据集不够多样,网络可能只会学习到有限的信息,这会影响其在下游任务上的性能。

7. 总结

通过预训练,我们可以学习更好的特征,以提高多个下游任务(包括分类、回归和分割)的性能。

本文提到的自监督方法是第一种无需额外复杂性即可始终具有与 ImageNet 预训练相当的性能的方法。之前没有关于组织病理学图像分析的研究采用一种训练方案,能够持续达到或超越监督训练的效果。此外,这也是首项在数字组织病理学环境中使用大量图像的研究:包括23个图像数据集,含有超过20.6万个图像块,以及35个全幻灯片图像数据集,其中包含约2.5万张千兆分辨率图像。

对比预训练方法的成功在很大程度上依赖于未标记训练集的多样性,而不是图像的数量。 

7.1 误差

𝐿1误差更关注于预测值与实际值之间的绝对差异,而不是差异的平方。因此,𝐿1误差对于大的预测误差更为敏感。

𝐿1误差被定义为真实值( gt_i )与预测值(pred)之间的平均绝对差异(Mean Absolute Difference,MAD)。这里的“平均”意味着我们会对所有样本的差异进行求和,然后除以样本的总数。对于N个样本,𝐿1误差的计算公式为 \sum_{i=1}^{N}|gt_{i}-pred_{i}|。这里,gt_i 是第i个样本的真实值,pred_i 是对应的预测值。符号 | | 表示取绝对值

7.2 前景过滤

WSI的尺寸巨大,因此它们包含了许多可能与组织病理学不相关的区域,如墨水、折痕、脂肪和白色背景。对每个WSI进行HSV颜色空间的转换。HSV颜色空间是一种描述颜色的方式,其中H代表色调(Hue),S代表饱和度(Saturation),V代表明度(Value)。

设定了以下阈值参数以过滤掉无关的背景区域:

0.65 > h > 0.5:色调(h)的值应在0.5到0.65之间。

saturation > 0.1:饱和度(s)的值应大于0.1。

0.9 > v > 0.5:明度(v)的值应在0.5到0.9之间。

阈值是通过实验确定的,使用了公开的乳腺癌分割数据集(Aresta et al, 2019)来隔离出无关的背景区域。

每个WSI被切分成大小为224 × 224像素的小块或“patches”。接着,选择那些前景区域(即与组织病理学相关的区域)占比大于或等于50%的 patches 作为无监督训练的数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/671634.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【vue实战项目】通用管理系统:作业列表

目录 目录 1.前言 2.后端API 3.前端API 4.组件 5.分页 6.封装组件 1.前言 本文是博主前端Vue实战系列中的一篇文章,本系列将会带大家一起从0开始一步步完整的做完一个小项目,让你找到Vue实战的技巧和感觉。 专栏地址: https://blog…

【Linux】Linux工具——gcc/g++

1.使用vim更改信用名单——sudo 我们这里来补充sudo的相关知识——添加信任白名单用户 使用sudo就必须将使用sudo的那个账号添加到信用名单里,而且啊,只有超级管理员才可以添加 信用名单在/etc/sudoers里 我们发现它的权限只是可读啊,所以…

MD中 面料的物理属性参数

该图片是Marvelous Designer软件中"Fabric Physical Properties"(面料物理属性)面板的截图,用于调整面料在弯曲、折叠时的硬度(Buckling Stiffness)。 目标部分解释了调整Buckling Stiffness的作用:通过调整该百分比值来决定面料角落处的硬度。进入80%的Buckling St…

Linux网络编程:应用层协议|HTTPS

目录 1.预备知识 1.1.加密和解密 1.2.常见加密方式 1.2.1.对称加密 1.2.2.非对称加密 ​编辑 1.3.数据摘要(数据指纹)和数据签名 1.4.证书 1.4.1.CA认证 1.4.2.证书和数字签名 2.HTTPS协议 2.1.自行设计HTTPS加密方案 2.1.1.只使用对称加密 …

java调用科大讯飞离线语音合成SDK --内附完整项目

科大讯飞语音开放平台基础环境搭建 1.用户注册 注册科大讯飞开放平台账号 2.注册好后先创建一个自己的应用 创建完成后进入应用选择离线语音合成(普通版)可以看到我们开发需要的SDK,选择windows MSC点击下载。 3.选择你刚刚创建的应用,选择…

python安装pystan教程

简介 PyStan是Stan编程语言的Python接口,Stan是一种用于统计建模和数据分析的概率编程语言。PyStan使用户能够在Python环境中定义、编译和采样Stan模型。 安装步骤 首先,需要先安装 Cython pip install Cython -i https://mirrors.aliyun.com/pypi/sim…

Java学习20——Map接口

目录 一.Map: 1.基本介绍: 2.Map常用方法: 3.Map的遍历方法: 4.HashMap: 1.基本介绍: 2.HashMap底层扩容机制: 5.Hashtable: 1.基本介绍: 2.HashMap和Hashtable的对比&…

计算机储存容量单位都有哪些?

这些单位在高中职的计算机概论似乎都学过了,不过我以前的书本好像也只有教到 GB,现在的教科书可能有教到 TB 或 PB 吧,但我不确定,不过在不久的将来可能又会有更大的单位有机会用到,所以想了解一下。 电脑的最小单位为…

Springboot校园食堂智能排餐系统-计算机毕业设计源码85935

摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对校园食堂智能排餐系统等问题,对…

word如何锁定样式不被修改(CSDN_20240602)

在写材料合稿时,交上来word样式千奇百怪,直接合稿可能会把大稿子格式搞乱,所以希望发模板时,写死文档样例,不允许修改样式。 1. 创建模板样式,如下图所示。 2. 点击“审阅”-->"限制编辑”&#x…

设计模式(十二)行为型模式---模板方法模式

文章目录 模板方法模式结构优缺点UML图具体实现UML图代码实现 模板方法模式 模板方法模式(Template Method)是一种基于继承实现的设计模式,主要思想是:将定义的算法抽象成一组步骤,在抽象类中定义算法的骨架&#xff…

如何让 VSCode 认识你正在开发的 NPM 模块

假如你正在开发一个 NPM 模块 echox,并且在 src/index.js 里面导出了一系列方法: // ./src/index.js export function html() {// ... }然后在 tests/index.spec.js 里面新增了以下一行: // ./tests/index.spec.js import * as X from echox;如何让 VS…

Windows安装ElasticSearch版本7.17.0

在Windows系统上本地安装Elasticsearch的详细步骤如下: 1. 下载Elasticsearch 访问 Elasticsearch下载页面。选择适用于Windows的版本7.17.0,并下载ZIP文件。 2. 解压文件 下载完成后,找到ZIP文件(例如 elasticsearch-7.17.0.…

人力资源管理系统,员工管理系统

项目概述 本项目是一款基于Spring BootVueElementUI的人力资源管理系统,有权限管理、财务管理、系统管理、考勤管理等功能模块 获取代码及服务 见闲鱼 技术栈 前端 Vue、Axios、ElementUI、Vue-Router、Vuex、ECharts 后端 Spring Boot、Jwt、MyBatis-Plus、…

c++------类和对象(下)包含了this指针、构造函数、析构函数、拷贝构造等

文章目录 前言一、this指针1.1、this指针的引出1.2、 this指针的特性 二、类的默认的六个构造函数2.1、构造函数简述2.2构造函数 三、析构函数3.1、析构函数引出3.2、特点: 四、拷贝构造4.1、引入4.2、特征:4.3、默认拷贝构造函数 总结 前言 在本节中&a…

LeetCode-77. 组合【回溯】

LeetCode-77. 组合【回溯】 题目描述:解题思路一:回溯背诵版解题思路三:0 题目描述: 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1: 输入&a…

从tensorflow导入EarlyStopping能运行但是一直提示未解析

在pycharm中导入早停机的库时,碰上一个问题 from tensorflow.keras.callbacks import EarlyStopping这一条代码中,EarlyStopping一直有个红色波浪线,代表着找不到这个库,提示未解析啥的。 但是运行是可以运行的,虽然可…

禁用手机连接 - Win11

问题 Win11系统自带手机连接软件,会在后台自启,不适用于全部的手机型号,而且常规方法无法卸载。甚至任务管理器中,此软件的后台进程高达76个,如下图。下文以Win11系统为例,介绍如何禁用手机连接。 解决方…

【Unity脚本】修改游戏对象的活动状态

【知识链】Unity -> Unity脚本 -> 游戏对象 -> 活动状态【摘要】本文介绍了如何通过编辑器和脚本来访问游戏对象的活动状态,并给出具体的场景示例。 文章目录 第一章 引言第二章 在编辑器中设置活动状态2.1. 在编辑器中设置活动状态2.1.1. 停用游戏对象2.…

JVM学习笔记(持续更新)

JDK、JRE、JVM区别? 类加载过程 装载 验证 准备 解析 初始化 类加载器分类 双亲委派模型 如何打破双亲委派模型? 自定义类加载器,集成ClassLoader类重写loadClass,如Tomcat JVM内存模型 JVM 需要使用计算机的内存,Java 程序…