标题:《Best Practices for Data-Efficient Modeling in NLG:How to Train Production-Ready Neural Models with Less Data》
作者:Facebook
时间:2020
项目地址:https://github.com/facebookresearch/DataEfficientNLG(只是个数据集仓库,暂时还没有开放code)
中文:数据高效建模的最佳实践NLG:如何用较少的数据训练可落地的神经网络模型
简介:
这篇论文属于一篇偏实验性论文,总结为一句话就是:流程化NLG在对话系统落地过程中开发步骤和评估策略。
baseline使用的是既有的BART,创新点主要在训练方法和评估指标上,即Bucketing训练策略 + TreeAccuracy评价策略。NLG任务的输入是tree-structured input的数据,其实就是任务型多轮对话的话语-状态-动作的嵌套结构,通过控制键值对实现对generated response的控制。
【按:Bucketing训练的操作细节必须开源后才能验证】

1 Bucketing训练策略

在深度学习中,我们通常随机选取一批(如batch_size = 64)数据进行模型的训练。Bucketing则是一种按照某种【策略】将数据分成一个个的bucket(桶),然后将一个个的Bucket的数据丢入到模型中进行训练。这样的训练方法可以减少在模型训练过程中由imbanlanced distribution带来的bias,也能提高数据的利用率,是常用的一种利用“少量数据”训练模型的方法。
设置Bucket策略的出发点是:各个bucket中的数据中,不一样的信息是希望模型能够学习的信息,一样的(共有的)信息是模型可以忽略的信息。
在本论文的任务上,因为数据是tree-structured的数据,作者这里数据的tree-structured degree和argument values,尝试了多种方法进行Bucketing,都取得了比random好的效果。
【按:其实可以预料得到,因为一个正确的bucket策略相当于引入了先验知识,让模型更能按照正确的方向进行优化学习。所以同等训练量和模型容纳能力的情况下,模型效果会更优。】

2 TreeAccuracy评价策略

除了BLEU等古典指标外,提出了Tree Accuracy指标。
Tree Accuracy: 因为数据本身是tree-structured数据,所以非常方便的检测生成文本的重要token是否是meaning representation中的token,如果是记为1,否或者缺失记为0;
【按:也是不难想到的,如果在关键词(如数字,是否)上表述错误,那就根本不能企业上线了。】

3 其他trick

除此之外,作者还尝试了一些动态数据增强(即训练中随机替换键值,使得每个epoch都不一样)的trick,多个相近领域的数据一起训练的trick,模型压缩等,都服务于较少量数据尽量贴合落地的问题。

4 总结

论文最后一段,对面向落地的NLG模型该如何训练进行了总结
在训练task-oriented对话系统时,不仅要考虑模型的精度,还需要考虑模型的数据利用率以及可接受性(acceptability),响应延迟和所需的开发维护成本。为此,我们提出一个NLG开发流程:

  • 根据数据中的结构(此处为基于树)对meaning representation进行Bucketing采样,以避免不必要和不平衡的数据采集,每个bucket收集1-3个case。训练模型并进行评估。
  • 如果有任务和语义相似的多个domain数据,可以先进行联合训练,然后进行domain内微调。训练模型并进行评估。
  • 实施动态数据增强(DDA),以减少响应对“可互换参数值”的依赖。与增强数据一起训练,并评估模型性能。
  • 首先,使用预训练的模型(例如BART)为未标记数据生成响应,得到增强数据。然后,用增强数据和人工标记的数据,训练一个小模型(KD)。最后,用人工标记数据,进一步微调该模型。评估模型性能。
  • 如有必要,请为每个MR存储桶收集更多示例,并从头开始部署模型。

《Best Practices for Data-Efficient Modeling in NLG:How to Train Production-Ready Neural Models with相关推荐

  1. 《Segment as Points for Efficient Online Multi-Object Tracking and Segmentation》论文阅读笔记

    <Segment as Points for Efficient Online Multi-Object Tracking and Segmentation>论文阅读笔记 1.介绍 2.相 ...

  2. Microsoft.Practices.EnterpriseLibrary.Data 数据库操作

    出处:Microsoft.Practices.EnterpriseLibMicrosoft.Practices.EnterpriseLibrary.Data 数据库操作 - 米高佐敦 - 博客园Mic ...

  3. webservice mysql配置文件_在WebService中使用Microsoft.Practices.EnterpriseLibrary.Data配置数据库...

    标签: 1. 新建WebApplication1项目 1.1 新建-Web-ASP.NET Empty Web Application--WebApplication1 1.2 添加一个WebForm ...

  4. 使用Microsoft.Practices.EnterpriseLibrary.Data调用存数过程Output参数注意事项

    最近拿了一个开源的源码看了下,在调试的过程中发现调用存数过程的output参数的时候一直出错,现在将问题记录下来. 问题描述: 1. 使用Microsoft.Practices.EnterpriseL ...

  5. 论文解读:《Linguistically Motivated Parallel Data Augmentation for Code-switch Language Model》

    <语言驱动的用于语码转换语言模型的并行数据增强> 论文地址:Linguistically Motivated Parallel Data Augmentation for Code-swi ...

  6. 精读《X3D: Expanding Architectures for Efficient Video Recognition》论文

    文章目录 1 背景说明 2 之前方法存在的问题 3 文章要解决的核心问题 4 文章的贡献 5 结论 6 X3D Networks 6.1 Basis instantiation 6.2 Expansi ...

  7. 《Learning from Synthetic Data for Crowd Counting in the Wild》论文笔记

    Learning from Synthetic Data for Crowd Counting in the Wild 论文翻译 Abstract 1. Introduction 2.Related ...

  8. 《Microsoft COCO Captions Data Collection and Evaluation Server》论文笔记

    出处:CVPR2015 Motivation 本文描述了MSCoco标题数据集及评估服务器(Microsoft COCO Caption dataset and evaluation server), ...

  9. 论文《Adversarial Binary Coding for Efficient Person Re-identification》翻译笔记

    论文链接:https://arxiv.org/pdf/1803.10914.pdf 摘要:行人重新识别(ReID)旨在匹配不同视图/场景的人. 除了准确性之外,由于使用大规模数据的苛刻应用,匹配效率受 ...

最新文章

  1. 200秒=超算1万年,谷歌实现“量子霸权”论文上架随即被撤回,引发全球热议...
  2. Forefront Client Security部署及配置
  3. shiro 实现登录验证功能
  4. 卷积神经网络之 - VGGNet
  5. 使用DOM读取和维护XML数据
  6. Qt 设置应用程序开机自启动
  7. linux 进程监控命令2——ps
  8. 带你掌握4种Python 排序算法
  9. 偷窥微信原创保护规则,优先体验付费阅读系统功能
  10. wps怎么图片透明_Tips:设置图片透明背景
  11. Django+nginx+uwsgi+ubuntu18.04网站部署
  12. 【BERT】源码分析(PART II)
  13. infoq mysql索引_MySQL 索引优化指南
  14. 计算机通信的应用,计算机技术在通信中的应用
  15. C/C++实现贪吃蛇游戏
  16. docker命令总结
  17. static变量的生存期问题
  18. ORA-00392 ORA-00312 错误处理
  19. HarmonyOS与Android的全面对比
  20. 用systemtap研究内核

热门文章

  1. js三级联动案例(省份,城市,县区,街道)
  2. 微信小程序扫描二维码条形码
  3. warning: React does not recognize the xxx prop on a DOM element
  4. 【代码阅读】DeepSC--preprocess_text.py
  5. POI-对于WORD的操作
  6. 支付宝手机网站支付签约强开WAP支付,提示“系统综合评估签约条件不满足”或不满足国家法律法规或支付宝用户服务协议等的解决方案!支付宝H5支付开通方法详解
  7. 教你一招!如何用 Python 实现 QQ 消息自动回复?
  8. 安全对外的接口--加签验签
  9. 染布厂ERP,染纱厂ERP
  10. 产品原型这么做,才叫真的爽