Chapter7 卷积神经网络CNN

和之前的网络(多层感知机mlp)比较

之前介绍的网络相邻层之间所有神经元都有连接,这叫全连接(fully-cnonected)
CNN相比之前网络多了卷积层(Convolution层)和池化层(pooling层)
在这里插入图片描述

全连接层(Affine层)存在的问题:数据形状被忽视

Affine层读入的数据应是一维的。
例如:图像通常是高、长、通道 的 三维数据,而之前MNIST的(1,1,28)被拉成了一维784输入到最开始的Affine层。

图像是三维形状,“形状”含有重要的空间信息
比如 空间上邻近的像素为相似值、RGB的各个通道间有关联、相距较远的像素间没什么关联等。

而卷积层可以保持形状不变,输入三维数据,输出三维数据,可以正确理解图像等具有形状的数据
卷积层的输入输出数据称为 特征图(feature map)输入特征图(input feature map) 和输出特征图(output feature map)

卷积层

卷积运算——卷积层的操作

在这里插入图片描述

填充(paddling):主要是为了调整输出的大小

填充内容为0
如下图 填充值为2,则输入数据的大小为(8,8) ; 填充值为3,则输入数据的大小为(10,10)

在这里插入图片描述

步幅(stride)

在这里插入图片描述
在这里插入图片描述

三维的情形

输入数据的通道数=滤波器的通道数
每个通道的滤波器大小相同

在这里插入图片描述

一般的:卷积运算的处理流(批处理)

(N,C,H,W)
(N,FN,OH,OW)

在这里插入图片描述

池化层

池化是缩小高、长方向上的空间的运算。有Max池化 Average池化等
池化窗口大小=步幅大小
特征:
没有要学习的参数 每个通道独立进行 对数据的微小偏差具有鲁棒性
在这里插入图片描述

卷积层和池化层的实现

im2col函数:将输入数据和滤波器展开为二维矩阵

在这里插入图片描述
输入数据按【滤波器应用区域】展开成一行一行(三维变一维)
ps:如果应用区域有重叠 重叠部分就重复展开了 所以im2col有消耗更多内存的缺点。

在这里插入图片描述

卷积层的实现

im2col函数 一定将特征图展开成矩阵

在这里插入图片描述
在这里插入图片描述

卷积层

在这里插入图片描述

池化层的实现在这里插入图片描述

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值