深度学习笔记(46) 深度卷积网络学习

  • 1. 学习内容
  • 2. 第一层
  • 3. 第二层
  • 4. 第三层
  • 5. 第四层
  • 6. 第五层

1. 学习内容

深度卷积网络到底在学什么?

来看一个例子,假如训练了一个卷积神经网络,是一个Alexnet,轻量级网络
希望将看到不同层之间隐藏单元的计算结果


可以这样做,从第一层的隐藏单元开始,假设遍历了训练集
然后找到那些 使得单元激活最大化的一些图片或者图片块
换句话说,将训练集经过神经网络
然后弄明白哪一张图片最大限度地激活特定的单元

这里使用的所有例子来自于Matthew Zener和Rob Fergus的这篇论文
题目是(Zeiler M D, Fergus R. Visualizing and Understanding Convolutional Networks[J]. 2013, 8689:818-833.)《可视化理解卷积神经网络》
这里会使用一种更简单的方法来可视化神经网络隐藏单元的计算内容
如果读过他们的论文,会发现他们提出了一些更复杂的方式来可视化卷积神经网络的计算


2. 第一层

注意在第一层的隐藏单元,只能看到小部分卷积神经
如果要画出来哪些激活了激活单元,只有一小块图片块是有意义的
因为这就是特定单元所能看到的全部

选择一个隐藏单元,发现有9个图片最大化了单元激活,可能找到这样的9个图片块(编号1)
似乎是图片浅层区域显示了隐藏单元所看到的,找到了像这样的边缘或者线(编号2)
这就是那9个 最大化地激活了隐藏单元激活项的图片块

然后可以选一个另一个第一层的隐藏单元,重复刚才的步骤
这是另一个隐藏单元,似乎第二个由这9个图片块(编号1)组成
看来这个隐藏单元在输入区域,寻找这样的线条(编号2),也称之为接受域

其他隐藏单元也进行处理,会发现其他隐藏单元趋向于激活类似于这样的图片
这个似乎对垂直明亮边缘左边有绿色的图片块(编号1)感兴趣
这一个隐藏单元倾向于橘色,这是一个有趣的图片块(编号2)
红色和绿色混合成褐色或者棕橙色,但是神经元仍可以激活它

以此类推,这是9个不同的代表性神经元,每一个不同的图片块都最大化地激活了
可以这样理解,第一层的隐藏单元通常会找一些简单的特征,比如说边缘或者颜色阴影


3. 第二层

在深层部分,一个隐藏单元会看到一张图片更大的部分
在极端的情况下,可以假设每一个像素都会影响到神经网络更深层的输出
靠后的隐藏单元可以看到更大的图片块
画出和这页中的大小相同的图片块:

但如果重复这一过程
这(Layer 1所示图片)是之前第一层得到的
这(Layer 2所示图片)是可视化的第2层中最大程度激活的9个隐藏单元

解释一下这个可视化
这是(编号1所示)使一个隐藏单元最大激活的9个图片块
这是另一组(编号2),使得一个隐藏单元被激活的9个图片块

这个可视化(Layer 2所示图片)展示了第二层的9个隐藏单元
每一个又有9个图片块使得隐藏单元有较大的输出或是较大的激活


在更深的层上,可以重复这个过程

这里很难看清楚,这些微小的浅层图片块,放大一些,这是第一层
这是第一个被高度激活的单元
能在输入图片的区域看到,大概是这个角度的边缘(编号1)放大第二层的可视化图像


第二层似乎检测到更复杂的形状和模式,比如说:
这个隐藏单元(编号1),它会找到有很多垂线的垂直图案
这个隐藏单元(编号2)似乎在左侧有圆形图案时会被高度激活
这个隐藏单元(编号3)是很细的垂线
以此类推,第二层检测的特征变得更加复杂


4. 第三层


看看第三层将其放大,放得更大一点,看得更清楚一点,这些东西激活了第三层
这个隐藏单元(编号1)似乎对图像左下角的圆形很敏感,所以检测到很多车
这个隐藏单元(编号2)似乎开始检测到人类
这个隐藏单元(编号3)似乎检测特定的图案,蜂窝形状或者方形,类似这样规律的图案
有些很难看出来,需要手动弄明白检测到什么,但是第三层明显,检测到更复杂的模式


5. 第四层


这是第四层,检测到的模式和特征更加复杂
这个隐藏单元(编号1)学习成了一个狗的检测器
但是这些狗看起来都很类似,并不知道这些狗的种类,但是知道这些都是狗,他们看起来也类似
这个隐藏单元(编号2)隐藏单元它好像检测水及其水上的动物
这个隐藏单元(编号3)似乎检测到鸟的脚等等


6. 第五层


第五层检测到更加复杂的事物
这个隐藏单元(编号1)也有一个神经元,似乎是一个狗检测器,但是可以检测到的狗似乎更加多样性
这个隐藏单元(编号2)可以检测到键盘,或者是键盘质地的物体,可能是有很多点的物体
这个隐藏单元(编号3)可能检测到文本,但是很难确定
这个这个隐藏单元(编号4)检测到花

现在已经有了一些进展,从检测简单的事物,比如说:
第一层的边缘,第二层的质地,到深层的复杂物体


参考:

《神经网络和深度学习》视频课程


相关推荐:

深度学习笔记(45) 人脸验证与二分类
深度学习笔记(44) Triplet 损失
深度学习笔记(43) Siamese网络
深度学习笔记(42) 人脸识别
深度学习笔记(41) 候选区域


谢谢!

深度学习笔记(46) 深度卷积网络学习相关推荐

  1. 目标检测学习笔记2——ResNet残差网络学习、ResNet论文解读

    ResNet残差网络学习.ResNet论文解读 一.前言 为什么会提出ResNet? 什么是网络退化现象? 那网络退化现象是什么造成的呢? ResNet要如何解决退化问题? 二.残差模块 三.残差模块 ...

  2. 2020-4-22 深度学习笔记20 - 深度生成模型 5 (有向生成网络--sigmoid信念网络/可微生成器网络/变分自编码器VAE/生产对抗网络GAN/生成矩匹配网络)

    第二十章 深度生成模型 Deep Generative Models 中文 英文 2020-4-17 深度学习笔记20 - 深度生成模型 1 (玻尔兹曼机,受限玻尔兹曼机RBM) 2020-4-18 ...

  3. 深度学习笔记其五:卷积神经网络和PYTORCH

    深度学习笔记其五:卷积神经网络和PYTORCH 1. 从全连接层到卷积 1.1 不变性 1.2 多层感知机的限制 1.2.1 平移不变性 1.2.2 局部性 1.3 卷积 1.4 "沃尔多在 ...

  4. 学习笔记:深度学习(3)——卷积神经网络(CNN)理论篇

    学习时间:2022.04.10~2022.04.12 文章目录 3. 卷积神经网络CNN 3.1 卷积神经网络的概念 3.1.1 什么是CNN? 3.1.2 为什么要用CNN? 3.1.3 人类的视觉 ...

  5. 万字长文带你看尽深度学习中的各种卷积网络

    来源:AI科技评论 摘要:深度学习中的各种卷积网络大家知多少? 深度学习中的各种卷积网络大家知多少?对于那些听说过却又对它们没有特别清晰的认识的小伙伴们,这篇文章非常值得一读.Kunlun Bai 是 ...

  6. 深度学习入门之PyTorch学习笔记:深度学习介绍

    深度学习入门之PyTorch学习笔记:深度学习介绍 绪论 1 深度学习介绍 1.1 人工智能 1.2 数据挖掘.机器学习.深度学习 1.2.1 数据挖掘 1.2.2 机器学习 1.2.3 深度学习 第 ...

  7. 深度学习笔记(18) 迁移学习

    深度学习笔记(18) 迁移学习 1. 迁移学习理念 2. 图像识别的迁移学习 3. 语音识别的迁移学习 4. 使用迁移学习的场合 1. 迁移学习理念 深度学习中最强大的理念之一就是: 神经网络可以从一 ...

  8. 2020-4-20 深度学习笔记20 - 深度生成模型 3 (实值数据上的玻尔兹曼机)

    第二十章 深度生成模型 Deep Generative Models 中文 英文 2020-4-17 深度学习笔记20 - 深度生成模型 1 (玻尔兹曼机,受限玻尔兹曼机RBM) 2020-4-18 ...

  9. 【长篇博文】Docker学习笔记与深度学习环境的搭建和部署(二)

    长篇博文记录学习流程不容易,请关注.转发.点赞.评论,谢谢! 上一篇文章:Docker学习笔记与深度学习环境的搭建和部署(一) 文章末尾附加nvidia455.23.cuda11.1.cudnn8.0 ...

最新文章

  1. 自己动手实现20G中文预训练语言模型示例
  2. JAVA遇见HTML——JSP篇(JSP内置对象上)
  3. 如何正确访问 redis 中的海量数据?避免事故产生
  4. 下拉多选择框 实现方式_物体检测之旅(三)|设计选择,经验教训和物体检测的趋势...
  5. c语言中把各位上为奇数的数取出,下列给定程序中函数fun()的功能是:将长整型数中每一位上为奇数的数依次取出,构成一个新数放在冲。 - 赏学吧...
  6. BJRangeSliderWithProgress
  7. MySQL 查询速度慢与性能差的原因与解决方法
  8. ORACLE数据库表空间查询
  9. 求证:为什么当x趋近于0时,(sinx)/x的极限等于1
  10. 基于 Django 的图书馆借阅系统
  11. Qt软件的发展历史及优势特点
  12. 形容等待时间长的句子_形容“等待时间长”的成语有哪些?
  13. java web批量下载
  14. vmware虚拟机和云服务器区别,容器云与虚拟机云区别
  15. 一文彻底学会CSS-3
  16. 要实现一台电脑可以上公司内网也可以访问外网
  17. java mail 回复邮件_JavaMail - 退回邮件( Bounced Messages)
  18. TensorFlow2.0教程-使用keras训练模型
  19. 5.elasticsearch接入
  20. 20180516统计系统利率债的历史成交

热门文章

  1. 网络通信中关于请求数据、断点续传和写入本地文件
  2. Moses manual 中Basline System 2.3.4节用IRSTLM创建语言模型的命令有误
  3. ASP.NET MVC +EasyUI 权限设计(三)基础模块
  4. 用 Python 实现的线程池
  5. SQL Server脏读方式数据提取---NOLOCK和READPAST
  6. 架构设计系列(一)——架构设计概述
  7. pytorch学习笔记(4):tensorboard可视化
  8. win7 64 php mysql_win7 64 搭建 64 位 apache httpd php mysql
  9. java colormodel_ColorModel
  10. 深入学习js之——原型和原型链