《深度学习之PyTorch物体检测实战》读书笔记(二)神经网络的基本组成

第二章是Python基础,笔记省略

在这里插入图片描述

深度学习中常见的各种层

  • 卷积的本质是用卷积核的参数来提取数据的特征,通过矩阵点乘运算来得到结果。

  • 激活函数层的作用是为网络引入非线性,提升整个网络的表达能力。
    在这里插入图片描述
    Sigmoid函数

  • Sigmoid可以用来做二分类,但计算量较大,且容易出现梯度消失的现象。
    在这里插入图片描述
    ReLU函数

  • 计算简单速度快。
    在这里插入图片描述

Leaky ReLUctant函数

  • 效果没有ReLU好。
    在这里插入图片描述

Softmax函数

  • 用于多分类问题。

池化层用于降低特征图的参数量,提升计算速度,增加感受野,是一种降采样操作。

常用的池化操作为最大值池化和平均值池化。

Dropout用于处理深度学习中的过拟合现象。在训练过程中,每个神经元以概率p保留,以1-p的概率停止工作,每次前向传播保留下来的神经元都不同,使模型不太依赖于某些局部特征,泛化性能更强。
在这里插入图片描述
Dropout示意图。

网络越深,越难以训练和调参。因为浅层微弱变化经过多层线性变换和激活函数后会被放大,改变每一层的输入分布,造成深层的网络不断调整以适应这些分布变化,这种现象叫做ics (Internal Covariate Shift)。

BN层对每一个Batch的输入特征进行白化操作,即去均值方差过程。
在这里插入图片描述

这里的e应该是一个扰动,避免除零的情况(个人猜测)。

白化操作虽然从一定程度上避免了梯度饱和,但也限制了网络中数据的表达能力。

BN层在白化操作后又增加了一个线性变换 操作,让数据尽可能恢复本身的表达能力。
在这里插入图片描述
r和b是网络要学习的参数。

BN的优点:

  • 缓解梯度消失,加速网络收敛。
  • 简化调参,网络更稳定。
  • 防止过拟合。

BN的缺点:

  • BN在Batch较大的情况下才有较好的效果,但较大的Batch比较占内存,这是个矛盾点。
  • 测试集和训练集的Batch大小不同,测试集的效果受训练集的影响较大。

BN的后继者是GN(Group Normalization),从通道方向计算均值与方法,使用较为灵活,避开了Batch大小对归一化的影响。

全连接层(Full Connected Layers)一般都在卷积网络输出的特征图后面,每一个节点都与上下层的所有节点相连。
在这里插入图片描述
全连接层将卷积抽象出的特征图进一步映射到特定维度的标签空间。

全连接层的缺点是参数量太大,目前都采用全局平均池化层(Global Average Pooling)来取代全连接层。
GAP的优点:

  • 利用池化降低维度,减少网络参数。
  • 将特征提取与分类合二为一,可防止过拟合。
  • 去除了全连接层,可支持任意尺度的图像数据。

感受野(Receptive Field)是指特征图上的某个点能看到的输入图像的区域。
在这里插入图片描述
在这里插入图片描述
感受野的计算公式。

空洞卷积(Dilated Convolution)的作用是提升感受野的同时,保持图像尺寸的不变。
在这里插入图片描述
空洞卷积的缺点:

  • 网格效应,很多像素没有被利用到,会损失信息的连续性与相关性。
  • 远距离的信息没有相关性:本质上跟第一条是一样的。
  • 不同尺度物体的关系:这种方法对大尺度物体的检测有利,小尺度物体检测效果不理想。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pzb19841116

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值