2020.10.4论文笔记

2020.10.4论文笔记

关于可控文本生成的一些文章

PRETRAINED ENCYCLOPEDIA: WEAKLY SUPERVISED KNOWLEDGE-PRETRAINED LANGUAGE MODEL

该文章设计了一种以实体为中心训练目标,利用弱监督的训练方式在预训练过程中学习实体的相关知识。给定输入文本,首先识别其中的实体并将其与维基百科知识库中的实体进行链接,定义原始文本为正例。随机选取文本中的实体,再随机选择同类型的其他实体名对选中实体进行替换,生成负例。训练过程即为对上下文C中出现的实体e是否被替换进行二分类预测。

2020.10.4论文笔记
进行实体替换时,首先需通过Wikidata知识库确定其实体类型,并随机选取该实体类型下的其他实体替换原实体,每个实体会通过同样的方式进行10次替换,生成10个不同的负例。相邻实体不会被同时替换,以避免多个连续的负例组成了符合事实的描述。
2020.10.4论文笔记
使用了BERT-base预训练模型,对于每个实体,取最后一层Transformer输出中该实体第一个词的前一个词和最后一个词的后一个词的隐层表示用于预测,预测通过将两表示连接后,经过一线性层,进行二分类。

; NON-AUTOREGRESSIVE NEURAL MACHINE TRANSLATION

以往的NMT模型都是采用的autoregressive的方式进行infer结果,也即模型每次基于之前生成的词去生成序列中的下一个词。这种做法的一个主要劣势就是模型在infer的时候计算速度会受这种计算方式限制,无法进行并行计算。这篇文章提出一种non-autoregressive的方式来生成翻译结果,在翻译时能够并行地输出整个句子结果。

2020.10.4论文笔记
简单的非自回归模型有很多问题,作者举例英语的”Thank you” 翻译成德语有三种形式”Danke.”, “Danke sch¨on.”, or “Vielen Dank.”,如果用这种naïve的模型很可能会翻译出来”Danke Dank.”的结果。
为了解决这个问题,作者提出引入隐含变量的方式,这个隐含变量包含了目标句子的mode信息,再用这个 mode 信息来指导 decode 过程,减小了 decoder 的搜索空间。
作者选择了Fertility predictors的结果作为隐含变量。Fertility predictors输出的是源句子中每个词的含义在目标句子中重复的次数,将Fertility值和原始输入X结合得到了decoder的输入。
2020.10.4论文笔记
non-autoregressive nmt 训练的loss 分为两部分,为上式中的translation loss 和 fertility loss,训练过程分别对翻译结果和Fertility进行监督。Fertility的监督信息有单独的判别模型进行学习。
2020.10.4论文笔记

为了帮助模型训练,作者还采用了两种辅助训练的方式,Sequence-level knowledge distillation和Fine-tuning这两种辅助方式都是为了补足fertility作为隐含变量可能不是那么完美的问题。最终,fine-tuning阶段,训练用的loss是

2020.10.4论文笔记
训练好的模型在infer的时候,采用以下三种方式:
argmax decoding: 先取最大概率的f t f_t f t ​,再在得到的f t f_t f t ​的基础上取最大概率的Y。
average decoding: f t f_t f t ​是求均值得到的。
noisy parallel decoding: 将不同的f t f_t f t ​结果得到的Y,经过训练好的auto-regressive model,取得分最高的Y。这个过程比较费时,但是所有的句子是已经生成好的,可以同时对多个句子进行算分。

Insertion Transformer: Flexible Sequence Generation via Insertion Operations

本文提出了基于插入单词(insertion)这个基本操作,可以实现能够动态控制目标语句长度的NAT模型。生成时,目标语句初始的状态都是空。模型将当前状态作为输入,输出为一次插入操作。它包括两个元素:单词和位置,即模型同时预测需要插入的单词以及它被插入的相对位置。如图中所示,这样得到的解码操作可以是序列的(每次仅插入一个词),也可以是并行的(每次插入多个词)。

2020.10.4论文笔记
Loss Functions主要有三种
Left-to-Right
2020.10.4论文笔记
Balanced Binary Tree
2020.10.4论文笔记
Uniform
不给模型施加约束,让模型自己探索生成方式

本文提出了两种停止条件
Slot Finalization在训练时引入了end-of-slot token,来和label为空的slot计算损失函数。在inference时,当且仅当全部slot location的预测都为end-of-slot时,停止继续解码。
Sequence Finalization则还是用的传统的end-of-sequence token,在全部单词都生成之后,将每个slot location都和end-of-sequence token计算损失函数。在inference时,当任意一个slot location的预测结果是end-of-sequence token时,停止解码。

; Levenshtein Transformer

2020.10.4论文笔记
通过三个操作,删除,插入placeholder,在placeholder处预测具体词实现non-autoregressive模型。
2020.10.4论文笔记
训练时使用了知识蒸馏,通过加入噪音生成训练数据,预测时加入了Penalty for Empty Placeholders。
2020.10.4论文笔记

Non-Autoregressive Neural Dialogue Generation

2020.10.4论文笔记

2020.10.4论文笔记
MMI公式计算前向概率和后向概率的的加权和作为Loss。

2020.10.4论文笔记
计算前向概率和后向概率都使用non-AR transformer作为基础模型。
(后向只用一个词估计整句话不太准确)

; LAVANAT : A Non-Autoregressive Translation Model with Look-Around Decoding and Vocabulary Attention

本文提出了LAVANAT模型,引入了Vocabulary attention(VA)和Look-Around (LA) Decoding两个新方法。

2020.10.4论文笔记
Vocabulary attention(VA) 在decode阶段与整个字典计算注意力。设解码器的输入是Z Z Z,我们让解码器中间的特征向量去关注字典W W W,,这相当于是令自注意力中的Q = Z , K = V = W Q=Z,K=V=W Q =Z ,K =V =W。
对所有字符进行这个操作,就得到了字典关注特征向量A A A,然后,把它和原来的解码器特征向量拼接起来得到[ Z ; A ] [Z;A][Z ;A ],送到下一层。
2020.10.4论文笔记
Look-Around (LA) Decoding在正式生成字符之前,对每个位置先预测它附近的其他位置”可能”会生成哪些字符,然后再结合这种先验信息去生成自己位置的字符。
2020.10.4论文笔记
2020.10.4论文笔记
预测时具体提出几种新的解码方法,Link and Restore把周围两个词和自己都作为备选词,产生一些句子后再从中挑概率最大的。
Dynamic Bidirectional Decoding从句子中挑概率低与阈值的词重新预测。
2020.10.4论文笔记

An EM Approach to Non-autoregressive Conditional Sequence Generation

2020.10.4论文笔记

使用了EM算法,没有看懂。
提出了Corpus-level Multi-modality的概念,NAR模型完全无法解决这个问题

2020.10.4论文笔记
具体算法如下
2020.10.4论文笔记

; FlowSeq: Non-Autoregressive Conditional Sequence Generation with Generative Flow

使用了变分推断中的normalizing flows,真没看懂,以后再编辑

Original: https://blog.csdn.net/weixin_43793544/article/details/108895672
Author: 装甲独角兽
Title: 2020.10.4论文笔记

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/595196/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球