天天看点

卷积神经网络图解_卷积神经网络分类

大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说卷积神经网络图解_卷积神经网络分类,希望能够帮助大家进步!!!

文章目录
  • 卷积层
    • 卷积的优点——参数共享和稀疏连接
  • 池化层——无需学习参数
  • 卷积神经网络案例
    • 梯度下降
  • 经典的神经网络
    • 残差网络
    • 1x1卷积 (Network in Network and 1x1 Convolutions)
    • Inception网络
    • 迁移学习
  • 神经网络应用
    • 分类定位
    • 目标点检测
    • 滑动窗口的卷积实现
    • YOLO算法
      • 交并比
      • 非极大值抑制
      • Anchor Boxes

参考资料:https://blog.csdn.net/weixin_36815313/article/details/105728919

卷积层

卷积神经网络图解_卷积神经网络分类

卷积的优点——参数共享和稀疏连接

  1. 参数共享

    特征检测如垂直边缘检测如果适用于图片的某个区域,那么它也可能适用于图片的其他区域。也就是说,如果你用一个3×3的过滤器检测垂直边缘,那么图片的左上角区域,以及旁边的各个区域(左边矩阵中蓝色方框标记的部分)都可以使用这个3×3的过滤器。

  2. 稀疏连接

    输出(右边矩阵中红色标记的元素 30)仅仅依赖于这9个特征(左边矩阵红色方框标记的区域),看上去只有这9个输入特征与输出相连接,其它像素对输出没有任何影响。

卷积神经网络图解_卷积神经网络分类

池化层——无需学习参数

卷积神经网络图解_卷积神经网络分类

卷积神经网络案例

卷积神经网络图解_卷积神经网络分类

梯度下降

卷积神经网络图解_卷积神经网络分类

经典的神经网络

LeNet-5 ,AlexNet, VGG, ResNet, Inception

疑问: 请教下为什么随着网络的加深,图像的高度和宽度都在以一定的规律不断缩小,而通道数量在不断增,要这么设计呢?

残差网络

详解残差网络: https://zhuanlan.zhihu.com/p/42706477

随着网络层数的增加,网络发生了退化(degradation)的现象:随着网络层数的增多,训练集loss逐渐下降,然后趋于饱和,当你再增加网络深度的话,训练集loss反而会增大。注意这并不是过拟合,因为在过拟合中训练loss是一直减小的。当网络退化时,浅层网络能够达到比深层网络更好的训练效果,这时如果我们把低层的特征传到高层,那么效果应该至少不比浅层的网络效果差,或者说如果一个VGG-100网络在第98层使用的是和VGG-16第14层一模一样的特征,那么VGG-100的效果应该会和VGG-16的效果相同。所以,我们可以在VGG-100的98层和14层之间添加一条直接映射(Identity Mapping)来达到此效果。从信息论的角度讲,由于DPI(数据处理不等式)的存在,在前向传输的过程中,随着层数的加深,Feature Map包含的图像信息会逐层减少,而ResNet的直接映射的加入,保证了深层的网络一定比浅层包含更多的图像信息。基于这种使用直接映射来连接网络不同层直接的思想,残差网络应运而生。

卷积神经网络图解_卷积神经网络分类

1x1卷积 (Network in Network and 1x1 Convolutions)

池化层压缩它的高度和宽度,1x1卷积压缩输入层中通道的数量

卷积神经网络图解_卷积神经网络分类

Inception网络

Inception网络或Inception层的作用就是代替人工来确定卷积层中的过滤器类型,或者确定是否需要创建卷积层或池化层。只要合理构建瓶颈层,你既可以显著缩小表示层规模,又不会降低网络性能,从而节省了计算。

卷积神经网络图解_卷积神经网络分类

迁移学习

  • 下载别人已经训练好网络结构的权重作为预训练,转换到感兴趣的任务上
  • 数据越多,需要冻结的层数越少,能够训练的层数就越多。如果有一个更大的数据集,那么不要单单训练一个softmax单元,而是考虑训练中等大小的网络,包含最终网络的后面几层。
卷积神经网络图解_卷积神经网络分类

注: 通过使用其他人预训练的权重,很可能得到很好的性能,即使只有一个小的数据集。大多数深度学习框架有是否训练参trainableParameter=0,不训练这些权重freeze=1,允许设置是否训练特定层的权重。在这个例子中,只需要训练softmax层的权重,把前面这些层的权重都冻结。

神经网络应用

分类定位

卷积神经网络图解_卷积神经网络分类

目标点检测

卷积神经网络图解_卷积神经网络分类

滑动窗口的卷积实现

  1. 为什么要将全连接层转化成卷积层?有什么好处?

    解释: 参数共享(滑动区域享有相同参数)、共享计算(相同区域的计算相同)

  2. 原理:不需要把输入图像分割成四个子集分别执行前向传播,而是把它们作为一张图片输入给卷积网络进行计算,公共区域共享计算

    解释: 以绿色方块为例,假设你剪切出这块区域(编号1),传递给卷积网络,第一层的激活值就是这块区域(编号2),最大池化后的下一层的激活值是这块区域(编号3),这块区域对应着后面几层输出的右上角方块(编号4,5,6)

  3. 缺点: 不能输出最精准的边界框
卷积神经网络图解_卷积神经网络分类

YOLO算法

将这个对象分配到其中点所在的格子,即使对象横跨多个格子,也只会被分配到9个格子其中之一。 b x b_x bx​, b y b_y by​, b h b_h bh​, b w b_w bw​单位是相对于格子尺寸的比例

卷积神经网络图解_卷积神经网络分类
卷积神经网络图解_卷积神经网络分类

交并比

卷积神经网络图解_卷积神经网络分类

非极大值抑制

卷积神经网络图解_卷积神经网络分类

Anchor Boxes

卷积神经网络图解_卷积神经网络分类