HOW TO GENERATE A SEQUENCE
Autoregressive
CNN:通过卷积窗口对元素的相对位置进行建模
RNN:通过时序展开对元素的绝对位置进行建模
Transformer:全局计算attention,需要额外地提供位置信息
- 如何提供位置信息?
- fixed embedding
- learn positional embedding
- 全局建模造成的问题
- 虽然可以并行化,计算复杂度与输入序列长度成平方的关系,速度
- 全局建模,attention 会分配到无关紧要的元素
Non-Autoregressive
decode with Transformer
- 如何处理解码输入的问题(fertility)
- 解码元素之间相互依赖关系较弱,如何处理多模态问题
- 抛弃了RNN解码器,如何解决最优解码序列的搜索问题(beam search)
NMT V.S. Text Summarization
区别:
- sequence length (long term dependency)
- difference in length between input and output
- difference in mapping input to output
相同:
- 文本间的映射
- NLU + NLG
MAKE TRANSFORMER FASTER
方向:
- 降低序列长度
- 舍弃全局依赖,选择局部依赖
- 防止blocks之间信息不流通
方法:
- 先进行卷积,降低序列长度,在进行attention
- 切分blocks,每个block上各自进行self-attention
- 用sliding window,使每个block之间有overlapping
SEVERAL METHODS
Review Networks for Caption Generation NIPS 2016
- 注重于encoder端,利用reviewer对encoder output重新进行编码,得到thought vector
- decoding过程是基于thought vectors,而不是encoding states
- 作者将该方法用在了Image Caption上,输入不是sequence,而是image
基于thought vector解码的时候,Pointer-generator network是没法使用的
Deliberation Networks: Sequence Generation Beyond One-Pass Decoding NIPS 2017- 进行编码,进行解码,得到解码器的output 以及hidden states
- 将解码器output的embedding与对应的hidden state进行拼接
- second-pass decoder对:1. encoding state进行attend,2. decoding state与output embedding的拼接进行attend
- 两个比较重要的点:双重解码,预训练模型
- reviewer用的还是source-side的信息,而deliberation用的就是target-side的信息
cannot replicate claimed ROUGE scores in this paper
3. Writing and Editing Network (摘要)
Abstract Writing through Editing Mechanism ACL 2018
- 进行编码,进行解码,得到解码器的output 以及hidden states
- second-pass decoder对:1. encoding state进行attend,2. decoding state的拼接进行attend
- 迭代“审阅-解码”过程
- 作者将算法应用到“由标题生成摘要的任务中去”
结果中还是只进行一次或者两次解码最好
Adaptive Multi-pass Decoder for Neural Machine Translation EMNLP 2018
- 与writing & Editing mechanism类似,但是模型可以自适应地选择进行多少轮解码
- 固定解码轮数,只考虑共性,忽略了个性:整体上效果好,但是效率比较低
- 训练出一个能够做出选择的policy network,以强化学习的方式对是否继续进行下一pass decoding
- 自适应解码轮数的训练方式,是否还能用mini-batch
n-pass decoder参数共享,只存在一个decoder
- autoregressive model的痛点:无法利用未解码部分的信息,先做一个草稿在接下来进行解码的时候获得解码的全局信息
- 与简单的加深解码器深度有什么区别?编码器+编码器 V.S. 解码器+解码器
- 都有attention mechanism,是在thought vectors上,还是在encoding hidden states上
- 只有deliberation使用了解码序列的embedding的信息,其他的都是直接利用
Thoughts
- multi-task learning
- auxiliary objective
- cross entropy loss with label smoothing
- embedding weight sharing
- decompose text summarization task:
- encoder
- decoder
- attention
- training strategy
- generation methods
TO DO
Lightweight Convolution Transformer论文:2019 Pay Less Attention with Lightweight and Dynamic Convolutions
- 实验设计
- pointer-generator,或者copy mechanism作为一个重要的module
- 加上coverage mechanism,trigram avoidance作为feature
- 评价指标
- 摘要长度
- ROUGE(with target)
- ROUGE(with source)
- 模型的参数量
- 训练时间
- inference 阶段的解码速度
- Perplexity
- 先复现依据的几篇论文中的基本network,论文中声称的成绩
- 了解多任务学习
想清楚motivation