深度学习|李哥考研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。

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

相关推荐
SaaS_Product2 小时前
企业网盘可以在局域网使用吗?
网络·人工智能·云计算·saas
ZCXZ12385296a2 小时前
甲骨拓片智能识别与检测_YOLOv8_LQEHead优化实现_甲骨文图像目标检测
人工智能·yolo·目标检测
Coding茶水间2 小时前
基于深度学习的路面裂缝检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
开发语言·人工智能·深度学习·yolo·目标检测·机器学习
q_35488851532 小时前
机器学习:python共享单车数据分析系统 可视化 Flask框架 单车数据 骑行数据 大数据 机器学习 计算机毕业设计✅
人工智能·python·机器学习·数据分析·flask·推荐算法·共享单车
2301_782129952 小时前
从消耗品到资产:构建你的“认知资本”与自我成长的AI系统
人工智能·chatgpt
人工智能AI技术2 小时前
【Agent从入门到实践】22 LLM的局限性:Agent开发中需要规避的坑
人工智能·python
Hcoco_me2 小时前
大模型面试题83:ViT一般怎么进行预训练?
人工智能·深度学习·机器学习·chatgpt·机器人
叫我辉哥e12 小时前
新手进阶Python:办公看板集成OA自动化+AI提醒+定时任务
人工智能·python·自动化
xiao5kou4chang6kai42 小时前
只是把AI当作一个更聪明的搜索工具??如何用大语言模型高效整合信息并把研究想法快速转化为可发表成果
人工智能·自然语言处理·llm·大语言模型·n8n自动化