引用格式:Xie Z, Ma S. Dual-View Variational Autoencoders for Semi-Supervised Text Matching[C]//IJCAI. 2019: 5306-5312.
说明:关于这篇论文的阅读可能只停留在任务的了解以及模型中关于dual-view variational autoencoder的理解
摘要翻译
两个文本序列(通常是两个句子)的语义匹配是nlp的一个基本问题。以往的大多数方法要么将两个句子各自编码成一个向量表示(句子级嵌入),要么利用两个句子之间的词级交互特征。在本研究中,我们提出将句子层次嵌入特征和词层次交互特征作为句子对的两种不同视图的表示,并将它们统一到一个变分自编码框架中,使句子对以半监督的方式进行匹配。我们提出的模型称为双视图变分自编码器(DV-VAE),其中变分下界的优化可以解释为匹配模型在两个视图上的隐式协同训练机制。
不同于我们以往关注的多视图数据输入,改论文的dual-view相当于是同一个样本的两种向量表示方法。虽然不是真正意义上的多视图数据,但也具备了多视图数据的特点,并且在这种表示中降低了不同视图间的不一致性,从而简化了多视图文本存在的难点问题。
dual-view数据的表示(对改论文针对任务的一个了解)
text match models.png这里只是一个简单的示意图,在后续的模型中将构成数据的dual-view。
任务及输入解释:
假设有一个带标签的句子对集合和无标记句子对集。表示一个标记句子对,其中是两个句子和是和的匹配度(在这里将离散化,将文本匹配作为分类问题处理)。类似地,表示未标记的一个句子对。我们的目标是使用标记和未标记数据和建模,开发一个半监督的文本匹配模型,比起仅使用标记的数据监督文本匹配模型而言,它可以提高性能。
模型结构
probabilistic graphical model of DV-VAE.pngDV-VAE的概率图模型如上图所示(这里只是展示了一个关于概率的转换图,不是完整的模型结构图)。它由从嵌入视图匹配的生成模型和从交互视图匹配的推断模型组成。其实感觉上图只是dual-view双视图VAE(红框中的部分),该论文是在此基础上添加了semi-observed的y来使得视图连通,可以共享。
- 生成模型
句子对以及其匹配度的生成过程可以叙述为如下:两个连续的隐含表示独立的从先验中采样,并用于生成通过。当然作为embedding view,也被喂入 sentence encoding-based matching model 去产生其对应的匹配度. 生成模型部分的联合分布可以表示为:
此时我们便得到了来自embedding view的匹配度。备注:这里构造关于的先验分布的意义在于说明对于不同的句子,他们的先验是一样的。这样可能好理解一点。
- 推断模型
根据生成模型的条件独立性,变分后验可以分解为:
factorized form.png
这里添加条件概率公式的推导:(因为我是菜鸡)
=
z1的产生只与x1有关,z2的产生只与x2有关,所以有
=
另,z1和z2是在x1和x2给定的条件下产生的,因此可以简化为
=
因此,被称为交互视图的匹配器,并被用来在测试时进行预测。 类似于CoTraining 过程,我们假设每个嵌入视图和交互视图足以训练相应的匹配器,并且在推理过程中来自两个匹配器的预测是一致的:,因此可以得出下面:
得出替换假设.png红框中的内容依旧是条件概率公式展开推导即可得到。
3.目标函数
一般是数据的似然变分下届做目标函数。因为这块经常是针对不同任务进行改变,此处不做描述。我们这里只关心在双视图模型中VAE所扮演的角色,以及其用法。
模型实现图
上面的概率图模型,是从推导的方面展示了模型图的原理结构。这里将介绍模型中每个模块具体的实现。
DV-VAE.png显然,DV-VAE由编码器、解码器、嵌入视图匹配器和交互视图匹配器组成。这两种匹配器分别对应句子对两种不同提取信息的形式。
这个模型图的架势有点吓人,但仔细看图可以区分出不同的模块。
Encoder 部分--
对应的是普通VAE的Encoder模块,这里的两个输入分别对应一个句子对中的两个句子embedding向量。采用双向LSTM(BiLSTM)作为编码器。前向和后向的最后隐藏状态被连接并喂给两个多层感知器(MLP)用于计算的均值和标准偏差.
Decoder部分--
对应于普通VAE的Decoder模块,为了避免基于VAE的文本生成模型的训练崩溃,我们采用空洞卷积序列解码器。隐藏编码z与x的每个字的原始表示进行连接,作为解码器输入。解码器输入的每个特征维度都被视为一个通道,并且在时间维度上进行Mask的一维卷积。
这里作者使用了多个空洞卷积层( 应用速率为的空洞卷积,以便每隔个连续输入中的一个被选取以与滤波器卷积)以指数增长(底数为2)形式进行堆叠[ ],然后将每一层包裹在Bottleneck Residual Block中,以简化优化过程。 最后一层的输出被送入一个全连接层,然后是softmax层,以产生所有时间步长的概率。 并计算文本序列x的重构概率。
Embedding matcher --
这里利用的是加激活层为softmax的MLP,输入的话也是考虑了句子对应的隐含向量,以及两者之间的差异性(对应元素相减)和相似性(对应元素相乘)。
Interaction matcher--
这里先解释一个之间的一个对应关系。对于句子对中的是其原始输入,是每个原始输入对应的Embedding后的结果,因此对应于。将输入到BiLSTM中,得到时间维度的每个状态前向和后向的结果,这里是每个时间点上的前后向表示的拼接。
在得到 interaction matrices时,采用的是和的交叉匹配矩阵。
为了满足各种矩阵乘法,这里作者设置。然后,将M1,M2,M3,M4堆叠为CNN的四通道输入,其输出通过MLP来预测最终匹配度。
模型评价
DV-VAE的各个模块都很立体,都添加了自己的技巧在其中。使得模型看起来很高级不臃肿,其中很多分模块拆开来也仍然可以借鉴。例如在VAE的Decoder module中,使用Bottleneck Residual Block优化整个过程。整体利用X的重建误差作为自监督,并将Interaction View的输入采用CNN融入其中,带入了半监督信息。模型一气呵成!
网友评论