Advertisement

计算机视觉(cv)类

阅读量:
  1. 常见的模型加速方法

源自知乎:深度学习模型有哪些最新的加速技术?

加速的目的在于促进业务规模的扩大;然而由于计算资源相对匮乏,在当前环境下难以支撑起相应的算力需求;这直接导致模型的训练速度较慢、推理耗时较长以及上线过程存在诸多困难。通过计算优化、系统调优及硬件升级等多种途径来提高深度学习模型的训练效率与推理速度。

在这里插入图片描述

常见加速方法:模型结构优化、模型剪枝、模型量化、知识蒸馏

目标检测里如何有效解决常见的前景少背景多的问题

  • 采用Focal Loss或One-Hard-Example-Mining(OHEM)算法进行负样本选择,并提高Hard Example的损失权重

  • 在训练过程中仅基于Ground Truth的目标周围设置Prior Boxes,并不考虑非目标区域;特别针对具有挑战性的背景区域实施详细训练

在目标检测领域中存在哪些问题或场景无法被现有的SSD、YOLOv3及Faster R-CNN等算法完全解决?假想神经网络具备无限强的拟合能力,在这种理想情况下这些算法是否仍然存在难以处理的问题?以下将详细介绍三种主流的目标检测算法:包括但不限于Faster R-CNN算法及其应用实例分析;SSD技术原理与优化策略探讨;以及YOLO系列方法的特点与实现细节

ROIPool和ROIAlign的区别

该算法在实现过程中存在两次量化的不足:首先将候选框边界转换为整数坐标点;其次对量化后的区域均匀划分为k×k的小块,并对每个单元的边界均进行量化处理。与之相比,该方法通过双线性插值方法避免了直接的采样操作,并成功保留了原始区域的空间分布特性;从实验结果来看,在处理较大尺寸的目标物体时两者表现相近;但当图像中包含大量较小的目标物体时(K×K),建议优先采用ROIAlign方法以提高检测精度。

探讨常见的梯度下降优化方法

随机梯度下降(Stochastic gradient descent) :该算法通过随机地从训练集中选取单个样本来进行学习

小批量梯度下降(Mini-batch gradient descent) :Mini-batch梯度下降综合了batch梯度下降与 stochastic梯度下降,在每次更新速度与更新次数中间取得一个平衡,其每次更新从训练集中随机选择m,m<n个样本进行学习
梯度下降优化算法:
Momentum
Nesterov 加速梯度法
Adagrad
Adadelta
RMSProp
Adam
AMSGRAD
详情参考:常见梯度下降优化方法总结

您认为在深度检测领域还有哪些可以改进的地方? 大佬的一点看法

mini-Batch SGD相对于GD有什么优点
1)GD(Gradient Descent)

梯度下降:每次对整个数据集进行训练。

优点:其loss的收敛性好,因为每次参数的调整都考虑到了所有的数据。

主要缺陷:基于深度学习模型的训练需要对获取大量数据有较高的依赖性,并且导致每次训练过程耗时较长。

(2)SGD(Stochastic Gradient Descent)

随机梯度下降:每次挑选一个样本进行训练。

优点:基于每一次参数调整仅针对单个样本数据进行处理的原因,每一次训练都能显著减少所需时间。

问题:其loss的收敛性非常不稳定,并且模型每次参数更新都仅基于单个样本数据导致训练效果欠佳

(3)mini batch GD

小批量梯度下降:该算法介于GD和SGD之间,在每次迭代时使用batch_size个样本数据进行训练。

优点:在训练过程中,在训练过程中的时间资源消耗情况以及损失函数收敛性和稳定性这两个方面都表现上不如某些标准,但也不至于达到最优水平。

计算时间:GD > \text{mini-batch GD} > \text{SGD}(数值越大计算时间随数值增大而增加)
收敛稳定性:GD > \text{mini-batch GD} > \text{SGD}(数值越大则收敛性越强)

全部评论 (0)

还没有任何评论哟~