NAACL 2019 | 一种考虑缓和KL消失的简单VAE训练方法

2019 年 4 月 24 日 PaperWeekly




研究动机


变分自编码器(Variational Auto-Ecnoders, VAEs)在自然语言处理的很多任务中都有应用。VAEs 的目标函数包括两项:1)重建项;2)KL 正则项。这两项可以用一个权重系数 beta 来调节平衡,通常情况下 beta 设置为常数 1。


当 VAEs 用到自然语言处理时,它的解码器 decoder 通常由一个自回归模型(auto-regressive model)实现。然而这样往往会导致训练过程中出现一个糟心的难题:KL 正则项会消失趋近 0在实践中,这意味着学习到的特征将不再能够表达观测到的数据。本文的目的是希望能够找到一种策略去解决 KL 消失问题。


研究方法


本文提出一种只需要在训练过程中动态调节 beta 就能缓和 KL 消失的策略:Cyclical Annealing Schedule。它周期性地调节 beta ,在每一个周期内有两个阶段:1)beta 值从 0 增加 1;2)并在 beta=1 的时候训练 VAEs。以此多次重复这个周期 M 次(注意是多次)。


举个例子:下图的黑线就是 M=4 个周期,注意,当 M=1 时,我们就回归了以前的单调增加 beta 的方法,如下图的红线。



实验结果


两方面:1)我们可以通过可视化学习到的特征来洞察不同方法在训练中的表现,发现周期性调节 beta 可以循序渐进地让结果变好;2)我们在三个自然语言处理的任务上验证了算法的有效性,包括语言建模,对话生成,无监督特征学习。


创新点


1. 我们首先提出两条信息流恶性竞争去产生数据(two-path competition)的观点去阐释 KL 消失的问题。


2. 根据这个理论,我们可以解释为什么前面的固定或者调整 beta 的方法会有各自所对应的现象。在此基础上,我们提出一种简单重复周期性调整 beta 的策略去或者 KL 消失问题 。


3. 请注意,我们的方法并没有增加额外计算量,在实践中很容易去实用,或者其它改变模型的方法去结合。比如,可以通过调用下面的函数来实现本文的 beta 策略:


def frange_cycle_linear(n_iter, start=0.0, stop=1.0,  n_cycle=4, ratio=0.5):
    L = np.ones(n_iter) * stop
    period = n_iter/n_cycle
    step = (stop-start)/(period*ratio) # linear schedule

    for c in range(n_cycle):
        v, i = start, 0
        while v <= stop and (int(i+c*period) < n_iter):
            L[int(i+c*period)] = v
            v += step
            i += 1
    return L 


个人点评


先贴代码和博客链接:


Code:

https://github.com/haofuml/cyclical_annealing 


MSR Blog: 

https://www.microsoft.com/en-us/research/blog/less-pain-more-gain-a-simple-method-for-vae-training-with-less-of-that-kl-vanishing-agony/?OCID=msr_blog_klvanish_NAACL_tw 


个人觉得两点比较有意思:1)对于 KL 消失的做出了的两条信息流竞争的阐释;2)算法简单,易用,有效。希望大家能从本文能有所收获,做出更加有效的方法。




点击以下标题查看更多往期内容: 




#投 稿 通 道#

 让你的论文被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得技术干货。我们的目的只有一个,让知识真正流动起来。


📝 来稿标准:

• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向) 

• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接 

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志


📬 投稿邮箱:

• 投稿邮箱:hr@paperweekly.site 

• 所有文章配图,请单独在附件中发送 

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通




🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧



关于PaperWeekly


PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。


▽ 点击 | 阅读原文 | 下载论文

登录查看更多
20

相关内容

[ICML-Google]先宽后窄:对深度薄网络的有效训练
专知会员服务
33+阅读 · 2020年7月5日
【ICML2020-浙江大学】对抗性互信息的文本生成
专知会员服务
43+阅读 · 2020年7月4日
【ACL2020】利用模拟退火实现无监督复述
专知会员服务
13+阅读 · 2020年5月26日
自回归模型:PixelCNN
专知会员服务
25+阅读 · 2020年3月21日
专知会员服务
44+阅读 · 2020年3月6日
介绍高维超参数调整 - 优化ML模型的最佳实践
AI研习社
7+阅读 · 2019年4月17日
神经网络训练tricks
极市平台
6+阅读 · 2019年4月15日
从信息论的角度来理解损失函数
深度学习每日摘要
17+阅读 · 2019年4月7日
再谈变分自编码器VAE:从贝叶斯观点出发
PaperWeekly
13+阅读 · 2018年4月2日
GAN完整理论推导、证明与实现(附代码)
数据派THU
4+阅读 · 2017年10月6日
机器学习(16)之支持向量机原理(二)软间隔最大化
机器学习算法与Python学习
6+阅读 · 2017年9月8日
Bivariate Beta LSTM
Arxiv
5+阅读 · 2019年10月7日
Arxiv
6+阅读 · 2019年4月8日
A Probe into Understanding GAN and VAE models
Arxiv
9+阅读 · 2018年12月13日
Music Transformer
Arxiv
5+阅读 · 2018年12月12日
A General and Adaptive Robust Loss Function
Arxiv
7+阅读 · 2018年11月5日
Arxiv
6+阅读 · 2018年3月12日
Arxiv
6+阅读 · 2018年1月29日
Arxiv
7+阅读 · 2018年1月21日
Arxiv
25+阅读 · 2017年12月6日
VIP会员
相关资讯
介绍高维超参数调整 - 优化ML模型的最佳实践
AI研习社
7+阅读 · 2019年4月17日
神经网络训练tricks
极市平台
6+阅读 · 2019年4月15日
从信息论的角度来理解损失函数
深度学习每日摘要
17+阅读 · 2019年4月7日
再谈变分自编码器VAE:从贝叶斯观点出发
PaperWeekly
13+阅读 · 2018年4月2日
GAN完整理论推导、证明与实现(附代码)
数据派THU
4+阅读 · 2017年10月6日
机器学习(16)之支持向量机原理(二)软间隔最大化
机器学习算法与Python学习
6+阅读 · 2017年9月8日
相关论文
Bivariate Beta LSTM
Arxiv
5+阅读 · 2019年10月7日
Arxiv
6+阅读 · 2019年4月8日
A Probe into Understanding GAN and VAE models
Arxiv
9+阅读 · 2018年12月13日
Music Transformer
Arxiv
5+阅读 · 2018年12月12日
A General and Adaptive Robust Loss Function
Arxiv
7+阅读 · 2018年11月5日
Arxiv
6+阅读 · 2018年3月12日
Arxiv
6+阅读 · 2018年1月29日
Arxiv
7+阅读 · 2018年1月21日
Arxiv
25+阅读 · 2017年12月6日
Top
微信扫码咨询专知VIP会员