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

news2025/2/22 22:15:17

两种预训练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.coloradmin.cn/o/1593951.html

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

相关文章

BUUCTF刷题十一道(12)附-SSTI专题二

文章目录 学习文章[CISCN2019 华东南赛区]Web11【存疑】[RootersCTF2019]I_<3_Flask 学习文章 SSTI-服务端模板注入漏洞 flask之ssti模板注入从零到入门 CTFSHOW SSTI篇-yu22x SSTI模板注入绕过&#xff08;进阶篇&#xff09;-yu22x SSTI模板注入学习-竹言笙熙 全部总结看最…

音视频学习—音视频理论基础(2)

音视频学习—音视频理论基础&#xff08;2&#xff09; 1、音频的基本概念2、声音的三要素3、声音的本质4、奈奎斯特采样定律5、采样和采样率6、采样数和采样位数7、量化8、比特率&#xff08;码率&#xff09;9、响度和强度10、编码11、音频帧12、音频文件大小的计算总结 1、音…

华为OD机试 - 小朋友至少有几个(Java 2024 C卷 100分)

华为OD机试 2024C卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷C卷&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;每一题都有详细的答题思路、详细的代码注释、样例测试…

Springboot+Vue项目-基于Java+Mysql的网上订餐系统(附源码+LW+演示录像)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &…

从0到1实现RPC | 11 丰富测试案例

测试案例主要针对服务消费者consumer&#xff0c;复杂逻辑都在consumer端。 常规int类型&#xff0c;返回User对象 参数类型转换&#xff0c;主要实现逻辑都在TypeUtils工具类中。 测试方法重载&#xff0c;同名方法&#xff0c;参数不同 方法签名的实现&#xff0c;主要逻辑…

蓝桥杯-可获得最小值

前缀和思想: #include<bits/stdc.h>using namespace std;long long n,k;const int N200010;long long a[N],sum[N];int main() {cin>>n>>k;for(int i1;i<n;i)cin>>a[i];sort(a1,a1n);for(int i1;i<n;i){sum[i]sum[i-1]a[i];}long long ans1e18;…

朴素模式匹配算法

什么是字符串的模式匹配&#xff1f; 字符串模式匹配:在主串中找到与模式串相同的字串&#xff0c;并返回其所在位置 算法思想&#xff1a; 算法思想为:从主串S的第一个字符起&#xff0c;与模式串T的第一个字符比较,若相等&#xff0c;则继续逐个比较后续字符;否则从主串的下一…

【JSON2WEB】14 基于Amis的CRUD开发30分钟速成

【JSON2WEB】系列目录 【JSON2WEB】01 WEB管理信息系统架构设计 【JSON2WEB】02 JSON2WEB初步UI设计 【JSON2WEB】03 go的模板包html/template的使用 【JSON2WEB】04 amis低代码前端框架介绍 【JSON2WEB】05 前端开发三件套 HTML CSS JavaScript 速成 【JSON2WEB】06 JSO…

深入剖析MongoDB集群架构设计

目录 一、MongoDB集群架构介绍 1.1 主从复制 1.2 副本集 1.3 分片集群 二、副本集 3.1 主节点选举 3.2 oplog 3.2 主从同步 三、分片集群 3.1 分片策略 3.2 分片键的选择 3.3 何时选择分片集群 四、总结 一、MongoDB集群架构介绍 MongoDB 有三种集群架构模式&#xff0c;分…

【AI微】将AI对接进微信中,为你赋能一个小助理

程序猿日常 让微信拥有AI聊天功能&#xff1a;自然语言处理、知识储备、个性化服务效果演示 AI微 部分代码讲解 项目采用AndroidAutojs技术&#xff0c;编程语言涉及kotlinjavajs 检测是否停留在指定聊天页面 var ltxxLayoutdesc("聊天信息").findOne(100); if(lt…

LeetCode 热题 HOT 100(P31~P40)

系列文章&#xff1a; LeetCode 热题 HOT 100(P1~P10)-CSDN博客 LeetCode 热题 HOT 100(P11~P20)-CSDN博客 LeetCode 热题 HOT 100(P21~P30)-CSDN博客 LeetCode 热题 HOT 100(P31~P40)-CSDN博客 LC76minimum_window . - 力扣&#xff08;LeetCode&#xff09; 题目&…

一些Github上开源的RAG 应用

我也是做RAG相关工作的。周末抽了一些时间&#xff0c;来看看开源的RAG技术能够做到什么程度。 其实我重点关注的是以下几点&#xff08;以下几个点是RAG提升的关键点&#xff09;&#xff1a; 这些开源技术他们是怎么做文档解析的&#xff08;有哪些我们可以借鉴的&#xff0c…

2024 年江苏省职业院校技能大赛“区块链技术应用” 赛项赛卷(样卷)运维题解析一

运维题 环境: ubuntu20 fisco 2.8.0 前言 准备两台机子,并且可以能相互pin通 192.168.19.133 [M1-A] 192.168.19.137 [M2-B] 子任务 1-2-1: 搭建区块链系统并验证 基于给定服务器环境以及软件,搭建一条双机 1 机构 8 节点 1 群组的区块 链系统(默认端口开始[30300,2020…

Nevercenter CameraBag Pro--专业级摄影后期处理利器

Nevercenter CameraBag Pro是一款功能强大的照片滤镜软件&#xff0c;专为摄影爱好者和专业摄影师设计。它拥有超过200种预设滤镜和效果&#xff0c;包括黑白、复古、胶片等多种风格&#xff0c;能够轻松改变照片的外观&#xff0c;并赋予作品独特的艺术感。此外&#xff0c;Ca…

超越常规:用PHP抓取招聘信息

在人力资源管理方面&#xff0c;有效的数据采集可以为公司提供宝贵的人才洞察。通过分析招聘网站上的职位信息&#xff0c;人力资源专员可以了解市场上的人才供给情况&#xff0c;以及不同行业和职位的竞争状况。这样的数据分析有助于企业制定更加精准的招聘策略&#xff0c;从…

webpack-(plugin,本地服务器,路径别名,安装vue)

安装vue npm i vue-loader -D npm i vue 编写一个vue文件&#xff1a; 在index.html中设置 一个id为app的div 将vue文件挂载到app中 vue比较特殊&#xff0c;除了使用loader外&#xff0c;还使用了plugin const path require("path"); const { VueLoaderPlugin …

自动化测试-web(PO:Page Object 模式)

一、PO模式 PO&#xff1a;Page Object&#xff08;页面对象&#xff09;&#xff0c;将自动化涉及的页面或模块封装成对象。 PO能解决什么问题&#xff1f; 代码复用性便于维护&#xff08;脚本层与业务分离&#xff09;--如果元素信息发生变化了&#xff0c;也不用去修改脚…

卷积学习笔记——一文直观形象弄懂

在神经网络的世界中,卷积操作犹如一个神秘的魔术师,它以一种精巧的方式提取出图像、声音等数据中的关键特征,为神经网络模型赋能。但究竟什么是卷积?我们一探究竟。 卷积(Convolution)本质上是一种数学运算操作,它可以用极简的数学形式漂亮地描述一个动态过程。我们可以用形象…

【C语言】——字符串函数的使用与模拟实现(上)

【C语言】——字符串函数 前言一、 s t r l e n strlen strlen 函数1.1、函数功能1.2、函数的使用1.3、函数的模拟实现&#xff08;1&#xff09;计数法&#xff08;2&#xff09;递归法&#xff08;3&#xff09;指针 - 指针 二、 s t r c p y strcpy strcpy 函数2.1、函数功能…

复习Javase 方法

Q 1: long double float blooean 这四个都不能作为switch参数类型 Q2: 数字9出现的次数 9 19 29 |....90 91....99 前面都是个位是9&#xff0c;一共是9个9、后面十位是9&#xff0c;一共11个9 问&#xff1a;如何求个位和十位的9 如果要得到个位的9 就取余 9%1…