最近看了一篇有关多示例学习的paper,题目为Data Efficient and Weakly Supervised Computational Pathologyon Whole Slide Images,对里面提出的模型比较感兴趣,特此做一下笔记。
github地址:https://github.com/mahmoodlab/CLAM
paper地址:https://arxiv.org/abs/2004.09666

笔记

这篇paper提出了一个Clustering-constrained Attention Multiple Instance Learning的模型,简称为CLAM模型,整个模型的框架图如下:

由于整篇paper对其模型框架介绍的很模糊,而且光看上面的流程图也看不明白。通过对CLAM仓库代码的研究,总算弄明白了整体模型的结构。
还是采用基于embedding的两阶段的训练方式(如果不明白什么是基于embedding,可以看我上一篇文章背景知识部分——Dual-stream multiple instance learning networks for tumor detection in Whole Slide Image——论文笔记)。

(一)特征提取部分

特征提取部分很简单,并没有采用复杂的方式,而是直接采用pytorch提供的预训练权重。仓库代码默认是采用resnet50的ImageNet预训练权重来提取特征的,这部分没什么好说的。

(二)示例分类器

示例分类器的模型结构可以简单概括为门注意力层+全连接层,整体的模型并不复杂,
训练部分可以分为以下步骤,以resnet50提取的特征为例,特征维度为1024:

  1. 使用gate_attention将M×1024的特征向量转为M×1的注意力分数和M×512的特征映射。(M为一个slide中所有的patch数量)
  2. 对注意力分数进行排序,取出最大最小的topk个分数对应的特征映射(topk默认设置为8)。
  3. 将最大topk的标签设为1,最小topk的标签设为0,作为instance标签。
  4. 对2×topk的特征映射输入N个二分类全连接层,得到N个二分类输出。(N为预测类别)
  5. 计算N个二分类输出与instance标签的SmoothTop1SVM Loss(这个loss就是instance loss)。
  6. 将注意力分数乘于对应的特征映射并将所有特征映射相加相加,得到512×1的特征向量。
  7. 将特征向量输进去全连接层,得到bag分类结果。
  8. 计算bag分类的CE Loss。(这个loss就是bag loss)
  9. 总Loss定义为:bag_weight * bag_loss+(1-bag_weight)*instance_loss。(bag_weight默认是0.8)

上面介绍的是整体流程的思路,具体的模型是怎么定义的, 怎么组合的,仓库代码都有,我就不一一赘述了,都是一些很简单模型构件,并不难理解。

(三)一些细节部分

这些细节部分都是从仓库提供的源代码推出来的,并不保证一定是正确的。

  1. dataloader的batch size是固定设为1。
  2. 无论是二分类还是多分类问题,关于计算instance loss时候的标签都是最大topk为1,最小topk为0。
  3. 仓库里面提供了两个模型,一个单分支的clam_sb,另外一个是多分支的clam_mb。 两者的区别在于:
    (1) mb计算注意力分数是计算了每个类别的分数,即N×C个分数,最后分类层也是有多少类别就有多少个全连接层,每个全连接层输出每个类别bag分数。
    (2) sb无论多少类别,计算注意力分数时都是N×1个分数,最后分类层就一个全连接层,输出为类别数。

CLAM——论文笔记相关推荐

  1. ORB-SLAM3 论文笔记

    ORB-SLAM3 论文笔记 这篇博客 ORB-SLAM3系统 相机模型的抽象(Camera Model) 重定位的问题 图片矫正的问题 视觉惯性SLAM的工作原理 相关公式 IMU初始化 跟踪和建图 ...

  2. 【论文笔记】 LSTM-BASED DEEP LEARNING MODELS FOR NONFACTOID ANSWER SELECTION

    一.简介 这篇论文由IBM Watson发表在2016 ICLR,目前引用量92.这篇论文的研究主题是answer selection,作者在这篇论文基础上[Applying Deep Learnin ...

  3. 最新图神经网络论文笔记汇总(附pdf下载)

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 [导读]近年来,图神经网络变得非常火热,每年顶会在该领域内都会出现大量的研究论文,本文为大家提 ...

  4. [论文笔记] Fast Quality Driven Selection of Composite Web Services (ECOWS, 2006)

    Time: 4.0 hours Jae-Ho Jang, Dong-Hoon Shin, Kyong-Ho Lee, "Fast Quality Driven Selection of Co ...

  5. 论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning

    论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning  2017-06-06  21: ...

  6. 光流 速度_[论文笔记] FlowNet 光流估计

    [论文笔记] FlowNet: Learning Optical Flow with Convolutional Networks 说在前面 个人心得: 1. CNN的光流估计主要是速度上快,之后的v ...

  7. 论文笔记 《Maxout Networks》 《Network In Network》

    原文出处:http://zhangliliang.com/2014/09/22/paper-note-maxout-and-nin/ 论文笔记 <Maxout Networks> & ...

  8. 论文笔记:HKMF-T: Recover From Blackouts in TaggedTime Series With Hankel Matrix Factorization

    论文笔记:Hankel Matrix Factorization for Tagged Time Series to Recover Missing Values during Blackouts_U ...

  9. 论文笔记 A Spatial-Temporal Decomposition Based Deep Neural Network for TimeSeries Forecasting

    0 abstract 空间时间序列预测问题出现在广泛的应用中,如环境和交通问题.由于存在特定的空间.短期和长期模式,以及维度的诅咒,这些问题具有挑战性. 在本文中,我们提出了一个用于大规模空间时间序列 ...

最新文章

  1. 第 5-6 课:Java 并发包中的高级同步工具 + 面试题
  2. c语言中二分法100中找30,c语言中的二分法
  3. Asp.net 邮件传输
  4. python适配器模式角色_适配器模式(Adapter模式)详解
  5. Leetcode Contains Duplicate II
  6. Fiddler详解-Fiddler Classic
  7. 山科大离散数学期末考试_离散数学期末考试试题及答案
  8. 2015最新iherb海淘攻略-图文入门教程
  9. 基于深度学习的图像识别进展:百度的若干实践
  10. c# MODBUS协议源码 上/下位机源码烧写Flash工具
  11. proftpd mysql_使用MySQL认证ProFTPD用户
  12. 移动的帝国:日本移动互联网兴衰启示录
  13. 官方解释:Windows Vista和OpenGL
  14. Hadoop-感知网络布局和机架的设计
  15. iPhone通话质量和基带有关?2招教你检测手机是什么基带!
  16. zip4j对处理压缩包及压缩包加密处理
  17. 移动网络简介与RRC
  18. 疫情放开,新冠防治药推荐,中医治疫病的准则
  19. 解决Win10家庭版没有‘本地用户和组’问题
  20. 有哪些有趣、有教育性的模拟黑客游戏?

热门文章

  1. jquery的$是什么意思?
  2. 东南大学计算机学院硕导姜浩,东南大学计算机科学与工程学院硕导介绍:王红兵...
  3. 香港儿科医学会:小儿发烧,七个不处理原则
  4. python基于pingouin统计分析:pairwise_tests函数对多重比较进行校正的事后检验(Post-hoc tests corrected for multiple-comparison
  5. 带头大哥777最后说几点看法(2007年7月1号)
  6. 虚拟机安装Ubuntu18.04
  7. 智慧树怎么导入教务系统的课_再见,教务处!
  8. 存储圈要“挂帅点将”,谁能挑起数智融合发展重担?
  9. 设计巧妙的保险丝熔断指示电路
  10. (-0001)java后台开发之学习Java好书及视频推荐