深度学习_卷积神经网络知识点小结

为什么要使用卷积神经网络?

因为使用多层感知机进行深度学习的话, MLP使用全连接结构

导致参数数量随输入规模和网络深度呈指数增长。而且MLP参数众多,容易过拟合训练数据

而CNN通过局部连接和权值共享大幅减少参数数量,提高计算效率,降低了过拟合风险

CNN:卷积神经网络进行图像分类

图像卷积:

前置知识:

1.卷积-convolute, 专业术语有点抽象, 可以直接看第三点

通过两个函数f和g生成第三个函数。其本质是一种特殊的积分变换,表征函数f与g经过翻转和平移的重叠部分函数值乘积对重叠长度的积分。如果将参加卷积的一个函数看作区间的指示函数,卷积还可以被看作是"滑动平均"的推广

2.卷积运算对应于图像矩阵:

将图像矩阵和滤波器矩阵进行对应相乘再求和的运算, 转化得到新矩阵

3.提示:

是不是感觉挺抽象,我也是这么认为, 建议去网上看一看卷积运算的视频, 你会发现, 哦, 就是这么回事啊! 当然, 也可以直接点击文章下方的链接, 这是一套完整的机器学习+深度学习教程,

在教程的P43 8-1和8-2这两节有完整详尽的教学视频

作用:

快速定位图像中某些边缘特征,在图像矩阵中重点突出边缘特征

执行:

根据样本图片矩阵, 设置合适的轮廓过滤器,然后将图像矩阵和滤波器矩阵进行卷积运算, 转化得到突出边缘特诊的新矩阵

轮廓过滤器:

竖向轮廓过滤器

横向轮廓过滤器

sobel过滤器

图像池化:

前置知识:

池化: 按照一个固定规则对图像矩阵进行处理, 将其转化为更低维度的矩阵

其核心思想是将输入的特征图(FeatureMap)中的相邻像素进行组合,以减少特征图的尺寸和计算量

作用:

用于降低图像矩阵的维度,减少计算量和防止过拟合, 可以将高维度的图像矩阵转化为低维度的图像矩阵, 使我们可以在保留输入特征图中的主要信息,同时减少网络的参数数量和计算量

操作步骤:

个人感觉类似于卷积运算, 看个计算视频就全都明白, 也可以直接点击文章下方的链接, 这是一套完整的机器学习+深度学习教程,

在教程的P43 8-1和8-2这两节有完整详尽的教学视频

池化方式:

1.平均法池化(Avg-pooling):取池化窗口中像素的平均值作为结果输出到新矩阵

2.最大法池化(Max-pooling):取池化窗口中像素的最大值作为结果输出到新矩阵

卷积操作和池化操作的关系:

1.卷积操作主要用于从输入图像矩阵中提取边缘特征,

2.池化操作主要用于在保留图像中主要信息的前提下,尽量减少矩阵维度, 进而减少计算成本和训练速度

3.池化操作通常在卷积层之后进行,可以看作是对卷积层的输出进行压缩和摘要

卷积神经网络的组成:

卷积层+池化层+mlp=卷积神经网络(CNN)

卷积运算导致的问题:

1.图像被压缩, 造成信息丢失

改善方法:

选用合适的池化方法 ##

2.边缘信息使用频率少, 容易被忽略

改善方法:

对图像进行填充padding,在各边增加像素,使图像矩阵在进行卷积运算后维持原大小

填充像素的数量和形状由过滤器尺寸与stride决定

经典的CNN模型

LeNet-5:

输入图像:32*32,单通道

训练参数:6w

特点:

随着网络越深,图像的高度和宽度在缩小, 通道数在增加

卷积与池化先后成对使用

AlexNet:

输入图像:227*227*3rgb,三通道

训练参数:约6kw

特点:

适用于识别较为复杂的彩色图, 可识别1k个类别

结构比LeNet更复杂,使用Relu作为激活函数

历史意义:

关于AlexNet论文的发表,让学术界开始相信深度学习技术,可以在计算机视觉领域取得不错的效果

VGG-16

输入图像:227*227*3rgb,三通道

训练参数:约1.38ww

特点:

相对于alexnet, vgg-16,更加标准化, 统一化

所有卷积层的filter的宽和高都为3,步长为1,padding都使用same convolution

所有池化层的filter的宽和高都为2,步长为2

相比于AlexNet, 用更多的filter用于提取轮廓特征,具有更高精确性,

经典CNN模型应用于新场景:

1.(推荐)借用经典CNN模型结构对图像进行预处理,再建立MLP模型

1.加载经典CNN模型,对图像进行预处理

2.把预处理完成的数据作为输入, 分类结果作为输出, 建立一个mlp模型

3.训练模型

2.参考经典CNN模型结构搭建新模型

扩展1:

Relu与sigmoid函数的区别

Relu是分段函数, 计算简单

sigmoid是复合函数,计算复杂

对于大量数据的训练,选用relu可以更快收敛, 计算速度快

扩展2:

学习教程推荐

作为新手入门的小白, 体验各种机器学习教学视频,

感觉合适的学习路线:

机器学习--《IT教学》博主的《机器学习+深度学习教程》

深度学习--《IT扛霸子》博主的《AI人工智能从入门到精通》

相关推荐
xywww1683 小时前
大模型 API 选型实战:GPT、Gemini、Claude 接入时该看哪些指标?
运维·服务器·人工智能·python·gpt·langchain
私人珍藏库8 小时前
[Android] PeakFinder AR v4.8.89 (山峰全景识别+增强现实山峰查看器)
android·人工智能·智能手机·ar·工具·软件
月疯8 小时前
CNN卷积和反卷积输出的计算方法
深度学习·神经网络·cnn
夜雪一千8 小时前
Python enumerate() 函数完整详解:遍历同时获取索引,告别手动计数
服务器·windows·python
CS创新实验室8 小时前
算法、齿轮与硅基大脑:数值计算发展简史
人工智能·算法·数值计算
能有时光9 小时前
PyTorch KernelAgent 源码解读 ---(4)--- ExtractorAgent
人工智能·pytorch·python
直接冲冲冲9 小时前
鱼书-PH4-类的作用
深度学习
fthux9 小时前
GitZip Pro 源码解析:一个 GitHub 文件/文件夹下载扩展是如何工作的(一)整体架构与扩展入口
人工智能·ai·开源·github·open source
_Jimmy_9 小时前
Python 协程库如何使用以及有哪些使用场景
python
aqi009 小时前
15天学会AI应用开发(十七)使用LangGraph实现会话记忆功能
人工智能·python·大模型·ai编程·ai应用