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")






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