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

文章目录

  • 1 要点
  • 2 方法
    • 2.1 算法设计
    • 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 iResNet嵌入为:
    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)iB组成的小批量 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=logxB(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 N50256个实例嵌入,其中 N N N是Giga-SSL训练数据集中WSI的总数。

说人话

  1. WSI很大,所有随机抽样 T T T个并增强,这样的结果被称为增强实例集合,也可以说是稀疏图。稀疏图将被进一步增强,这个过程相当于得到新的WSI;
  2. 新的WSI输入的预训练模型,后面就是自监督学习的过程了;

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

探索Go语言中的随机数生成、矩阵运算与数独验证

1. Go中的随机数生成 在许多编程任务中,随机数的生成是不可或缺的。Go语言通过 math/rand 包提供了伪随机数生成方式。伪随机数由种子(seed)决定,如果种子相同,生成的数列也会相同。为了确保每次程序运行时产生不同的随机数,我们…

内容传递媒介如何影响广告测量

你有两个广告活动正在进行中。它们同时启动,并且目标受众相同。 以下是你目前看到的结果: 广告活动1: → 0.67%的点击率 (CTR) → 每次点击成本 $1.88 (CPC) 广告活动2: → 3.50%的点击率 (CTR) → 每次点击成本 $0.33 (CP…

【Proteus51单片机仿真】YL-69湿度检测和继电器电机自启动

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于AT89C51单片机,湿度检测模块通过ADC0832数模转换器,将模拟信号转换为数字信号给单片机,然后通过LCD1602显示屏显示出当前的湿度值,并判断当前湿度值是…

laravel 11 区分多模块的token

数据表:用户表(users)、管理员表(admin_user), 配置bootstrap/app.php guards > [web > [driver > session,provider > admin_users,],home > [driver > sanctum,provider > users,]…

CSS 常用元素属性

CSS 属性有很多, 可以参考文档 CSS 参考手册 1. 字体属性 设置字体 多个字体之间使用逗号分隔. (从左到右查找字体, 如果都找不到, 会使用默认字体. )如果字体名有空格, 使用引号包裹.建议使用常见字体, 否则兼容性不好. <style>.one {font-family:"Microsoft Ya…

Machine Learning: A Probabilistic Perspective 机器学习:概率视角 PDF免费分享

下载链接在博客最底部&#xff01;&#xff01; 之前需要参考这本书&#xff0c;但是大多数博客都是收费才能下载本书。 在网上找了好久才找到免费的资源&#xff0c;浪费了不少时间&#xff0c;在此分享以节约大家的时间。 链接: https://pan.baidu.com/s/1erFsMcVR0A_xT4fx…

无人机遂行编队飞行中的纯方位无源定位(2022数模国赛B题)

文章目录 论文项目地址 数模国赛前的练手题&#xff0c;实力不够&#xff0c;参考了好多论文才写出来&#xff0c;个人感觉思路应该没什么大问题&#xff0c;供大家参考 论文 项目地址 github&#xff1a;UAVFormationFlight gitee&#xff1a;UAVFormationFlight 项目包含 完…

指针式仪表识别

源码下载&#xff1a;小宅博客网 效果如下&#xff1a; 工程结构&#xff1a; 说明&#xff1a; 源码是针对下面这种刻度&#xff0c;并且单个指针的仪表的 如果是下面这种&#xff0c;刻度线被连接起来的&#xff0c;目前不支持转换成仪表单位&#xff0c;只能输出指针角度&…

探索自动化的魔法:Python中的pyautogui库

文章目录 探索自动化的魔法&#xff1a;Python中的 pyautogui 库背景&#xff1a;为什么选择pyautogui&#xff1f;pyautogui是什么&#xff1f;如何安装pyautogui&#xff1f;五个简单的库函数使用方法场景应用常见Bug及解决方案总结 探索自动化的魔法&#xff1a;Python中的 …

【Linux】 LTG:移动硬盘部署Ubuntu24.04

Ubuntu To Go 是一种便携式的 Ubuntu 操作系统解决方案&#xff0c;允许用户将 Ubuntu 系统安装在 USB 驱动器或其他可移动存储设备上。这样&#xff0c;用户可以在任何支持 USB 启动的计算机上运行 Ubuntu&#xff0c;而无需在本地硬盘上进行安装。 准备工作 移动硬盘&#x…

C++初阶:string类的模拟实现

✨✨小新课堂开课了&#xff0c;欢迎欢迎~✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;C&#xff1a;由浅入深篇 小新的主页&#xff1a;编程版小新-CSDN博客 前言&#xff1a; 前面已经对string类进行了…

7系列FPGA HR/HP I/O区别

HR High Range I/O with support for I/O voltage from 1.2V to 3.3V. HP High Performance I/O with support for I/O voltage from 1.2V to 1.8V. UG865&#xff1a;Zynq-7000 All Programmable SoC Packaging and Pinout

企业四要素核验是什么?如何应用

企业四要素核验是指对企业名称、社会统一信用代码&#xff08;或注册号&#xff09;、法人名称以及法人身份证号码等四项关键信息进行核验的过程。这一核验步骤是确保企业信息真实性和合法性的重要手段&#xff0c;广泛应用于各个行业领域&#xff0c;以防范企业身份被冒用、欺…

Android 车联网——CarProperty使用实例(二十三)

在熟悉了 Car 下的相关 Manager 和 Service 后,这里我们通过需求来实现 CarProperty 的使用实例。 一、使用实例 1、需求分析 假如有这样一个需求,需要封装一个 SDK 为 APP 提供车辆信息、空调状态以及驾驶信息等相关属性的值及变化情况。这里我们首先需要确认各种属性对应…

JVM锁的优化与逃逸分析

锁消除 是指JVM即时编译器在运行时&#xff0c;对一些代码上要求同步&#xff0c;但是被检测到不可能存在共享数据竞争的锁进行消除。锁消除的主要判定依据来源于逃逸分析的数据支持。JIT&#xff08;Just-In-Time&#xff0c;即时编译&#xff09;&#xff1a;是一种在程序运…

【STM32 Blue Pill编程】-定时器计数模式

定时器计数模式 文章目录 定时器计数模式1、定时器计数模式介绍2、硬件准备及接线3、模块配置3.1 定时器计数模式配置3.2 定时器中断配置3.3 串口配置4、代码实现在本文中,我们将讨论如何在计数器模式下配置 STM32 Blue Pill 定时器模块。 要将定时器用作计数器,我们将其配置…

【mechine learning-六-supervise learning之线性回归模型】

监督学习之线性回归模型 线性回归模型线性模型回归模型 如何使用线性模型实现智能化预测呢寻找数据训练模型输入、特征、目标、预测值、模型代价函数 线性模型是人工智能监督学习中最广泛的应用&#xff0c;所以有必要先学习一下这个基础模型&#xff0c;做好基石。 线性回归模…

在 CentOS 中永久关闭防火墙的步骤

在 CentOS 中永久关闭防火墙的步骤 在 CentOS 系统中&#xff0c;防火墙通常由 firewalld 服务管理。如果你希望在系统中永久关闭防火墙&#xff0c;可以按照以下步骤操作&#xff1a; 1. 停止防火墙服务 首先&#xff0c;你需要停止当前正在运行的防火墙服务。可以使用以下…

猎板PCB大讲堂:IPHONE16的线路板的升级猜测

iPhone 16 系列与 iPhone 15 系列在 PCB (印刷电路板) 设计上的主要差异可能体现在材料和技术上。根据 TrendForce 的分析&#xff0c;iPhone 16 预计将采用树脂涂覆铜箔&#xff08;RCC&#xff09;作为新的印刷电路板&#xff08;PCB&#xff09;材料&#xff0c;这一改变将使…

使用 ShuffleNet 模型在 CIFAR-100 数据集上的图像分类

简介 在深度学习领域&#xff0c;图像分类任务是衡量算法性能的重要基准。本文将介绍我们如何使用一种高效的卷积神经网络架构——ShuffleNet&#xff0c;来处理 CIFAR-100 数据集上的图像分类问题。 CIFAR-100 数据集简介 CIFAR-100 数据集是一个广泛使用的图像分类数据集&…