深度学习500问
文章平均质量分 92
只有不断的思考与探索工程与理论的底层才能更好的解决实际的应用需求,欢迎各位与博主一起研究深度学习中一些潜在解答的问题
万里鹏程转瞬至
一名热爱深度学习算法实践的算法工程师,工作日长期活动在线,有项目研发技术问题均可私聊。
展开
-
模型剪枝实战|基于torch-pruning库代码对yolov8进行剪枝
torch-pruning库是一个开源的模型剪枝库,yolov8是是一个2年前较为先进的目标检测模型。在torch-pruning库中有很多模型剪枝案例,本文以yolov8剪枝代码为案例进行分析,代码路径在torch-pruning项目下examples\yolov8\yolov8_pruning.py。本博文基于官方代码对coco128数据进行剪枝尝试,发现剪枝后的map有6个点的下降,这主要是coco128数据不够,同时官方的剪枝代码训练参数不够灵活。最终提出了修改意见,也对代码中关键部分进行分析。原创 2024-07-27 12:25:33 · 1190 阅读 · 5 评论 -
模型剪枝中有哪些经验 | yolov5prune项目中模型剪枝经验分析
项目地址:https://github.com/midasklr/yolov5prune项目时间:2022年1月yolov5prune项目虽然是一个2年前的项目,但其是一个比较良好的剪枝案例。从中可以学习到模型剪枝相关的必要知识,为此对其信息及相关代码进行总结性分析,若要使用该项目则需要自行阅读项目md文档。根据项目分析,得出以下经验信息:1、进行稀疏化训练后,模型精度会有所下降,但稀疏化训练后剪枝模型(withou finetrun)精度下降不大,再次finetrun后精度会恢复;原创 2024-07-22 03:15:00 · 1169 阅读 · 0 评论 -
模型剪枝中的预训练权重真的有用么?重新思考模型剪枝的价值二
根据RETHINKING THE VALUE OF NETWORK PRUNING论文提供的数据初步整理出了模型剪枝的信息,但不够精练,故而在此深入分析。主要解决以下问题:1、模型剪枝真的有用么? 2、什么样的方案模型剪枝效果好?3、模型剪枝对性能影响大么?通过分析,得出结论,剪枝是有用的;自动结构化剪枝效果是综合效果最优的;对于任意规模的问题训练处的模型,剪枝50%基本上不会影响精度。原创 2024-07-13 23:23:34 · 749 阅读 · 0 评论 -
图像超分辨率重建相关概念、评价指标、数据集、模型
超分辨率(Super-Resolution),简称超分(SR)。是指利用光学及其相关光学知识,根据已知图像信息恢复图像细节和其他数据信息的过程,简单来说就是增大图像的分辨率,使图像更加“清晰”,尽可能保证图像质量不下降。超分辨率的方法包括传统方法和深度学习的方法,有关超分辨率方法分类如下图所示。深度学习方法在性能上远远领先于传统方法,有着更好的图像超分辨率表现。知乎用户 阿布的足迹 https://zhuanlan.zhihu.com/p/558813267从单一低分辨率图像中恢复高分辨率图像。原创 2024-05-20 00:52:19 · 4480 阅读 · 2 评论 -
模型剪枝中的预训练权重真的有用么?重新思考模型剪枝的价值
过度参数化是深度神经网络中一个被广泛存在的情况,这导致了高计算成本和高推理内存占用。在低资源环境下,网络剪枝被广泛用于降低深度模型的推理成本。典型的网络剪枝过程包括三个阶段: 1)训练一个大型的、过参数化的模型(有时有预训练后的模型),2)根据一定的标准对训练后的大型模型进行剪枝,3)对剪枝后的模型进行微调,以恢复失去的性能。网络剪枝方法的一个主要分支是个体权重剪枝(非结构化剪枝),该方法基于权重对结果的贡献进行剪枝(如L1、L2范数等)。然而,这些。原创 2024-04-14 10:57:48 · 1150 阅读 · 0 评论 -
如何实现sam(Segment Anything Model)|fastsam模型
通过本博文的查阅与分析,实现fastsam是较为简便的,且fastsam的性能可以随着全景实例分割模型的发展而进一步提升,同时也说明了fastsam中prompt的实现。而在sam中,各种实现较为生涩难懂,主要说明sam的模型结构,基本原理,数据生成范式。sam的亮点在于基于少量的语义分割标签,迭代出了一个1.1B 标签超大型数据集,其不断扩展标注数据量的思想是值得学习的;而在fastsam中则是对SAT重新定义得出SAT,基于对全景实例分割模型的后处理实现了类似sam的性能。原创 2024-03-13 22:48:16 · 2470 阅读 · 0 评论 -
如何选择出最适合的backbone模型?图像分类模型性能大摸底
到2023年图像分类backbone模型已经拓展到了几十个系列,而有的新算法还在采样vgg、resnet做backbone,比如2022年提出的GDIP-YOLO还在用VGG16做IA参数预测,那是在浪费计算资源并限制了模型性能的提升,应该将目光放到现在的最新模型中。以PaddleClas所支持的模型为基准对现行图像分类模型进行进行一个摸底,具体分为移动端模型、桌面端模型、服务器级模型。以在imagenet数据集上的精度为准,精度在80%附近的只考虑移动端模型,精度在85%附近考虑服务器级模型,精度超过85原创 2023-12-22 22:25:30 · 1367 阅读 · 0 评论 -
语义分割中的一些模型的分类汇总
语义分割是深度学习中的一个重要应用领域。自Unet提出到现在已经过去了8年,期间有很多创新式的语义分割模型。简单的总结了Unet++、Unet3+、HRNet、LinkNet、PSPNet、DeepLabv3、多尺度attention、HarDNet、SegFormer、SegNeXt等10个语义分割模型的基本特性。原创 2023-03-17 20:10:09 · 5041 阅读 · 0 评论 -
MoblieNetV1、V2、V3、ViT四种Moblie模型的分析对比
从MoblieNetV1、MoblieNetV2、MoblieNetV3到MoblieNetVit,模型系列经过了4次的迭代发展,但不离本质就是对conv的近似替代。先对conv的功能进行定义和拆分,然后对每一个子功能进行实现。试图以一个低参数高flop的block来替换掉原来的cnn层;在MoblieNet中,都是使用conv进行下采样,并没有使用池化层。MoblieNetV1提出了conv可以拆分为深度卷积和点卷积的组合,用深度分离卷积来近似标准卷积,虽然有一定的精度损失(越一个点),但能极大的降低原创 2023-07-04 22:27:10 · 3414 阅读 · 1 评论 -
卷积神经网络中池化层的详细介绍
自从2021年Transformer被引入到视觉模型后,卷积神经网络基本上要末路了,虽然此后也有ConvNeXt、SegNeXt成功挑战过Transformer的地位,但也无力挽回卷积神经网络的大势已去。ConvNeXt使用了一些列的训练技巧(AdamW 优化器、Mixup、Cutmix、RandAugment、Random Erasing等数据增强技)和随机深度和标签平滑等正则化方案,也不过是勉强将 ResNet-50 模型的性能从 76.1% 提高到了 78.8%。原创 2023-06-20 21:50:56 · 6805 阅读 · 1 评论 -
深度学习常用的backbone有哪些
深度学习中常用的backbone有resnet系列(resnet的各种变体)、NAS网络系列(RegNet)、Mobilenet系列、Darknet系列、HRNet系列、Transformer系列和ConvNet。原创 2022-09-28 11:09:27 · 11027 阅读 · 2 评论 -
深度学习中的激活函数有哪些?
深度学习中的激活函数有Sigmoid、Softmax、Tanh、ReLU系列(ReLU、Leaky ReLU、Randomized LeakyReLU、PReLU、ELU、Softplus)、Maxout、Softsign(对称函数)、GELUs(dropout于relu的结合)、Swish、Mish等。使用激活函数只有一个目的:为多层神经网络模型提供非线性。因为,没有激活函数时,多层神经网络的多个矩阵连乘可以化简为单层神经网络的矩阵乘法。...原创 2022-08-31 23:30:00 · 1758 阅读 · 3 评论 -
深度学习视觉领域中的attention机制的汇总解读(self-attention、交叉self-attention、ISSA、通道注意、空间注意、位置注意、Efficient Attention等)
self-attention来自nlp的研究中,在深度学习视觉领域有不少新的attention版本,为了解各种attention机制。博主汇集了6篇视觉领域中attention相关的论文,分别涉及DAnet(位置注意+通道注意)、CBAM(通道注意+空间注意)、Attention U-Net(注意Gate)、SAGAN(self-attention)、CCNet(交叉self-attention)、ISSA(Long-range self-Attention + Short-range self-Atten原创 2022-08-26 10:45:57 · 4119 阅读 · 0 评论 -
深度学习中有哪些较为有效的数据增广方式?
在图像分类任务中,图像数据的增广是一种常用的正则化方法,常用于数据量不足或者模型参数较多的场景。在本章节中,我们将对除 ImageNet 分类任务标准数据增广外的8种数据增广方式进行简单的介绍和对比,用户也可以将这些增广方法应用到自己的任务中,以获得模型精度的提升。这8种数据增广方式在ImageNet上的精度指标如下所示。...转载 2022-08-15 20:21:32 · 3562 阅读 · 0 评论 -
深度学习中有哪些常见的训练技巧
自深度学习发展以来,就有很多关于优化器的研究者工作,优化器的目的是为了让损失函数尽可能的小,从而找到合适的参数来完成某项任务。目前业界主要用到的优化器有SGD、RMSProp、Adam、AdaDelt等,其中由于带momentum的SGD优化器广泛应用于学术界和工业界,所以我们发布的模型也大都使用该优化器来实现损失函数的梯度下降。带momentum的SGD优化器有两个劣势,其一是收敛速度慢,其二是初始学习率的设置需要依靠大量的经验,然而如果初始学习率设置得当并且迭代轮数充足,该优化器也会在众多的优化器中脱颖转载 2022-08-15 14:47:53 · 2965 阅读 · 0 评论 -
该如何训练好深度学习模型?
如做图像分类时,resnet系列、densenet系列、efficientnet系统、hrnet系列都可以测试一下。但是,并非所有的工作都能用到预训练模型,有的时候完全需要我们。原创 2022-08-04 17:39:02 · 3295 阅读 · 0 评论 -
理论问题与工程问题的差异在哪里?
理论问题与工程问题的差异有哪些,这是一个高深的问题,博主的见解不一定对,仅供参考。博主在还是硕士时,沉寂于水论文的庸俗之道中,也曾经有过很多惊艳的“创新”想法,结果上网一搜别人早就发了论文。整体来说,博主水论文是一直是围绕着理论问题在开展工作;后来博主面向工作时,则一直面向工程问题开展工作。因此,对理论问题与工程问题颇有思考,故写下这篇浅薄的博文。博主这里讨论的范围仅限于深度学习领域,其他一概不论。......原创 2022-08-01 16:34:08 · 1636 阅读 · 0 评论 -
深度学习可以求解特定函数的参数么?
深度学习作为当下最为热门的技术,可以求解很多产业问题,如情感分析、故障预测、人脸识别、股票趋势预测,气象预测等等。这些应用展示了深度学习强大的能力,那么可以将深度学习技术应用到特定函数的参数求解上么?先上答案,不可以。深度学习技术无法应用到特定函数的参数求解问题上,因为深度学习虽然可以拟合任意函数的,但是却无法给出具体的函数形式。就如resnet、densenet一样,虽然知道他们很好的解决的imagenet数据集的分类问题,但却无法给出具体的函数的形式。...原创 2022-07-30 09:28:23 · 489 阅读 · 4 评论 -
深度学习中单个数字可以做多分类么?
单个数字做不了多分类,本质原因是单个数字只能描述一种属性,一种属性最多只能判断两种类别。所以,单个数字只能做二分类。如果能在一个数字内解析出多种属性,比如说嵌入,那么就可以对单个数字做多分类。但是由于嵌入的方式忽略数值本身,那也就不可能解析数字内有的属性。亦或者,是人工对数字特征进行解析,除特定数的余数是多少,前n位的值是多少,后n位的值是多少。比如输入n个数据,可以做k(k>=2)个类别的分类。这里k可以大于n,因为通过数据之间的线性变化与排列组合,可以形成新的属性。......原创 2022-07-18 00:05:36 · 538 阅读 · 0 评论