因此反向传播中的第一个和第二个常微分方程 都是为第三个微分方程提供条件,即 a(t) 和 z(t) 。最后,从 t_1 到 t_0 积分 -a(t)*?f(z(t), t, θ)/?θ 就能求出 dL/dθ 。只需要一个积分,我们不再一层层传递梯度并更新该层特定的参数 。
如下伪代码所示,完成反向传播的步骤很简单 。先定义各变量演化的方法,再结合将其结合初始化状态一同传入 ODESolver 就行了 。
def f_and_a([z, a], t): return[f, -a*df/da, -a*df/dθ] [z0, dL/dx, dL/dθ] = ODESolver([z(t1), dL/dz(t), 0], f_and_a, t1, t0) 连续型的归一化流
这种连续型转换有一个非常重要的属性,即流模型中最基础的变量代换定理可以便捷快速地计算得出 。在论文的第四节中,作者根据这样的推导结果构建了一个新型可逆密度模型,它能克服 Glow 等归一化流模型的缺点,并直接通过最大似然估计训练 。
变量代换定理
对于概率密度估计中的变量代换定理,我们可以从单变量的情况开始 。若给定一个随机变量 z 和它的概率密度函数 z~π(z),我们希望使用映射函数 x=f(z) 构建一个新的随机变量 。函数 f 是可逆的,即 z=g(x),其中 f 和 g 互为逆函数 。现在问题是如何推断新变量的未知概率密度函数 p(x)?
文章插图
通过定义,积分项 ∫π(z)dz 表示无限个无穷小的矩形面积之和,其中积分元Δz 为积分小矩形的宽,小矩形在位置 z 的高为概率密度函数 π(z) 定义的值 。若使用 f^?1(x) 表示 f(x) 的逆函数,当我们替换变量的时候,z=f^?1(x) 需要服从 Δz/Δx=(f^?1(x))′ 。多变量的变量代换定理可以从单变量推广而出,其中 det ?f/?z 为函数 f 的雅可比行列式:
文章插图
一般使用变量代换定理需要计算雅可比矩阵?f/?z 的行列式,这是主要的限制,最近的研究工作都在权衡归一化流模型隐藏层的表达能力与计算成本 。但是研究者发现,将离散的层级替换为连续的转换,可以简化计算,我们只需要算雅可比矩阵的迹就行了 。核心的定理 1 如下所示:
文章插图
在普通的变量代换定理中,分布的变换函数 f(或神经网络)必须是可逆的,而且要制作可逆的神经网络也很复杂 。在陈天琦等研究者定理里,不论 f 是什么样的神经网络都没问题,它天然可逆,所以这种连续化的模型对流模型的应用应该非常方便 。
如下所示,随机变量 z(t_0) 及其分布可以通过一个连续的转换演化到 z(t_1) 及其分布:
文章插图
此外,连续型流模型还有很多性质与优势,但这里并不展开 。变量代换定理 1 在附录 A 中有完整的证明,感兴趣的读者可查阅原论文了解细节 。
最后,神经常微分方程是一种全新的框架,除了流模型外,很多方法在连续变换的改变下都有新属性,这些属性可能在离散激活的情况下很难获得 。也许未来会有很多的研究关注这一新模型,连续化的神经网络也会变得多种多样 。
- 教你正确区分巴沙鱼和多利鱼 多利鱼图片
- windows如何快速移动文件 windows文件夹的移动
- 喷墨打印机打印重影如何解决 打印机打印重影怎么解决
- 我的电脑图标不见了找回方法 电脑上图标不见了如何找回
- iphone如何设置来电拒接 iphone手机来电如何拒接
- ID卡和IC卡的区别 如何区别ic卡与id卡
- excel如何对文本进行排序 excel中怎么给文本排序
- 如何取消苹果系统更新提醒 如何关闭苹果手机的系统更新提醒
- 教你用百花鱼做酸爽的酸菜鱼 百花鱼怎么做
- 三十分钟教你快速入门隶书书法 初学隶书该做什么