深度学习trick

本次Tricks主要面向于深度学习中计算机视觉方向的研究,分为数据增广方法、训练技巧,参数调节这三个方面进行深入的分析。内容有一部分是基于openmmlab的mmdet和mmseg两个框架上的成熟应用案例进行详细阐述。

首先是数据增广的tricks:

  • 0、Flip、RandomFlip(随机翻转)

翻转,是最实在的,最基础的数据增广方法,简单,但是最有效。

  • 1、cutout(裁剪)

随机删除图像中的一个矩形区域,可以得到较好的训练结果,其实类似于dropout的操作

  • 2、mixup (混合提升)

mixup的作用是使得对数据的理解更具有线性化,破除由于数据分布不均匀,带来的误差。

  • 3、mosaic(随机马赛克增强)

极大丰富了检测物体的背景,一张顶几张!

还有类似于cutmix,还有很多tricks,还有代码这些就不细致的展开了,大家可以参考一下,以上方法有的是可以组合使用

在这里插入图片描述
在这里插入图片描述
这里是mmdet武器库中的一些数据增强方法:

在这里插入图片描述
在这里插入图片描述
这里是mmseg武器库的一些数据增强方法
https://github.com/open-mmlab/mmsegmentation/blob/master/docs/en/tutorials/training_tricks.md

然后是使用在模型训练的技巧!

  • 4、Backbone 和 Heads 的不同学习率 (LR)

因为Backbone和Heads在结构上的差异,使用不同的学习率是可以有效的使得网络整理达到更好,更稳定的收敛效果。

  • 5、多loss加权混合

一般会用在分割比较多,常见的有focal loss+Dice loss这类的,主要解决的问题也是类内不平衡叠加上样本数量不平衡等一系列问题。但是要注意的是,loss函数的组合的权重是需要自己去摸索的,目前我还不能找到一种普遍适用的自动化寻参方法,所以我建议大家仔细分析,保证组合后的损失函数下降不平衡导致的损失函数的倾斜化。

  • 6、带权重CEloss,类平衡损失(多类别问题)

对于不同数量的类别,我们会选择对损失函数加权的方法进行处理,让样本数量少的类别也能得到足够的重视。

训练过程中的优化器调节方法

  • 7、余弦退火算法

经典,有实验结果表明,效果挺好的。

  • 8、SWA

SWA是一种通过随机梯度下降改善深度学习模型泛化能力的方法,而且这种方法不会为训练增加额外的消耗,这种方法可以嵌入到Pytorch中的任何优化器类中。主要还是用于稳定模型的训练。

  • 9、seed(42)

随机种子数42,为啥是42,如同为啥一个星期有7天,而我要上7天班一样,没啥道理,但是就是要这样干。

测试常用技能

  • 10、推理过程中的TTA增强

TTA主要在测试时,对于测试数据集进行不同方向的预测后将预测的模型进行组合,在不改变模型内部参数的情况下,对效果进行提升,有点费推理时间,但是好用。

总结

我记得在kaggle上有种方法是叫call back,也就是自己给自己的测试集打个label放进训练,非常不讲武德。我还记得有一次有人用这种方法在一个分类比赛中,别人ACC:94,他们直接干上了98,非常离谱。其实还有个比较常用的一个技巧是多模融合,通常会跑几个模型,然后加在一起融合,在不计算和要求推理时间的条件下。他要模型多大,就做大概多少个模型,你就会发现,你们在单模,我多模,完全就是三个臭皮匠顶一个诸葛亮。大家对于tricks其实可以用,但是论文里面,如果是用tricks,work的话,是不能发的,所以大家多回到模型研究,tricks只是点缀的一些技巧罢了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/28193.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

概率论的学习和整理18:为什么 P(至少成功1次) = Σ P(几何分布) ,总结几何分布和连续失败概率的关系,二项分布和累计成功k次的关系

目录 1 先说结论: 2 Σ几何分布的P(xn) P(n次试验至少成功1次) 2.1 几何分布的概率 2.2 这个是可以证明的,下面是推导过程 2.3 怎么理解呢? 3 另外,P(累计成功k次) ΣP(成功k次的二项分布) 3.1 成功k次的概率 和 累计成…

【NLP】transformers的位置编码

一、背景 本文是“实现的变压器”系列的第二篇。它从头开始引入位置编码。然后,它

《3.linux应用编程和网络编程-第9部分-3.9.linux网络编程实践》3.9.6_7.soekct实践编程1_2

概念:端口号,实质就是一个数字编号,用来在我们一台主机中(主机的操作系统中)唯一的标识一个能上网的进程。端口号和IP地址一起会被打包到当前进程发出或者接收到的每一个数据包中。每一个数据包将来在网络上传递的时候…

Ubuntu学习笔记(二)——文件属性与权限

文章目录 前言一、用户与用户组1.用户(文件拥有者)2.用户组3.其他人 二、Linux用户身份与用户组记录文件1. /etc/passwd2. /etc/shadow3. /etc/group 三、文件属性与权限1. 查看文件属性的方法(ls)2.文件属性详细介绍2.1 权限2.2 …

jib进行本地打包,并上传本地镜像仓库

使用 Jib 进行本地打包和上传到本地镜像仓库是一种方便的方式,而无需编写 Dockerfile。Jib 是一个开源的 Java 容器镜像构建工具,它可以直接将 Java 项目打包为镜像,并将其推送到容器镜像仓库。 gradle 进行jib的配置 import java.time.Zon…

msvcp140.dll丢失怎么弄?分享几个最靠谱的解决方法

当你在运行某个程序或游戏时,突然收到一个错误提示,提示你的计算机缺少msvcp140.dll文件。这意味着你的计算机中缺少一个重要的系统文件,可能会导致程序无法正常运行。下面是一些详细的解决方法,帮助你解决msvcp140.dll丢失的问题…

Windows与Linux取证分析

目录 一、电子数据取证基本概念 1.电子取证学 2.常规取证 3.洛卡德物质交换原理 4.电子数据范围 5.电子数据取证的概念和目的 6.电子数据取证过程 二、Linux系统取证 1.基本信息获取 (1)获取系统基础信息 (2)用户/用户…

Windows安装Oh-My-Posh美化Powershell

Windows Terminal:https://www.microsoft.com/store/productId/9N0DX20HK701 最新Powershell下载:https://github.com/PowerShell/PowerShell/releases Oh-My-Posh官网:https://ohmyposh.dev/ Nerd字体下载:https://www.nerdfonts…

ubuntu20.04配置vscode

下载: https://az764295.vo.msecnd.net/stable/660393deaaa6d1996740ff4880f1bad43768c814/code_1.80.0-1688479026_amd64.debhttps://az764295.vo.msecnd.net/stable/660393deaaa6d1996740ff4880f1bad43768c814/code_1.80.0-1688479026_amd64.deb 安装&#xff1a…

Mysql数据库之事务

目录 一、事务的概念 二、事务的ACID特点 1.原子性(Atomicity) 2.一致性(Consistency) 3.隔离性(lsolation) 4.持久性(Durability) 三、并发访问表的一致性问题和事务的隔离级别 1.并发访…

【C++】开源:跨平台轻量日志库easyloggingpp

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍跨平台轻量日志库easyloggingpp。 无专精则不能成,无涉猎则不能通。。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下&am…

春秋云境—Initial

文章目录 春秋云境—Initial一、前期准备1、靶标介绍2、相关设备 二、WEB渗透1、ThinkPHP RCE(1)、打开网站(2)、检测漏洞 2、蚁剑连接3、sudo提权4、frpc代理5、fsacn扫描 三、后渗透1、信呼OA RCE(1)、1.…