深度学习|李哥考研3

卷积神经网络

全过程如下:看不懂没关系

先经过CNN,再用回归进行处理

卷积神经网络是什么?

全称:Convolution Neural Network CNN

处理网络结构数据(图像、视频、音频)的深度学习模型

卷积神经网络是应用?

图像分类:识别猫狗、手写数字MNIST,物体类别

目标检测:YOLO

医学影像分析

linear和卷积的区别

linear:输入x?x_?x? + 权重 进行全局的加权求和

卷积:局部的,滑动窗口式的进行加权求和

概念词语 ------ 手算参数

  • 感受野:

  • 特征图:初始输入图像

    所有图像的大小为3x224x224(深度x长x宽)

  • 卷积核:提取局部特征的权重矩阵

    卷积核大小 = 视野

  • 卷出来的特侦图

  • 卷积核参数量

  • padding:填充

    在特侦图的边缘填充额外的像素(通常为0),保证卷出来的特征图大小不会改变

  • 卷积步长:卷积核在输入特征图上的每次移动步长,步长越大,输出的特征图就越小,计算效率高

例题1:

答案:

  1. 3x3x3 卷积核参数量:2x2 = 4
  2. 2x2
  3. padding = 1 ,则卷出来的特征值是:4x4
  4. 98x98 100 - (3 -1 ) = 98
  5. 100x100
  6. 2x2 ; 卷积核的参数量:7x7
  7. 94x94 100 - (7-1) = 94

技巧:

(1) (卷积核(大小) - 1) / 2 == padding

此时原特征图大小 = 卷出来的特征图大小

(2) 特征图深度 = 卷积核深度

(3) 卷出来的大小深度都为1

例题2:

答案:

  1. padding = (7- 1 )/ 2 = 3 ;特征图大小 100x100
  2. padding = (5 - 1 ) / 2 = 2 ;特征图大小 224 x 224
  3. 这套卷积核: 3x3x3 ;卷积核参数量:27
  4. padding = (3 - 1 ) /2 = 1 ; 卷出来的特征图:7x4x4
  5. 64x224x224
  6. 128x224x224 ; x = 64 ; 这套卷积核的参数量 = 128x64x3x3

特征图如何变小

法一 : 扩大步长
法二:池化pooling

1、扩大步长:不常用,对应的公式
output=(input−kernal+2∗padding)/stride+1 output = (input - kernal + 2*padding) / stride + 1output=(input−kernal+2∗padding)/stride+1

例题: 输入 3x224x224 卷积核 11 padding = 2 Stride = 4,卷积核数量是64 ,问输出多少

答:(11 - 1 )/ 2 = 5 != 2,则output = (224 - 11 + 2*2) / 4 + 1 = 55 【取下整数】; 则输出特征图 64x55x55

2、池化:取卷积核范围内的最大值,最后大小如下图

卷积到全连接的关系

对于卷出来的特征图进行flatten 扯平到一维空间进行全连接,也就是用到了线性回归计算分类概率

分类全过程

卷积 - > fatten -> 线性回归 - > softMax() - > CrossEntropy Loss

此时对应的就是文章首图

  • 卷积:多个卷积核在数据行滑动,每个卷积核计算器覆盖内输入的数据,生成特征图
  • 展平flatten:将特征图的所有元素按照顺序拼接形成一个长的一维向量
  • 线性变换:学习展平之后的组合关系
  • SoftMax函数:将线形层输出的转化成概率分布,确保所有类别的概率为1
    softmax函数具体过程
    yi′=eyi∑jeyj y_i' = \frac{e^{y_i}}{\sum_{j} e^{y_j}} yi′=∑jeyjeyi
  • CrossEntropy Loss
    1、损失函数:衡量模型预测的概率分布 ppp 与真实的标签分布 qqq(通常是 one-hot 编码)之间的差异。
    2、损失值 L\mathcal{L}L 越小,表示预测概率 ptp_tpt 越大(越接近 1),模型预测越准确。
    3、一个标量损失值 L\mathcal{L}L。这个损失值用于通过反向传播算法来更新模型参数(包括卷积核权重、全连接层权重和偏置)

AlexNet

卷积(池化) - > 全连接层输出

说明:

输入通道变化:3、 64、192、384、256、256逐步提取复杂特征

空间维度变化:224、55、27、13、6通过卷积和池化逐步保留关键信息

自适应池化:adapool(6)让输入尺寸更加灵活,直接输出6x6,无需计算

创新点:Relu,dropout、池化、归一化

归一化:消除量纲的影响,让模型更加关注数据的分布,保证学习的有效性,缓解梯度消失和梯度爆炸

Dropout:随机丢失神经元


相关代码: 自定义MyAlexNet神经网络

解释代码中 nn.DropOut 就是 训练中随机丢失一些神经元, 缓解模型过拟合

相关代码:

python 复制代码
import torch

myalexnet = MyAlexNet()

# 计算模型总参数量和可训练参数量
def get_parameter_number(model):
    total_num = sum(p.numel() for p in model.parameters())
    trainable_num = sum(p.numel() for p in model.parameters() if p.requires_grad)
    return {'Total': total_num, 'Trainable': trainable_num}


print(get_parameter_number(myalexnet))

# 表示一次传入4张图片,每张图片的维度是3,大小为224x224
img = torch.zeros((4,3,224,224))

out = myalexnet(img)

print(out.size())

卷积层参数 = 输出特征图个数 x 输入特征图个数 x 卷积核大小 + bias (输出个数)

回归参数 = 全连接 + 输出个数

VggNet

更深、更大。用小卷积核代替大卷积核

ResNet

1x1 卷积

1x1 卷积:是指卷积核的大小为 1×11 \times 11×1。

通道数的升维/降维最核心的作用。假设输入特征图的尺寸为 H×W×CinH \times W \times C_{in}H×W×Cin,使用 CoutC_{out}Cout 个 1×11 \times 11×1 的卷积核进行卷积操作,可以得到尺寸为 H×W×CoutH \times W \times C_{out}H×W×Cout 的输出特征图。它不改变特征图的空间尺寸 (HHH 和 WWW),只改变通道数 (CCC)。 (H,W,Cin)→1x1 Conv, Cout filters(H,W,Cout)(H, W, C_{in}) \xrightarrow{\text{1x1 Conv, } C_{out} \text{ filters}} (H, W, C_{out})(H,W,Cin)1x1 Conv, Cout filters (H,W,Cout)

计算量和参数量控制: 在瓶颈结构中(如 ResNet 的残差块),先用 1x1 卷积降维,再进行更大尺寸(如 3x3)的卷积操作,然后再用 1x1 卷积升维。这样可以显著减少中间特征图的通道数,从而大大降低计算量和参数量。

残差

在 ResNet 的上下文中,残差 指的是期望输出 H(x)H(x)H(x) 与输入 xxx 之间的差值。

数学表示: F(x)=H(x)−xF(x) = H(x) - xF(x)=H(x)−x

网络学习目标: ResNet 的设计理念是让网络层不去直接学习复杂的原始映射 H(x)H(x)H(x),而是去学习相对简单的 残差映射 F(x)F(x)F(x)。

网络的目标是使得 F(x)F(x)F(x) 逼近零,这样 H(x)H(x)H(x) 就逼近恒等映射 xxx。

物理意义: 学习残差比学习完整的输出更容易,尤其当恒等映射接近最优解时(这在深度网络中很常见)。这相当于为网络提供了捷径,使得信息(包括梯度)能够更直接地穿越深层网络。

相关推荐
天远API3 分钟前
零信任架构实战:基于天远单人婚姻查询构建自动化联合贷款审计网关
java·人工智能·架构·自动化
远航计算机4 分钟前
网站被 AI 收录要多久?从被抓取到被引用的完整时间表
大数据·人工智能·aigc
昨日之日20067 分钟前
AuK:多任务语音生成编辑,支持克隆、改词、换情绪与分离,内容编辑与增强全覆盖
人工智能·音视频
知几蜗牛13 分钟前
4万星的Agent技能提醒我们:答案太全也可能不可用
人工智能
智购科技无人售货机工厂14 分钟前
2026自动售货机AI智能体架构:从47个小模型到33.7亿Token的工程实践~YH
android·人工智能·驱动开发·单片机·pandas
Geek-Chow15 分钟前
09. LLM 接缝:把“厂商协议“关进一个可替换的盒子
人工智能
麻瓜code16 分钟前
【Agent】从 0 手写智能体框架:ReAct + ToolCall 分层设计
人工智能·spring
来了就不要走21 分钟前
亿数平台怎么样:亿象生态与数实融合路径观察
大数据·人工智能·区块链
知几蜗牛23 分钟前
流式JSON为什么总报错?理解结构化输出就能接稳AI接口
人工智能
Zentceh24 分钟前
AI-ISP vs 传统ISP全面对比
人工智能·深度学习·计算机视觉·车载系统·transformer·无人机·智能硬件