论文解读之A General-Purpose Self-Supervised Model for Computational Pathology

一、前言

目前,有很多无知者认为计算机在疾病诊断上超过了人类,他们的理解是计算机在美丽国的某个什么医师测评上得分超过了人类。这比较可笑和无知。

笔者认为:病理图像的病症复杂、种类繁多,同时数据集很少并且标注极为困难。故而,能用于训练的高质量数据很少,并且模型的可解释性还不足。

因此,AI在疾病诊断上的表现想要接近和超过人类专家还很遥远。故而目前火热的名词只是辅助诊断,并不是AI诊断。

本次讲解的文章是出自麻省总医院和哈佛医学院发表在Nature Medicine期刊上的病理图像基础模型。

其主要研究内容是一种用于解决计算病理学方向问题的自监督模型基础模型——UNI

据笔者理解:计算病理学是使用AI以及其他计算库从而通过计算机系统解决疾病机理方面研究的领域。


二、模型架构

总的来说,UNI是基于ViT-Large的在较大规模的病例图像数据集预训练的一个编码器,可以理解为是对病例图像进行特征提取,然后从而能够将提前到的特征图接到下游的分类或分割模型中执行下游任务。

附带附录中对于几个感兴趣区域的不同维度的注意力热图:

也就是说,模型对病理图片中的小部分区域的处理后的内部是这样的.

这图是分别四种治病等级,从上图的正常知道入侵,内皮的注意力增高,而背景和基质对于诊断没什么帮助,注意力值很低。

三、训练

所用的病例图片数据集:10万张左右,包含20个器官的病理图片:

在预训练阶段,本模型使用了一种自监督算法:DINOv2,这种算法能够提取到鲁棒并且即用的

特征.

这种DINOv2算法是一种判别自监督方法。判别自监督方法使用图片或图片组之间的区别信号来学习特征,但是,在DINOv2之前的这类方法很难扩展到大规模的数据。

这种自监督的训练方法使用了一种从NLP中的聚簇方法受启发而实现的流程,以这种流程去利用数据相似性来进行数据的优化。以此能够去解决数据不平衡和因此导致的在少数领域过拟合的现象。

具体的做法,使用在Image-Net-22K预训练过的自监督ViT-H/16计算图像嵌入,然后使用余弦相似度来衡量图片之间的距离,再使用k-means对未优化过的图片进行聚簇。

DINOv2借鉴了很多在图片和批次水平进行特征学习的判别自监督方法,总的来说是DINO和iBOT方法的结合,聚焦于较大规模的数据,使得这种方法更加快速并且占用内存更少。以下是这种流程的示意图:

下图是DINOv2的示意图:

这里的主要流程是:使用ViT对同一张图片,但是不同裁剪(指的是UNI和UNI Teacher的两边)分别提取特征,这两种特征都来自ViT的类别token(不熟悉ViT的读者可以关注博主,近期也会出一期讲解这个模型的),然后将两个token分别输入到各自的可学习MLP头中,得出两个分数,即然后用softmax函数处理后,以cross-entropy loss的形式计算得出DINO损失(图像级目标):

第二个Loss(块级别目标Patch-level objective):

这里很相似,但是不同的是学生的块要随机mask,但是递给教师的patch的token不mask。在原算法即DINOv2的文章中交代了这两个级别的目标头参数是不共享的,在原文章中得出的结论是不共享效果更好,默认本文章使用的这个算法也没有共享,即这两个token是分别传给教师和学生的iBOT头(区别于上述的可学习MLP头),然后类似上一个损失函数

这里的i对应patch的角标

然后,通过这两个Loss更新学生头的参数,使用上一个迭代的指数移动平均值建立教师头。

预训练(在10万张左右HE染色的病理图片上)使用的是4卡80G A100;下游任务是在单卡3090上执行。

三、可执行的下游任务

加入到分割模型(mask2former)进行微调从而执行分割任务,在这个任务上的微调数据集是感兴趣区域级别的细胞分割数据集SegPath,这个任务是先用UNI对silde或者roi进行处理后,经过转化之后,再经过ViT-Adapter后,输入到mask2former模型中进行下游的分割任务,也是本模型所做的唯一的分割任务,还有很多很多的分类任务。

进行少次分类(few shot classification):即每个类别数据使用固定的少量数据集进行下游的微调。

基于类别原型使用提示词激励的半监督学习来检验其检索能力和少次分类学习的能力。

A class prototype is constructed by averaging the extracted features from ROIs of the same class. For a test ROI, SimpleShot assigns the class of the most similar class prototype (smallest Euclidean distance) as the predicted ROI label.

类别原型是使用对感兴趣区域提取的特征进行平均池化后得到;而SimpleShot则对具有和原型最小的欧式距离的感兴趣的区域赋予类别。

其过程入下图:

对几个原型计算了相似度,选取对某一原型中的图片具有平均相似度最大的类别为预测结果。

欢迎关注无神,一起学习CV以及医工交叉相关知识

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

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

相关文章

【JavaEE进阶】——Spring Web MVC (响应)

目录 🚩学习Spring MVC 🎈返回静态网页 🎈返回数据ResponseBody 🎈返回html代码片段 🎈返回JSON 🎈设置状态码 🎈设置Header 🚩学习Spring MVC 既然是 Web 框架, 那么当⽤⼾在…

剪画小程序:自媒体创作的第一步:如何将视频中的文案提取出来?

自媒体创作第一步,文案提取无疑是至关重要的一环。 做自媒体之所以要进行文案提取,有以下重要原因: 首先,提高效率。通过文案提取,可以快速获取关键信息,避免在无关紧要的内容上浪费时间,从而…

Flutter 中的 YearPicker 小部件:全面指南

Flutter 中的 YearPicker 小部件:全面指南 在 Flutter 应用开发中,为用户提供日期和时间选择功能是常见的需求。YearPicker 是一个允许用户选择年份的小部件,它通常用于实现日期选择器或表单中年份字段的输入。虽然 Flutter 的标准库中没有直…

YOLOV10阅读总结

GitHub - THU-MIG/yolov10: YOLOv10: Real-Time End-to-End Object Detection YOLOv10 - Ultralytics YOLO Docs https://arxiv.org/pdf/2405.14458 论文地址 最近yolo又出了个yolov10了,不得不感慨CV是真卷,毕竟yolov9也才没多久。记录一下阅读笔记。…

第一站挺进巴中,茅仙酒带来“1+1”模式新玩法

执笔 | 尼 奥 编辑 | 扬 灵 今年春糖期间,以“盛世华章何以鉴 酱酒经典品茅仙”为主题的茅仙酒新品发布会给白酒行业留下深刻印象。这瓶传承历史、恪守匠心、创美奋进的佳酿在“茅台家族、集团出品”的品牌加持下,开启了全国化征程的新步伐。 近日&…

突破空间限制,这些远程控制软件为父母送上“手把手”的教导,解决异地办公难题,出差无忧

在现代社会,科技的飞速发展带来了诸多便利,但同时也给一些年长的父母们带来了困扰。 当父母们面对智能手机电脑等高科技产品时,他们往往感到无所适从,而子女们忙于工作、学习或其他原因,常常无法时刻陪伴在父母身边&a…

Qt6 QSslSocket 客户端设计踩坑

QSslSocket 默认自动搜索代理设置,当系统中存在代理时,执行 connectToHostEncrypted 会导致 socket error: UnsupportedSocketOperationError,具体错误是 connect error is "The proxy type is invalid for this operation"&#…

门限签名技术

私钥永远不存在 (t, n) 门限签名方案 (TSS) 是一种密码协议,允许一组 n 个参与者共同签署文档或交易,其中 t 1 个或更多参与者的任何子集都可以产生有效签名,但 t 的子集 或更少的人不能。 该方案旨在通过确保没有任何一方可以单方面生成签名…

QCC30XX如何查找本地地址码

查找本地地址段/********************************************************************** Copyright (c) 2016 - 2017 Qualcomm Technologies International, Ltd. FILE NAME sink_private_data.c DESCRIPTION This module works as a container for all private and common…

企业内部聊天软件Riot部署

ubuntu docker 简介 Riot(原Vector)是使用Matrix React SDK构建的Matrix网络聊天客户端,开源免费,功能丰富,支持私人对话,团队对话,语言视频对话,上传文件,社区互动。支持在聊天界面添加各种有趣的插件,比如RSS等各种机器人、虚拟币实时监控等。并且所有通过Riot传…

注意力机制篇 | YOLOv8改进之引入用于目标检测的混合局部通道注意力MLCA

前言:Hello大家好,我是小哥谈。注意力机制是可以帮助神经网络突出重要元素,抑制无关元素。然而,绝大多数通道注意力机制只包含通道特征信息,忽略了空间特征信息,导致模型表示效果或目标检测性能较差,且空间注意模块往往较为复杂。为了在性能和复杂性之间取得平衡,本文提…

2024年刚刚翻新前端vue面试题

1、vue中常用的指令及作用? v-text指令:用于更新标签包含的文本,它的作用跟双大括号效果是一样的v-html指令:绑定一些包含html代码的数据在视图上v-show指令:指令的取值为true/false,分别对应着显示/隐藏,改变的是元素css样式的display属性v-if指令:取值为true/false,…

【自动化运营】PlugLink 1.0开源版发布

什么是PlugLink? PlugLink,顾名思义,就是插件的链接。它旨在帮助个人和小微企业实现运营自动化,通过链接脚本、API、AI大模型等,实现全自动工作流程。你可以把PlugLink看作一个巨大的拼装积木,每一个插件都…

3.每日LeetCode-数组类,爬楼梯(Go,Java,Python)

目录 题目 解法 Go Java Python 代码地址:leetcode: 每日leetcode刷题 题目 题号70. 爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例 1: 输入&#xff…

【数据结构和算法】-动态规划爬楼梯

动态规划(Dynamic Programming,DP)是运筹学的一个分支,主要用于解决包含重叠子问题和最优子结构性质的问题。它的核心思想是将一个复杂的问题分解为若干个子问题,并保存子问题的解,以便在需要时直接利用&am…

【稳定检索】2024年核能科学与材料、物理应用国际会议(NESMPA 2024)

2024年核能科学与材料、物理应用国际会议 2024 International Conference on Nuclear Energy Science and Materials, Physical Applications 【1】会议简介 2024年核能科学与材料、物理应用国际会议即将拉开帷幕,这是一场汇聚全球核能科学、材料研究及物理应用领域…

软RAID部署

目录 资源列表 基础环境 关闭防火墙 关闭内核安全机制 一、安装mdadm工具 二、磁盘分区 三、创建RAID 本文记录了软RAID的部署流程,希望能够帮到大家。 资源列表 操作系统配置主机名IP备注CentOS7.3.16112C4Gnode1192.168.207.131需要添加2块磁盘 基础环境…

文件上传漏洞简介

目录 漏洞原理 漏洞危害 利用场景 检测方法 防御方法 绕过手段 前端JS绕过 构造可解析后缀 修改Content-Type(MIME) 大小写绕过 文件头绕过 图片马 截断与特殊文件名 其他绕过 尝试绕过的步骤 漏洞原理 原理 攻击者构造恶意文件进行上传…

Springboot 开发 -- Redis 集成及配置

一、引言 Redis 是一个开源的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中介。在现今的高并发、大数据量的互联网应用中,Redis 的作用愈发重要。Spring Boot 提供了对 Redis 的集成支持,使得开发者可以更加便捷地在…

低调收藏,这份MobaXterm使用指南很全面

中午好,我的网工朋友。 MobaXterm,这个名字对于我们这些经常需要在Windows环境下与Linux服务器打交道的人来说,应该并不陌生。它不仅仅是一个SSH客户端,更是一个功能强大的终端工具箱,集成了X服务器和Unix命令集&…