计算机视觉(cv)类

  1. 常见的模型加速方法

参考于知乎:深度学习模型,有哪些最新的加速技术?

加速的目的:业务数据量大,但计算资源紧缺,导致模型训练慢、延时高、上线难。
处理方法:从计算优化、系统优化以及硬件优化等多方面提升深度学习模型在训练和推理阶段的速度。
计算机视觉(cv)类
常见加速方法:模型结构优化、模型剪枝、模型量化、知识蒸馏

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

    -采用Focal Loss或OHEM进行负样本挖掘,加大Hard Example损失权重
    -训练时只利用Ground Truth周边的Prior Boxes进行训练,忽略其他背景区域,只考虑困难背景区域

  2. 目标检测里有什么情况是SSD、YOLOv3、Faster R-CNN等所不能解决的,假设网络拟合能力无限强
    这里有三个模型的详解:Faster R-CNN、SSD和YOLO三个模型详解

  3. ROIPool和ROIAlign的区别

    ROIPool和ROIAlign的区别
    -ROIPool存在两次量化误差,首先是将候选框边界量化为整数点坐标值,其次是将量化后的边界区域平均分割成 k x k 个单元,对每一个单元的边界进行量化。ROIAlign通过双线性插值避免了量化操作,保存了原始ROI的空间分布,有效避免了误差的产生;对于检测图片中大目标物体时,两种方案的差别不大,而如果是图片中有较多小目标物体需要检测,则优先选择ROIAlign,更精准一些

  4. 介绍常见的梯度下降优化方法
    常见有三种梯度下降算法框架,它们不同之处在于每次学习(更新模型参数)使用的样本个数,每次更新使用不同的样本会导致每次学习的准确性和学习时间不同。
    全量梯度下降(Batch gradient descent):每次使用全量的训练集样本来更新模型参数;

    随机梯度下降(Stochastic gradient descent):每次从训练集中随机选择一个样本来进行学习

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

  5. Detection你觉的还有哪些可做的点
    大佬的一点看法

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

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

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

缺点:由于深度学习模型的训练依赖于大量的数据,所以每次进行训练都会消耗大量的时间。

(2)SGD(Stochastic Gradient Descent)

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

优点:由于每次的参数调整仅考虑一个样本数据,所以每次训练都会节省大量时间。

缺点:其loss的收敛性非常不稳定,因为参数的每一次调整仅仅考虑一个样本数据。

(3)mini batch GD

小批量梯度下降:它是GD和SGD的中和,每次取出batch_size个样本数据来进行训练。

优点:不论是训练过程中的时间消耗方面还是loss的收敛性稳定方面,都不是最差的,当然也不是最好的。

时间消耗:GD > mini batch GD > SGD (值越大消耗时间越长)
收敛性稳定情况:GD > mini batch GD > SGD (值越大越稳定)

上一篇:在PHP中使用GD,如何在PNG和GIF文件上创建透明的PNG水印? (JPG文件工作正常)


下一篇:齐岳定制Silica-coated Gd(DOTA) 钆修饰二氧化硅/BSA-Gd 牛血清白蛋白偶联钆/DOTA NOTA标记金纳米棒