基于深度残差网络迁移学习的浸润性导管癌检测

1. 引言

        癌症是一种异常细胞不受控制地分裂损害健康组织的疾病。皮肤或覆盖我们内脏的组织中的癌细胞被称为癌。乳房中的大多数癌是导管癌。侵袭性导管癌(Invasive Ductal Carcinoma, IDC)始于乳管,侵犯乳房周围纤维组织,晚期可通过血液扩散至淋巴结或身体其他部位,威胁患者生命。这种恶性肿瘤的治疗取决于它的分期、严重程度和它所属的亚型。事实证明,早期诊断有助于减少治疗过程中的并发症,从而提高患者的生存几率。

        IDC癌的诊断可基于病理任务,包括显微镜观察和多片载玻片检查。但是这种测试方法既耗时又容易出错。因此,为了辅助测试过程,可以采用计算机辅助诊断(CAD)测试方案,主要涉及基于深度学习(DL)的方法。对组织病理学图像进行图像分析是鉴别和识别癌症亚型的一种有效方法。

        组织病理学图像是在特定放大倍数(x10, x20或x40)下染色活检样本的WSI数字化扫描。研究了IDC阳性病例的组织病理切片图像。深度学习模型可以根据从组织病理学图像中提取的代表乳腺癌组织成分的特征来学习对阳性样本进行分类。本文中,提出了一种由基于ResNet的特征提取器组成的深度学习模型,该模型可以有效地提取组织特征,分类器头部使用这些特征对IDC组织病理图像样本进行准确分类。

1.1 机器学习(ML)方案

        预处理的重要性:ML算法通常需要在预处理后的数据集上进行训练。预处理的方式和性质对ML模型的性能有重要影响。

        线性回归与ANN:Turgay等人[8]比较了线性回归和人工神经网络(ANN)在癌症样本分类中的应用。

        SVM与图像增强:M.A.Awasthy等人[9]提出了一种基于支持向量机(SVM)的模型,其中使用图像增强技术对组织病理学图像进行增强,并通过分割在预处理步骤中提取关键特征。这些特征随后被输入到分类器中。通过分割进行特征提取的预处理步骤有助于提高模型性能,与其他ML模型(如KNN和ANN)相比。

        Catboost模型:S.D.Roy等人[10]提出了一种Catboost模型,该模型在通过堆叠各种文本特征并应用皮尔逊相关性而提取的782个特征上进行训练时,取得了高准确性。

1.2 深度学习(DL)方案

        大数据集与计算成本:组织病理学图像数据集通常非常大,预处理这样的数据集是一个计算成本高昂的任务。

        CNN的应用:为了应对这一挑战,基于DL的模型发挥了显著作用,因为它们即使在基本预处理后也能表现出色。卷积神经网络(CNN)因其从空间相邻特征中学习的能力而成为医学图像处理应用领域中最有效的模型之一。

        CNN架构:A.C. Roa等人[11]提出了一种具有3层CNN架构的模型,该模型在考虑到数据巨大规模的情况下,对样本图像进行了16:1的缩小训练。

        残差网络:C. C. Chatterjee等人[12]提出了一种具有4个残差块的残差网络,每个残差块由2D卷积层构成。该模型的限制是它从未在整个数据集上进行训练,而是仅在数据集的一个子集(即代表性数据集)上进行了实施。

3. 提出的方法

        带有跳跃连接的残差网络作为最优解决方案,尽管神经网络的维数很大,但跳跃连接传播损失却没有太大的退化。跳跃连接通过在卷积层之间具有中间连接来促进输出层和输入层之间的梯度流动。

3.1 数据集预处理

        由于IDC数据集的规模非常大,直接在整个数据集上训练模型是一项计算密集型的任务。这意味着训练过程可能需要很长时间,并且需要强大的计算资源。为了解决这个问题,研究者们选择了使用k-fold交叉验证的方法来训练和优化模型。这种方法将数据集分成k个部分(或“折”),然后多次进行训练和测试,每次使用不同的折作为训练集和测试集。

        在特定的例子中,数据集被分为9折,其中7折用于训练数据集,2折用于测试训练好的模型。这样,每个样本都有机会被用作测试集的一部分,这有助于更准确地评估模型的性能。测试集由数据集的2折组成,总共包含大约59,462个样本。这意味着训练集和测试集之间的比例大约是80:20,用于在机器学习项目中评估模型的性能。

        每个折中IDC正样本(即存在浸润性导管癌的样本)和IDC负样本(即不存在浸润性导管癌的样本)的比例是不均等的,这导致数据分布出现偏斜。这种不平衡的数据分布可能会挑战模型的学习能力和性能,因为模型可能更偏向于预测数量更多的类别(在这种情况下是IDC负样本)。

        为了解决样本不平衡的问题,研究者们采取了一种称为“随机采样”的策略。随机选择IDC负样本以形成一个新的样本集,这个新样本集中的IDC负样本数量与IDC正样本数量相同。通过这样做,每个折的IDC正样本和IDC负样本数量变得相等,从而解决了数据分布不平衡的问题

3.2 模型开发

        残差网络是由多层卷积网络通过跳跃连接相互连接而成的。对于特征提取,使用一个预训练的CNN编码器ResNet152。ResNet152返回一个具有2048个特征的特征向量。这些提取的特征被输入到全连接层以生成输出。

        1)预训练特征提取器:ResNet是一个由多个CNN层组成的深度学习模型。残差学习的概念形成了联系。考虑需要学习的映射为H(x),当拟合多个非线性层时,模型F(x)学习到的映射可以定义为:

F(x)=H(x)-x 

x是模型没有学习到的残差。因此,原始映射可以推导为: H(x)=F(x)+x

ResNet152架构

由152个CNN层堆叠并通过跳跃连接连接。 

        利用预训练的ResNet152模型从组织病理学图像中提取重要特征。从组织病理学图像中提取特征是预训练模型的下游任务。利用或嵌入预训练模型作为下游任务整体架构的组成部分的方法称为迁移学习。使用Imagenet分类任务训练后更新的最优权值从组织病理图像中提取特征,用于IDC分类下游任务。

        2)分类器头(Classifier head):从残差网络中提取的特征作为全连接层的输入,最终的Time分布致密层作为分类器头,通过预测给定样本的类概率来进行二值分类。

        3)激活函数:激活函数在输出中引入非线性,使非凸状态变为凸,从而使凸函数的优化(通过梯度下降)变得可行。

4. 实验结果

        数据集被划分为 f_k折(folds),其中 是一个整数。训练集由\{f_1,f_2,...f_{k-m}\}组成,而测试集由\{f_{k-m+1},......,f_k\}组成。在这个例子中,训练集包含了 k-m 折数据,而测试集包含了剩下的    折数据。

        对于训练集中的每一折 f_i,模型都会进行训练。由于数据集体积庞大,每次训练完一折数据后,都会保存模型的检查点(checkpoint),以便保存优化后的权重,这些权重将被用于下一折f_{i+1} 的训练。这个过程会持续到所有训练折都被训练完毕。

        当模型对所有训练折都进行了训练后,最终优化后的权重将被用于在测试集的所有折上进行验证。如果测试集包含多折数据(即n(testset)>1fold),那么将在每一折上进行测试,并将每个折上的性能指标进行加权平均,以得出最终的评估结果。例如,如果测试集包含两折\{f_1,f_2\},那么平均准确率将是mean\_accuracy=\frac{(acc_{f_1}*n(f_1))+(acc_{f_2}*n(f_2))}{n(f_1)+n(f_2)}

实验设置

        实验使用了Keras框架来实现提出的模型架构。优化器选择了Adam,学习率设置为0.001。损失函数是二元交叉熵损失函数。性能评估指标考虑了准确率、召回率和AUC。

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

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

相关文章

【鸿蒙学习笔记】位置设置・position・绝对定位・子组件相对父组件

官方文档:位置设置 目录标题 position・绝对定位・子组件相对父组件Row Text position position・绝对定位・子组件相对父组件 正→ ↓ Row Text position Entry Component struct Loc_position {State message: string Hello World;build() {Column() {Co…

二叉树的前、中、后序遍历(递归法、迭代法)leetcode144/94/145

leetcode144、二叉树的前序遍历 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1: 输入:root [1,null,2,3] 输出:[1,2,3] 示例 2: 输入:root [] 输出:[] 示例 3:…

求职学习day5

安排明天hr面 投一下平安可能。 hr面准备,复习java核心技术,复习java项目。 正视自己,调整心态。 也是很早接触了javaguide但是没有持续学习,项目介绍 | JavaGuide,面试前复习一下感觉还是很有收获的。 还有一些…

【QT】label中添加QImage图片并旋转(水平翻转、垂直翻转、顺时针旋转、逆时针旋转)

目录 0.简介 1.详细代码及解释 1)原label显示在界面上 2)水平翻转 3)垂直翻转 4)顺时针旋转45度 5)逆时针旋转 0.简介 环境:windows11 QtCreator 背景:demo,父类为QWidget&a…

Go语言并发编程-Channel通信_2

Channel通信 Channel概述 不要通过共享内存的方式进行通信,而是应该通过通信的方式共享内存 这是Go语言最核心的设计模式之一。 在很多主流的编程语言中,多个线程传递数据的方式一般都是共享内存,而Go语言中多Goroutine通信的主要方案是Cha…

笔记 7 :linux 011 注释,函 bread () , get_hash_table () , find_buffer ()

(57)接着介绍另一个读盘块的函数 bread(): (58)因为 函数 get_blk()大量调用了其它函数,一版面列举不完,故对其调用的函数先行注释:ge…

【驱动程序】霍尔编码器电机_CubeMX_HAL库

【驱动程序】霍尔编码器电机_CubeMX_HAL库 电机型号:MG310 霍尔编码器电机 驱动模块:L298N 接线 注: L298N 12V接线柱位置可以接50V~5V当跳线帽接入时,5V接线柱为5V输出,可以给驱动板供电当跳线帽拔出时&#xff0…

单片机主控的基本电路

论文 1.复位电路 2.启动模式设置接口 3.VBAT供电接口 4.MCU 基本电路

昇思25天学习打卡营第30天 | MindNLP ChatGLM-6B StreamChat

今天是第30天,学习了MindNLP ChatGLM-6B StreamChat。 今天是参加打卡活动的最后一天,经过这些日子的测试,昇思MindSpore效果还是不错的。 ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,具有62亿参数,基于 …

Blender4.2版本正式上线,新版本的5个主要功能!

​Blender刚刚推出了备受瞩目的 Blender 4.2 版本,这款软件专为那些在视觉特效、动画制作、游戏开发和可视化设计领域工作的艺术家们量身打造。作为最新的长期稳定更新,Blender 4.2 不仅稳定可靠,还引入了备受期待的“Eevee Next”实时渲染引…

unity渲染人物模型透明度问题

问题1:有独立的手和衣服的模型,但最终只渲染出来半透明衣服 问题2:透明度贴图是正确的但显示却不正确 这上面两个模型的问题都是因为人物模型是一个完整的,为啥有些地方可以正常显示,有些地方透明度却有问题。 其中…

嵌入式香橙派人工智能AI开发板详细操作与远程聊天实现

大家好,今天给大分享一个OrangePi AIpro(20T)采用昇腾作为主控芯片的开发板,开箱以及对应功能的详细实现。 第一:板子基本介绍 接通电源给对应的开发板上电,观察其中的现象,如下: 注…

Vue 组件插槽 slot 简单例子

https://andi.cn/page/621582.html

GZ032 信息安全管理与评估赛项参考答案-模块1任务二11-20

GZ032 信息安全管理与评估赛项参考答案-模块1任务二 后面的题可能有的地方没有验证但是步骤都对,第13个小题没有做跳过去了等下一期或者最后在做 文章目录 GZ032 信息安全管理与评估赛项参考答案-模块1任务二11.总公司和分公司今年进行IPv6试点,要求总公…

TikTok内嵌跨境商城全开源_搭建教程/前端uniapp+后端源码

多语言跨境电商外贸商城 TikTok内嵌商城,商家入驻一键铺货一键提货 全开源完美运营,接在tiktok里面的商城内嵌,也可单独分开出来当独立站运营 二十一种语言,可以做很多国家的市场,支持商家入驻,多店铺等等…

华为“铁三角模式”在数据类项目中的应用和价值

引言:随着信息技术的飞速发展,企业纷纷踏上数字化转型的道路,希望通过数据分析和智能决策来提升企业竞争力。在这一过程中,数据类项目成为关键,它们旨在构建高效的数据治理和分析平台,为企业决策提供有力支…

【Git远程操作】克隆远程仓库 https协议 | ssh协议

目录 前言 克隆远程仓库https协议 克隆远程仓库ssh协议 前言 这四个都是Git给我们提供的数据传输的协议,最常使用的还是https和ssh协议。本篇主要介绍还是这两种协议。 ssh协议:使用的公钥加密和公钥登录的机制(体现的是实用性和安全性&am…

Linux网络——TcpServer

一、UDP 与 TCP 在现实生活中,Udp 类似于发传单,Tcp 类似于邮局的挂号信服务。 1.1 UDP(用户数据报协议) 无连接:发放传单时,你不需要提前和接受传单的人建立联系,直接把传单发出去。不可靠&…

ffmpeg ffplay.c 源码分析

1 ffplay.c的意义 ffplay.c是FFmpeg源码⾃带的播放器,调⽤FFmpeg和SDL API实现⼀个⾮常有⽤的播放器。 例如哔哩哔哩著名开源项⽬ijkplayer也是基于ffplay.c进⾏⼆次开发。 ffplay实现了播放器的主体功能,掌握其原理对于我们独⽴开发播放器⾮常有帮助…

1. LeetCode-数组和字符串

1.数组简介 1.1 集合、列表和数组 集合 集合定义:由一个或多个确定的元素所构成的整体。 集合的特性: 首先,集合里的元素类型不一定相同。 你可以将商品看作一个集合,也可以将整个商店看作一个集合,这个商店中有人…