relu的优缺点?
- SGD算法的收敛速度比 sigmoid 和 tanh 快;(梯度不会饱和,解决了梯度消失问题)
- 计算复杂度低,不需要进行指数运算, 适合用于后向传播。
缺点
- 对参数初始化和学习率非常敏感,存在神经元死亡;
- ReLU的输出均值也大于0,偏移现象和神经元死亡会共同影响网络的收敛性;
1*1卷积
- 跨通道的特征整合
- 特征通道的升维和降维
- 减少卷积核参数(简化模型)
过拟合的解决办法
- 正则化
- 提前终止迭代(Early stopping)
- Batch Normalization,Dropout
数据不均衡解决办法:
最直接的处理方式就是样本数量的调整了,常用的可以:
- 欠采样:减少多数类的数量(如随机欠采样、NearMiss、ENN)。
- 过采样:尽量多地增加少数类的的样本数量(如随机过采样、以及2.1.2数据增强方法),以达到类别间数目均衡。
- 数据增强
- 损失函数层面主流的方法也就是常用的代价敏感学习(cost-sensitive),为不同的分类错误给予不同惩罚力度(权重),在调节类别平衡的同时,也不会增加计算复杂度。
yolov5解决办法:
根据样本种类分布使用图像调用频率不同的方法解决。
- 将样本中的groundtruth读出来,存为一个列表;
- 统计训练样本列表中不同类别的矩形框个数,然后给每个类别按相应目标框数的倒数赋值,(数目越多的种类权重越小),形成按种类的分布直方图;
- 对于训练数据列表,每个epoch训练按照类别权重筛选出每类的图像作为训练数据,如使用random.choice(population, weights=None, *, cum_weights=None, k=1)更改训练图像索引,可达到样本均衡的效果。
特征金字塔应用:
现在的很多网络都使用了利用单个高层特征(比如说Faster R-CNN利用下采样四倍的卷积层)进行后续的物体的分类和bounding box的回归,但是这样做有一个明显的缺陷,即小物体本身具有的像素信息较少,在下采样的过程中极易被丢失,为了处理这种物体大小差异十分明显的检测问题,提出了特征金字塔的网络结构,能在增加极小的计算量的情况下,处理好物体检测中的多尺度变化问题。
SPP(空间金字塔池化)的提出就是为了解决CNN输入图像大小必须固定的问题,从而可以使得输入图像宽高比和大小任意
常用的加速模型推理的方法
模型剪枝
模型量化:
神经网络的提出证明了越宽越深越大的模型往往比越窄越浅越小的模型精度要高,但是越宽越深越大的模型对计算资源要求更高,在移动终端和嵌入式设备等资源受限的边缘侧应用场景中更加需要进行优化。模型量化 就是为了解决这类问题
量化方法:TensorRT
Focus:
YOLO里面输入的图像会先进入Focus模块,该模块主要是实现没有信息丢失的下采样。
YOLOv5——样本不均衡参考资料汇总_