社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

深度学习刷SOTA有哪些trick?

CV技术指南 • 1 年前 • 262 次点击  

前言 对深度学习而言,不论是学术研究还是落地应用都需要尽可能提升模型效果,这往往需要trick进行支撑。这些trick有的是广泛适用的(如循环学习率、BN等等),有的是任务特定的(比如cv里的数据增强,nlp里的mask,推荐里的降采样)。些trick有的能够提升网络精度,有的能够加速收敛,有的甚至比模型提升更加显著大家各自的领域中,有哪些常遇到的、易实践的、易推广的trick呢?

Pytorch训练营,花两个星期彻底掌握代码实现

CV各大方向专栏与各个部署框架最全教程整理

CV全栈指导班、基础入门班、论文指导班 全面上线!!

来源:深度学习与计算机视觉
仅用于学术分享,若侵权请联系删除
链接:https://www.zhihu.com/question/540433389
仅做学术分享,侵删


作者:Gordon Lee
https://www.zhihu.com/question/540433389/answer/2549775065

1.R-Drop:两次前向+KL loss约束
2. MLM: 在领域语料上用mlm进一步预训练 (Post-training)
3. EFL: 少样本下,把分类问题转为匹配问题,把输入构造为NSP任务形式.
4. 混合精度fp16: 加快训练速度,提高训练精度
5. 多卡ddp训练的时候,用到梯度累积时,可以使用no_sync减少不必要的梯度同步,加快速度
6. 对于验证集或者测试集特别大的情况,可以尝试多卡inference,需要用的就是dist.all_gather,对于非张量的话也可以用all_gather_object
7. PET: 少样本下,把分类转为mask位置预测,并构造verbalizer,参考EACL2021. PET
8. ArcFaceLoss:双塔句子匹配的loss把NT-Xent loss改成arccos的形式,参考ACL2022. ArcCSE
9. 数据增强在zero shot x-lingual transfer:code switch,machine translation..记得最后加一致性loss,参考consistency regularization for cross lingual finetuning
10. SimCSE:继续在领域语料上做simcse的预训练
11. Focal loss: 不平衡的处理
12. 双塔迟交互:maxsim操作:query和doc的每个token表征算相似度,取最大相似度再求和。速度和精度都有一个很好的平衡,参考colbert
13. 持续学习减轻遗忘:EWC方法+一个很强的预训练模型效果很不错。就是加一个正则让重要参数遗忘不太多,重要性用fisher信息度量。
14. 对抗训练:FGM,PGD,能提点,就是训练慢,
15. memory bank增大bsz,虽然我感觉有时候有点鸡肋
16. PolyLoss: -logpt + eps * (1-pt) 效果存疑,反正我试了没啥效果,有人试过效果不错

作者:罗胤
https://www.zhihu.com/question/540433389/answer/2669605576

比较同意高赞说的,对性能影响最大的其实还是数据

上学时也喜欢去了解各种刷分的trick,想着将来在比赛中用,说不定能出奇效,最好能直接一击制胜。比赛中,这确实有必要,因为比赛数据是提供好的,我们所需要做的就是要去探索各种好使的奇技淫巧,甭管什么,能涨分就行了
工作后才发现实际做业务的时候最关心的还是数据,性能不好,继续标数据就行了,要不就业务方标要不就自己标,真的就有标了那几十条百来条数据后性能大涨的情况。当然这里得说一下,标数据也是有章法的,不是什么数据都标,基本上的步骤流程都是分析模型bad case的规律,然后找类似的数据来标注。这个过程的最终结果是选了对于当前模型状态来说,最有价值的一批数据来进行标注,本质上其实就是进行人肉的主动学习。不过我没去试过一些主流的主动学习方法,不知道好不好用,了解的同学可以回答一下:-)
话说回来,实际业务中,相对于trick,标数据的综合收益是最大的,因为数据本身就是一种珍贵的资源,特别是对于带标签数据,标数据那就是前人栽树后人乘凉的行为,积累到一定程度也能成为壁垒。而trick的话,一个是不一定好用,然后不一定正交,最后还不一定通用,整体不确定性比较大,回报率还是比较低的,所以不如直接简单粗暴标数据 。


作者:AI高级人工智能
https://www.zhihu.com/question/540433389/answer/2601363270

旅游景区是一种以旅游及相关活动为主的区域场所,通常供游客在闲暇之余参观游览、度假、健身等,同时也具备相关的设施和提供相应旅游服务的独立管理区。旅游景区主要是围绕着各种山水、寺庙、公园等建立的。      异常行为是一种社会生活中普遍存在的社会现象,分为一般性异常行为,例如违反交通等,以及严重异常行为,例如违法犯罪行为等。更具体来讲,异常行为是指在某一种场景中,在正常时刻的正常位置发生的不寻常动作,或是在非正常时刻的非正常位置发生的动作。该行为通常是由人类发出的,包括一些暴力性质行为(如挥拳、用脚踹、奔跑、踩踏等),该类行为通常是在两人以上条件下发生,且动作发生快,另外是一些非暴力性质行为(如涂画、静坐、行走等),该类行为一般是由一人发起的,且动作发生过程较长。

异常行为识别系统是通过计算机视觉技术、图像视频处理技术和人工智能识别技术对监控视频内容进行分析,再根据分析结果对系统进行控制的过程。
对于旅游景区中的异常行为识别系统,是指通过检测景区中的监控视频来实时识别并预警各种游客的特定异常行为,从而达到监管要求。

若觉得还不错的话,请点个 “赞” 或 “在看” 吧

有没有发过两篇以上顶会,或3-5篇以上其他论文、且空余时间比较多的朋友,可以联系我聊点计划。仅限CV方向。加好友时请备注:“论文”

想要了解更多CV/DL【技术专栏系列】(2D/3D检测、分割、Diffusion Model、AIGC、Transformer、点云、缺陷检测、遥感图像、量化剪枝蒸馏、REID、域自适应、医学图像、目标跟踪、车道线、行为识别、BEV、人脸识别、图神经网络、GAN等)、【实践部署教程】(TensorRT、OpenVino、CUDA、Pytorch、MMlab系列等)、【行业最新动态】、【开源库分享】、【最新论文解读】,欢迎扫码加入【CV技术指南】知识星球,这是一个提供一站式服务的科研平台,致力于提供各个方向全面而有深度的专栏内容,期待你的加入!



Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/159130
 
262 次点击