ON VARIATIONAL LEARNING OF CONTROLLABLEREPRESENTATIONS FOR TEXT WITHOUT SUPERVISION
Posted Facico
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ON VARIATIONAL LEARNING OF CONTROLLABLEREPRESENTATIONS FOR TEXT WITHOUT SUPERVISION相关的知识,希望对你有一定的参考价值。
ON VARIATIONAL LEARNING OF CONTROLLABLEREPRESENTATIONS FOR TEXT WITHOUT SUPERVISION
CP-VAE
- 解决VAE在文本生成的过程中,在聚合后验的隐藏空间中表示中产生大量空洞区域
- 提出一个将后验概率约数到一个简单值的方法,通过调控这个简单值来实现对隐层表示的控制
- 同时在无监督的长句子生成中表现良好(如风格转换任务)
method
- 将模型分成两个部分:1、我们希望控制的相关因子
z
(
1
)
z^(1)
z(1);2、无关因子
z
(
2
)
z^(2)
z(2)
q ϕ ( z ∣ x ) → q ϕ 1 ( z ( 1 ) ∣ x ) q ϕ 2 ( z ( 2 ) ∣ x ) ϕ = ϕ 1 ∪ ϕ 2 q_\\phi(z|x)\\rightarrow q_\\phi_1(z^(1)|x)q_\\phi_2(z^(2)|x)\\\\ \\phi = \\phi_1 ∪ \\phi_2 qϕ(z∣x)→qϕ1(z(1)∣x)qϕ2(z(2)∣x)ϕ=ϕ1∪ϕ2
这样结果相当于按照KL分布的对角协方差分成两个部分。
- 实际操作中,作者使用MLP生成 z ( 1 ) z^(1) z(1),LSTM生成 z ( 2 ) z^(2) z(2)
- 这里只对 z ( 1 ) z^(1) z(1)进行约束, z ( 2 ) z^(2) z(2)使用传统的VAE来进行训练
如何约束
- 这里要考虑如何把高斯后验的均值
μ
\\mu
μ约束到一个隐空间
μ = ∑ i = 1 K p i e i ∑ i = 1 p i = 1 < e i , e j > = 0 i ≠ j e i 是 表 示 相 关 变 量 的 向 量 p i 是 z ( 1 ) 中 第 i 个 相 关 因 子 的 比 例 K 是 发 掘 多 少 个 相 关 因 子 的 超 参 数 \\mu=\\sum_i=1^K p_i e_i\\\\ \\sum_i=1p_i=1\\\\ <e_i,e_j>=0\\quad i\\not = j\\\\ e_i是表示相关变量的向量\\\\ p_i是z^(1)中第i个相关因子的比例\\\\ K是发掘多少个相关因子的超参数 μ=i=1∑Kpieii=1∑pi=1<ei,ej>=0i=jei是表示相关变量的向量pi是z(1)中第i个相关因子的比例K是发掘多少个相关因子的超参数 - 所以这里相当于是把 μ \\mu μ约束到一个K维的概率空间
μ = π ( h ) = E ⋅ s o f t m a x ( W h + b ) E = [ e 1 , . . . , e K ] 是 一 个 可 学 习 的 e m b e d d i n g 矩 阵 W 是 个 映 射 矩 阵 b 是 偏 置 , h 是 M L P 的 e n c o d e r 的 结 果 \\mu = \\pi(h)=E\\cdot softmax(Wh+b)\\\\ E=[e_1,...,e_K]是一个可学习的embedding矩阵\\\\ W是个映射矩阵\\\\ b是偏置,h是MLP的encoder的结果 μ=π(h)=E⋅softmax(Wh+b)E=[e1,...,eK]是一个可学习的embedding矩阵W是个映射矩阵b是偏置,h是MLP的encoder的结果
- 针对VAE的编码坍塌(后验坍塌,后验失效)问题(当生成网络过强时,KL loss就会被压成0,使得先验和后验相等,会使得VAE得到一个无意义的近似后验分布)。而这里提出的方法也很容易发生这种问题,因为这里几乎本可能在没有崩溃的情况下,去捕获有关的因子
这里通过强化上面的基向量的正交性哎解决这个问题
D
K
L
(
q
ϕ
1
(
z
(
1
)
∣
x
)
∣
∣
p
(
z
(
1
)
)
)
=
1
2
μ
⊤
μ
+
1
2
(
σ
⊤
−
log
σ
⊤
σ
−
1
)
D_KL(q_\\phi_1(z^(1)|x)||p(z^(1)))=\\frac12\\mu^\\top \\mu + \\frac12(\\sigma^\\top-\\log \\sigma^\\top \\sigma - 1)
DKL(qϕ1(z(1)∣x)∣∣p(z(1)))=21μ⊤μ+21(σ⊤−logσ⊤σ−1)
通过基向量正交,上式第一项可以分解为
μ
⊤
μ
=
(
∑
i
p
i
e
i
)
⊤
(
∑
i
p
i
e
i
)
=
∑
i
p
i
2
e
i
⊤
e
i
\\mu^\\top \\mu =(\\sum_i p_ie_i)^\\top(\\sum_ip_ie_i)=\\sum_i p_i^2 e_i^\\top e_i
μ⊤μ=(i∑piei)⊤(i∑piei)=i∑pi2ei⊤ei
-并在目标函数上加上正则项
L
R
E
G
(
x
;
ϕ
1
)
=
∣
∣
E
⊤
E
−
α
I
∣
∣
\\mathcalL_REG(x;\\phi_1)=||E^\\top E-\\alpha I||
LREG(x;ϕ1)=∣∣E⊤E−αI∣∣
- 当
L
R
E
G
=
以上是关于ON VARIATIONAL LEARNING OF CONTROLLABLEREPRESENTATIONS FOR TEXT WITHOUT SUPERVISION的主要内容,如果未能解决你的问题,请参考以下文章
Learning Notes变分自编码(Variational Auto-Encoder,VAE)
Hands-On Machine Learning with Scikit-Learn and TensorFlow---读书笔记
0. Hands on Machine Learning - Outline