TensorFlow2.x CNN

1. 基本概念

1.1 神经网络的组成

元素描述
结构
(Architecture)
神经网络中的变量可以是神经元连接的权重
激活函数
(Activity Rule)
大部分神经网络模型具有一个短时间尺度的动力学规则,来定义神经元如何根据其他神经元的活动来改变自己的激励值
学习规则
(Learning Rule)
学习规则指定了网络中的权重如何随着时间的推移而调整(反向传播算法)

1.2 神经网络常用方法

算法策略优化
线性回归均方误差(MSE)梯度下降
逻辑回归对数似然损失梯度下降
神经网络交叉熵损失梯度下降+BP

1.3 深度学习网络

  • 在深度学习网络中,每一个节点层在前一层输出的基础上学习识别一组特定的特征,随着神经网络深度增加,节点所能识别的特征也越来越复杂

2. 卷积神经网络 (CNN)

在这里插入图片描述

  • CNN: Convolutional Neural Network
  • CNN本质
    • 是一种从输入到输出的映射
    • 它能够学习大量的输入与输出之间的映射关系,而不需要任何输入与输出间的具体的数学表达式,只要用已知的模式对卷积网络加以训练,网络就具有输入输出对间的映射能力
  • CNN用途
    • 以一定的模型对事物进行特征提取,提取到能最大程度区分事物的特征
    • 根据特征对此事物进行分类、识别、预测或决策
  • CNN原理
    • 通过一个个的Filter(Kernel),不断地提取特征,从局部的特征到总体的特征,从而进行图像识别或分类功能
    • 每个Filter中的各个数字就是其参数,可以通过大量的数据让机器自己去学习这些参数
  • 卷积核/滤波器
    • 一个卷积核只提取一种特征
  • 多核卷积
    • 由于一个卷积核只提取一种特征,为了全面了解目标的特征,需从多角度(特征)了解目标,从而更加准确可靠地识别目标,所以需要多个卷积核以提取目标的多个不同特征

2.1 CNN基本结构

在这里插入图片描述

2.2 CNN的尺寸关系

在这里插入图片描述

  • 输入图像与卷积核的深度一致性
    • 输入图像:W x H x D ©
    • 卷积核: K x K x D ©
    • 即卷积核的深度必须与输入图像或特征图的深度相同。
  • 一个卷积核生成一个特征图(W’ x H’ x 1)
  • 输出特征图尺寸 W o × H o × D o W_o \times H_o \times D_o Wo×Ho×Do
    • D o D_o Do:Filter个数
    • W o = ( W i + 2 P − K ) / S + 1 W_o = (W_i + 2P - K)/S + 1 Wo=(Wi+2PK)/S+1
    • H o = ( H i + 2 P − K ) / S + 1 H_o = (H_i + 2P - K)/S + 1 Ho=(Hi+2PK)/S+1
      • P P P:Padding的像素数
      • S S S:步长(stride)
      • K K K:Filter的宽度

2.3 卷积参数

  • 步长(stride):水平和垂直方向每次的步进长度
    • 1: 卷积起始坐标为(+1):0, 1, 2, …
    • 2: 卷积起始坐标为(+2):0, 2, 4, …
    • 3: 卷积起始坐标为(+3):0, 3, 6, …
  • 填充值(zero-padding)
    • 图像四周填充0
    • 可达到卷积(stride=1)之后的特征图与输入宽高一致

2.4 卷积层

  • 卷积核:用于执行卷积,生成特征面中的一个神经元
    • 卷积核是一个权值矩阵(其矩阵中的每个元素就是待学习的参数,如:5x5x3)
    • 通过卷积操作从输入图像/特征图中提取不同的特征
  • 特征面(Feature map)
    • 每个特征面由多个神经元组成,它的每一个神经元通过卷积核与上一层特征面的局部区域相连
    • 特征是不断进行提取和压缩的,最终能得到比较高层次特征,即:对原始特征进行一步一步的浓缩,最终得到了可靠的特征(抓住了事物的本质
    • 使用最后一层特征(即本质),执行各种任务:如分类、回归
  • 关键特点
    • 局部感知
      • 原理:通过在底层的局部扫描获得图像的局部特征,然后在高层综合这些特征获得图像的全局信息
      • 底层逻辑:图片中相邻区域具有更大的相关性,距离较远的区域相关性较小
      • 作用:降低参数的数目
    • 权值共享
      • 通过卷积核进行卷积,输入图像/特征图经过卷积后会得到一张新的特征图(Feature map),且本张新特征图中的每个像素(神经元)都来自同一个卷积核,这就是权值共享。(即同一张特征图中的所有神经元通过同一个卷积核生成)
      • 底层逻辑:特征具有平移不变性(即特征与其在输入中的位置无关),而一个特定的卷积核只提取一种特定的特征,所以权值可以共享 (即通过一个卷积核的操作提取了原图中不同位置的相同/类似特征,不同位置的相同目标,具有相同/类似的特征)
      • 作用:进一步大大地降低参数数目

2.5 卷积计算

在这里插入图片描述

2.6 3-DCNN与2D-CNN的比较

  • 3D-CNN:3-dimensional convolutional networks (3D ConvNets)
  • 2D-CNN:2-dimensional convolutional networks (2D ConvNets)
  • 比较
    • 3D-CNN比2D-CNN更适合学习时空特征(spatio-temporal feature)
CNN卷积核学习空间特征学习时间特征输出图像个数
2D-CNN3x3xL
(L=输入图像通道数)
无论应用于单通道多通道图像,
其输出都只有一个特征图
3D-CNN3x3x3
(3<输入图像通道数)
应用于多通道(>=3)图像,
输出为多个特征图(立体图)

在这里插入图片描述

3. 池化层(Pooling)

  • 本质:就是下采样
  • 原理
    • 通过降低特征面的分辨率来获得具有空间不变性的特征
  • 特征
    • 特征面(Feature map)个数不变
    • 特征面(Feature map)分辨率变小,只针对每个特征面单独处理,即卷积层的一个特征面与池化层中的一个特征面一一对应
    • 输入:卷积层(卷积+激活)的输出

3.1 池化方法

  • 最大池化(max pooling):取局部感受域中的最大值作为池化后的值
  • 平均池化(mean pooling):取局部感受域中所有值的平均值作为池化后的值
  • 随机池化

3.2 功能

在这里插入图片描述

3.3 全连接层

  • 本质:整合局部信息
  • 功能
    • 全连接层中的每个神经元与其前一层的所有神经元进行全连接
    • 全连接层可以整合卷积层或池化层中具有类别区分性的局部信息
    • 为了提高CNN网络性能,全连接层每个神经元的激活函数一般采用ReLU
    • 最后一层全连接层输出给一个输出层,如softmax层(分类器)

4. 各层功能总结

在这里插入图片描述

参考

[1] 神经网络动态演示及调参

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值