【Geron-机器学习实战】学习笔记 3-卷积神经网络 CNN的基本介绍

【Geron-机器学习实战】学习笔记 3-卷积神经网络 CNN的基本介绍CNN 卷积层 平移不变性 局部性 虽称为卷积 但用的是互相关运算 不翻转 而非信号处理中的卷积 翻转 概念 影响前向计算的所有可能输入区域称为感受野 填充 padding 是在输入高宽两侧填充 通常为 0 控制输出形状的减少量 步幅 stride 是卷积核每次滑动的大小

大家好,我是讯享网,很高兴认识大家。

CNN

卷积层

在这里插入图片描述
讯享网

在这里插入图片描述

  • 平移不变性,局部性
  • 虽称为卷积,但用的是互相关运算(不翻转),而非信号处理中的卷积(翻转)概念
  • 影响前向计算的所有可能输入区域称为感受野
  • 填充(padding) 是在输入高宽两侧填充,通常为0,控制输出形状的减少量
  • 步幅(stride) 是卷积核每次滑动的大小,使得输出形状成倍减少
    conv_valid = keras.layers.Conv2D( filters=1, kernel_size=kernel_size, strides=strides, padding="VALID") 

    讯享网
  • 卷积核本质是二维信号滤波器
  • 卷积本质是提取图像不同频率的特征
  • 核矩阵大小、填充、步幅是超参数
  • 有时,1个5x5卷积核 不如 2个3x3卷积核
  • 训练 CNN 需大量内存,如内存不足需调整 batch_size 或 strides
  • 核矩阵和偏移的值是可学习的参数
  • 每个卷积和生成一个特征图
  • 在 TensorFlow 中,3D图像格式为[h, w, c]

1*1 卷积核

  • 作用:不识别模式,只增加通道
    在这里插入图片描述

池化层

  • 对称不变形,下采样
  • 减小计算量、内存占用和参数(防止过拟合)
  • 缓解卷积层对位置的过度敏感性
  • 最大池化,均值池化…
    讯享网max_pool = keras.layers.MaxPool2D(pool_size=2) avg_pool = keras.layers.AvgPool2D(pool_size=2) 
  • 最大池化保留了最强的特征,因此效果通常比均值池化好
  • 也有填充、步幅,是超参数
  • 没有可学习参数
  • 对每个输入通道分别池化,输出通道数不变

经典CNN网络

LeNet

  • 卷积-池化-…-全连接-输出

AlexNet

VGG

  • 重复使用3x3卷积块
  • 不同卷积块个数和超参数得到不同复杂度的变种
    在这里插入图片描述

NiN

  • 串联多个卷积层和全连接层构成小网络并构建深层网络
    在这里插入图片描述

GoogLeNet

  • 第一个达上百层的模型
  • 含非常经典的子模块 Inception
    在这里插入图片描述
  • 常用Iception版本为 V3, V4
  • 不同层面重启特征,然后融合

ResNet -非常经典的残差结构

在这里插入图片描述
在这里插入图片描述

  • resnet50:
    在这里插入图片描述
  • skip-connection 有效地缓解梯度消失

DenseNet

在这里插入图片描述

  • 在通道维度上连结

Xception

  • 深度可分离卷积
  • depthwise + pointwise
  • 各通道分别卷积处理,再合并(或先合并再分别卷积)
    在这里插入图片描述

SE-Net

  • Squeeze-and Excitation Network
  • SE块分析其连接的单元的输出,仅专注于深度维度,并了解哪一些特征通常最活跃,然后使用此信息重新校准特征图
  • SE块的组成:
    在这里插入图片描述
  • SE-Inception模块SE-ResNet单元:
    在这里插入图片描述

DeepLab

在这里插入图片描述

PSPNet

在这里插入图片描述

使用预训练模型

model = keras.applications.resnet50.ResNet50(weights="imagenet") 
小讯
上一篇 2025-01-25 09:33
下一篇 2025-01-26 21:44

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/26382.html