0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

关于VAE在自然语言处理上的应用的一些思考

Posted at

前言

我这几天才开始在qiita上发记事,不单止是为了分享实验成果,更重要的是通过语言为自己混乱的思维引入结构。这几天的记事大部分是关于VAE。第一次听说VAE已经是半年前在京都的时候,我为它的自动生成能力而折服,经过几个月的学习,我终于有能力用手边的工具搭建项目开展实验,而VAE的本质也逐渐在我的凝视下展示自身。

在探究研究方向的时候我就突发奇想,能不能像word2vec一样,对句子生成的embedding进行向量操作呢? 可是5年前已经有人想过这个问题了,而成果便是这篇paper: Generating Sentences from a Continuous Space。第一作者隶属谷歌,同时也是指针网络的创造者。

VAE最大的特点是可以提供我们一个检视潜在空间=检视输入数据同构性的手段。所以我们先来看看论文展示的成果如下图:

Screenshot from 2021-02-22 11-42-12.png

我们可以看到两个句子间确实能产生平滑的迁移。这是非常震撼人心的。如论文所言,这意味着我们拥有了量化句子与句子之间同构性的工具。

word2vec在2012年的时候带给自然语言处理领域强烈的震撼,透过w2v的视角来看,句子VAE实际上可以理解成w2v在句子上的应用。因为两者的主题是一致的: 潜在空间操作。

BERT

句子VAE可以用来填补句子中缺失的词语,这一下子就让我想起了BERT。BERT现在如日中天,它的训练方式正是填补句子的缺失词语。

BERT可以被用作句子VAE的encoder吗?我认为答案是可以,但是很难。我们可以用CLS token的输出作为句子在潜在空间的向量,然后解码——这正是困难所在,我唯一能想到的方法是用RNN一个字符一个字符地输出,直到完成整个句子。为什么我们不以单词为单位输出呢?因为BERT不是static embedding,单词在BERT里没有固定的向量表示。那么我们能借用类似word2vec的static embedding来训练吗?答案是可以。可是,无论是一个字符一个字符地输出,还是借用w2v的词汇表输出,都显得非常tricky,因为输出的结果跟bert完全无关。

BERT能够将句子编码到潜在空间,可是却丧失了解码的能力。这是抛弃static embedding的一个后果,是值得我们反思的。

QA上的应用

其实我重燃对VAE的兴趣的原因是,之前和一个同样研究NLP的网友聊研究方向,他做的是QA,想要用VAE产生的潜在空间来自动生成更加丰富的答案。

这里我看到的是一个VAE的变种应用,甚至可以说它们已经不再是AE,因为香草AE的目标首先是重建输入,而在问答上的应用,输入是问题,输出是回答。在这样的对比的张力下,我再次发现了AE的一个特点,那就是假定输入和输出存在唯一的对应关系。这个假设在图像重建上很好理解,输入和输出确实是一一对应的,而在QA的应用上则显得比较强硬——一个问题只能对应到一个固定的回答吗?要记住我们不是在做选择题。虽然VAE引入的随机数让输出的回答变得宽泛了,但是本质上我们的训练还是基于同样的假设。

不过,也许这只是受限于数据库——我们没有同个问题对应多个回答的数据库。但是训练的结果真的能那么称心如意吗?VAE的另一个假设是,原始输入里包含有一种未加区分的联系。两个差不多的问题,可以导致潜在空间邻近的两个点,解码的时候,两者的答案可能会产生混淆。但是由于问题差不多,所以答案混淆倒也是情理之中。

思考的结果是,这确实是一个值得研究的课题。

highway network

据说encoder和decoder之间要用高速公路网络连接,但是我没有这方面的知识,所以仅作参考。

作为总结

经过以上思考,我发现潜在空间确实是一个十分吸引人的主题,我们甚至能称之为自然语言的新大陆。

然后,我最近也在思考static embedding相关的问题,显然本质的吸引力还是源于潜在空间。最后,我们多了一个投身于BERT之前加以犹豫的理由。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?