社区所有版块导航
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大盘点

机器学习算法与自然语言处理 • 3 年前 • 265 次点击  

MLNLP(机器学习算法与自然语言处理)社区是国内外知名自然语言处理社区,受众覆盖国内外NLP硕博生、高校老师以及企业研究人员。
社区的愿景是促进国内外自然语言处理,机器学习学术界、产业界和广大爱好者之间的交流和进步,特别是初学者同学们的进步。
转载自 | 极市平台
作者 | 李国趸
来源 | https://www.zhihu.com/question/540433389
  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) 效果存疑,反正我试了没啥效果,有人试过效果不错


技术交流群邀请函

△长按添加小助手

扫描二维码添加小助手微信

请备注:姓名-学校/公司-研究方向
(如:小张-哈工大-对话系统)
即可申请加入自然语言处理/Pytorch等技术交流群

关于我们

MLNLP社区 是由国内外自然语言处理学者联合构建的民间学术社区,目前已经发展为国内外知名自然语言处理社区,旗下包括  万人顶会交流群、AI臻选汇、MLNLP英才汇  以及  AI学术汇  等知名品牌,旨在促进机器学习,自然语言处理学术界、产业界和广大爱好者之间的进步。
社区可以为相关从业者的深造、就业及研究等方面提供开放交流平台。欢迎大家关注和加入我们。

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