论文笔记:Normalizing Flows for Probabilistic Modeling and Inference

news2024/9/24 7:24:30

Abstract

  • 正则流(Normalizing flows)提供了一种通用的机制来定义富有表达力的概率分布,只需要指定一个(通常简单的)基础分布和一系列可逆变换。

Intraduction

  • 正则流通过将简单的密度通过一系列变换来产生更丰富、可能更多模态的分布,就像液体流经一组管道一样运作。
  • 灵活性意味着正则流非常适合用于建模推断模拟这些关键的统计任务。
  • 我们对正则流的探索旨在揭示那些将指导它们在可预见的未来进行构建和应用的持久原则
  • Section 2: 建立正则流的形式和概念结构。
  • Section 3 :有限正则流结构(finite);Section 4:极微小变体(infinitesimal variant)。

Section 2:正则流(Normalizing Flow)

2.1 定义和基础

  • 规定 x 是 D 维的真实向量,流模型的主要思想是使用从 p u ( u ) p_u(u) pu(u)中采样的真实向量u通过变换T表达x。
    在这里插入图片描述

我们规定 p u ( u ) p_u(u) pu(u)是流模型的基本分布。用参数{φ, ψ}分别表示T与 p u ( u ) p_u(u) pu(u),也就引出了由{φ, ψ}定义在x上的分布组。

  • 流模型的基本属性是T必须可逆,T与 T − 1 T^{-1} T1可微,由此也可以推得:
    在这里插入图片描述
    等价的,可以得到:
    在这里插入图片描述

雅可比矩阵(Jacobian)为:
在这里插入图片描述

  • 在实践中,我们通常用神经网络构建T,并且选取一个简单的密度函数,如多元正态分布,来构建 p u ( u ) p_u(u) pu(u)。在Section 3和4中会讨论如何实施(implement) T。
  • 我们可以将变换T看作是对空间R^D的扭曲,以将密度函数pu(u)塑造成px(x)。绝对雅可比行列式|det JT(u)|量化了由于T引起的u周围小邻域的体积相对变化。简单来说,假设du是u周围的(无限小的)小邻域,dx是du映射到的x周围的小邻域。我们可以得到 ∣ d e t J T ( u ) ∣ ≈ V o l ( d x ) / V o l ( d u ) |det J_T(u)| ≈ Vol(dx)/Vol(du) detJT(u)Vol(dx)/Vol(du),即dx的体积除以du的体积。dx中的概率质量必须等于du中的概率质量。因此,如果du被扩展,那么x处的密度将小于u处的密度。如果du被压缩,那么x处的密度将较大。
  • 可逆且可微分的变换的一个重要性质是它们是可组合的。给定两个这样的变换T1和T2,它们的复合变换T2 ◦ T1 也是可逆且可微分的。它的逆变换和雅可比行列式可以表示为:
    在这里插入图片描述
  • 因此,我们可以通过组合多个更简单的转换实例来构建复杂的转换,而不影响可逆性可微性的要求,因此也不会失去计算密度 p x ( x ) p_x (x) px(x)的能力。所以"flow"指的是从 p u ( u ) p_u(u) pu(u)中获得一组样本,在经过 T 1 , . . . , T k T_1,...,T_k T1,...,Tk的变换序列时所遵循的轨迹。术语"Normalizing"指的是通过逆变化 T 1 − 1 , . . . , T k − 1 T^{-1}_1,...,T^{-1}_k T11,...,Tk1的流动,将 p x ( x ) p_x(x) px(x)中获得的一组样本转化为预定密度$p_u(u)的一组样本(某种意义上为正则化)。
  • 在功能上,基于流的模型提供了两个操作:通过公式1从模型中进行抽样,以及通过公式3评估模型的密度。这些操作具有不同的计算要求。从模型中进行抽样需要能够从 p u ( u ) p_u(u) pu(u)中进行抽样,并计算正向变换T。评估模型的密度需要计算逆变换 T − 1 T^{-1} T1及其雅可比行列式,并评估 p u ( u ) p_u(u) pu(u)的密度。具体应用将决定需要实施哪些操作以及它们需要多高的效率。我们在Section 3和Section 4讨论了与各种实现选择相关的计算折衷。

2.2 流模型的表达能力

  • 在研究流的细节之前,重要的问题是:How expressive are flow-based models? Can they represent any distribution p x ( x ) p_x(x) px(x), even if the base distribution is restricted to be simple?
  • 我们将证明,在 p x ( x ) p_x(x) px(x)满足合理条件的情况下,这种通用表示是可能的。具体来说,我们将证明,对于任何一对良好行为的分布 p x ( x ) p_x(x) px(x)(目标分布)和 p u ( u ) p_u(u) pu(u)(基础分布),存在一个可微分同胚能够将 p u ( u ) p_u(u) pu(u)转化为 p x ( x ) p_x(x) px(x)。这个论证是构造性的,并基于Hyvärinen和Pajunen(1999)关于非线性独立成分分析(ICA)存在性的类似证明;更详细的处理可以参考Bogachev等人的研究(2005)。
  • 具体证明过程可以看论文,比较长这里就不赘述了

2.3 使用流模型建模及推理

  • 与拟合任何概率模型类似,拟合流模型 p x ( x ; θ ) p_x(x;θ) px(x;θ)到目标分布 p x ∗ ( x ; θ ) p^*_x(x;θ) px(x;θ)可以通过最小化他们之间的散度以及差异。这种最小化可以通过优化 θ = {φ, ψ}来实现。

(To be continue)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/611201.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

怎么选择适合爬虫的代理IP,使用时需要注意什么

网络爬虫工作离不开代理服务器的支持,但并不是所有的代理服务器都适合爬虫工作。那么如何选择适合爬虫的代理服务器呢? 选择适合爬虫的代理服务器需要考虑以下几个方面: 1、代理服务器的稳定性:稳定可靠的代理服务器更能够保证爬虫…

JPEG压缩基本原理

JPEG算法的第一步是将图像分割成8X8的小块。 在计算机中,彩色图像最常见的表示方法是RGB格式,通过R(Red)、G(Green)A和(Blue)组合出各种颜色。 除此以外,还有一种表示彩色图像的方法,称为YUV格式。Y表示亮度,U和V表示…

【C++】一文带你吃透C++继承

🍎 博客主页:🌙披星戴月的贾维斯 🍎 欢迎关注:👍点赞🍃收藏🔥留言 🍇系列专栏:🌙 C/C专栏 🌙那些看似波澜不惊的日复一日,…

Docker attach VS exec

我们知道,进入容器常用的两种方式为:docker exec ...、docker attach ...,那这两者有什么区别呢? 首先,运行一个测试容器,并在启动容器时运行相关指令,如下: docker run --name te…

JVM学习笔记一

程序计数器是一块儿较小的内存, 请你谈谈你对JVM的理解?java8虚拟机和之前的有什么变化更新?什么是OOM?什么是栈溢出(StackOverFlowError)?怎么分析JVM的常用调优参数?内存快照如何抓取?怎么分析Dump文件?谈谈JVM中类加载器你的认识?JVM的位置JVM的体系结构类加载器双…

科研热点|科研人专属身份证来了,国产ORCID ID启动!

2023年6月1日,国家自然科学基金委员会发布了《国家自然科学基金委员会关于推广和发布基础研究科研人员标识(BRID)有关工作安排的通告》,宣布从即日起,国家自然科学基金委员会(以下简称自然科学基金委&#…

高完整性系统(4)Formal Logic (形式逻辑和 Alloy 简介)

文章目录 Story so far形式逻辑命题 proposition谓词 predicate连接词VariablesSet 集合Set operation 集合操作Set Relationship 集合关系Alloy Set alloy 的集合表示Quantification 量词Relations 关系案例Binary Relations 二元关系图Functions 函数Total v.s. Partial Func…

IO模型、select、poll、epoll

阻塞IO模型 阻塞IO是最通用的IO类型,使用这种模型进行数据接收的时候,在数据没有到之前程序会一直等待。例如,对于函数recvfrom(),内核会一直阻塞该请求直到有数据到来才返回。 非阻塞IO模型 当把套接字设置成非阻塞的IO,则对每次请求&…

Java网络开发(Tomcat)——遇到的 bug 汇总(持续更新)

目录 引出:bug::bug::bug:Tomcat开发的bug汇总项目启动就报错1.WebServlet()路径配置的问题2.由于之前的错误,Context[/day01]启动失败【困扰】3.启动过滤器异常---init方法 JSP使用相关报错1.后端传给jsp的数据,前端jsp不显示2.jsp的包没有导&#xff0…

6 vue

前端开发 1.前端开发 前端工程师“Front-End-Developer”源自于美国。大约从2005年开始正式的前端工程师角色被行业所认可,到了2010年,互联网开始全面进入移动时代,前端开发的工作越来越重要。 最初所有的开发工作都是由后端工程师完成的&…

‘jupyter‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。

目录 0.问题背景环境介绍 1.解决步骤 2.测试步骤 0.问题背景环境介绍 1)环境:windows64 2)问题背景:在搭建jupyter notebook的过程中,想用windows的任务管理器启动jupyter notebook或者使用【jupyter notebook --…

降低成本,快速搭建企业帮助文档的方法盘点

企业帮助文档是企业为了解决客户疑问和提高客户满意度而制作的一种文档,通常包括产品的使用指南、故障排除、常见问题解答等内容。一个好的帮助文档可以帮助企业降低客服成本、提高客户满意度,进而提高产品销量和企业品牌形象。但是,有些企业…

基于html+css的图展示108

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

MFC(十二)多个对话框

我们来制定多个对话框,每个对话框都有不同的功能,单击下一步,即可跳转到下一个对话框 1.新建一个启动按钮 2.在资源视图,Dialog里面,右键-->添加资源---->dialog>选择IDD PROPPAGE_SMALL新建 属性页&#…

「移动机器人行业应用分析」锂电行业

锂电池作为目前一种比较成熟和先进的电池,因其质量轻,储电量大等特点,受到了人们的广泛应用。中国作为全球最大的锂电生产和消费国,也是全球最大的电动汽车市场,随着“碳中和”这一目标的提出,锂离子电池技…

陶瓷板检测系统在工业质检领域的前景

陶瓷是一种重要的工业材料,广泛应用于建筑、电子、航空航天、医疗等领域。在生产过程中,陶瓷制品需要经过多道工序,其中检测环节是非常重要的一环。传统的陶瓷板检测方式主要依赖人工目视检测,效率低下且容易出错。随着人工智能技…

5年Java经验字节社招:15天3次面试,成功拿下Offer

背景经历 当时我工作近5年,明显感觉到了瓶颈期。具体来说,感觉自己用过很多框架、做过一些技术设计、也有过一些产出,但是从技术深度上感觉不足,到后期时做事也没有明显挑战,完全适应了公司节奏,说句不好听…

企业做直播如何选择好的直播平台?需要考虑哪些方面?

企业做直播如何选择好的直播平台?需要考虑哪些方面?我将从功能需求、可靠性与稳定性、用户体验、技术能与售后服务能力等方面进行综合考虑,帮助您做出明智的决策,或是说提供选型方面的参考。 企业在选择一家直播平台时应考虑以下因…

Vue.js 中的过滤器是什么?如何使用过滤器?

Vue.js 中的过滤器是什么?如何使用过滤器? 在 Vue.js 中,过滤器是一种以函数为基础的可重用代码片段,用于对数据进行格式化和处理。通过使用过滤器,我们可以在模板中对数据进行简单的转换,以便更好地呈现给…

chatgpt赋能python:Python在主函数中调用函数:提高代码可读性和降低重复性工作

Python在主函数中调用函数:提高代码可读性和降低重复性工作 在Python编程中,我们常常需要将代码分解成多个函数来实现各种功能。而主函数则是整个程序的执行入口。调用函数可以降低代码的复杂度和耦合性,并且使得代码更容易维护和重用。 基…