Normalizing Flows入门(中)

2020 年 8 月 2 日 AINLP

Normalizing Flows入门(上)

3. 构建标准化流(一):有限组合的变换

我们通过组合K个transformation得到T变换,令 ,

我们可以将每个 或 都设为一个参数为 的神经网络,下面用 来统一表示这两者,但是这带来的问题是,我们必须保证该神经网络是可逆的,并且能够容易计算,否则,上述的正向KL散度需要变换 来做sampling,逆向KL散度需要 来evaluating desity,如果变换 的逆不存在或不易求,则density evaluation或sampling将是效率极低的,甚至无法处理的。至于是否要求 有高效的求逆方法、 到底是使用 还是 ,则由具体的使用目的决定。下面忽略下标k,使用 表示神经网络, 表示输入, 表示输出。

3.1 自回归流 Autoregressive flows

2.2节我们知道了在合理的情况下,我们可以使用一个下三角雅可比矩阵将任意的概率分布 变换为均匀分布,自回归流就是这样的一种构建方法

就是我们的transformer, 是第i个conditioner,该变换是严格单调函数,因此必可逆。变换 的参数为 , 由conditioner决定,描述当输入的 变化时,输出 如何变。conditioner唯一的限制就是它只能将 作为输入,因此它可以是任意一个复杂的神经网络,不必关心是否可逆等问题。因此,可以看出, 的参数 其实就是conditioner的参数,但有时变换 也有它自己的额外参数(除了 )。上述变换的逆变换为

在正向计算中,因为输入 是完全已知的,那么所有的 可以同时一次性求出来,因此 也可以同时求出来,但是在求逆变换的计算时,要计算 前必须先把 都计算出来,因为 是 的输入。很明显,自回归流的雅可比矩阵是下三角形的,因为任意的 都不依赖 ,那么 关于 的偏导都为0,因此雅可比矩阵可写为

它的行列式就是对角线元素乘积,因此也非常好求

3.1.1 各种 Transformer 的实现

仿射自回归流(Affine autoregressive flows)

令 为下式

只要 不为0, 变换的逆就存在,我们可以令 ,这样 就是一个不受限制的参数了,该变换的雅可比行列式为

仿射自回归流虽然很简单,但它的一大缺点是表达能力受限(limited expressivity),假如z属于高斯分布,那么z'也必属于高斯分布,但可以通过堆叠多个仿射变换来增强表达能力,但仿射自回归流是否是一个普遍的概率分布近似器就未知了。

非仿射神经网络变换(Non-affine neural transformers)

不像上面连续使用K次变换,而是直接使用K个单调增函数 的锥组合(conic combinations),h中的参数皆大于0。其实就是给仿射变换加上一个激活函数,再线性组合K种不同参数下的结果。一般使用反向传播优化参数,缺点是该变换往往不可逆,或者只能不断迭代求逆。

积分变换(Integration-based transformers)

可以是任意的正值神经网络,导数很好求,就是 ,但积分缺乏analytical tractability,一种解决方法是让 为一个2L次的正多项式,积分结果就是关于 的2L+1次的多项式,由于任意的2L次多项式可以写为多个L次多项式的平方之和,我们可以定义 为K个L次多项式平方之和的积分,如下

参数 不受限制,仿射变换为L=0时的特例。由于5次及以上的方程没有根式解,因此当L>=2时,2L+1>=5,则无法直接求 ,只能使用二分搜索迭代求解。

神经样条流(Neural spline flows)

为了克服非仿射变换不易求逆,可以使用K个分段函数作为transformer,每个区间 上 是一个简单的低次单调函数,要求是在每个区间的端点必须与其相邻的区间连续,整个大区间两端的端点 可以随意。

3.1.2 各种 conditioner 的实现

虽然ci可以是任意复杂的函数,比如神经网络,但每个zi都有一个ci的话,计算量和内存占用太大,解决的办法是参数共享

循环自回归流(Recurrent autoregressive flows)

一种conditioner参数共享的方法是使用循环神经网络RNN/GRU/LSTM来实现,

这种方法的主要缺点是计算不再能并行化,因为计算 必须先计算 ,当处理高维数据,比如图片、视频时会很慢

掩码自回归流(Masked autoregressive flows)

为了让 不能依赖 ,可以通过将神经网络中这些连接给去掉,方式是给矩阵中这些位置乘上0,就像「Transformer」中的self-attention在计算softmax时用负无穷mask掉上三角的注意力权重,达到future blind的目的。但该方法的一大缺点是求逆时的计算量是正向计算的D倍

上面的计算过程是:开始不知道z,就随机化,但是z0是任意的,也就是我们可以直接得到h1,然后用z1’与它计算出z1,纠正随机初始化的z的第1个元素,之后以此类推,第D次迭代后,z被完全纠正。Masked conditioner 每次只能使用z(<i),即只能计算出hi。开始直接能得到h1,计算出z1后,再让z1通过conditioner函数得到h2,再用公式计算z2,以此类推。这里一共计算了D次c,而在正向计算时只用一次,求逆时计算代价是正向的D倍,对高维数据来说无法接受。一种解决办法是类似于牛顿法的更新公式(我们要求使 f(z) = z’成立的 z,即求g(z) = f(z) - z’的零点,那么更新公式 z = z - a * g(z)/g’(z) = z - a * (f(z)-z’)/J)

我们使用 初始化 , 是上式唯一的不动点,一般 的情况下 最终会收敛到某个局部最优点,否则将发散。

掩码自回归流主要适用于不需要求逆或维度较低的情况。

Coupling layers

Coupling layers是将z一分为二,前d个元素原封不动,d+1~D的元素依赖于前d的元素,h1~hd是常数,不依赖于z,hd+1~hD依赖于z<=d,计算公式类似上述几种方法

其雅可比矩阵左上角dxd是单位阵,右下角(D-d)x(D-d)为对角矩阵,其行列式即为右下角对角矩阵的行列式,即对角线乘积。

虽然coupling layers的计算效率更高,但表达能力受限,但我们可以通过堆叠多个coupling layer并在每层对z的元素进行重新排列来解决这个问题,比如第一层前d个元素被原封不动地copy,后D-d个元素通过神经网络,那第二层就原封不动地copy后D-d个元素,把前d个元素通过神经网络,如此交替多层,

3.2 线性流 Linear flows

在自回归流中输出zi'只依赖于z<=i,但元素的排列顺序有时是对模型学习有影响的,一种解决输入元素排列组合的方法是线性流,简单来说就是一个矩阵变换

雅可比矩阵就是W自身,我们需要保证W是可逆的,并且易于求逆和求行列式。

3.3 残差流 Residual flows

是一个输出D维向量的神经网络,我们需要对其加以合适的限制,以让其可逆

3.3.1 Contractive residual flows

构建满足Lipschitz连续条件,且Lipschitz常数小于1的变换F

3.3.2 Residual flows based on the matrix determinant lemma

A为DxD的可逆矩阵,V、W为DxM的矩阵,M<D,有矩阵行列式引理如下

如果A是对角阵的话计算量从左式的 降到了

Planar flow

Planar flow是一个单层神经网络,只有一个神经元w

是一个可微的激活函数例如tanh,假设 处处大于0,且有上界S,则当 时,雅可比行列式大于0

Sylvester flow

将Planar flow推广到有M个神经元W就是Sylvester flow, , ,S(z)是对角矩阵,元素是 的对角线上的元素

4. 构建标准化流(二):连续时间的变换

假如标准化流有无数个连续的变换,即经过了无穷多个step的transformer,我们把这个step叫做时间,连续时间流可以通过下式构建

神经网络g接受时间t和状态zt作为输入,输出zt关于t的导数,我们可以通过求积分来得到变换的结果

逆变换为

log概率密度的导数可写为

一种近似求迹的方法如下,v是均值为0,协方差矩阵为单位阵的向量

对log概率密度积分,可以得到px与pu的关系式


推荐阅读

文心(ERNIE)3项能力助力快速定制企业级NLP模型,EasyDL全新升级!

这个NLP工具,玩得根本停不下来

征稿启示| 200元稿费+5000DBC(价值20个小时GPU算力)

完结撒花!李宏毅老师深度学习与人类语言处理课程视频及课件(附下载)

从数据到模型,你可能需要1篇详实的pytorch踩坑指南

如何让Bert在finetune小数据集时更“稳”一点

模型压缩实践系列之——bert-of-theseus,一个非常亲民的bert压缩方法

文本自动摘要任务的“不完全”心得总结番外篇——submodular函数优化

Node2Vec 论文+代码笔记

模型压缩实践收尾篇——模型蒸馏以及其他一些技巧实践小结

中文命名实体识别工具(NER)哪家强?

学自然语言处理,其实更应该学好英语

斯坦福大学NLP组Python深度学习自然语言处理工具Stanza试用

关于AINLP

AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLPer(id:ainlper),备注工作/研究方向+加群目的。


阅读至此了,分享、点赞、在看三选一吧🙏

登录查看更多
3

相关内容

【TAMU】最新《时间序列分析》课程笔记,527页pdf
专知会员服务
182+阅读 · 2020年9月12日
【文本生成现代方法】Modern Methods for Text Generation
专知会员服务
44+阅读 · 2020年9月11日
【实用书】Python编程,140页pdf
专知会员服务
43+阅读 · 2020年8月20日
神经常微分方程教程,50页ppt,A brief tutorial on Neural ODEs
专知会员服务
74+阅读 · 2020年8月2日
《常微分方程》笔记,419页pdf
专知会员服务
77+阅读 · 2020年8月2日
专知会员服务
63+阅读 · 2020年3月4日
一文读懂线性回归、岭回归和Lasso回归
CSDN
34+阅读 · 2019年10月13日
激活函数还是有一点意思的!
计算机视觉战队
12+阅读 · 2019年6月28日
再谈变分自编码器VAE:从贝叶斯观点出发
PaperWeekly
13+阅读 · 2018年4月2日
入门 | 一文看懂卷积神经网络
算法与数学之美
7+阅读 · 2018年2月22日
【入门】数据分析六部曲
36大数据
18+阅读 · 2017年12月6日
最近流行的激活函数
计算机视觉战队
6+阅读 · 2017年11月27日
入门 | 一文概览深度学习中的激活函数
深度学习世界
4+阅读 · 2017年11月3日
蒙特卡罗方法入门
算法与数学之美
7+阅读 · 2017年9月26日
自然语言处理 (三) 之 word embedding
DeepLearning中文论坛
19+阅读 · 2015年8月3日
Real-time Scalable Dense Surfel Mapping
Arxiv
5+阅读 · 2019年9月10日
Learning Implicit Fields for Generative Shape Modeling
Arxiv
11+阅读 · 2018年12月6日
Arxiv
6+阅读 · 2018年10月3日
Arxiv
23+阅读 · 2018年10月1日
Arxiv
21+阅读 · 2018年5月23日
Arxiv
7+阅读 · 2018年3月12日
VIP会员
最新内容
世界模型入门:从序贯决策到通用智能体
专知会员服务
11+阅读 · 10月24日
军事域更好使用人工智能的实用指南
专知会员服务
11+阅读 · 10月22日
《衡量语言模型中的作战规划能力》
专知会员服务
14+阅读 · 10月20日
Maven智能系统:帕兰提尔军事人工智能平台详解
专知会员服务
18+阅读 · 10月20日
《测试自动化框架在敏捷软件开发中的角色》
专知会员服务
9+阅读 · 10月20日
相关VIP内容
【TAMU】最新《时间序列分析》课程笔记,527页pdf
专知会员服务
182+阅读 · 2020年9月12日
【文本生成现代方法】Modern Methods for Text Generation
专知会员服务
44+阅读 · 2020年9月11日
【实用书】Python编程,140页pdf
专知会员服务
43+阅读 · 2020年8月20日
神经常微分方程教程,50页ppt,A brief tutorial on Neural ODEs
专知会员服务
74+阅读 · 2020年8月2日
《常微分方程》笔记,419页pdf
专知会员服务
77+阅读 · 2020年8月2日
专知会员服务
63+阅读 · 2020年3月4日
相关资讯
一文读懂线性回归、岭回归和Lasso回归
CSDN
34+阅读 · 2019年10月13日
激活函数还是有一点意思的!
计算机视觉战队
12+阅读 · 2019年6月28日
再谈变分自编码器VAE:从贝叶斯观点出发
PaperWeekly
13+阅读 · 2018年4月2日
入门 | 一文看懂卷积神经网络
算法与数学之美
7+阅读 · 2018年2月22日
【入门】数据分析六部曲
36大数据
18+阅读 · 2017年12月6日
最近流行的激活函数
计算机视觉战队
6+阅读 · 2017年11月27日
入门 | 一文概览深度学习中的激活函数
深度学习世界
4+阅读 · 2017年11月3日
蒙特卡罗方法入门
算法与数学之美
7+阅读 · 2017年9月26日
自然语言处理 (三) 之 word embedding
DeepLearning中文论坛
19+阅读 · 2015年8月3日
相关论文
Top
微信扫码咨询专知VIP会员