如何让BERT具有文本生成能力
来自:NLP从入门到放弃
今天分享一个论文UniLM[1],核心点是掌握三种LM任务形式:单向LM,双向LM,序列到序列LM;
1. 生成任务
NLP任务大致可以分为NLU和NLG两种;Bert在NLU任务上效果很好,但是天生不适合处理生成任务。
原因在于Bert的预训练过程是使用的MLM,和生成任务的目标并不一致。
生成任务目标是每次蹦出来一个词,只能看到当前位置之前的词汇。
而Bert采用的是双向的语言模型,除了mask的单词,两个方向的词汇都可以被看到。
所以对Bert的一个改进思路就是让它在具有NLU能力的时候,同时兼备NLG能力。
2. 三种LM任务
UniLM做的就是这样一个事情。
具体的实现方式是设计了一系列的完形填空任务,这些完形填空任务的不同之处在于对上下文的定义。
从左到右的LM:使用mask单词的左侧单词来预测被遮掩的单词
从右到左的LM:和上面第一个相比就是方向的变化,使用mask单词的右侧单词来预测遮掩的单词
双向LM:就是当前mask的左右词汇都可以看到
sequence-to-sequence LM:这个就是UniLM能够具有生成能力的关键。我们的输入是source句子和target句子,mask单词在target上,那么当前mask的上下文就是source句子的所有单词和target句子中mask单词左侧的词汇可以被看到
我们把从左到右LM和从右到左LM我们归为一种任务叫单向LM;
有个点需要注意,三个任务是一起优化的,具体来讲是这样做的:
在训练的时候,1/3的时候使用双向LM,1/3的时候使用序列到序列 LM,1/6的时候使用从左到右的LM,1/6的时间使用从右到做的LM。
我们是使用不同的Mask矩阵来对应不同任务输入数据形式。
文中使用的是这样一张图来展示:
3. 其他细枝末节
Gelu 激励函数
24层TRM,最大长度512,1024Hidden Size,16Heads,340M参数量
初始化使用Bert Large
15%被mask,其中80%真正替换mask,10%随机替换,10%不动。替换的时候,80% 的时候替换单个token,20%的时候替换bigram 或者 trigram
第四个步骤类似中文实体词的mask,也算是一点改进。
有个细节点需要注意的是,作者强调,不同的segment embedding用来区分不同LM任务。
Bert的时候,区分上下句子,我们使用0和1,在这里,我们使用这个segment embedding用来区分任务:
比如说,双向对应0和1;单向left-right对应2;单向right-left对应3;序列对应4和5;
4. 总结
掌握以下几个细节点就可以:
联合训练三种任务:单向LM,双向LM,序列LM
使用不同的attention矩阵控制三种任务形式的参与
segment embedding可以区分不同的任务形式
mask的时候15% 的有被替换的概率,其中80% 被真正替换。在这80%真正替换的里面有80%单个token被替换,20%的二元或者三元tokens被替换
参考资料
[1]
Unified Language Model Pre-training for Natural Language Understanding and Generation: https://arxiv.org/pdf/1905.03197.pdf,
如何让BERT具有文本生成能力相关推荐
- 蒸馏 (distill_Distill-BERT:使用BERT进行更智能的文本生成
蒸馏 (distill The field of natural language processing is now in the age of large scale pretrained mod ...
- 肝了1W字!文本生成评价指标的进化与推翻
一只小狐狸带你解锁 炼丹术&NLP 秘籍 作者:林镇坤(中山大学研一,对文本生成和猫感兴趣) 前言 文本生成目前的一大瓶颈是如何客观,准确的评价机器生成文本的质量.一个好的评价指标(或者设置合 ...
- 文本生成(一)【NLP论文复现】Unified Language Model 文本生成从未如此轻松
Unified Language Model 文本生成从未如此轻松 前言 UniLM How to build UniLM Get 2D MASK Send 2D MASK to Bert 使用Uni ...
- ChatGPT之后我们要做什么?丨文本生成中的知识和控制
导读 ChatGPT出现后,语言理解与生成质量较之前有显著提升,但在知识性.逻辑性.可控性.可解释性方面仍然存在一些问题.如何让现有的聊天机器人拥有人类对话中丰富的先验知识?如何让生成的回复具有更强的 ...
- AI 赋予文字无限力量:“由文本生成一切”的一年
作者:Daniel Bashir TL;DR:得益于最新的技术进展,人工智能模型现在能将文本转化为其他形态.这篇文章回顾了 AIGC 的发展历程及现状,并预测未来的发展. "一种基于文本指令 ...
- 预训练生成模型:结合VAE与BERT/GPT-2提高文本生成效果
论文标题: Optimus: Organizing Sentences via Pre-trained Modeling of a Latent Space 论文作者: Chunyuan Li, Xi ...
- BERT生成能力改进:分离对话生成和对话理解
©NLP论文解读 原创•作者 | 吴雪梦Shinemon 研究方向 | 计算机视觉 导读说明: NLP任务大致可以分为NLU(自然语言理解)和NLG(自然语言生成)两种,NLU负责根据上下文去理解当前 ...
- AI 帮你说,基于 AI 文本生成的能力,生成祝福、对话、情话
摘要 新年.过节.日常中,我们经常需要一些话术,例如春节的拜年祝福信息,情人节表达爱情的话语等,复制粘贴别人的话术,可能撞车还显得没有诚意,这时候就需要 AI 来帮你,利用 AI 生成独一无二属于你的 ...
- 人大团队研究:面向文本生成,预训练模型进展梳理
作者 | 刘媛媛 来源 | 数据实战派 文本生成是 NLP 中最重要且颇具挑战性的任务之一.近年来,预训练语言模型 (Pretrained Language Models ,下文简称 "PL ...
- GPT2文本生成有问题?这里有些潜在解决思路
作者 | Leo Gao 译者 | 凯隐 编辑 | 夕颜 出品 | AI科技大本营(ID: rgznai100) [导读]在过去的一年中,人们对文本生成模型的兴趣重新燃起,这在很大程度上要归功于GPT ...
最新文章
- socketserver模块解析
- IDEA 重复代码快速重构
- C#一种最简单实用安全的单例模式,也是线程安全的
- python概念英文版_和我一起学python,基本概念 (life is short ,we need python)
- 百度贴吧个人主页_百度手机App商店社交应用排行榜,微信连续三个月霸占榜首...
- 美丽杭州,魅力杭州:弘阳地产水城新时代
- vs工程生成自定义图标的exe
- FSA-Net环境配置
- 我的世界服务器显示大字,我的世界上面指令让界面出现字体 | 手游网游页游攻略大全...
- 小程序--微信拼团设计实现
- 195元爱奇艺会员只卖5元 揭秘背后黑色产业链
- Python_Task09:文件与文件系统
- android 打开其它app,Android 在一个APP里打开另一个APP
- ppt转换pdf转换器免费下载
- 深入了解ESP8266WIFI模块的工作原理及特点---AT指令详解---透传概念----TCP和UDP的特点与区别-嵌入式软件面试常问
- 关于上传文件格式验证
- tensorflow与深度学习之一
- 在Pr中如何查看资源的路径,并迁移到当前项目文件夹中 替换素材
- 1115: [POI2009]石子游戏Kam
- python 读取配置文件,报错configparser.NoSectionError: No section 解决方案