论文120:Giga-SSL: Self-supervised learning for gigapixel images (2023, CVPR, 开源)

文章目录

  • [1 要点](#1 要点)
  • [2 方法](#2 方法)
    • [2.1 算法设计](#2.1 算法设计)
    • [2.2 设计选择](#2.2 设计选择)

1 要点

题目:用于千兆像素图像的自监督学习 (Giga-SSL: Self-Supervised Learning for Gigapixel Images)

代码:https://github.com/trislaz/gigassl

研究目的

现有的WSI分类方法依赖于有限的标注数据集,这可能导致模型过拟合和性能不足。同时,大量未标注的WSI数据集的可用性不断增加,但这些数据在现有的自监督学习 (SSL) 框架下未能充分利用。因此,拟提出了一种在WSI标签下进行SSL的策略,以利用大量未标注的WSI数据并在小数据集上提高分类性能。

关键技术

  1. Giga-SSL框架
    一个转为WSI设计的自监督学习框架,能够在不使用任何标注数据的情况下,仅使用WSI图像来学习包表示;
  2. SparseConvMIL架构
    用于WSI分类的扩展,结合了ResNet网络作为区块嵌入器和池化函数,以及子流形卷积网络来处理稀疏数据;
  3. 对比损失(Contrastive Loss)
    在SSL使用,通过优化正样本对的相似度来训练模型;

数据集

  • TCGA

2 方法

2.1 算法设计

令 X X X表示一个WSI,算法的骨架是扩展的SparseConvMIL架构

  • 包含一个 ResNet网络 f θ f_θ fθ (例如ResNet18),它在第四个残差块 的开始处被切成两个连续的部分:
    • 第一部分:实例 (tile) 嵌入器 e θ 1 e_{θ_1} eθ1,由 f θ f_θ fθ的从输入层到第四个残差块的部分组成;
    • 第二部分:池化函数 KaTeX parse error: Expected '}', got 'EOF' at end of input: p_{θ_2,由 f θ f_θ fθ的余下层组成,包括后续的残差块直到全连接层。该部分已经转换为子流形卷积网络,以便它可以处理稀疏数据。
  • 对于任何图像 i i i,ResNet嵌入 为:
    f θ ( i ) = p θ 2 ( e θ 1 ( i ) ) ∈ R 512 f_θ(i) = p_{θ_2}(e_{θ_1}(i)) \in \mathbb{R}^{512} fθ(i)=pθ2(eθ1(i))∈R512

算法的训练过程包括6个顺序步骤,以提取WSI表示,如图1。

  1. 在实例级别设置两个WSI增强函数 t 1 t_1 t1和 t 2 t_2 t2,其图像增强域 A A A分别从颜色增强 (色彩抖动、灰度) 和几何增强 (翻转、旋转、缩放、模糊) 中采样:
    • 从 X X X中为每个增强函数 t 1 t_1 t1和 t 2 t_2 t2抽取 T T T个实例,得到实例集合 { X 1 } \{X_1\} {X1}和 { X 2 } \{X_2\} {X2};
    • 存储实例集合原采样位置的左上角像素坐标,以供进一步处理;
    • t 1 t_1 t1应用于 { X 1 } \{X_1\} {X1}中的所有实例,得到增强实例 t 1 ( { X 1 } ) t_1(\{X_1\}) t1({X1}),同理可得 t 2 ( { X 2 } ) t_2(\{X_2\}) t2({X2});
  2. 实例嵌入:通过实例嵌入器 e θ 1 e_{θ_1} eθ1同时独立地将 t 1 ( { X 1 } ) t_1(\{X_1\}) t1({X1})和 t 2 ( { X 2 } ) t_2(\{X_2\}) t2({X2})中的每个实例向前传递。每张图像因此被转换为一个特征图,通过所有像素取平均,每个增强实例集合中的每个实例,都将获得一个大小为 F F F (对于ResNet18为256) 的实例嵌入;
  3. 构建稀疏图 :按照SparseConvMIL框架,通过将 t 1 ( { X 1 } ) t_1(\{X_1\}) t1({X1})产生的每个嵌入分配到它们在步骤1中采样的原始实例的位置,构建一个稀疏图 S 1 S_1 S1 (下采样因子 d = 224 d = 224 d=224)。类似地,从 t 2 ( { X 2 } ) t_2(\{X_2\}) t2({X2})的嵌入构建一个稀疏图 S 2 S_2 S2;
    • 难点 :之所以叫稀疏图,是因为抽取的实例的位置随机,结合它们的 x x x与 y y y坐标,自然就是稀疏分布的实例图;
  4. S 1 S_1 S1和 S 2 S_2 S2被随机翻转、旋转,并独立地沿 x x x 轴和 y y y轴以 [ 0.5 , 2 ] [0.5, 2] [0.5,2]中均匀采样的因子进行缩放;
    • 难点:这样做的目的是进一步增强稀疏图;
    • 这也可以用来增强WSI,不过当前和后续的训练过程只需要增强的稀疏图;
  5. 将稀疏图嵌入到两个增强的WSI表示中:为了计算表示,对两个增强的稀疏图 S 1 S_1 S1和 S 2 S_2 S2应用 p θ 2 p_{θ_2} pθ2。在这个阶段,输入是 X X X的两个增强视图;
  6. 损失优化与SimCLR 中的做法一样,最终将增强视图输入到投影器中,得到两个增强的投影,用它们来计算损失。我们通过优化对比损失NT-XENT来训练池化函数$p_{θ_2}的权重。给定一个由增强WSI ( X 1 i , X 2 i ) i ∈ B (X^i_1, X^i_2){i∈B} (X1i,X2i)i∈B组成的小批量 B B B,为WSI的正样本对设置损失函数如下:
    ℓ i = − l o g exp ⁡ ( sim ( X 1 i , X 2 i ) / τ ) ∑ x ∈ B ( 1 x ≠ X 1 i exp ⁡ ( sim ( X 1 i , x ) / τ ) (1) \tag{1} ℓ_i = - log\frac{\exp(\text{sim}(X^i_1, X^i_2) / τ)}{∑
    {x∈B}( \mathbf{1}_{x\neq X^i_1} \exp(\text{sim}(X^i_1, x) / τ)} ℓi=−log∑x∈B(1x=X1iexp(sim(X1i,x)/τ)exp(sim(X1i,X2i)/τ)(1)其中 τ τ τ是温度参数, 1 ⋅ 1{\cdot} 1⋅是指示函数。最终损失是这些项在整个视图中的平均值。

2.2 设计选择

  1. 选择基础CNN架构
    Giga-SSL理论上不依赖于ResNet架构。有许多好的架构可供选择,用于实例编码器和池化函数,包括不同架构的两部分。然而,池化函数必须能够处理稀疏数据,因为它处理增强的稀疏图;
  2. 离线增强策略
    GigaSSL训练的一个关键计算瓶颈是在线计算一批B个WSI的实例嵌入,每个WSI由 T T T个实例组成。GPU内存限制对 B B B和 N t N_t Nt施加限制,这实际上限制了每批可以使用的总实例数。此外,已经证明在自然图像的SSL中需要大的批次大小以获得具有良好下游分类性能的表示。解决这些问题的一个策略是冻结实例编码器 e θ 1 e_{θ_1} eθ1并预计算每个WSI的随机采样和增强实例的嵌入,即基本上绕过步骤1和2:
    • 采样50个实例级增强函数 t k t_k tk;
    • 对于每个 k k k,从WSI中随机抽取256个实例并用 t k t_k tk增强;
    • 同时独立地将每个增强实例输入 e θ 1 e_{θ_1} eθ1并存储。这个过程得到 N ∗ 50 ∗ 256 N*50*256 N∗50∗256个实例嵌入,其中 N N N是Giga-SSL训练数据集中WSI的总数。

说人话

  1. WSI很大,所有随机抽样 T T T个并增强,这样的结果被称为增强实例集合,也可以说是稀疏图。稀疏图将被进一步增强,这个过程相当于得到新的WSI;
  2. 新的WSI输入的预训练模型,后面就是自监督学习的过程了;
相关推荐
XMYX-07 小时前
解决 Apache/WAF SSL 证书链不完整导致的 PKIX path building failed 问题
网络协议·apache·ssl
少陽君1 天前
什么是CA根证书
服务器·https·ssl
梦想blog2 天前
漏洞修复 Nginx TLSSSL 弱密码套件
运维·nginx·ssl·漏洞修复·tlsv1.2
yong15858553432 天前
利用 openssl api 实现 TLS 双向认证
linux·ssl
赴3352 天前
食物分类案例优化改进 (数据增强,最优模型保存和使用)
人工智能·分类·数据挖掘·数据增强·保存最优模型
XYiFfang3 天前
【Python+requests】解决Python requests中的ProxyError:SSL版本错误问题详解
python·debug·ssl·常见错误·代理配置
Linux运维技术栈5 天前
Linux系统部署:Certbot 实现 Nginx 自动续期&部署 Let‘s Encrypt 免费 SSL 证书
linux·运维·nginx·ssl·certbot
m0_474606787 天前
Nginx + Certbot配置 HTTPS / SSL 证书(简化版已测试)
nginx·https·ssl
神色自若9 天前
AbpVnext 阿里云ssl证书多个生产环境自动更新
服务器·阿里云·ssl
码农康康9 天前
【国密证书】CentOS 7 安装 GmSSL 并生成国密证书
linux·ssl·国密·国密证书