ViT-DeiT:用于乳腺癌组织病理图像分类的集成模型

两种预训练Vision Transformer模型的集成模型,即Vision Transformer和数据高效视觉Transformer(Data-Efficient Image Transformer)。此集成模型是一种软投票模型

近年来,乳腺癌的分类研究主要集中在超声图像分类、活检数据分类、组织病理图像分类。


Transformer广泛应用于自然语言处理(NLP),Transformer模型的结构包括编码器和解码器, ViT 结构中不需要解码器 。ViT结构仅由用于图像处理的编码器组成。编码器组件由归一化层、多头注意力层和前馈层组成。多头注意力是自注意力的一种,其功能是从各个方面提供对特定信息的注意力。

在ViT模型中,每个图像在输入编码器之前都会经过线性嵌入层。嵌入层会将图像划分为大小相等的块,这些块被展平为一维向量。嵌入的位置被添加到展平的补丁中,并且添加嵌入图像的类。编码器处理这些输入,从而得到输出。

然后,输出通过MLP头部结构,该结构执行分类任务。类是MLP头结构的输出,MLP头部结构由两个具有GELU激活函数的全连接层组成

DeiT模型

DeiT模型的结构是基于ViT模型构建的,它们在多头自注意力(MSA)层上添加了前馈神经网络(FFN),该层由GELU激活函数分割的两个线性层组成。

有一个称为蒸馏令牌的额外输入,该令牌允许模型从教师的输出中学习。

知识蒸馏:用teacher模型去训练student模型,通常teacher模型更大而且已经训练好了,student模型是我们当前需要训练的模型。在这个过程中,teacher模型是不训练的。

  • 教师模型输出不同 。软蒸馏中教师模型在输出层使用softmax函数得到输出概率分布;硬蒸馏中教师模型的输出是"硬"标签,即每个样本只有一个类别的标签。
  • 学生模型学习方式不同 。软蒸馏中学生模型通过最小化教师模型的输出概率分布和自身的输出概率分布之间的误差来学习教师模型的知识;硬蒸馏中学生模型通过最小化教师模型的输出和自身的输出之间的误差来学习教师模型的知识。

提出的方法

预处理数据集

DC子类别在不同放大倍数下具有最多的图像数量。F子类别具有第二多的图像数量,其他子类别具有相似的图像数量。因此,这会导致数据不平衡,从而导致过度拟合。

为了避免过拟合,可以采用欠采样技术。欠采样技术减少了样本量较大的每个子类别中的样本数量。

微调ViT和DeiT模型

为了训练模型,深度学习需要大量样本。需要采用迁移学习技术。

通过少量图像,可以对大型数据集训练得出的训练模型进行微调,从而大大减少训练时间。迁移学习除了提高模型的收敛速度和泛化能力之外,还降低了过拟合的风险。

通过将预测头放置在类标记的最终隐藏状态上来对模型进行微调,从而对八个子类别的图像进行分类。尽管模型由十二个自注意力头组成,但这些头的输出被组合起来产生最终的注意力分数。

最终的注意力分数用于关注每个组织病理学图像内的感兴趣区域。感兴趣区域代表癌细胞,用于检测和确定乳腺癌的类型。

开发集成模型

蒸馏令牌是通过自注意力层和补丁令牌交互的反向传播进行学习得到的。

软投票技术

软投票技术的工作原理为每个样本分配高平均概率作为预测标签。当将图像作为输入时,这两个模型为每个类提供概率值。然后,对每个类别的概率求和,并除以分类器的数量。然后,为预测标签分配最高概率值。

\hat{y}=\underset{i}{argmax}\{\frac{1}{N}\sum_{j=1}^{n}p_{ij}\}

其中,N为分类器个数,p_{ij}指的是第j个分类器对第i个类别的概率


ViT - DeiT集成模型避免了癌症诊断中最坏的情况,即将恶性样本诊断为良性。错误分类最多的图像是被预测为其他类型恶性肿瘤的恶性样本。

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

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

相关文章

QT常用控件

常用控件 控件概述QWidget 核⼼属性核⼼属性概览enabledgeometrywindowTitlewindowIconwindowOpacitycursorfonttoolTipfocusPolicystyleSheet 按钮类控件Push ButtonRadio ButtionCheck Box 显⽰类控件LabelLCD NumberProgressBarCalendar Widget 输⼊类控件Line EditText Edi…

AI领域的最新动态:大型语言模型的崛起、AI芯片竞争与创新应用

AI领域的最新动态:大型语言模型的崛起、AI芯片竞争与创新应 在最近的AI新闻中,有几个重要的发展值得关注: 1. **大型语言模型的发布和更新**: - Google在其Google Cloud Next活动上宣布,Gemini 1.5现已在180多个国家/…

(学习日记)2024.04.15:UCOSIII第四十三节:任务消息队列

写在前面: 由于时间的不足与学习的碎片化,写博客变得有些奢侈。 但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。 既然如此 不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录&a…

# 达梦sql查询 Sql 优化

达梦sql查询 Sql 优化 文章目录 达梦sql查询 Sql 优化注意点测试数据单表查询 Sort 语句优化优化过程 多表关联SORT 优化函数索引的使用 注意点 关于优化过程中工具的选用,推荐使用自带的DM Manage,其它工具在查看执行计划等时候不明确在执行计划中命中…

MySQL 主从复制部署(8.0)

什么是主从数据库 主从数据库是一种数据库架构模式,通常用于提高数据库的性能、可用性和可伸缩性。 它包括两种类型的数据库服务器: 1)主数据库(Master):主数据库是读写数据的主要数据库服务器。所有写操…

前端小技巧之轮播图

文章目录 功能htmlcssjavaScript图片 设置了一点小难度,不理解的话,是不能套用的哦!!! (下方的圆圈与图片数量不统一,而且宽度是固定的) 下次写一些直接套用的,不整这些麻…

SpringBoot配置优先级

配置优先级排序(从高到低) 1)命令行参数 2)java系统属性 3)application.properties 4)application.yaml 5)application.ymlSpringBoot的系统属性配置和命令行参数配置 1、cmd端进行配置 1&am…

边缘计算网关究竟是什么呢?它又有什么作用呢?-天拓四方

在数字化时代,信息的传输与处理变得愈发重要,而其中的关键节点之一便是边缘计算网关。这一先进的网络设备,不仅扩展了云端功能至本地边缘设备,还使得边缘设备能够自主、快速地响应本地事件,提供了低延时、低成本、隐私…

基本的数据类型在16位、32位和64位机上所占的字节大小

1、目前常用的机器都是32位和64位的,但是有时候会考虑16位机。总结一下在三种位数下常用的数据类型所占的字节大小。 数据类型16位(byte)32位(byte)64位(byte)取值范围char111-128 ~ 127unsigned char1110 ~ 255short int / short222-32768~32767unsigned short222…

Go程序设计语言 学习笔记 第十一章 测试

1949年,EDSAC(第一台存储程序计算机)的开发者莫里斯威尔克斯在他的实验室楼梯上攀登时突然领悟到一件令人震惊的事情。在《一位计算机先驱的回忆录》中,他回忆道:“我突然完全意识到,我余生中的很大一部分时…

SpringCloudalibaba之Nacos的配置管理

Nacos的配置管理 放个妹子能增加访问量? 动态配置服务 动态配置服务可以让您以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置。 动态配置消除了配置变更时重新部署应用和服务的需要,让配置管理变得更加高效和敏捷。 配置中心化管…

计算机网络----第十二天

交换机端口安全技术和链路聚合技术 1、端口隔离技术: 用于在同vlan内部隔离用户; 同一隔离组端口不能通讯,不同隔离组端口可以通讯; 2、链路聚合技术: 含义:把连接到同一台交换机的多个物理端口捆绑为一个逻辑端口…

武林风云之一个shell同时维护多个设备

仅以此文纪念linux中国 小y最近真的颓废了,马上就三十了,一下班整个人跟个废物一样,躺在住处刷B站,太颓废了。哎,我想这今年就收手博客了,后续不再更新。但是人不能这样,人需要和懒惰做斗争&…

Python学习笔记25 - 一些案例

1. 输出金陵前五钗 2. 向文件输出信息 3. 打印彩色字 4. print函数、进制转换 5. 猜数游戏 6. 输出ASCII码对应的字符 7. 计算100~999之间的水仙花数 8. 千年虫数组的索引及其值 9. 星座zip dict 10. 12306车次信息 11. 字符串的格式化 12. 手动抛出异常 13. 计算圆的面积和周长…

杰发科技AC7840——CAN通信简介(4)_过滤器设置

0. 简介 注意:过滤器最高三位用不到,因此最高位随意设置不影响过滤器。 1. 代码分析 注意设置过滤器数量 解释的有点看不懂 详细解释...也看不大懂 Mask的第0位是0,其他位都是1(就是F?),那就指定了接收值就是这个数,…

版本控制工具Git的使用

1、Git的基本概念和使用 1、Git是什么? ● Git: 是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 ● GitHub: 全球最大的面向开源及私有软件项目的托管平台,免费注册并且可以免费托管开源代码。 ● GitLab:与GitHub类似&a…

ChatGLM3初体验

mac本地化部署ChatGLM3 写在前面环境准备1. python环境2. 安装第三方依赖torch3.下载模型 代码准备1.clone代码 run效果 写在前面 建议直接去看官方文档 https://github.com/THUDM/ChatGLM3?tabreadme-ov-file 环境准备 1. python环境 python -V ## 3.11.42. 安装第三方依…

标注平台工作流:如何提高训练数据质量与管理效率

世界发展日益依托数据的驱动,企业发现,管理不断增长的数据集却愈发困难。数据标注是诸多行业的一个关键过程,其中包括机器学习、计算机视觉和自然语言处理。对于大型语言模型(LLM)来说尤是如此,大型语言模型…

[大模型]Yi-6B-chat WebDemo 部署

Yi-6B-chat WebDemo 部署 Yi 介绍 由60亿个参数组成的高级语言模型 Yi LLM。为了促进研究,Yi 已经为研究社区开放了Yi LLM 6B/34B Base 和 Yi LLM 6B/34B Chat。 环境准备 在autodl平台中租一个3090等24G显存的显卡机器,如下图所示镜像选择PyTorch–…

leecode438 | 找到所有字符串中的异位词

题意大致是&#xff0c;给定两个字符串&#xff0c;s 和 p 其中 要在s 中找到由p的元素组成的子字符串&#xff0c;记录子字符串首地址 class Solution { public:vector<int> findAnagrams(string s, string p) {int m s.size(), n p.size();if(m < n)return {};vec…