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

2022-09-23 19:22:31 浏览数 (1)

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

文章目录

代码语言:txt复制
- [卷积层](https://javajgs.com/#_4)
    - [卷积的优点——参数共享和稀疏连接](https://javajgs.com/#_7)
- [池化层——无需学习参数](https://javajgs.com/#_14)
- [卷积神经网络案例](https://javajgs.com/#_16)
    - [梯度下降](https://javajgs.com/#_18)
- [经典的神经网络](https://javajgs.com/#_20)
    - [残差网络](https://javajgs.com/#_26)
    - [1x1卷积 (Network in Network and 1x1 Convolutions)](https://javajgs.com/#1x1_Network_in_Network_and_1x1_Convolutions_34)
    - [Inception网络](https://javajgs.com/#Inception_37)
    - [迁移学习](https://javajgs.com/#_41)
- [神经网络应用](https://javajgs.com/#_46)
    - [分类定位](https://javajgs.com/#_47)
    - [目标点检测](https://javajgs.com/#_51)
    - [滑动窗口的卷积实现](https://javajgs.com/#_53)
    - [YOLO算法](https://javajgs.com/#YOLO_62)
        - [交并比](https://javajgs.com/#_71)
        - [非极大值抑制](https://javajgs.com/#_74)
        - [Anchor Boxes](https://javajgs.com/#Anchor_Boxes_76)

参考资料: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

0 人点赞