ConvNeXt++项目——CV笔记(持续更新)

  • 感受野:特征层的一格对应以上各层中的像素个数。卷积层和池化层都可以扩大感受野:
  • VGG亮点:堆叠多个小卷积核可以代替一个大卷积核,并且参数数量更少。例如两个3x3相当于1个5x5,他们的感受野大小相同,三个3x3可以代替一个7x7;替换拉直(latten)到全连接层为卷积,模型可以达到相同的结果,参数量也相同,但效率更高。
  • 要注意,深度学习中的参数量是所有卷积核的总像素数,这些参数是要学习的,神经网络学习的权重就是卷积核的像素值(权值)。
  • 卷积操作与池化操作的区别要注意,卷积是为了提取特征,池化是为了筛选特征(类似卷积核,但是是对卷积核内只取平均或者最大值)【池化不改变特征矩阵的深度】
  • TensorFlow的padding设置(N为该层输出图片的大小):
  • 卷积的物理意义:对于一个系统,其输入是不稳定的(不定时在输入)但输出是稳定的(每时每刻都在输出),卷积则代表其系统的存量。【不需要懂,是个数学意义,有兴趣可以b站直接搜卷积意义】{之前发生的事情会对之后产生影响,但每一件事情的影响都会随时间削弱——放在CV里,卷积就是看周围的n圈像素点对中间像素点产生的影响(n取决于卷积核大小)}
  •  膨胀卷积:Dilated convolution是指将卷积核扩散开再进行映射,如下图1。其优点是可以代替下采样(下采样会导致细节丢失)来实现感受野的扩大(例如3x3的卷积核达成5x5的效果)。但盲目设置膨胀卷积层的r值会导致出现The Gridding Effect问题,也就是有些间隔的像素点永远没有被使用,同样会导致细节丢失。因此这里可以使用通向标准化设计Hybrid Dilated Convolution (HDC)来优化r值的选择,详情见下图2.

  • BN层:batch normalization的目的是使得一个batch的数据的feature map的均值为0,方差为1。可以加速模型训练,提高准确率。一般在预处理图像时,图像会被处理的满足均值为0方差为1,但在图像经过卷积层之后,可能就不满足这个规律,因此BN的作用就是使得一个卷积层后的图像的feature map满足这样的规律。注意处理的是一批数据(batch)并不是一个数据。

  •  BN是有学习参数的,γ和β是需要反向传播学习的。计算实例:
  • 得到的均值和方差是一个向量,向量维度跟channel图像个数相同 

  •  
  • 迁移学习:浅层卷积神经网络记录的模型参数不止适用在本网络,在其他网络也适用,因此可以将训练好的模型的浅层的,描述非常基础表层特征的参数迁移到新的网络给新的网络使用,使得新的网络也具有识别底层通用特征的能力,便可以更加快速的学习新的数据集的新的高维特征。

 

 

猜你喜欢

转载自blog.csdn.net/m0_59056870/article/details/127175864