数据分析-深度学习Pytorch Day6

本文详细介绍了卷积神经网络(CNN)的概念,包括感受野、步长、填充、参数共享、池化等关键点,探讨了CNN在图像识别中的应用,阐述了CNN全过程,从图片输入到概率分布的输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

卷积神经网络如何运用到图片分类问题

感受野 Receptive Field

步长Stride

填充Padding

参数共享share parameter

最大池化MaxPooling

CNN全过程

仅个人理解学习

引言

CNN卷积神经网络最初主要是用于计算机视觉和图像处理中,比如图像分类:

最终的分类数绝对维度:

在模型中交叉熵的使用:最终通过概率分布求得每个类的概率值,最大值所在类作为最终的输出

图片组成

图片一般是有RGB组成的,通常是3维:(height, width,channels)。

在喂入卷积神经网络之前需要将3维的向量拉直,变成一维向量(flatten操作):

拉直之后喂入全连接层:

问题1:如果隐藏层有1000个神经元,每个样本的输入是100*100*3,仅仅单层的总weights数是。参数增加的时候,模型表达能力更强,但是也增加了模型过拟合overfitting的风险。

在实际处理中,每个神经元(Neuron)不必和输入input的每个维度都有一个权重weight,也就是说部分维度可忽略。

图像识别:找准突出点Pattern

在一张图片中我们识别出几个特殊点(Pattern)就能够对这个进行判断,将它归属于某个类,而不需要扫描整张图片

案例中识别鸟嘴、鸟爪、鸟眼睛。一般人类也是抓住物件的重要来进行判断

CNN概念-感受野

什么是感受野

卷积神经网络CNN中存在一个概念:感受野Receptive Field

感受野:用来表示网络内部的不同位置的神经元对原始图像的感受范围的大小。

上图解释:上面右边的一个神经元关注自己的范围(左边红色框)

感受野作用

单个神经元将自己感受野内的内容拉直成3*3*3的27维向量

image-20221027224556772

然后将27维的向量作为输入和权重W做內积,并加上偏置bias;这个隐藏层的结果作为下个隐藏层的输入。

也就是说,每个神经元只考虑值的感受野

感受野如何确定?

不同的感受野允许有重叠部分;

多个神经元Neuron共用同一个感受野;

感受野设置

下面 是一种经典的设置方式:查看全部通道channels

高和宽合起来叫做kernel_size,常见的设置是3*3

通常一个感受野不是只有一个神经元关注,通常是多个。比如常见的64个或者128个:

CNN概念-步长stride

上面介绍的单个感受野,不同的感受野之间具有什么关系?将上面的红色部分向右移动stride个单位。

下面的图形中步长是2,移动2个单位。常见值是1或者2。

在移动的过程中发现不同的感受野之间有重叠部分(交集)。

CNN概念-填充padding

在感受野不断移动的过程中,可能出现超出边界的现象,如何处理?

使用Padding填充方法。常见的填充方法:

填充现有数据的均值

全部填充0

填充边界的相同值

除了水平移动,还可以垂直移动:

这样感受野能够扫描一张图片的全部区域。

CNN概念-参数共享

在不同的图片中,鸟嘴(某个特征)可能出现在不同的位置:

即便不同位置,但肯定是有某个神经元的感受野能够扫描到。

问题来了:相同的特征在不同的位置,需要在不同的位置使用不同的神经元吗?

李宏毅老师举例子:台湾大学教务处为什么会推大型的课程?假设每个院系都需要编程(机器学习)相关的课程,那么需要在每个院系都开设这门课吗?
回答:不需要。只需要开一门大课,让不同院系的学生都可以修课。避免重复

类比图像处理,在不同感受野的神经元上可以实现共享参数

什么是共享参数?就是两个神经元(感受野区域不同)的参数是完全相同的:

注意右侧两个神经元不同输入下的颜色

虽然两个Neuron的weight相同,但是输入不同,也就是说最终输出是不同的:

CNN特点

Fully Connected Layer:全连接层;决定看整张图片还是部分

Receptive Field:感受野,不需要全部图片,通过部分区域能够识别分类

Parameter Sharing:参数共享;不同的Neuron之间共享相同的参数

感受野 + 参数共享 之后就构成了卷积层Convolutional Layer

CNN概念-Filter过滤器

在卷积中存在不同的Filters,大小通常是3*3*chanels的

黑白:channels=1

彩色:channels=3

问题:每个Filter如何去图像中抓取某个特征pattern?

以Filter1为例:

依次向右和向下移动,得到不同的值:

在图片的不同位置上什么值最大?可以通过过滤器来判断:

CNN概念-特征图Feature Map

使用Filter2的结果:

通过Filter和原图的內积得到的结果组成了特征图 Feature Map

这个Feature Map就可以看成是一张新的图片,具有64个channels(假设有64个Filters)

Convolution由来

对比两种不同方式下的颜色:在单个感受野生成的列向量对应的权重和Fliters中的数值是一一对应。

不同的神经元能够实现参数共享share parameters,从而作用域不同的感受野区域。

参数共享的过程其实就是一个Filter不断地扫过整张图片,这个过程也就是Convolution。

笔记:

不同的神经元Neuron能共享参数

共享的参数其实就是Filter

Filter不断扫描图片的过程就是卷积

CNN概念-池化Pooling

在图片的处理,对图片的欠采样(缩放)不改变图片的本质:

池化有多种方式,最常用的Max Pooling:

1、 假设我们通过Filter先生成了一个Feature Map特征图(可以看做一个新图片)

2、将特征图进行分组

下面是以2*2为例:

3、MaxPooling选择最大的值

所以一般在做完卷积之后会再做pooling的过程,将图片变小;二者一般是交替repeat使用:

池化的缺陷:池化的作用是将图片变小,做了subsampling之后减小运算量。当图片本身就细微的时候,池化削弱了原信息,导致网络可能表现的更差。

目前有些网路架构设计是纯Convolution,舍弃了Pooling。

CNN全过程

对图片不断地进行卷积和池化

再经过Flatten:将矩阵拉直成一维向量

再将向量喂入全连接层FCL

最后加入一个softmax层,得到概率分布的结果,最后确定类别。

### 关于 UniApp 框架推荐资源与教程 #### 1. **Uniapp 官方文档** 官方文档是最权威的学习资料之一,涵盖了从基础概念到高级特性的全方位讲解。对于初学者来说,这是了解 UniApp 架构技术细节的最佳起点[^3]。 #### 2. **《Uniapp 从入门到精通:案例分析与最佳实践》** 该文章提供了系统的知识体系,帮助开发者掌握 Uniapp 的基础知识、实际应用以及开发过程中的最佳实践方法。它不仅适合新手快速上手,也能够为有经验的开发者提供深入的技术指导[^1]。 #### 3. **ThorUI-uniapp 开源项目教程** 这是一个专注于 UI 组件库设计实现的教学材料,基于 ThorUI 提供了一系列实用的功能模块。通过学习此开源项目的具体实现方式,可以更好地理解如何高效构建美观且一致的应用界面[^2]。 #### 4. **跨平台开发利器:UniApp 全面解析与实践指南** 这篇文章按照章节形式详细阐述了 UniApp 的各个方面,包括但不限于其工作原理、技术栈介绍、开发环境配置等内容,并附带丰富的实例演示来辅助说明理论知识点。 以下是几个重要的主题摘选: - **核心特性解析**:解释了跨端运行机制、底层架构组成及其主要功能特点。 - **开发实践指南**:给出了具体的页面编写样例代码,展示了不同设备间 API 调用的方法论。 - **性能优化建议**:针对启动时间缩短、图形绘制效率提升等方面提出了可行策略。 ```javascript // 示例代码片段展示条件编译语法 export default { methods: { showPlatform() { console.log(process.env.UNI_PLATFORM); // 输出当前平台名称 #ifdef APP-PLUS console.log('Running on App'); #endif #ifdef H5 console.log('Running on Web'); #endif } } } ``` #### 5. **其他补充资源** 除了上述提到的内容外,还有许多在线课程视频可供选择,比如 Bilibili 上的一些免费系列讲座;另外 GitHub GitCode 平台上也有不少优质的社区贡献作品值得借鉴研究。 --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值