卷积神经网络(CNN)

本文详细阐述了卷积神经网络(CNN)的层级结构,包括数据输入层、卷积层、ReLU激活、池化层和全连接层。重点讲解了卷积操作原理,滤波器的作用,以及图像卷积中深度、步长和填充的概念。通过实例演示了池化层如何提取图像特征。
摘要由CSDN通过智能技术生成

一、卷积神经网络的层级结构

如下图所示:

 上图中CNN要做的事情是:给定一张图片,不知道是什么东西,也不知道是什么种类的东西,现在需要模型判断这张图片里具体是一个什么东西,即输出一个结果

比如上图就应输出,是车,品牌是特斯拉,或者一些其他你想要获取的特征信息

最左边是

数据输入层:对数据做一些处理,比如,去均值(把输入数据各个维度都中心化为0,避免数据过多偏差,影响训练效果)、归一化(把所有的数据都归一到同样的范围)、PCA/白化等等

( CNN只对训练集做“去均值” )

中间是

Conv:卷积计算层,线性乘积求和
ReLU:激励层或激活层
Pool:池化层,即取区域平均或最大

最右边是

FC:全连接层

其中,卷积计算层是CNN的核心

二、卷积操作

 对图像(不同的数据窗口数据)和滤波矩阵(一组固定的权重:因为每个神经元的多个权重固定,所以又可以看做一个恒定的滤波器Filter)做内积(逐个元素相乘再求和)的操作,即卷积操作

举一个例子,如下图中,图中左边部分是原始输入数据,图中中间部分是滤波器filter,图中右边是输出的新的二维数据

 可以发现, -8 是由中间滤波器Filter的矩阵与对应数据窗口的矩阵做内积得到的

 三、图像卷积 

    对图像进行卷积时,输入是一定区域大小(w*h)的数据,和滤波器Filter(带着一组固定权重的神经元)做内积后得到的新二维数据

    具体来说,左边输入图像,中间部分就是滤波器Filter(带着一组固定权重的神经元),不同的滤波器Filter会得到不同的输出数据,比如颜色深浅、轮廓等

即提取图像的不同特征,则用不同的滤波器Filter,来提取想要的特征信息

    如下图所示

在CNN中,滤波器Filter(带着一组固定权重的神经元)对局部输入数据进行卷积计算。每计算完一个数据窗口内的局部数据后,数据窗口不断平移滑动,直到计算完所有数据。

在这个过程中,通常有这么几个参数: 

        深度depth:神经元个数,决定输出的depth厚度。同时代表滤波器个数

        步长stride:决定滑动多少步可以到边缘

        填充值zero-padding:在外围边缘补充若干圈0,方便从初始位置以步长为单位可以刚好滑倒末尾位置,通俗地讲就是为了总长能被步长整除

这里写图片描述

 下图是CNN进行上述过程的GIF动图:

观察上图,可以发现:

该网络有两个神经元,即depth=2,也意味着有两个滤波器

数据窗口每次移动两个步长取3*3的局部数据,即stride=2

填充值zero-padding=1

然后分别以两个滤波器Filter为轴滑动数组进行卷积计算,得到两组不同的结果

左边输入(7*7*3中,7*7代表图像的像素/长宽,3代表R、G、B 三个颜色通道)

当左边数据在变化时,每次滤波器都是针对局部的数据窗口进行卷积,这就是CNN中的局部感知机制

与此同时,数据窗口滑动,导致输入变化,但中间滤波器Filter的权重(即每个神经元连接数据窗口的权重)是固定不变的,即CNN中的参数(权重)共享机制

四、Pool池化层(即取区域平均或最大)

上图所展示的是取区域最大

左上角2x2的矩阵中取 6 最大,右上角2x2的矩阵中取 8 最大,左下角2x2的矩阵中取 3 最大,右下角2x2的矩阵中取 4 最大,所以得到右边部分的结果:6 8 3 4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

PL_涵

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

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

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

打赏作者

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

抵扣说明:

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

余额充值