Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps
开源:http://code.google.com/p/cuda-convnet/
网上的代码实现(在这个网页里面,自己寻找):https://www.jianshu.com/p/e46b1aa48886
摘要:
问题:
1.可视化神经网络,得知神经网络在做什么
方法:我们使用两种可视化技术,都是计算关于相关图片类得分的梯度
(1).可视化类的概念,最大化类得分(?)
(2).计算所给图像对应类的类显著图(?)
(3).我们建立了基于梯度的可视化方法与基于反卷积的可视化方法之间的联系
结果:
我们展示了了这些图可以应用到弱监督中的分割和分类当中。
介绍:
别人的工作:
1.rk, Erhan et al. [5] 可视化通过最大化神经元的激活,通过梯度上升的一个方法,这个方法被Deep Belief Network (DBN) [7]和Le et al.[9]采用做可视化工作
2.Zeiler et al. [13].等人使用了Deconv的转置卷积方法来可视化神经网络
我们的工作:
贡献:
1.我们证明了使用输入图像的数值优化可以获得ConvNet分类模型的可理解的可视化(注意,在我们的例子中,与[5]不同,网络是以监督的方式训练的,因此我们知道最终完全连接的分类层中哪个神经元应该最大化以显示感兴趣的类别(在无监督的情况下,[9] ]必须使用单独的带注释的图像集来找出负责特定类的神经元)不懂??)
2.我们提出了一个方法(基于梯度的方法),通过反传来计算显著图(这个图可以被用于弱监督目标定位??)
3.最后我们将基于梯度的方法推广到反卷积神经网络当中(相当于摘要中的建立联系)
使用的网络以及结果:
网络
1.使用与alexnet(但是没有alexnet那么宽)相似的网络,在imagenet上训练
结果
2.ILSVRC-2013:top1/top5分类误差为39.7%/ 17.7%,略高于alexnet的40.7%/ 18.2%。
第一种方法:Class Model Visualisation(摘要里的最大化类得分)
(1).固定已经训练好的网络权重,然后输入一张全是0的图,损失函数使用如上式所示的公式,使用L2正则化防止图像某些值太大(?这个太大不懂)
(2).如果你想看最大激活某一类(用于分类的全连接的类别)得分,你需要将你感兴趣的类设置为1,其他类设置为0(比如你对鹅感兴趣,就在全连接层在鹅这一类设置为1,其他类别设置为0)
(3).然后根据以上的损失函数,更新输入全0的图片最后就会看到最大激活鹅这一类的图片是什么样子
如下图所示:
观察此图:可以观察这张图,举个例子,假如你对鹅这一类感兴趣,那么你看goose这张图片,可以观察出恨不得满图都是鹅的身影,所以训练出来的图片就是鹅。
基于梯度的一种方法:Class Model Visualisation(摘要里第二个方法)
1.I代表的是一个图像的one-vector向量,Sc(I)代表是某一类的分数,Wc代表的是每一个元素对应的权重,所以就是相当于根据得分计算原图上每一个像素的梯度,一次反传就可以计算出全部
2.在灰度图像的情况下,w中的元素数等于图像I0中的像素数,因此可以将映射计算为M ij = | wh(i,j)|,其中h(i ,j)是w的元素的索引,对应于第i行和第j列中的图像像素。 在多通道(例如RGB)图像的情况下,让我们假设图像I的像素(i,j)的颜色通道c对应于具有索引h(i,j,c)的w的元素。 为了得到每个像素(i,j)的单个类显着性值,我们在所有颜色通道上取最大w值:M ij = max c | w h(i,j,c)|。(也就是对于灰度图,直接求出每个像素点所对应的梯度即可,如果是RGB,则求出3个通道上最大的那个梯度)
2.从另一种方向去理解这个基于梯度的算法是,求出每个像素点的梯度(梯度即表示变化最快的方向),即表示像素对所得分数的影响大小,梯度越大影响越大。
Weakly Supervised Object Localisation:
可以将这个类显示图用作输入去做目标定位,可不可以用来分类呢?
和转置卷积方法的联系Relation to Deconvolutional Networks:
1.反卷积与梯度值相似或者相等(这个确实不能理解,也许需要重新结合转置卷积去理解吧)
2.基于梯度的方法在反传时候,对于那些前向传播中激活值为0的神经元不计算梯度,而反卷积仅使得反向传播时的值大于0(使用relu函数),对于前向传播的激活值不管大于0还是等于0,都计算
3.deconv有一个switch操作,
Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps相关推荐
- 【论文解读 ICLR 2020 | DropEdge】TOWARDS DEEP GRAPH CONVOLU-TIONAL NETWORKS ON NODE CLASSIFICATION
论文题目:DROPEDGE: TOWARDS DEEP GRAPH CONVOLU-TIONAL NETWORKS ON NODE CLASSIFICATION 论文来源:ICLR 2020 论文链接 ...
- 图神经网络(十五)DROPEDGE: TOWARDS DEEP GRAPH CONVOLU-TIONAL NETWORKS ON NODE CLASSIFICATION
本文收录于ICLR2020,作者来自腾讯人工智能实验室和清华大学.当前GCN的发展两个主要问题是过拟合以及过平滑,过拟合削弱了对小数据集的泛化能力,而过平滑则随着网络深度的增加将输出表示从输入特征中分 ...
- 【论文复现】Character-level Convolutional Networks for Text Classification
写在前面 今天讨论的论文依然是文本分类主题的.Character-level Convolutional Networks for Text Classification这篇论文是在2016年4月份发 ...
- 论文阅读笔记:Graph Convolutional Networks for Text Classification
Abstract 文本分类作为一个经典的自然语言处理任务,已经有很多利用卷积神经网络进行文本分类的研究,但是利用图卷积神经网络进行研究的仍然较少. 本文基于单词共现和文档单词间的关系构建一个text ...
- Character-level Convolutional Networks for Text Classification
论文总体结构 本文历史意义: 1.构建多个文本分类数据集,推动文本分类发展 2.提出CharTextCNN方法,由于只使用字符信息,所以可以用于多种语言中 一.Abstract(通过实验探究了字符级别 ...
- Very Deep Convolutional Networks for Text Classification之每日一篇
源码:https://github.com/lethienhoa/Very-Deep-Convolutional-Networks-for-Natural-Language-Processing 一: ...
- 【文献学习】 2021 Deep-Waveform: A Learned OFDM Receiver Based on Deep Complex Convolutional Networks
2018版 https://arxiv.org/abs/1810.07181 2018译文 参考文章 参考文章 深波:一种基于深复卷积网络的学习OFDM接收机: V 结果评估 OFDM系统和衰落信道配 ...
- 【论文笔记】Simple and Deep Graph Convolutional Networks
该论文由中国人民大学.复旦大学.阿里巴巴合作完成,第一作者为中国人民大学研究生陈明,通讯作者为中国人民大学教授魏哲巍. 1. 摘要 Graph Convolutional Network via In ...
- Character-level Convolutional Networks for Text Classification之每日一篇
这篇文章发表于2016.04,作者还发表了一篇Text Unders tanding from Scratch的论文,有兴趣的可以去看看. 字符级的卷积网络是一个有效的方法. 模型如何很好地进行比较, ...
最新文章
- html5代码大全文库,HTML颜色代码表
- 网站优化——网站索引量骤降从网站优化找原因
- Kinect学习(一):开发环境搭建
- Kafka单机、集群模式安装详解(二)
- play 连接mysql_Play framework 2.x 连接mysql | 学步园
- json 在后天怎么接_前台向后台传一个json数据,后台怎么接?
- Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value:
- Adobe Reader 9.0记住阅读位置
- 1-22 在“终端”里,运行“top”命令
- NTP/PTP时间同步入门
- .Net Core 使用swagger UI
- 电商商品退款流程设计案列
- 物联网linux系统设计,Ostro:面向物联网优化的基于 Linux的开源操作系统
- 圆周率不用计算机怎么算,为何圆周率算了这么多年还没算完?就连超级计算机都“无可奈何”...
- 【烈日炎炎战后端 】MyBatis(0.4万字)
- 苹果电脑和windows电脑怎么选择?开发应该用什么电脑?视频剪辑用什么电脑?电脑推荐
- 华赛防火墙ipsec-***配置
- 2019年终职场盘点:如何用5级管理法,经营好自己最重要的资产?
- 如何将vectror<char>转换成string(C++)
- quicklook打开word文字显示不正常
热门文章
- matlab2c使用c++实现matlab函数系列教程-logspace函数
- jquery中的class函数addClass,removeClass,toggle,hasClass
- zedboard板子上呼吸灯的实现(第一版)
- IDEA的Maxcomputer Studio开发
- bzoj 3209 花神的数论题 —— 数位DP
- JDK1.8与spring3.x的不兼容
- java第一次作业0
- PHP Mysql:时间函数
- 正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码...
- [转载] Python中的memoryview