【深度学习】卷积神经网络

卷积运算

卷积运算是卷积神经网络的基本组成部分

以图像识别为例:神经网络的前几层检测边缘,在后面一些层可能检测到物体的部分,更靠后层可能检测到完整的物体

例如:下面这张图片

在这里插入图片描述
让计算机知道图中有什么物体,我们一般可能会检测图像中的垂直边缘,也就是图像中垂直的一些物体,比如栏杆,人的轮廓;
在这里插入图片描述

我们可能也会检测水平边缘比如栏杆水平方向的轮廓

在这里插入图片描述

如何在图像中检测这些边缘?

例:这是一个6x6的灰度图像,所以他是6x6x1的矩阵,而不是6x6x3;因为灰度图像并没有RGB三通道

在这里插入图片描述

为了检测图像中的垂直边缘,在卷积神经网络共用习惯中我们可以构造一个3x3的矩阵(在卷积神经网络的术语中,它被称为过滤器filter);而我们构造的3x3矩阵如下:

在这里插入图片描述

两者进行卷积运算

在这里插入图片描述

而卷积运算又是如何运算的呢?

将filter投影到图像矩阵中得到如下:

在这里插入图片描述

然后进行元素乘法运算并求和

则第一个值为:-5

在这里插入图片描述

将值写入第一个位置

在这里插入图片描述

而第二个元素又如何确定呢?

在这里插入图片描述

我们只需将filter右移一个位置得到一个新的投影并进行对应元素的相乘并求和
在这里插入图片描述

将值写入第二个位置

在这里插入图片描述

接下来一样继续右移继续计算元素相乘并求和

为了得到第二行的元素,则需要将filter向下移然后进行计算

在这里插入图片描述

因此 6x6矩阵和3x3矩阵进行卷积运算得到4x4矩阵

在这里插入图片描述

6x6的矩阵我们可以很容易可以理解为一张图像,3x3的矩阵filter被理解为过滤器,而两者经过卷积运算得到的4x4矩阵则可以理解为另一张图像

在编程语言中进行卷积运算有不同的函数:

python:conv_forwardt

tensorflow: tf.nn.conv2d

keras : Conv2D

为什么卷积运算可以进行边缘检测?

例:根据图像矩阵我们可以看出左边较亮右边较暗,且亮暗边缘很容易看到,我们对图像进行卷积运算

在这里插入图片描述

根据图像的亮暗可看作如下:

在这里插入图片描述
可以发现在经过卷积运算得到的矩阵中有段亮一点的区域对应检查到6x6图像的中间的垂直边缘

因为图像较小所以检测出边缘较宽,当图像维度大的时候你会发现会很好的检测出图像中的垂直边缘
卷积神经网络续接

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Data艺术家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值