什么是 CNN? 卷积神经网络? 怎么用 CNN 进行分类?(2)

参考视频:https://www.youtube.com/watch?v=E5Z7FQp7AQQ\&list=PLuhqtP7jdD8CD6rOWy20INGM44kULvrHu

视频4:CNN 中 stride 的概念

如上图,stride 其实就是 "步伐" 的概念。

默认情况下,滑动窗口一次移动一步。而当 stride = 2 时,则一次移动两步,垂直移动和水平移动都是。

当我们提高 stride 的值的时候,卷积操作产生的特征图的 size 会成倍减少,如下图:

(stride = 2)

具体请看 1:47

当使用 padding 的时候,卷积产生的 特征图的 大小通过下面公式计算

视频5:max pooling in CNN

max pooling 在做的事情如下图

如上图,滑动窗口提取出窗口中的最大值,放进新图里

一般而言,stride 的值和滑动窗口的边长是相等的

如上图,这有两个好处:

1.减少图像大小,减少 computational cost

2.锐化图的特征,加强图的特征 (因为它保留了最大值)

关于锐化特征,更明显的例子如下图

使用 max pooling layer 时,输入有多少张图,输出就有多少张图,如下图

实际上,我们并不总是使用 max pooling layer。因为 max pooling layer 会减少图的 size。

使用 Max pooling layer 的地方通常只在 卷积层 后面

需要注意的是,max pooling layer 里并不涉及参数,所以它这块地方并不需要训练

除了 max pooling layer 外,还有 average pooling 等等,看需求

下图是一个总结

视频6:CNN 里的 fully connected layer 全连接层

全连接层其实就是 simple neural network,被用来做分类

下图是个更好的解释

如上图,卷积层提取原图的特征,(随后有可能经过 max pooling layer 来减少图的大小,以及锐化特征)。接着产出的图被展开,作为后面的全连接层的输入。随后就是一个用于分类的神经网络。

需要注意的是,全连接层的输出层的神经元数量,和我们要分的类别的数量是相等的。

此外,全连接层中的 "边" (权重矩阵) 是需要被训练的。

如下图,是总结

相关推荐
千天夜3 天前
YOLO系列正传(三)神经网络的反向传播(back propagation)与公式推导
人工智能·python·深度学习·神经网络·学习·yolo·卷积神经网络
橙子小哥的代码世界4 天前
【计算机视觉CV-图像分类】06 - VGGNet的鲜花分类实现:从数据预处理到模型优化的完整实战!
人工智能·深度学习·神经网络·计算机视觉·分类·数据挖掘·卷积神经网络
机器学习之心13 天前
图像识别 | Matlab基于卷积神经网络(CNN)的宝可梦识别源程序,GUI界面。附详细的运行说明。
matlab·cnn·卷积神经网络
超甜的布丁mm15 天前
【深度学习】手机SIM卡托缺陷检测【附链接】
图像处理·深度学习·算法·智能手机·视觉检测·卷积神经网络
♢.*15 天前
3D 目标检测:从萌芽到前沿的技术演进之路
深度学习·目标检测·卷积神经网络·transformer
goomind18 天前
深度学习池化Pooling原理介绍
人工智能·深度学习·计算机视觉·cnn·卷积神经网络·池化·pooling
B站计算机毕业设计超人1 个月前
计算机毕业设计Python+卷积神经网络CNN交通标志识别 机器学习 深度学习 爬虫 数据可视化 人工智能 模型训练
图像处理·python·深度学习·机器学习·cnn·tensorflow·卷积神经网络
艾思科蓝1 个月前
知识点归纳 | 信号处理入门
linux·卷积神经网络·实时音视频·信息与通信·信号处理·dsp开发·傅里叶分析
GOTXX1 个月前
基于深度学习的手势识别算法
人工智能·深度学习·算法·机器学习·数据挖掘·卷积神经网络
超甜的布丁mm1 个月前
【图像检测】深度学习与传统算法的区别(识别逻辑、学习能力、泛化能力)
图像处理·人工智能·python·深度学习·算法·视觉检测·卷积神经网络