二、导论——可解释性机器学习(DataWhale组队学习)

news2024/11/26 8:22:49

目录

  • 引言
  • ZFNet的网络结构
  • 可视化反卷积
    • 反池化
    • 反激活
    • 反卷积
  • 训练细节
    • 特征可视化
    • 特征演化
    • 特征不变性
  • 局部遮挡测试
    • 敏感性分析
    • 相关性分析
    • 消融实验
      • 宽度影响
      • 深度影响
      • 迁移学习能力
      • 有效性分析
  • 总结

引言

纽约大学ZFNet,2013年ImageNet图像分类竞赛冠军模型。对AlexNet进行改进的基础上,提出了一系列可视化卷积神经网络中间层特征的方法,并巧妙设置了对照消融实验,从各个角度分析卷积神经网络各层提取的特征及对变换的敏感性。
论文:Visualizing and Understanding Convolutional Networks(可视化并理解卷基神经网络)

课程主页:ZFNet深度学习图像分类算法(反卷积可视化可解释性分析)

在这篇论文中,它提出了一种非常巧妙的可视化卷积神经网络中间层特征的方法和技巧,使用该技巧,可以打破卷积神经网络黑箱子。

  1. 知道中间每一个神经元到底是在提取什么样的特征
  2. 利用这些可视化的技巧和利用这些特征,可以改进之前的网络

ZFNet的网络结构

在AlexNet的基础上进行了一些修改:

  • 网络结构类似于 AlexNet,有两点不同,一是将 3,4,5 层的变成了全连接,二是卷积核的大小减小。
    图像预处理和训练过程中的参数设置也和 AlexNet很像。
    AlexNet 用了1500万张图像,ZFNet 用了 130 万张图像。
  • AlexNet 在第一层中使用了大小为 11×11 的滤波器,而ZF使用的滤波器大小为 7x7,整体处理速度也有所减慢。做此修改的原因是,对于输入数据说,第一层卷积层有助于保留大量的原始象素信息。11×11 的滤波器漏掉了大量相关信息,特别是因为这是第一层卷积层。
  • 随着网络增大,使用的滤波器数量增多。
  • 利用 ReLU 的激活函数,将交叉熵代价函数作为误差函数,使用批处理随机梯度下降进行训练。
  • 使用一台 GTX 580 GPU 训练了 12 天。
  • 开发可视化技术 “解卷积网络”(Deconvolutional Network),有助于检查不同的特征激活和其对输入空间关系。名字之所以称为“deconvnet”,是因为它将特征映射到像素(与卷积层恰好相反)。
    在这里插入图片描述

可视化反卷积

在这里插入图片描述
我们知道输入图像通过卷积神经网络(CNN)提取特征后,输出的尺寸往往会变小,而又是我们需要将图像恢复到原来的尺寸以便进行进一步的计算,整个扩大图像尺寸,实现图像由小分辨率到大分辨率的映射的操作,叫做上采样(Upsample)。
反卷积是上采样的一种方式,反卷积也叫转置卷积。
反卷积可视化:

  1. 一个卷积层加一个对应的反卷积层;
  2. 输入是 feature map,输出是图像像素;
  3. 过程包括反池化操作、relu 和反卷积过程。

反池化

  • 正向池化,以最大池化为例,是把每一个池化窗口里面最大的这个值挑出来
  • 反池化的时候,就把每一个池化窗口按照对应的位置派遣回去

严格意义上的反池化是无法实现的。作者采用近似的实现,在训练过程中记录每一个池化操作的一个 z × z z×z z×z 的区域内输入的最大值的位置,这样在反池化的时候,就将最大值返回到其应该在的位置,其他位置的值补 0。

在这里插入图片描述

反激活

仍然使用ReLU激活函数

反卷积

使用的是原来正向卷积核的转置(也就是行列互换)

  • 转置卷积没有需要学习的参数,是一个完全无监督的过程。
    在这里插入图片描述

训练细节

特征可视化

在这里插入图片描述
在这里插入图片描述
彩色图是能够使得灰色图在卷积核中激活最大的九张图片

特征演化

在这里插入图片描述
第 1 层、第 2 层、第 3 层、第 4 层和第 5 层的五层的六个卷积核

  • 每一行表示一个卷积核
  • 每一列表示训练过程中不同的轮次:第 1 轮、第 2 轮、第5轮、第10轮、第20轮、第30轮、第40轮和第64轮收敛
    • 那底层的卷积核,很快就收敛了
    • 高层的卷积核,它要多轮之后才能收敛
  • 突变:能够使卷积核最大激活的图片变了
  • 第三组第三个:提取眼睛信息;第四个:提取脸的信息

特征不变性

在这里插入图片描述
平移
深蓝紫 - 除草机:随着除草机进入和移出视野,它的概率先升高后变得很低。
深蓝色 - 吸食犬:随着吸食犬不断露出身体,它的概率也会变高
缩放
娱乐中心对缩放非常敏感
除草机和鹦鹉,在图像中始终出现,所以缩放对它们的影响是不大的。
旋转
每旋转90度,就有一个尖峰,准确率就会出现一个峰值,说明它每旋转90度就出现了一个对称性,网络能捕获同样的特征

在这里插入图片描述

局部遮挡测试

敏感性分析

在这里插入图片描述
通过一系列特别巧妙的对照实验表明了这个神经网络对遮挡的敏感性

相关性分析

在这里插入图片描述

  • 不同狗的图片,遮住相同部位,探究遮挡对不同类别的影响。表格说明了遮挡相同部位对不同狗的影响是接近的。
  • 随机遮挡对第 5 层影响较大,第 7 层影响较小,网络越到深层,他提越提取的是语义特征

消融实验

宽度影响

在这里插入图片描述
测试:2012年的图像分类数据

  • a模型是原始ZFNet模型
  • b模型在a基础上,把3、4、5层卷积核增加到512、1024和512
  • 将6个模型集成在一起,效果不错,超过AlexNet,模型错误率是亚军的一半
    在这里插入图片描述

深度影响

去除某些层

  • 去除这个两个卷积层,影响不是特别大
  • 去掉全连接层,影响也不是特别大
  • 既去掉卷积层又去掉全连接层,影响非常大
    结论:网络的深度非常重要
    在这里插入图片描述

迁移学习能力

对于Caltech-101数据集:

  • 保留这个模型之前的部分,只改动这个最后的softmax分类层。然后在Caltech-101上重新训练我们新加的softmax分类层。效果是非常不错的,是比原有的模型效果要好很多的
  • 只保留网络的结构。不要原来的参数完全随机初始化,然后再开后,他给101数据上重新训练这个网络,我们会发现效果是不太好的
    在这里插入图片描述
    对于Caltech-256数据集:
    类似
    在这里插入图片描述
    在Caltech-256,只需要每一个类别只用六张图片训练。训练好处的模型就能够达到原来最佳的这个数据上模型的精度。
    使用迁移学习,我们可以使用很少量的数据就可以达到非常好的性能。
    在这里插入图片描述
    对于和ImageNet差别比较大的数据集,效果会差些。

有效性分析

在这里插入图片描述
模型越深越有分类有效性。

总结

​ 本次学习了ZFNet,它是在AlexNet之后新的改进,它主要提出了一种反卷积的思想,使用一个多层的反卷积网络来可视化训练过程中特征的演化及发现潜在的问题。

  • 发现学习到的特征远不是无法解释的,而是特征间存在层次性,层数越深,特征不变性越强,类别的判别能力越强;
  • 通过可视化模型中间层,在 alexnet 基础上进一步提升了分类效果;
  • 遮挡实验表明分类时模型和局部块的特征高度相关;
  • 预训练模型可以在其他数据集上fine-tuning得到很好的结果。
  • 模型越深越有分类有效性

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

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

相关文章

Redis框架(十三):大众点评项目 达人探店 博客功能实现

大众点评项目 达人探店 博客功能实现需求:达人探店 博客功能实现业务实现总结SpringCloud章节复习已经过去,新的章节Redis开始了,这个章节中将会回顾Redis实战项目 大众点评 主要依照以下几个原则 基础实战的Demo和Coding上传到我的代码仓库…

送书福利!全自主IDE的《运动控制系统应用与实践》

功能齐全、稳定性强、简单易用的实时工控软件平台是成就工业控制的重要工具。运动控制作为工业控制领域的核心技术之一,在3C电子、锂电新能源、装配、激光加工、点胶、贴附、工业机器人等工业应用场景中发挥着巨大作用。 正运动技术自主自研的ZDevelop是国内少有的…

腾讯工作3个月,做软件测试的一些感悟

普通二本计算机专业毕业,从毕业后,第一份接触测试的工作是在一家通讯小公司,大部分接触的工作是以功能测试为主,一直都是几千块钱工资,还一度被派出差,以及兼职各种产品、运维、运营的活,感觉自…

基于FPGA的spi通信接口VHDL设计

目录 1.算法概述 2.仿真效果 3.MATLAB仿真源码 1.算法概述 SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布

Coretex_M0工程创建

本文档介绍如何创建一份基于成熟库函数的新工程! 类似于如下的工程: 如上的MCU表示的是NXP公司封装好的关于芯片的库函数,BSP表示的是板级支持开发包,是和具体开发板外设的设备有关。 那么如果我们需要我们的工程包含这样的库函数&#xff0c…

小程序在线生成平台怎么使用?

其实目前小程序在线生成平台是比较主流的,很多小伙伴看到一些制作小程序教学,都会有“这个软件怎么下载?”、“怎么做?”之类的问题。其实小程序在线生成平台一般都不需要下载的,它主要是在网页中打开工具进行在线制作…

Jenkins在windows平台下,让Powershell、批处理可以拉起进程并保持

📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:无尽的折腾后,终于又回到了起点,工控,我来了 !前言 没有人喜欢windows平台下的自动化构建,一如多年前没人喜欢linux的桌面一样。 最近在考虑wi…

Back Propagation 反向传播

文章目录3、Back Propagation 反向传播3.1 引出算法3.2 非线性函数3.3 算法步骤3.3.1 例子3.3.2 作业13.3.3 作业23.4 Tensor in PyTorch3.5 PyTorch实现线性模型3.6 作业33、Back Propagation 反向传播 B站视频教程传送门:PyTorch深度学习实践 - 反向传播 3.1 引…

联通数科一面+二面+面谈 经验分享 base济南

联通数科一面二面面谈 10.8 投递简历(大数据开发岗位 base西安 有成都岗? 我怎么没看到) 10.10-12 笔试 11.05 一面 有五六个面试官 问了问题的有两个 介绍了下项目,问了些每个组件的基础知识,都是大数据的基本八股…

深聊性能测试,从入门到放弃之: Windows系统性能监控(三)任务管理器介绍及使用。

任务管理器1、引言2、任务管理器2.1 打开方式2.2 介绍2.2.1 定义2.2.2 进程2.2.3 性能2.2.4 应用历史记录2.2.5 启动2.2.6 用户2.2.7 详细信息2.2.8 服务3、总结1、引言 关于Windows系统性能监控的前两篇 《Windows系统性能监控(一) 性能监视器介绍及使用》《Windows系统性能…

深圳IB学校哪家强?入学标准如何?

我们都知道,孩子就读哪所学校,学校开设什么课程,这会直接影响孩子的留学之路和未来。 所以一般情况下,选择国际学校都是分两步走,先是需要是根据孩子的个性特点去选择能够适应的课程体系,再根据学校开设课程…

【论文阅读】inception v1学习总结

【论文阅读总结】inception v1总结1. 摘要2. 序言3. 文献综述4.动机和高层考虑4.1提高深度神经网络性能的最直接方法4.1.1 增加模型的大小4.1.2 解决增加模型大小导致的缺点思路5.结构详述5.1 Inception架构的主要思想5.2 原生inception块问题5.3 解决通道数增加问题5.4 1*1卷积…

Golang 【basic_leaming】基本数据类型

阅读目录Golang 数据类型介绍整型特殊整型unsafe.Sizeof 查看内存所占用大小int 不同长度直接的转换数字字面量语法(Number literals syntax)(了解)浮点型布尔值字符串字符串转义符多行字符串字符串的常用操作修改字符串byte 和 r…

PYNQ -z2 与 PC主板网口直连

文章目录1.下载映像文件并烧录到板子2. 将usb和网线连接到电脑上3. 使用xshell新建串口通信连接到板子4. 查看板子ip ifconfig命令5. 将pc的网络改成与板子同一个网段6. 通过ip地址访问1.下载映像文件并烧录到板子 可以参考 烧录镜像 2. 将usb和网线连接到电脑上 3. 使用xshe…

jsp+ssm计算机毕业设计毕业论文管理系统【附源码】

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: JSPSSM mybatis Maven等等组成,B/S模式 Mave…

【函数】你上街买菜用的着函数吗?

前言 函数是什么 每个C程序都至少有一个函数,即main主函数 ,如果程序的任务比较简单,全部的代码都写在main函数中,但是在实际开发中,程序的任务往往比较复杂,如果全部的代码都写在main函数中,…

Nginx配置整合:基本概念、命令、反向代理、负载均衡、动静分离、高可用

一、基本概念 1.什么是Nginx Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理server。其特点是占有内存少。并发能力强,其并发能力确实在同类型的网页server中表现较好。 http服务器 Web服务器是指驻留于因特网上某种类型计算机的程…

热门的Java开源项目

1 JCSprout https://github.com/crossoverJie/JCSprout Star 17084 这是一个还处于萌芽阶段的 Java 核心知识库。分为常用集合、Java多线程、JVM、分布式相关、常用框架等内容 2 arthas https://github.com/alibaba/arthas Star 6836 Arthas旨在帮助开发人员解决Java应用程…

高级网络应用复习——三层交换DHCP中继(带命令)

作者简介:一名在校云计算网络运维学生、每天分享网络运维的学习经验、和学习笔记。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.知识点总结 二.DHCP中继实验 实验要求 实验命令 三层交换…

腾讯会议人数上限进不去?

很多用户都在使用腾讯会议来进行线上会议,因此经常会出现人数到达上限进不去的情况,非常令人头疼,那这时候要怎么办呢?下面就来看看解决办法。 腾讯会议人数上限进不去怎么办? 答:只能等待有人退出后再加入…