欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/ ,学习更多的机器学习、深度学习的知识!

荔枝boy

  1. 卷积神经网络的发展
  2. 卷积神经网络的重要性
  3. 卷积神经网络与图像识别
  4. 滤波器

一.卷积神经网络的发展

卷积神经网络受到视觉细胞研究的启发,1962年,Hubel和Wiesel发现初级视觉皮层中的神经元会响应视觉环境中特定的简单特征(比如有向的边等)。同时,他们注意到了两种不同类型的细胞,简单细胞和复杂细胞,简单细胞只对非常特定的空间位置,对它们非常偏好的方向有强烈的反应,复杂细胞有更大的空间不变性,复杂细胞通过几个简单细胞(每个简单细胞存在不同方向的偏好)的输入上进行池化而实现这种不变性。这两个特征即对特定特征的选择和通过前馈连接增大空间不变性构成了卷积神经网络的人工视觉基础。

计算机视觉领域中有一个比赛叫做ImageNet挑战赛,相当于计算机视觉的年度诺贝尔。2012年,Alex Krizhevsky凭借卷积神经网络获得那一年的冠军,他把图片分类误差从原来的26%降低到15%,这在计算机视觉领域引起了不小的轰动。并让卷积神经网络在如今计算机视觉领域中占据着很重要的一部分。

二.卷积神经网络的重要性

1.局部连接

在第三章中,我们介绍前馈神经网络的时候,相邻的两层之间,前一层的每一个神经元(或输入层的每一个单元)与后一层的每一个神经元都有连接,这种情况称为全连接。全连接网络的一个缺点就是参数太多,假设我们输入到神经网络中的是一张三通道的彩色图像,图像大小为128128,因此输入层有128128*3=49150个单元。使用全连接网络的话,第一个隐藏层的每一个神经元到输入层都有49150个连接,随着网络层数的增加和每层中神经元数量的增加,网络中的参数也会急剧增加。大量的参数不仅会拉低神经网络训练的效率,也很容易导致过拟合。

在卷积神经网络中,层与层之间不再是全连接,而是局部连接,具体的实现方法,就是我们在下一节中会介绍的卷积操作。

卷积神经网络属于局部连接网络,是基于深刻研究自然图像而提出来的。自然图像存在局部区域稳定的属性,其某一局部区域的统计特征相对于图像其他相邻局部区域具有相似性。因此,神经网络从自然图像中学习到的某一局部区域特征同样适合于图像的其他相邻局部区域。

2.权值共享

卷积神经网络中的卷积层中会有很多的滤波器,这些滤波器会去识别图像的特定的某些特征,每个滤波器会去滑动卷积上一层的特征图,在卷积的过程中滤波器的参数是不变且共享的。这样在训练过程中,与之前的全连接神经网络训练大尺度输入样本时需要大量参数相比,卷积神经网络只需要很少的参数就可以完成训练。(CNN图像的平移不变性)

3.子采样

子采样层(subsampling layer)也叫作汇聚层(pooling layer), 对上一卷积层层进行聚合,使得上一层卷积层的输入特征图尺寸在经过该子采样层的聚合也就是我们说的池化后减小了。子采样层所做的事其实就是对上一层卷积层进行扫描,每次扫描特定区域,然后一般计算该区域特征的最大值或者平均值,放入子采样层的窗口中。

三.卷积神经网络与图像识别

计算机视觉领域中很多的问题是处理图像识别即图像分类。图像分类是对于输入的图像进行操作后,最终输出一组描述图像分类的概率。当计算机看到一张图片时,在它的理解中,这张图片是一个大小MN3的像素矩阵(3指的是RGB的值),其中像素矩阵中每个像素的值在0到255之间。对于计算机来说,在给定计算机这个像素矩阵作为输入后,计算机要输出能够描述出该图像属于各种类别的概率(eg:[狗:80%,猫10%,兔子10%])

当人分析了一幅图像时,首先会看这个物体有哪些局部的特征,比如如果图片是一条狗,我们在看这幅图像时,在看到诸如鼻子或四条腿等明显特征后,我们会把它归类为狗。卷积神经网络和人的视觉细胞工作原理类似,卷积神经网络也是一开始通过寻找这副图片的边缘或者曲线等低级特征来分类图片,然后再通过一系列卷积层将这些低级的特征汇聚成更加高级的特征,同时这些高级的特征由多个低级特征卷积构成,则高级特征能覆盖原始图片更多的信息。这样卷积神经网络在处理一些经过平移变换的图像识别时,具有检测平移不变性的能力。更加增强了卷积神经网络在图像识别的能力。

四.滤波器

在讲解CNN之前,我们先讨论下滤波器。

滤波器是一个矩阵,大小为m*n它是用来检测图像中特定的特征的,不同的滤波器有不同的参数。

我们知道图像在计算机中的数字信号其实是MN3大小的矩阵,假设我们只考虑图像的灰度,不考虑RGB,那么图像的大小为MN。某一个滤波器对图像进行滤波时,就是将滤波器分别与图像的同大小区域进行点乘,每次滤波器依次从左往右从上往下滑过该图像所有的区域,让该滤波器对图像的某一个与滤波器尺寸同大小的图像区域(mn)进行点乘,点乘后各个乘积求和得到新的过滤后的图像,这种图像某一部分与滤波器点乘后求和操作就是以后的卷积神经网络中的卷积操作,这样就得到了经过滤波器过滤后的图像。

不同的滤波器可以检测图像的不同特征,举个例子,假设现在我有一个滤波器用来检测特定弧度,大小为7*7。

现在我有一个老鼠的图像(只考虑灰度,所以只有一层),现在我们用该滤波器对这只老鼠的图像进行过滤,依次将过滤器滑过原始图像的某一个区域,并与该区域原始像素值进行点乘。现在假设我们将滤波器滑到了老鼠图像的左上角,如图二所示:

过滤器会与该原始图像对应区域进行点乘后求和,如图三所示:

我们发现,该区域本身存在一个弧度,且弯曲程度和过滤器的弯曲程度很相似,所以图像的该区域像素与过滤器矩阵点乘求和后得到的数值很高。

我们继续将过滤器移动到另外一个地方,靠近老鼠耳朵的地方,这时候我们发现该老鼠耳朵区域与该滤波器用来检测的弧度很不相似,我们看看将用滤波器过滤该区域会发生什么,如图四所示:

我们发现,检测弧度的滤波器再与老鼠耳朵这个区域的像素进行点乘后求和所得到的值为0。也就是说该区域与滤波器没有对应关系。

我们对整个原图进行一次卷积,得到的结果中,在那个特定曲线和周边区域,值就很高,在其他区域,值相对低。这就是一张激活图。对应的高值区域就是我们所要检测曲线的位置

所以我们发现滤波器过滤图像时,会与图像每个等大的区域进行点乘,如果图像的某一区域与过滤器检测的特征很相似,那么当过滤器经过该区域时,就会激活该过滤器,得到一个很高的值,反之,如果图像的某一区域与过滤器检测的特征很不相似时,就不会激活该过滤器或者得到的数值很低。

由此我们发现,图像的过滤器在对整个图像滑动过滤时,每经过图像一个区域得到的值越高,则该区域与滤波器检测的特定特征相关度越高。这里与视觉细胞的工作原理很类似,简单的细胞对特定方向具有强烈感应,对不是它们偏好的方向没有什么反应。这里的滤波器其实就充当了视觉细胞中简单细胞的角色。

一些检测特定特征的滤波器很容易想到,比如水平滤波器,垂直滤波器等。

但是我们能直观想到滤波器毕竟数量有限,而CNN可以自动学习滤波器,调整滤波器里的参数,用CNN自学习滤波器,让计算机自己去理解这图像所需的滤波器来检测特征,这对图像的特征分析是非常有用高效的。

本篇文章出自http://www.tensorflownews.com,对深度学习感兴趣,热爱Tensorflow的小伙伴,欢迎关注我们的网站!

卷积神经网络理解(一):滤波器的意义相关推荐

  1. CNN笔记:通俗理解卷积神经网络--理解不同输入通道和卷积核通道关系(红色部分)

    1 前言 2012年我在北京组织过8期machine learning读书会,那时"机器学习"非常火,很多人都对其抱有巨大的热情.当我2013年再次来到北京时,有一个词似乎比&qu ...

  2. GCN—图卷积神经网络理解

    文章目录 一.CNN卷积 二.GCN 图卷积神经网络 2.1 GCN优点 2.3 提取拓扑图空间特征的两种方式 三.拉普拉斯矩阵 3.1 拉普拉斯矩阵的谱分解(特征分解) 3.2 傅里叶变换.卷积类比 ...

  3. 卷积神经网络理解及1*1卷积核的作用

    一. 单通道图像的卷积计算过程 下面各图中所有数学符号的说明如下: n:图片的宽度和高度 n_c:表示图片的通道数 f: 过滤器的尺寸大小 m: 过滤器的数量 Q: 卷积运算后的输出图像的尺寸大小 p ...

  4. 卷积神经网络(2D卷积神经网络和3D卷积神经网络理解)

    前言 卷积神经⽹络(convolutional neural network,CNN)是⼀类强⼤的神经⽹络,正是为处理图像 数据而设计的.基于卷积神经⽹络结构的模型在计算机视觉领域中已经占主导地位,当 ...

  5. 卷积神经网络特征图可视化及其意义

    文章目录 特征图可视化方法 1. tensor->numpy->plt.save 2. register_forward_pre_hook函数实现特征图获取 3. 反卷积可视化 特征图可视 ...

  6. 理解卷积神经网络的利器:9篇重要的深度学习论文(上)

    摘要: 为了更好地帮助你理解卷积神经网络,在这里,我总结了计算机视觉和卷积神经网络领域内许多新的重要进步及有关论文. 手把手教你理解卷积神经网络(一) 手把手教你理解卷积神经网络(二) 本文将介绍过去 ...

  7. 深入浅出卷积神经网络及实现!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:陈桦.夏雨柔.樊亮,Datawhale优秀学习者 卷积神经网络CN ...

  8. 干货丨卷积神经网络工作原理的直观解释

    正文之前先插播一条广告: 依依的姐妹们自己创建了一个公众号,她们是一群痛并快乐着的懒妈,每天一起分享孕娃.生娃.养娃过程中的酸甜苦辣咸的文章,公众号刚刚创建,大家帮忙关注一下,捧一捧人场!依依在此谢谢 ...

  9. 【深度学习】深入浅出卷积神经网络及实现!

    作者:陈桦.夏雨柔.樊亮,Datawhale优秀学习者 卷积神经网络CNN是深度学习中的基础知识.本文对CNN的基础原理及常见的CNN网络进行了详细解读,并介绍了Pytorch构建深度网络的流程.最后 ...

最新文章

  1. 在首次发布三周之后,MLflow迎来了0.2版本
  2. react测试组件_测试驱动的开发,功能和React组件
  3. 我有个师兄,毕业后投身了学术自媒体行业
  4. 2018年4月22日笔记
  5. 第12章:Linux服务管理
  6. 零基础学oracle pdf_零基础学动漫插画详细步骤大全
  7. node JS獲取GPS_Node.js 14 正式发布:V8 引擎升级,新增异步本地存储 API
  8. Spring_JDBC连接
  9. CodeForces - 1408F Two Different(构造+分治)
  10. html不继承父级背景色,javascript – 如何获取从父元素继承的计算背景颜色样式...
  11. java join 源码_join on 和where 一起使用的细节
  12. Linux环境下Flume的安装
  13. 软考网络管理员学习笔记5之第五章广域网与接入网技术
  14. 新势力首家 小鹏汽车正式纳入港股通!
  15. python经济统计_给统计人讲python(3)模拟城市_数据分析
  16. macbook数据线连接手机_MacBook可以为iPhone进行快充吗?用MacBook为iPhone充电好不好?...
  17. c语言中如何确保一个程序是单例的_c++单例模式
  18. Python 爬虫咸鱼版
  19. 优酷、爱奇艺视频码率与YouTube视频码率
  20. 网页界面滚动截图(长图)的三种实用方法总结

热门文章

  1. win10笔记本外接显示器后,微信界面字体模糊问题的解决方案
  2. #智能制造#第一章 智能制造,缘何而起?
  3. Vue.js 写一个echarts的水滴图
  4. 日语 假名对应的汉字来源
  5. 360前端星计划学习笔记0410
  6. Timeout waiting for connection from pool
  7. CentOS配置Jenkins+Android+fir+pyger(蒲公英)+qiniu(七牛)
  8. 互联网手机卡资费对比
  9. iOS 2015年3月苹果新的审核标准(中文)
  10. 如何高效进行无人机动力测试-电池效率