CNN(Convolutional Neural Networks)基础知识大致总结

本文内容较大部分是从b站up主那学的:Linus有点牛

本质

提取特征

与传统NN区别

传统输入为直接的向量,直接一列,一个特征,而CNN不会,CNN会将输入的h×w×c的样本进行提取特征。

整体架构

在这里插入图片描述

由输入层,卷积层(提取特征),池化层(压缩特征),全连接层组成

特征图变化

在这里插入图片描述

卷积(Convolution)

以灰度图为例的单一卷积操作

分割,因为每个区域特征不一样→通过滤波器(fliter)进行特征提取,得到特征图

  • 滤波器/卷积核(Fliter/Kernel):用来提取特征的东西,就权重参数矩阵(卷积版)。
  • 权重参数矩阵:如名,一个矩阵。
  • 内积:所采取的运算方式,求完后还要加上一个偏置值(Bias)才能出特征值
  • 卷积参数共享:这个就属于对传统神经网络的一个改进,传统神经网络的参数就十分繁杂参数数量多,更吃算力。

上述为一个通道(channel)上进行的操作,像图这样的一般来说就是RGB三个通道,一次卷积中有几个通道就有几个卷积核,且一次卷积中卷积核长宽应一致

大多不止一此卷积。

在这里插入图片描述

卷积层涉及参数
  • 滑动窗口步长(Stride):步长反映了此次特征提取的精密程度,步长越短,卷积越精密。
  • 卷积核尺寸(Kernel Size):越大,提取特征的空间范围就越大,考虑的东西就越多。
  • 边缘填充(Padding):补0,保留边缘特征,不加0的话会产生其他不必要的影响。
  • 卷积核个数(Number of Fliter):每个卷积核负责提取不同的特征,卷积核越多,提取的深度就越深。

PS:怎么获取权重参数矩阵?炼丹试出来?还是怎么算?

卷积结果计算公式
长度

H 2 = H 1 − F H + 2 P S + 1 H_{2} = \frac{H_{1}-F_{H}+2P}{S} +1 H2=SH1FH+2P+1

宽度

W 2 = W 1 − F W + 2 P S + 1 W_{2} = \frac{W_{1}-F_{W}+2P}{S} +1 W2=SW1FW+2P+1

池化(Pooling)

降低特征图的空间维度,保留主要信息,防过拟合,加速。池化操作通常包括最大池化和平均池化两种常见的方式。

操作
最大池化(Max Pooling)

在池化窗口内选择最大的值作为输出,能保留最显著的特征。

平均池化(Average Pooling)

计算池化窗口内平均值作为输出,不过比max用的更少,因为他准确度没有max好,(这俩对算力的要求哪个大?)

  • 池化窗口(Pooling Window):取样区。
  • 感受野(Receptive Field):特征图上的单个神经元感受到的输入图像的区域大小。

激活函数

挂在卷积层后面,每个卷积层后面挂一个,常见的用在CNN里面的有

1.ReLU

f ( x ) = m a x ( 0 , x ) f(x)=max(0,x) f(x)=max(0,x)

2.Sigmoid

f ( x ) = 1 1 + e − x f(x)= \frac{1}{1+e^{-x}} f(x)=1+ex1

3.Tanh

f ( x ) = e x − e − x e x + e − x f(x)=\frac{e^{x}-e^{-x}}{e^{x}+e^{-x}} f(x)=ex+exexex

各有优劣,这里不再赘述。

看有人讲什么,大概套路是两个卷积层加一个池化,循环几次套路然后最后全连接。

PS:咋判断CNN有几层?带权值参数方程的才算一层,实际上也就算上所有卷积层加上全连接层数量,就是CNN层数。

全连接层(Fully Connected Layer)

卷加池完后转换成一条向量,之后才能进入全连接,全连接层里面有权重参数矩阵。他的作用就是将前面层提取的特征整合并映射到最终的输出。

具体数学表达式为
y i = f ( ∑ N j = 1 w i j ⋅ x i + b i ) y_{i}=f( {\textstyle \sum_{N}^{j=1}w_{ij}\cdot x_{i}}+b_{i } ) yi=f(Nj=1wijxi+bi)

参考

[1] 7-特征图尺寸计算与参数共享_哔哩哔哩_bilibili

  • 14
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值