0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Byte Cup 2018国际机器学习竞赛夺冠记

IEEE电气电子工程师 来源:lq 2019-02-14 09:44 次阅读

9月份,我们两位同学一起组队,参加Byte Cup 2018国际机器学习竞赛。本次比赛由中国人工智能学会和字节跳动主办,IEEE中国代表处联合组织。比赛的任务是文章标题自动生成。最终,我们队伍获得了第一名。

1.比赛介绍

本次比赛的任务是给定文章文本内容,自动生成标题。本质上和文本摘要任务比较类似。本次比赛有100多万篇文章的训练数据。

1.1数据介绍

详细参见:https://biendata.com/competition/bytecup2018/data/。

本次竞赛使用的训练集包括了约130万篇文本的信息,验证集1000篇文章,

测试集800篇文章。

1.2数据处理

文章去重,训练数据中包含一些重复数据,清洗,去重;

清洗非英文文章。

1.3评价指标

本次比赛将使用Rouge(Recall-Oriented Understudy for Gisting Evaluation)作为模型评估度量。Rough是评估自动文摘以及机器翻译的常见指标。它通过将自动生成的文本与人工生成的文本(即参考文本)进行比较,根据相似度得出分值。

2.模型介绍

本次比赛主要尝试了seq2seq的方法。参考的模型包括Transformer模型和pointer-generator模型。

模型如下图:

(其实就是将pointer-generator的copy机制加到transformer模型上)。

同时,尝试了将ner-tagger和pos-tagger信息加入到模型中,如下图所示:

3.问题分析

最开始我们尝试了最基本的transformer模型,通过查看数据,遇到以下几类明显错误:

OOV(out of vocabulary);

数字,人名,地名预测错误;

词形预测错误。

OOV问题,主要原因是数据集词表太大,但是,模型能够实际使用的词表较小;数字,人名,地名预测错误,主要原因是低频词embedding学习不充分;词形预测错误,主要原因是模型中没有考虑词的形态问题(当然,如果训练数据足够大,是能避免这个问题的)。

为了解决这些问题,我们尝试了以下方法。

4.重要组件

4.1copy机制

对于很多低频词,通过生成式方法生成,其实是很不靠谱的。为此,我们借鉴Pointer-generator的方法,在生成标题的单词的时候,通过Attention的概率分布,从原文中拷贝词。

4.2subword

为了避免oov问题,我们采用subword的方法,处理文本。这样,可以将词表大小减小到20k,同时,subword会包含一些单词词形结构的信息。

4.3ner-tagger和pos-tagger信息

因为baseline在数字,人名,地名,词形上预测错误率较高,所以我们考虑能不能将ner-tagger和pos-tagger信息加入到模型中。如上图所示。实验证明通过加入这两个序列信息能够大大加快模型的收敛速度(训练收敛后,指标上基本没差异)。

4.4Gradient Accumulation

在实验过程中,我们发现transformer模型对batch_size非常敏感。之前,有研究者在机器翻译任务中,通过实验也证明了这一观点。然而,对于文章标题生成任务,因为每个sample的文章长度较长,所以,并不能使用超大batch_size来训练模型,所以,我们用Gradient Accumulation的方法模拟超大batch_size。

4.5ensemble

采用了两层融合。第一层,对于每一个模型,将训练最后保存的N个模型参数求平均值(在valid集上选择最好的N)。第二层,通过不同随机种子得到的两个模型,一个作为生成候选标题模型(选择不同的beam_width, length_penalty), 一个作为打分模型,将候选标题送到模型打分,选择分数最高的标题。

5.失败的方法

将copy机制加入到transformer遇到一些问题,我们直接在decoder倒数第二层加了一层Attention层作为copy机制需要的概率分布,训练模型非常不稳定,并且结果比baseline还要差很多;

我们尝试了bert,我们将bert-encoder抽出的feature拼接到我们模型的encoder的最后一层,结果并没有得到提升;

word-embedding的选择,我们使用glove和fasttext等预训练的词向量,模型收敛速度加快,但是,结果并没有random的方法好。

6.结束语

非常感谢主办方举办本次比赛,通过本次比赛,我们探索,学习到了很多算法方法和调参技巧。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 人工智能
    +关注

    关注

    1775

    文章

    43702

    浏览量

    230483
  • 机器翻译
    +关注

    关注

    0

    文章

    138

    浏览量

    14793
  • 数据集
    +关注

    关注

    4

    文章

    1176

    浏览量

    24340

原文标题:Byte Cup 2018国际机器学习竞赛夺冠记

文章出处:【微信号:IEEE_China,微信公众号:IEEE电气电子工程师】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    byte属于java基本类型吗

    是的,byte属于Java的基本数据类型之一。Java中共有8种基本数据类型,分别是byte、short、int、long、float、double、char和boolean。byte类型用于表示
    的头像 发表于 12-05 10:40 334次阅读

    STM8S的配置字节Option Byte

    电子发烧友网站提供《STM8S的配置字节Option Byte.pdf》资料免费下载
    发表于 10-07 16:12 0次下载
    STM8S的配置字节Option <b class='flag-5'>Byte</b>

    机器学习发展历程

    机器学习发展历程:机器学习发展现状、机器学习发展前景和机器
    的头像 发表于 08-17 16:30 1097次阅读

    机器学习有哪些算法?机器学习分类算法有哪些?机器学习预判有哪些算法?

    机器学习有哪些算法?机器学习分类算法有哪些?机器学习预判有哪些算法?
    的头像 发表于 08-17 16:30 1369次阅读

    机器学习theta是什么?机器学习tpe是什么?

    机器学习theta是什么?机器学习tpe是什么? 机器学习是近年来蓬勃发展的一个领域,其相关技术
    的头像 发表于 08-17 16:30 1188次阅读

    机器学习是什么意思?机器学习属于什么分支?机器学习有什么用处?

    机器学习是什么意思?机器学习属于什么分支?机器学习是什么有什么用处?
    的头像 发表于 08-17 16:30 1254次阅读

    机器学习与数据挖掘的区别 机器学习与数据挖掘的关系

    机器学习与数据挖掘的区别 , 机器学习与数据挖掘的关系 机器学习与数据挖掘是如今热门的领域。随着
    的头像 发表于 08-17 16:30 1503次阅读

    机器学习算法入门 机器学习算法介绍 机器学习算法对比

    机器学习算法入门 机器学习算法介绍 机器学习算法对比 机器
    的头像 发表于 08-17 16:27 608次阅读

    机器学习算法总结 机器学习算法是什么 机器学习算法优缺点

    机器学习算法总结 机器学习算法是什么?机器学习算法优缺点?
    的头像 发表于 08-17 16:11 1026次阅读

    机器学习算法汇总 机器学习算法分类 机器学习算法模型

    机器学习算法汇总 机器学习算法分类 机器学习算法模型 机器
    的头像 发表于 08-17 16:11 701次阅读

    机器学习和深度学习的区别

    机器学习和深度学习的区别 随着人工智能技术的不断发展,机器学习和深度学习已经成为大家熟知的两个术
    的头像 发表于 08-17 16:11 3262次阅读

    机器学习可以分为哪几类?机器学习技术有哪些?

    机器学习可以分为哪几类?机器学习技术有哪些 机器学习(Machine Learning,ML)是
    的头像 发表于 08-17 16:11 4327次阅读

    MAX1664CUP - (Maxim Integrated) - PMIC - 稳压器 - 特殊用途

    电子发烧友网为你提供Maxim(Maxim)MAX1664CUP相关产品参数、数据手册,更有MAX1664CUP的引脚图、接线图、封装手册、中文资料、英文资料,MAX1664CUP真值表,MAX1664
    发表于 07-14 10:56
    MAX1664<b class='flag-5'>CUP</b> - (Maxim Integrated) - PMIC - 稳压器 - 特殊用途

    联合学习在传统机器学习方法中的应用

    联合学习在传统机器学习方法中的应用
    的头像 发表于 07-05 16:30 528次阅读
    联合<b class='flag-5'>学习</b>在传统<b class='flag-5'>机器</b><b class='flag-5'>学习</b>方法中的应用

    高效理解机器学习

    来源:DeepNoMind对于初学者来说,机器学习相当复杂,可能很容易迷失在细节的海洋里。本文通过将机器学习算法分为三个类别,梳理出一条相对清晰的路线,帮助初学者理解
    的头像 发表于 05-08 10:24 348次阅读
    高效理解<b class='flag-5'>机器</b><b class='flag-5'>学习</b>