大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说卷积神经网络图解_卷积神经网络分类,希望能够帮助大家进步!!!
- [卷积层](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
LeNet-5 ,AlexNet, VGG, ResNet, Inception
疑问: 请教下为什么随着网络的加深,图像的高度和宽度都在以一定的规律不断缩小,而通道数量在不断增,要这么设计呢?
随着网络层数的增加,网络发生了退化(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卷积压缩输入层中通道的数量
Inception网络或Inception层的作用就是代替人工来确定卷积层中的过滤器类型,或者确定是否需要创建卷积层或池化层。只要合理构建瓶颈层,你既可以显著缩小表示层规模,又不会降低网络性能,从而节省了计算。
注: 通过使用其他人预训练的权重,很可能得到很好的性能,即使只有一个小的数据集。大多数深度学习框架有是否训练参trainableParameter=0,不训练这些权重freeze=1,允许设置是否训练特定层的权重。在这个例子中,只需要训练softmax层的权重,把前面这些层的权重都冻结。
将这个对象分配到其中点所在的格子,即使对象横跨多个格子,也只会被分配到9个格子其中之一。 b x b_x bx, b y b_y by, b h b_h bh, b w b_w bw单位是相对于格子尺寸的比例