三、CAM可解释性分析——可解释性机器学习(DataWhale组队学习)

news2024/11/15 15:45:51

文章目录

  • 前言
  • CAM算法的精妙之处
  • 相关工作
  • CAM算法
  • 其它相关问题
    • 为什么不用池化操作?
    • CAM的优点
    • CAM算法的缺点
  • 扩展阅读和思考题

前言

CAM算法奠定了可解释分析的基石
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

CAM算法的精妙之处

  1. 对深度学习实现可解释性分析、显著性分析
  2. 可扩展性强,后续衍生出各种基于CAM的算法
  3. 每张图片的每个类别,都能生成CAM热力图
  4. 弱监督定位:使用图像分类模型解决定位问题,将定位信息保留到模型的最后一层
  5. 潜在的“注意力机制”展示
  6. 在细粒度分类的任务上可用于Machine Teaching

相关工作

CNN弱监督的物体定位
用图像分类标注训练定位、检测、分割;可使用图像遮挡测试进行定位;可使用重叠图块进行预测;这些工作需要多次前向预测,并且是非端到端的;也可使用全局最大池化,非最大值的特征无法识别(无梯度),导致只能获得边缘点,而非物体范围;可以使用GAP方式进行绘制CAM热力图,并进行物体定位。
可视化卷积神经网络内部的特征
使用ZFNet可解决目标检测和定位问题,只分析卷积层,没有分析全连接层之后的层,将全连接层替换为GAP层,可从头到尾进行可解释性分析;对卷积神经网络的语义编码进行分析,没有表征特征的重要性,也无法提取出图中的关键区域。

CAM算法

在这里插入图片描述
channel包含位置信息
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

其它相关问题

为什么不用池化操作?

在这里插入图片描述
池化(下采样)引入了平移不变性,也意味着丢失了长宽方向的位置信息,因此在CAM热力图中不使用带池化的卷积神经网络。

CAM的优点

在这里插入图片描述
在这里插入图片描述
全局平均池化(GAP)取代全连接层减少参数量、防止过拟合。
而且每个GAP平均值,间接代表了卷积层最后一层输出的每个channel。

CAM算法的缺点

  1. CAM算法中,必须有GAP层,否则无法计算每个channel的权重。如果没有GAP层,需把全连接层替换为GAP再重新训练模型。
  2. 只能分析最后一层卷积层输出,无法分析中间层。

在这里插入图片描述
squeezenet
在这里插入图片描述
显著性分析的意义:从machine learning到machine teaching

扩展阅读和思考题

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

域名备案怎么查?怎么批量查询域名备案

ICP备案,是为了防止在网上从事非法的网站经营活动,打击不良互联网信息的传播,国家对互联网信息服务实行的备案制度。 备案的目的就是为了防止在网上从事非法的网站经营活动,打击不良互联网信息的传播,如果网站不备…

Android TP驱动模型框架分析

本文主要是对TP驱动框架的学习。 一、概述 1、触摸IC的工作原理 tp与主控间的通信接口一般是i2c,即scl、sda、gnd、vcc。在正常工作时需要加上rst、int脚。 整个过程是:通过点击屏幕,tp ic端会将int 脚电平拉低,等待主控的读取。…

【技术分享】Anaconda下载、安装、pip切换镜像源、conda切换镜像、conda创建指定Python版本虚拟环境教程

文章目录1.下载Anaconda1.1.下载最新版本Anaconda1.2.下载历史版本的Anaconda2.安装Anaconda3.conda切换镜像源4.pip切换镜像源5.conda创建指定版本Python环境1.下载Anaconda 1.1.下载最新版本Anaconda 步骤: 进入Anaconda官网,点击Download按钮下载最…

海量数据小内存!如何找到高频数

文章目录题目解答总结题目 如何在 20 亿个无符号整数中找到出现次数最多的那个数,在只提供 1 G 内存的条件下 解答 找到出现次数最多的数,通常的思维就是使用 HashMap 来统计这 20 亿个无符号整数中每个数出现的次数 已知只有 20 亿个数,…

b站黑马的Vue快速入门案例代码——【axios+Vue2】悦听player(音乐播放器)

目录 本文中修改的原代码中的BUG: 修改方法: 本文案例代码仍有的BUG:(欢迎大家献计献策) 目标效果: 悦音player案例——效果展示视频: 更换的新接口/参数: 1.歌曲搜索接口&…

实战讲解及分析Spring新建Bean的几种方式以及创建过程(图+文+源码)

1 缘起 作为一个应用开发人员而言,会使用某一个工具分为两个层次(个人观点): 第一个层次,知道工具,会使用这个工具解决问题; 第二个层次,理解工具的实现原理。 关于Spring的学习&am…

Linux Centos7 磁盘的分区、挂载

1、前言 注:看不懂的同学可以直接跟着后面的步骤操作 一块新的磁盘放到电脑上,要经过分区-->给分区设置文件系统--->挂载才能用。 也就是说要想将磁盘挂载,必须完成给磁盘分区和给分区设置文件系统这两步。 分区的时候先分成主分区和扩…

【DBN分类】基于matlab深度置信网络DBN变压器故障诊断【含Matlab源码 2284期】

一、深度置信网络DBN变压器故障诊断简介 1 DBN模型 DBN是深度学习中最关键的一个多层网络架构,如图2所示,由多层RBM堆叠而成,前一层RBM的输出为后一层RBM的输入,最顶层采用Softmax分类器作为标签层,输出分类识别的结果…

AD-DA转换(PCF8591)

AD转换目录一、AD转换(PCF8591)①初始化函数②读取ADC值的函数二、DA转换(PCF8591)三、STC15系列单片机用户手册.pdf—第10章一、AD转换(PCF8591) 思路:(66,两个地址0x90…

RNA-seq——上游分析练习2(数据下载+trim-galore+hisat2+samtools+featureCounts)

目录软件安装新建文件夹一、下载数据二、质控过滤1.数据质量检测2.数据质量控制3.对处理后的数据再次QC三、序列比对1.hisat2比对2.flagstat检查一下结果四、featureCounts定量写在前面——本文是转录组上游分析的实战练习。主要包含四个步骤: 数据下载&#xff08…

DockerCompose编排Redis6.2.6以及遇到的那些坑

场景 Docker中使用Dockerfile的方式部署SpringBootVue前后端分离的项目(若依前后端分离框架为例): Docker中使用Dockerfile的方式部署SpringBootVue前后端分离的项目(若依前后端分离框架为例)_霸道流氓气质的博客-CSDN博客_若依 dockerfile 在上面使用Dockerfile分别构建每个…

Heron‘s formula

In geometry, Heron’s formula (or Hero’s formula) gives the area A of a triangle in terms of the three side lengths a, b, c. If {\textstyle s{\tfrac {1}{2}}(abc)}{\textstyle s{\tfrac {1}{2}}(abc)} is the semiperimeter of the triangle, the area is,[1] {\d…

影视中学职场套路——《如懿传》中职场生存法则

目录 一、老板决定的事,赞成不赞成都要执行 二、居人之下,聪明劲儿别往外露 三、切忌大庭广众直接与上级冲突 四、取悦所有人,不如取悦最大的boss 五、再强的人,也需要团队作战 六、人善被人欺(首先要自保&#…

第三十一章 linux-模块的加载过程一

第三十一章 linux-模块的加载过程一 文章目录第三十一章 linux-模块的加载过程一sys_init_modulestruct moduleload_module模块ELF静态的内存视图字符串表(string Table)HDR视图的第一次改写find_sec函数ps:kernel symbol内核符号表,就是在内核的内部函数…

opencv图像去畸变

图像去畸变的思路 对于目标图像(无畸变图像)上的每个像素点,转换到normalize平面,再进行畸变变换,进行投影,得到这个像素点畸变后的位置,然后将这个位置的源图像(畸变图像)的像素值作为目标图像…

Visual Studio 2022安装与编译简单c语言以及C#语言(番外)

文章目录1 软件下载网站2 下载与安装3 创建并学习C语言4 创建并学习C#语言1 软件下载网站 Visual Studio官网 2 下载与安装 1、下载社区版即可。 2、下载得到安装文件,右键以管理员方式运行安装文件。 3、点击继续。 4、等待下载完成。 5、这里学习C选择使用…

SpringBoot文件上传同时,接收复杂参数

目录 环境信息 问题描述 错误分析 解决方法 简单参数 总结 环境信息 Spring Boot:2.0.8.RELEASE Spring Boot内置的tomcat:tomcat-embed-core 8.5.37 问题描述 收到文件上传的开发工作,要求能适配各种场景,并且各场景的请求…

C语言——操作符详解(上)

C语言——操作符详解(上) 操作符的分类 C语言中的操作符主要分为算术操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符、条件操作符、逗号表达式、下标引用、函数调用和结构成员。我将分成三篇文章为大家详细介绍以上所…

[附源码]Python计算机毕业设计Django网约车智能接单规划小程序

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

[附源码]Python计算机毕业设计华夏商场红酒管理系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等…