论文导读

 预训练模型能够加速任务模型收敛速度和提升模型性能。自然场景图像有ImageNet预训练模型,但此类数据和医学图像差异较大。因此腾讯提出了一个基于70万X光数据进行训练的模型,以作为该领域的预训练模型。模型及训练代码已开源!

论文地址:

https://arxiv.org/abs/2007.07423

代码地址:

https://github.com/funnyzhou/C2L_MICCAI2020

比较学习

超越ImageNet 预训练

摘   要

Abstract

本期分享一篇MICCAI2020的一篇关于医学图像的预训练模型论文《Comparing to Learn: Surpassing ImageNet Pretraining on Radiographs by Comparing Image Representations》。在深度学习领域,预训练模型有着举足轻重的地位,特别是以自然场景数据为代表的ImageNet预训练模型是大多任务模型初始化参数的不二选择。对于医学图像来说,其和自然场景数据差异大。医学任务模型用ImageNet预训练模型就不太合适。因此,作者提出了一种新型的预训练方法(C2L),利用该方法在70万X光无标注数据上进行训练。利用预训练模型在不同的任务和数据集上均取得了优于ImageNet预训练模型更好的SOTA结果。

01

Introduction

ImageNet预训练模型通过迁移学习应用到2D医学图像分析中已被证实是有效的。大量的实验证明,预训练模型与从头开始训练相比,模型能够快速收敛并且能获得更好的准确率。这样的结果主要归因于两个因素:高效的深度神经网络算法以及从大量自然场景图像中学得的通用特征表达。但显而易见的问题是医学图像和自然场景图像是具有显著差异的。那么能否通过某种方法训练一个基于医学数据的预训练模型?

众所周知,医学数据需要该领域专业医师进行标注。这类高质量,多数量的标注数据能够直接提升模型的性能。但医学数据往往因为涉及病人隐私等原因而受到管控和限制,无法获取到大量的带医生诊断结论的数据。那么,开发一种不带标注数据的方法在医学领域就显得尤为重要。一些利用未标注数据进行自监督学习的模型也取得了不错的性能表现,但还无法超过在ImageNet上进行预训练的模型。

通过上述分析,作者提出了一种全新的自监督预训练方法C2L(Compare to Learn)。此方法旨在利用大量的未标注的X光图像预训练一个2D深度学习模型,使得模型能够在有监督信息的条件下,通过对比不同图像特征的差异,提取通用的图像表达。与利用图像修复等代理任务方法不同的是,作者提出的方法是一种自定义特征表达相似性度量。文中重点关注图像特征级别的对比,通过混合每个批次的图像和特征,提出了结构同质性和异质性的数据配对方法。设计了一种基于动量的“老师-学生”(teacher-student architecture)对比学习网络结构。“老师”网络和“学生”网络共享同一个网络结构,但是更新方式不同,其伪代码如下。

02

Proposed Method

Batch Mixup and Feature Mixup:每一个批次的输入图像数据,首先进行随机数据增强(如随机裁剪,旋转等),生成两组数据。与传统的图像级混合方法不同,作者提出了一种基于批次级的混合方法。假设每个批次包含Z张图像,其中。随机打乱,构造配对数据。

其中,~ Beta(1.0,1.0)分布。通过实验发现,对两组数据使用相同的混合因子和数据打乱方法对模型的性能有提升效果。作者对特征的表达也使用了相同的数据混合策略。

其中指数因子控制着动量的程度。如伪代码及流程图所示,"教师"网络同时利用自身和"学生"网络进行更新。而在实际中,作者输入和到"学生"模型,输入和到"教师"模型。分别使用和表示"学生"网络和"老师"网络的输出特征向量。

Homogeneous and Heterogeneous Pairs:为了构造同质数据对,作者假设数据增强(包括文中用到的mixing operation混合操作)只会略微改变训练数据的分布。那么每个同质性配对的数据包含的是经过一些列同样的数据增强,批次数据混合以及特征混合的数据。对于同质数据对,只需要将当前特征和所有的已经存储的队列中特征进行对比。

Feature Comparison, Memory Q and Loss Function:如伪代码如所示,C2L模型优化最小化同质数据对之间的距离,最大化异质数据之间的距离。

解读上述公式,作者首先通过设计两组不同数据增强后的数据(),分别对应"学生"和"老师"两个模型。对于学生模型,只进行batch mixup,也就是将一个批次内的数据进行混合,输出两个特征向量和,分别对应混合前和混合后数据特征;对于"老师"模型,多加了一个Feature mixup,也就是在输出的特征向量处进行了再次的混合操作。在损失函数的设计上,利用交叉熵损失函数,进行优化(伪代码中已写得非常清楚)。在训练的过程中,会有一个记忆队列Q,保存特征向量以进行迭代优化。

消融实验发现,本文提出的混合方法相比与原始的混合方法有约1.6%的性能提升。使用文中定义的数据增强策略能够提升数据的多样性,增加网络提取不同X光数据特征的能力。

使用C2L模型,在后续任务上进行模型的微调

与预训练模型Model Genesis以及在ImageNet和MoCo数据集上进行预训练的模型相比,使用ResNet-18和DenseNet-121网络结构在C2L预训练模型的基础上做Fine-tune,性能提升显著。后续的实验均验证了C2L预训练模型的优越性,也从侧面证明了预训练模型对性能提升的帮助。

03

DATASETS & Results

预训练:ImageNet 预训练使用了约一百万带标注的数据。本文作者使用了

ChestXray14,MIMIC-CXR,CheXpert和MURA四种不带标签的约70万数据进行无监督预训练。只用了ChestX-ray14 进行消融实验以选择合适的超参数。

实现细节以及消融实验:由于已开源,这里就不展开细说。

首先看看Mix方法做的实验结果,发现Batch mixing 和Feature mixing提升明显。

对比数据增强策略和记忆队列Q保存特征长度对性能的影响。

ChestX-ray14数据集上性能的对比。C2L模型性能提升显著。

CheXpert数据集中,预训练模型及MG等性能的对比,C2L约有1%的提升。

Kaggl肺炎数据集不同阈值下mAP,C2L也有不错的表现。

04

Conclusion

作者提出了一种自监督学习方法C2L,利用次方法从无标签医学数据中提取这类数据的特征表达。这种方法通过利用数据间的相关性作为监督信息而无需额外人工标注数据。

05

结语

作者从问题的发现,Idea的提出以及后续的实验验证。笔者作以下几点个人的思考和总结:

1、预训练模型对任务模型进行参数初始化,再进行Fine-tune是可以在一定程度上提升模型性能以及加快模型收敛速度的;

2、预训练模型数据与任务模型数据的相关性影响性能。即如果任务模型数据和预训练数据强相关,那么性能的提升和训练收敛速度的提速都较明显;而如果数据差异较大,可能对任务模型有帮助,但帮助不会太大;

3、作者提出的方法从数据相关性构造监督信息,然后对无标签数据进行训练以达到预训练模型的效果。此方法可以在实际工作中,结合任务需求及数据集大小,参照该方法训练自己的预训练模型;

4、开源70万量级的X光预训练模型和训练代码是真的香;

5、数据决定了算法模型的上限!深入挖掘数据,也许可以进一步找到提升天花板高度的梯子!

备注:医学影像

医学影像处理识别交流群

医学影像CT、MRI、X光处理、分类、检测、分割等技术,

若已为CV君其他账号好友请直接私信。

我爱计算机视觉

微信号:aicvml

QQ群:805388940

微博知乎:@我爱计算机视觉

投稿:amos@52cv.net

网站:www.52cv.net

在看,让更多人看到  

腾讯开源大规模X光预训练模型及代码 |MICCAI 2020相关推荐

  1. 大规模知识图谱预训练模型及电商应用

    点击上方蓝字关注我们 大规模知识图谱预训练模型及电商应用 陈华钧1,2, 张文3, 黄志文4, 叶橄强1, 文博1, 张伟2,4 1 浙江大学计算机科学与技术学院,浙江 杭州 310007 2 阿里巴 ...

  2. WenLan-10亿参数!别只玩GPT,来看看人大中科院联手打造第一个大规模多模态中文预训练模型BriVL...

    关注公众号,发现CV技术之美 ▊ 写在前面 近年来,多模态预训练模型在视觉和语言之间架起了桥梁.然而,大多数研究都是通过假设文本和图像对之间存在很强的语义关联来对图像-文本对之间的跨模态交互进行显式建 ...

  3. 莆田版GPT-3开源:同等复现预训练模型GPT Neo

    GPT-3开源了?Eleuther AI推出的名为GPT-Neo的开源项目:公开发布的GPT-3同等复现预训练模型(1.3B & 2.7B),可在Colab上完成微调. --当然此 GPT-3 ...

  4. 8亿参数,刷新ImageNet纪录:何恺明团队开源最强ResNeXt预训练模型

    栗子 发自 凹非寺  量子位 报道 | 公众号 QbitAI 来自Facebook何恺明团队,比以往都强大ResNeXt预训练模型开源了. 它叫ResNeXt WSL,有超过8亿个参数,用Instag ...

  5. 哈工大+讯飞推出:高效预训练模型压缩方案GRAIN

    每天给你送来NLP技术干货! 来自:哈工大讯飞联合实验室 点击这里进群->加入NLP交流群 哈工大讯飞联合实验室(HFL)2022年终技术发布第三弹,推出一种结合了知识蒸馏和内部注意力裁剪的预训 ...

  6. 语言模型GPT-2挤牙膏式开源,放出774M预训练模型,称是倒数第二版

    铜灵 发自 凹非寺 量子位 出品 | 公众号 QbitAI 放出124M和355M的中小规模预训练模型后,横扫7大语言任务.效果足够以假乱真的逆天模型GPT-2又开源了. 此前,OpenAI因为担心这 ...

  7. T5 PEGASUS:开源一个中文生成式预训练模型

    ©PaperWeekly 原创 · 作者|苏剑林 单位|追一科技 研究方向|NLP.神经网络 去年在文章那个屠榜的T5模型,现在可以在中文上玩玩了中我们介绍了 Google 的多国语言版 T5 模型( ...

  8. [Pytorch系列-72]:生成对抗网络GAN - 图像生成开源项目pytorch-CycleGAN-and-pix2pix - 使用预训练模型训练CycleGAN模型

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/detai ...

  9. [Pytorch系列-66]:生成对抗网络GAN - 图像生成开源项目pytorch-CycleGAN-and-pix2pix - 使用预训练模型测试pix2pix模型

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/detai ...

最新文章

  1. 陆奇演讲:人工智能精要
  2. TCP/IP协议中常用端口表
  3. ROS学习笔记-ROS语音识别与语音输出[2]
  4. swagger 修改dto注解_Swagger介绍及使用
  5. 1030利用三层交换机实现VLAN间通信
  6. Redis Scan 命令
  7. SAP License:SAP MM物料管理
  8. Delphi 调用Domino Lotus OA
  9. windows本地运行sentinel
  10. 对抗生成网络(Generative Adversarial Network, GAN)
  11. tpac100控制器设置教程_TP-link AC控制器统一管理AP设置指导
  12. python解决八数码问题_python八数码
  13. Java识别获取pdf中文字信息
  14. 怎么将英文的PDF翻译成中文的
  15. 从冯诺伊曼结构看AI
  16. CDN流量是什么,怎么计算?
  17. Linux 系统 网卡RTL8723BE 信号差不稳定的解决办法
  18. win8: html5+css3+js
  19. 编制投标书常见的115个错误
  20. swagger knife4j 解决接口下载文件响应乱码问题

热门文章

  1. RANSAC估计——以直线拟合为例
  2. JDBC简单连接MySQL
  3. oracle11gr2配置监听,Windows环境配置Oracle 11gR2 Listener
  4. mysql表统一编码_PHP MySQL Apache统一编码
  5. 创朵计算机维修,创建第一个计算机监控软件服务
  6. 训练dnn_[预训练语言模型专题] MT-DNN(KD) : 预训练、多任务、知识蒸馏的结合
  7. 1708硬盘转接口_ICY DOCK全球首款U.2转USB转接器震撼上市
  8. python中elif可以单独使用吗_python中elif可以单独使用吗
  9. matlab6.1实用指南,MATLAB 6.1实用指南
  10. iis php5.3配置,windows+IIS 环境下以Fastcgi方式配置php 5.3.3的方法