「本周值得读」是 PaperWeekly 的优质文章集合地。在这里,来自 NLP、CV、DL 等方向的学习达人,各自用精炼妙语推荐当下最新的高质量文章。
➊
#GAN#
Triple Generative Adversarial Nets
从博弈角度来说,TripleGAN 的博弈涉及三方,判别器、生成器和分类器。其中,判别器和生成器有对抗;判别器和分类器(在训练前期)有对抗;生成器和分类器协助作用。可以从斗地主的角度来看,判别器是地主,生成器和分类器是农民。
它拆掉分类器,就是一个 CGAN。拆掉生成器,它就是一个半监督的 GAN。此外,我们还能从对偶学习的角度进行解读,生成器对 p(x|y) 进行建模,而分类器则对 p(y|x) 建模。两者在判别器的统筹下达成 p(x,y) 的一致性。这是很漂亮的对偶思想!可以说这篇文章对三方的设计非常巧妙。
论文链接:
https://arxiv.org/abs/1703.02291
代码链接:
https://github.com/zhenxuan00/triple-gan
推荐人:
洪佳鹏,北京大学
(PaperWeekly arXiv 打卡小组)
➋
#问题生成#
Learning to Ask: Neural Question Generation for Reading Comprehension
本文提出一种基本 attention 的问题生成模型,模型依据输入的句子(段落)生成相应的问题。 本文提出了两种生成机制:基于句子、句子和段落结合。
解码模型:基于条件模型即:question = argmax P(y|x),其中 question 分解成词用 LSTM 逐字生成,输出可能存在一些稀有词,使用 UNK 代替,模型把其替换成相应生成步骤 attention 值最高的词。
基于句子:使用 bidirection rnn 编码句子,并结合 attention 生成句子表示,输入解码器。
基于句子和段落:使用 bidirection rnn 编码段落,并结合 attention 生成段落表示,拼接句子表示,输入解码器。
实验:使用 SQuAD 数据集,包含问题答案并且与问题有至少一个非停词重合的句子和问题组成 sentence-question pair,用作训练数据。
实验结果表明:本模型无论是机评还是人评效果都好于传统模型,另外,在人评时,生成的结果有好于人编写的问题。
* Accepted to ACL 2017
论文链接:
https://arxiv.org/abs/1705.00106
代码链接:
https://github.com/xinyadu/nqg
推荐人:
罗玄,北京邮电大学(PaperWeekly arXiv 打卡小组)
➌
#文本生成#
Toward Controlled Generation of Text
本文来自邢波小组,发表于 ICML2017。针对基于 VAE 的文本生成问题,作者提出了一个将 VAE 与 attribute discriminator 结合的模型,以实现对生成文本的属性(例如 sentiment,tense)的控制。
该模型有三个部分,encoder,generator (即 VAE 中的 decoder),discriminator。与 vanilla VAE 不同,对于一个句子输入 x,encoder 不仅要生成 latent variable z 的分布,还要生成 attribute c 的分布。这个 c 即是用来表示文本属性的。于是当 generator 基于 z 和 c 来生成句子 x^hat,我们就能通过控制 c 来控制生成的句子的属性。Discriminator 则是用来预测句子输入 x^hat 的属性 c^hat 的。
模型的训练分为两个部分:(1)普通的 VAE 的无指导训练可以优化 encoder 和 generator,但是这样并没有对 c 进行建模。为了让 c 能够包含我们指定的属性信息,就需要利用 discriminator;(2)标注少量的 x,c 数据对,使用文中提到的算法就能优化 generator 和 discriminator,并让 c 来 encode 特定的文本信息。通过上述两个部分的训练,这个 semi-supervised 的方法就能优化整个模型。
实验部分,本文使用 IMDB,Stanford Sentiment Treebank-2,TimeBank 来分别获得无标注,有 sentiment 标注,有 tense 标注的数据。实验方法为:人为指定了 c 后,用 generator 生成 x^hat,再用另外的分类器判断 x^hat 的标签与指定的 c 是否相符,即检验生成的文本是否符合我们希望的属性。结果表明,该模型好于 S-VAE [2]。另外从本文中给出的生成样例来看,模型的效果还是不错的。 与本文类似的工作还有 conditioned VAE [3,4],VHRED [5]。
论文链接:
https://arxiv.org/abs/1703.00955
[2]: https://arxiv.org/abs/1406.5298
[3]:
https://arxiv.org/abs/1703.10960
[4]:
https://arxiv.org/abs/1705.00316
[5]:
https://arxiv.org/abs/1605.06069
推荐人:
赵天雨,京都大学(PaperWeekly arXiv 打卡小组)
➍
#词向量#
Learned in Translation: Contextualized Word Vectors
词向量是深度学习在 NLP 任务中应用的一个基础部件,一个预训练好的高质量词向量作为其他下游任务的初始化将会提升下游任务的效果。本文用机器翻译任务训练好的 encoder 来输出考虑了上下文信息的词向量来代替之前常用的 word2vec 和 glove,本质上就是每个 word 在 encoder 中的 hidden vector,然后通过诸多下游任务,比如文本分类,qa 等验证了方法的有效性,并开放了 pytorch 实现的源代码。
论文链接:
https://arxiv.org/abs/1708.00107
代码链接:
https://github.com/salesforce/cove
官方博客解读:
https://einstein.ai/research/learned-in-translation-contextualized-word-vectors
推荐人:
大俊,PaperWeekly 首席客服
➎
#句向量#
A Simple But Tough To Beat Baseline For Sentence Embeddings
本文来自普林斯顿大学, 随着词向量在 nlp 任务中的成功, 更多的人开始探索较长文本如短语, 句子,段落的向量表示, 本文提出了一种简单但是有效的句向量算法, 只需要将句子中的向量进行加权平均, 再减去句子的矩阵的主成分即可, 但是本文算法在句子相似度, 文本蕴含, 文本分类问题都取得了更好的效果, 甚至在部分任务上, 超过了监督方法训练的句向量,文章还进一步证明, 经典的 CBOW 算法在采用 sub-sampling 的情况下,其实质与 本文所提的算法是等价的。 只是目的不同。
论文链接:
https://openreview.net/pdf?id=SyK00v5xx
代码链接:
https://github.com/PrincetonML/SIF
推荐人:
于翮,北京航空航天大学(PaperWeekly arXiv 打卡小组)
➏
#综述#
Recent Trends in Deep Learning Based Natural Language Processing