DL —— 卷积神经网络(convolutional neural networks,CNN)

卷积神经网络是深度学习最核心的部分;
最早用于美国银行系统识别手写支票;

卷积神经网络

一、训练数据

因为卷积神经网络是为了解决图像领域的应用而提出的网络结构,所以训练数据一般为视频图像数据(张量数据,tensor);可以根据图像的性质对CNN的结构进行设计,使得CNN相比一般的神经网络结构更加高效、性能更好。
在这里插入图片描述
其中:
X(i)是第i张图像;
H * W * D是每个图像的尺寸;
D表示整个训练集,也表示图像的深度;

二、网络层次

在这里插入图片描述
上图中左侧(普通神经网络)中每一层的神经元按一个维度排成向量;
而右侧(CNN)的输入变成了张量,即每层神经元按三个维度(高H、宽W、深D)排成张量,最后一层的神经元输出维度是1 * 1 * K(K表示最终分类的类别数);

普通神经网络每层都是一个全连接层(仿射运算 + 非线性变换);
而CNN每层都有4中选择:卷积层(convolutional layer,conv)、池化层(pooling layer,pool)、线性整流层、全连接层(fc);

卷积层(convolutional layer,conv):通过卷积核做卷积变换(线性变换)提取特征的响应,将卷积核代表某种特征,得到的结果叫特征响应图,相似度越高得到的响应越大;

卷积层的简化——稀疏连接:在图像识别中,关键性特征(边缘、角点等)只占了图像的一小部分,图像中相距很远的两个像素间相互有影响的可能很小,全连接就是一种资源的浪费,所以产生了稀疏连接,每个神经元只需要和一小部分输入神经元相连,大大降低了数据量、计算量。

局部连接的空间范围称为感受野,而沿深度轴的连接数总是等于输入的深度D(即沿高、宽轴是局部连接的,沿深度轴是全连接的)。
稀疏性是CNN相比一般神经网络的一个巨大优点,极大降低了模型的计算量。

实际操作中,卷积核一边做卷积运算,一边沿着高和宽滑动(如下图):
在这里插入图片描述
在这里插入图片描述
卷积层的简化——共享参数:如果一组权重(即卷积核)在图像中某个区域提取有效表示,也能在另外区域提取有效表示。
即卷积核与所滑动到的图像任一区域对应相乘求和(卷积操作),卷积核是不变的,相当于卷积核所在区域与同一套权重相乘。大幅减少了参数数量。

一般用4个量来描述卷积层:
1、滤波器filter(即卷积核)的数目D1;
2、滤波器感受野F1 * F2:即滤波器的尺寸;
3、步幅(stride)S:在一个激活映射中,在空间上每跳过S个位置计算一个输出神经元,即上图中的步长;
4、0填充(zero-padding)P:在进行卷积前,四周填充一些0,填充的宽度为P,这可以控制输出特征映射的大小(如下图):蓝色区域为原图像大小,虚线部分为填充(此处P=1),绿色为输出特征映射。
在这里插入图片描述

池化层(pooling layer,pool):相当于大脑视觉皮层中的复杂细胞,模拟感受野;

池化层根据神经元空间上局部统计信息进行采样,在保留有用信息同时减少神经元空间大小,使参数量减少并降低了过拟合可能;

pool操作在各深度分量上独立进行;

最常用的是最大池化(max-pooling)、滤波器大小为2 * 2,步幅为2,这可以舍弃75%的信息,如下图:
在这里插入图片描述

线性整流层:激活函数层,常用relu;

与一般神经网络中的激活函数操作相同,如使用relu时,逐元素进行relu操作,不会改变维度;

通过激活函数实现了非线性变换;

使用relu激活函数也是使网络快速收敛的一个手段,大于0时梯度为1,避免了梯度弥散与梯度消失。

激活函数总结【点击此处】

全连接层(fc):层与层之间每个神经元都有连接。与一般神经网络操作相同。

三、损失函数

损失函数度量的是模型预测值与真实值之间的误差(这里叫损失函数或代价函数,在优化时会使其最小化,这个需要最小化的函数叫目标函数);

通过损失函数的优化来实现整个系统的优化,损失函数的设计不仅定义了问题,还直接决定了优化算法收敛的性能;

(损失函数总结笔记后续整理)

四、优化

使损失函数(目标函数)最小化。

与一般神经网络同样使用梯度下降法(前向传播、反向传播),不同点在于池化层与卷积层的反向传播操作。

卷积层的反向传播:利用链式求导法则,用损失函数分别对W、b、X求偏导,计算如下图(重在理解):
在这里插入图片描述
在这里插入图片描述

池化层的反向传播:池化层没有参数,不需要进行参数更新,因此池化层在反向传播时需要完成的工作是将第L层的导数传播到第L-1层,以最大池化为例:
在这里插入图片描述
在这里插入图片描述
上图不太清楚,内容描述的是 假设知道了损失函数对z的导数,要计算对x、y的导数,依然使用链式法则即可。

五、预测

对于一个未知输入数据x,分类模型的预测是:
在这里插入图片描述
即:找到分类器输出分数最大的那项对应的类,作为x的标记。
如:共有三个类别A、B、C,对应分数为(0.1, 0.6, 0.3),其中0.6最大,那么就预测x属于B类。

六、评估

简单来说就是,用 预测正确的样本数占样本总数的比例 来评估模型。

具体如下:
在这里插入图片描述
其中:
m为测试集样本总数;
I{*}为指示函数,预测值与真实值相等时,指示函数为1,否则为0。

从上式可知,测试集全部分类正确时,Acc = 1,否则Acc < 1。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
卷积神经网络Convolutional Neural NetworksCNN)是一种强大的深度学习算法,主要用于图像识别和处理。CNN的结构图主要包括卷积层、激活函数、池化层和全连接层。 卷积层是CNN的核心组成部分,由多个卷积核组成。每个卷积核在图像上进行滑动操作,通过计算卷积操作得到新的特征图。卷积操作可以提取出图像的局部特征,并保留了空间结构信息。 在卷积层之后,激活函数(如ReLU)被应用于特征图中的每个元素,以引入非线性。激活函数可以增加网络的表达能力,并促使网络学习更复杂的特征。 池化层用于减少特征图的维度,它通过将特定区域内的特征值进行聚合,并选择最显著的特征进行保留。常用的池化操作包括最大池化和平均池化。池化层可以减少特征图的大小,从而降低参数数量,减小计算量。 最后,全连接层将池化层输出的特征图转换为向量形式,并连接到输出层。全连接层的作用是对特征进行分类或回归预测。它们通常由全连接神经元组成,每个神经元与上一层的所有神经元相连。 在CNN的结构图中,卷积层和池化层可以多次堆叠,以增加网络的深度。这种多层次的结构可以使网络学习到更高级别的抽象特征。此外,CNN还可以通过添加批量归一化、dropout等技术来提高网络的性能和泛化能力。 总之,CNN的结构图展示了卷积神经网络的层次组织和数据流动方式,有助于理解其工作原理和网络结构的设计。通过逐层堆叠不同的层,CNN可以有效地提取图像中的特征,并在分类、目标检测等任务中取得优秀的性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值