机器学习——预备知识Yolov4

本章主要讲述卷积、Maxpooling、全连接、BN、激活函数等预备知识,为学习Yolov4做准备。

1.图像卷积和卷积神经网络

1.1卷积

        例如输入为一个(7,7,1)单通道图像,与(3,3,1)进行卷积,设定步长stride=1,padding=0时,将得到(5,5,1)的输出。单个点输出的卷积结果其实是点乘和相加的过程。

        若对于多层的单通道图像(7,7,3),与(3,3,3)进行卷积,设定步长stride=1,padding=0时,将各个通道对应进行卷积操作,得到3个(5,5,1)的输出,再各点相加,得到(5,5,1)的输出。

        若此时增加通道数则会得到什么样的结果呢?例如将多层的单通道图像(7,7,3),与(3,3,3,256)进行卷积,这里的256代表256个通道,即256个(3,3,3)。设定步长stride=1,padding=0时,得到输出为256个(5,5,1)的堆叠,即(5,5,256)。

1.2卷积核、步长与Padding的配合

机器学习——预备知识Yolov4_第1张图片

          由上述公式,即可通过设定得到例如Yolov4中的下采样操作(f=3,p=1,s=2)。

1.3 1x1卷积的作用

         1x1卷积可以灵活的降维和升维,减少参数量和计算量;同时可以用1x1卷积替代全连接层,在Yolov4中的好处是可以除了分类信息外,又可以获得位置信息,这是相比于Yolov1和v2的改进之处。

2.Maxpooling层和全连接层

        max—pooling操作其实是在kernel_size的范围内求取最大值,若有多通道则需要cat拼接起来。

        全连接操作主要分为两步:(1)将图像特征信息reshape,例如将(3,3,5)变换为x=(3*3*5,1)=(45,1);(2)y=wx+b。这里y是神经元,举例为(4096,1),w是矩阵,根据维数可得w为(4096,45)。全连接层就是一种全局的卷积。

        VGG16卷积神经网络中就是将输入进行卷积层、全连接操作后最后得到输出。

3.Softmax

       softmax的公式为:

机器学习——预备知识Yolov4_第2张图片

       也可以考虑从用sigmod函数来代替softmax,因为softmax更适用于类别互斥的情况。

4.Batch Normalization

        BN是由Google于2015年提出,这是一个深度神经网络训练的技巧,它不仅可以 加快了模型的收敛速度 ,而且更重要的是在一定程度缓解了深层网络中 梯度弥散(特征分布 较散) 的问题,从而使得训练深 层网络模型更加容易和稳定。
        BN是沿通道方向逐一计算的,假如目前有4个(608,608,3),经过变换变为4个(19,19,512),即(4,19,19,512),则从第0个至第511个通道开始循环计算均值、方差、标准差等等,并规范化后计算尺度变换和偏移量(这两个量是模型训练的参数)。均值计算的大概思路是将例如sum(4,19,19)/(4x19x19),其他各项思路同上,所以最终会得到512个均值、方差等。

5.激活函数

机器学习——预备知识Yolov4_第3张图片

你可能感兴趣的:(机器学习)