卷积神经网络CNN(convolutional)

卷积运算:原图像*卷积核=新图像,经常用来做边缘检测
人造核:手动指定权重,改善效果

指定核权重为变量,通过反向传播,学习卷积核的权重
补白和步幅决定了卷积后的

补白Padding

  • Valid convolution:p = 0
    (n imes n * f imes f -> (n-f+1) imes (n-f+1))
  • Same convolution:n = n
    ((n+2p) imes (n+2p) * f imes f -> n imes n)
    得到填充边缘宽度(p = frac{f-1}{2})
    所以一般卷积核大小是奇数
    ## 步幅strides
    s>1,图像也变小

三维卷积

对于RGB三通道图像,nc个滤波器,卷积叠加,得到深度为nc的图像

总结

趋势:缩减图片尺度,增加深度

CNN分类

卷积层Conv:

池化层Pool:减少图片宽度,用卷积核进行特征提取

采样(下采样),特征降维,压缩数据和参数,减小过拟合
只有超参数,没有参数
主要分类:

  • 最大池化
  • 平均池化

全连接层Fc:一般用来输出



总结

  • 优势
  • 参数共享:将卷积核的参数共享给每组被卷积对象运算
  • 稀疏性联系:输出的值只与小部分输入相关
    ### 特点
    CNN从前到后,维度缩减,参数增多

CNN案例

经典CNN

  • LeNet-5(sigmoid激活,softmax分类)

  • AlexNet

  • VGGNet

残差网络

传统的plain network存在梯度指数现象

为了改善深度网络的梯度爆炸(消失)现象,使深度神经网训练可能

  • Residual block


维数不一致的问题,可以通过构建权重矩阵,填充0元素或者其他方法进行适配

1x1 convolution

对image每个像素进行非线性函数映射,通过n个kernel,映射为n个特征,用于缩减图像特征深度

用法,生成中间量,减少运算量

直接5x5卷积

采用1x1卷积中间量,再用5x5卷积

Inception network

Main idea

Inception module

Inception network

  • Inception module 的串联
  • branches用于在中间预测结果,效果不差

Transfer learning

步骤

  1. 下载源码,模型,权重参数
  2. 修改末层结构,softmax分类或者
  3. 冻结前层参数
  4. 训练自己模型

Data Augmentation数据增强

可以预先处理,
也可以与训练并行处理

1、形状

  • 镜像Mirroring
  • 随机裁剪Random Cropping
  • 旋转Rotation
  • 倾斜Shearing
  • 扭曲Local warping

2、色彩Color shifting

  • 增减RGB通道值,改变量随机
  • PCA,干扰主要元素

目标检测

CV(computer vision)中,目标检测是并列与图像分类的一个重要应用

原文地址:https://www.cnblogs.com/tolshao/p/juan-ji-shen-jing-wang-luocnnconvolutional.html