生成模型之Flow-Based model

Flow-Based Model

文章目录

  • Flow-Based Model
    • 简介
    • 总览
    • 数学基础
      • jacobian matrix
      • determinant行列式
      • Change of variable theorem
    • 架构
    • 常见几种方法
      • coupling layer
      • 采用1*1卷积进行channel shuffle

简介

​ Flow-Based对概率密度函数的直接建模,这使得它们在数据生成和推断方面具有优势,并且在潜在空间中的操作更加直观。但是,它们可能在处理复杂数据分布时受限,因为需要设计适合数据分布的逆变换

​ 与其他生成模型原理区别:

  • Flow-based模型:这种模型通过学习数据的概率密度函数来进行生成。它们学习了数据的分布,并利用这种分布来生成新的样本。
  • VAE:变分自编码器利用潜在变量的分布来建模数据。它通过编码器将输入数据映射到潜在空间中,并通过解码器从潜在空间中的采样重建输入数据。
  • GAN:生成对抗网络通过生成器生成假样本,同时使用鉴别器来区分真实和假的样本。生成器和鉴别器相互竞争,以提高生成器生成逼真样本的能力。

总览

​ 为了得到更好的generator,采用极大似然估计,最大化 l o g P G ( x ) log^{P_G(x)} logPG(x),也就是最小化 P d a t a P_{data} Pdata P G P_G PG两个分布之间的距离(KL散度)。

在这里插入图片描述

θ ∗ = a r g max ⁡ θ ∏ i = 1 m P G ( x i ; θ ) = a r g max ⁡ θ l o g ∏ i = 1 m P G ( x i ; θ ) = a r g max ⁡ θ ∑ i = 1 m l o g P G ( x i ; θ ) { x 1 , x 2 , . . . , x m } from ⁡ P d a t a ( x ) ≈ a r g max ⁡ θ E x ∼ P d a t a [ l o g P G ( x ; θ ) ] = a r g max ⁡ θ ∫ x P d a t a ( x ) l o g P G ( x ; θ ) d x − ∫ x P d a t a ( x ) l o g P d a t a ( x ) d x = a r g min ⁡ θ K L ( P d a t a ∣ ∣ P 0 ) \begin{aligned} \theta^{*} &=arg\max_{\theta}\prod_{i=1}^mP_G(x^i;\theta)=arg\max_{\theta}log\prod_{i=1}^mP_G(x^i;\theta) \\ &=arg\max_\theta\sum_{i=1}^mlogP_G(x^i;\theta)\quad\{x^1,x^2,...,x^m\}\operatorname{from}P_{data}(x) \\ &\approx arg\max_\theta E_{x\sim P_{data}}[logP_G(x;\theta)] \\ &=arg\max_\theta\int_xP_{data}(x)logP_G(x;\theta)dx-\int_xP_{data}(x)logP_{data}(x)dx \\ &=arg\min_{\theta}KL(P_{data}||P_{0}) \end{aligned} θ=argθmaxi=1mPG(xi;θ)=argθmaxlogi=1mPG(xi;θ)=argθmaxi=1mlogPG(xi;θ){x1,x2,...,xm}fromPdata(x)argθmaxExPdata[logPG(x;θ)]=argθmaxxPdata(x)logPG(x;θ)dxxPdata(x)logPdata(x)dx=argθminKL(Pdata∣∣P0)

数学基础

jacobian matrix

2023-12-04_19-10-02

determinant行列式

给出行列式值的几何形式——面积、体积

Change of variable theorem

在这里插入图片描述
p ( x ′ ) ∣ d e t [ Δ x 11 Δ x 21 Δ x 12 Δ x 22 ] ∣ = π ( z ′ ) Δ z 1 Δ z 2 x = f ( z ) p ( x ′ ) ∣ 1 Δ z 1 Δ z 2 d e t [ Δ x 11 Δ x 21 Δ x 12 Δ x 22 ] ∣ = π ( z ′ ) p ( x ′ ) ∣ d e t [ Δ x 11 / Δ z 1 Δ x 21 / Δ z 1 Δ x 12 / Δ z 2 Δ x 22 / Δ z 2 ] ∣ = π ( z ′ ) p ( x ′ ) ∣ det ⁡ [ ∂ x 1 / ∂ z 1 ∂ x 2 / ∂ z 1 ∂ x 1 / ∂ z 2 ∂ x 2 / ∂ z 2 ] ∣ = π ( z ′ ) p ( x ′ ) ∣ det ⁡ [ ∂ x 1 / ∂ z 1 ∂ x 1 / ∂ z 2 ∂ x 2 / ∂ z 1 ∂ x 2 / ∂ z 2 ] ∣ = π ( z ′ ) p ( x ′ ) ∣ det ⁡ ( J f ) ∣ = π ( z ′ ) p ( x ′ ) = π ( z ′ ) ∣ 1 det ⁡ ( J f ) ∣ p ( x ′ ) = π ( z ′ ) ∣ d e t ( J f − 1 ) ∣ \begin{aligned} &\left.p(x^{\prime})\left|det\begin{bmatrix}\Delta x_{11}&\Delta x_{21}\\\Delta x_{12}&\Delta x_{22}\end{bmatrix}\right.\right|=\pi(z^{\prime})\Delta z_{1}\Delta z_{2}\quad\mathrm{x=f(z)} \\ &\left.p(x^{\prime})\left|\frac{1}{\Delta z_{1}\Delta z_{2}}det\begin{bmatrix}\Delta x_{11}&\Delta x_{21}\\\Delta x_{12}&\Delta x_{22}\end{bmatrix}\right.\right|=\pi(z^{\prime}) \\ &\left.p(x^{\prime})\left|det\begin{bmatrix}\Delta x_{11}/\Delta z_{1}&\Delta x_{21}/\Delta z_{1}\\\Delta x_{12}/\Delta z_{2}&\Delta x_{22}/\Delta z_{2}\end{bmatrix}\right.\right|=\pi(z^{\prime}) \\ &\left.p(x')\left|\det\begin{bmatrix}\partial x_1/\partial z_1&\partial x_2/\partial z_1\\\partial x_1/\partial z_2&\partial x_2/\partial z_2\end{bmatrix}\right.\right|=\pi(z') \\ &\left.p(x^{\prime})\left|\det\begin{bmatrix}\partial x_1/\partial z_1&\partial x_1/\partial z_2\\\partial x_2/\partial z_1&\partial x_2/\partial z_2\end{bmatrix}\right.\right|=\pi(z^{\prime}) \\ &p(x^{\prime})|\det(J_{f})|=\pi(z^{\prime})\quad p(x^{\prime})=\pi(z^{\prime})\left|\frac{1}{\det(J_{f})}\right| \\ &p(x^{\prime})=\pi(z^{\prime})|det(J_{f^{-1}})| \end{aligned} p(x) det[Δx11Δx12Δx21Δx22] =π(z)Δz1Δz2x=f(z)p(x) Δz1Δz21det[Δx11Δx12Δx21Δx22] =π(z)p(x) det[Δx11z1Δx12z2Δx21z1Δx22z2] =π(z)p(x) det[x1/z1x1/z2x2/z1x2/z2] =π(z)p(x) det[x1/z1x2/z1x1/z2x2/z2] =π(z)p(x)det(Jf)=π(z)p(x)=π(z) det(Jf)1 p(x)=π(z)det(Jf1)

架构

​ 输入z和输出x的尺寸一样,区别于其他的生成模型(输入使用low resolution)。同时,因为我们需要使用 G − 1 G^{-1} G1 G G G矩阵需要可逆,方便求取。

在这里插入图片描述

2023-12-04_19-49-55

常见几种方法

coupling layer

很容易的计算 G G G的数值

NICE: Non-linear Independent Components Estimation

Density estimation using Real NVP

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

采用1*1卷积进行channel shuffle

Glow: Generative Flow with Invertible 1x1 Convolutions

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

Parallel WaveNet: Fast High-Fidelity Speech Synthesis

WaveGlow: A Flow-based Generative Network for Speech Synthesis

在这里插入图片描述


参考视频:

Flow-based Generative Model

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

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

相关文章

Ubuntu22.04 使用Docker部署Neo4j出错 Exited(70)

项目场景: 最近需要使用Neo4j图数据库,因此打算使用docker部署 环境使用WSL Ubuntu22.04 问题描述 拉下最新Neo4j镜像,执行命令部署 启动容器脚本 docker run -d -p 7474:7474 -p 7687:7687 \ --name neo4j \ --env "NEO4J_AUTHneo…

封装了一个顺滑嵌套滚动的框架

首先查看效果图 就是开始滚动的时候,上面的头部和下面的内容是 一起滚动的,但是当滚动到segment 的时候,segment 是悬停 的,下面的tableView是分区的 架构设计 我们设计一个架构,以下面的tablView为主体&#xff0…

SiC MOSFET体二极管双极性退化及电流密度影响的研究

标题:Investigation of the bipolar degradation of SiC MOSFET body diodes and the influence of current density (IEEE International Reliability Physics Symposium (IRPS)) 摘要 摘要-双极退化在使用双极操作模式的4H-SiC器件中仍然是一个需要考虑的关键问题…

Excel 表列序号

题目链接 Excel 表列序号 题目描述 注意点 columnTitle 仅由大写英文组成1 < columnTitle.length < 7 解答思路 对于"CAB"&#xff0c;计算其序列号的思路&#xff1a;字母B的贡献值为2&#xff0c;字母A的贡献值为1 * 26&#xff0c;字母C的贡献值为3 * …

排查200M宽带下行速度低于100M问题(七十七)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

流量分析1--菜刀666

1&#xff1a;菜刀666&#xff1a; 题目描述 分析流量包&#xff0c;过滤http数据流 追踪TCP数据流 对比第5个流和第7个流发现&#xff0c;同样的目录下 多出了6666.jpg。猜测是由攻击者上传&#xff0c;直接在请求包里搜索FFD8--FFD9 保存为1.jpg 利用foremost工具对1.jpg进…

“无忧文件安全!上海迅软DSE文件加密软件助您轻松管控分公司数据!

许多大型企业集团由于旗下有着分布在不同城市的分支机构&#xff0c;因此在规划数据安全解决方案时&#xff0c;不适合采用市面上常见的集中式部署方式来管控各分部服务器&#xff0c;而迅软DSE文件加密软件支持采用分布式部署的方式来解决这一问题。 企业用户只需在总部内部署…

【移动端vant 地址选择滑动不了】

分析&#xff1a; H5页面直接在浏览器打开是没有任何问题的&#xff0c;但是内嵌到小程序中就会出现&#xff0c;目前已出现在抖音&#xff0c;快手&#xff0c;小程序中&#xff0c;其他的没有试 大致看了一下&#xff0c;滑动不了的原因&#xff0c;可能是页面禁止滑动或滚动…

《使用ThinkPHP6开发项目》 - 设置项目环境变量

《使用ThinkPHP6开发项目》 - 安装ThinkPHP框架-CSDN博客 在上一编我们讲了ThinkPHP6框架的创建&#xff0c;创建完成ThinkPHP6框架后&#xff0c;我们这里就可以开始设置我们的环境变量了。 安装完成ThinkPHP6框架生成的项目文件 修改项目配置我们修改项目config文件夹里的对…

MySQL 数据库如何实现 XA 规范?

本文我们来讨论 MySQL 的 XA 规范有哪些应用相关的内容。 MySQL 为我们提供了分布式事务解决方案&#xff0c;在前面的内容中提到过 binlog 的同步&#xff0c;其实是 MySQL XA 规范的一个应用&#xff0c;那么 XA 规范是如何定义的&#xff0c;具体又是如何应用的呢&#xff…

vscode如何为python设置静态类型检测工具:mypy

设置好之后的效果如下图所示&#xff0c;你可以在下方problems一栏看到工作区所有文件存在的问题 安装mypy就像其他插件一样&#xff0c;在extensions中搜索mypy&#xff0c;再install即可。 但是安装以后&#xff0c;我的vscode弹出了以下通知&#xff1a; The mypy daemon e…

使用DockerUI结合内网穿透工具轻松实现公网访问和管理docker容器

文章目录 前言1. 安装部署DockerUI2. 安装cpolar内网穿透3. 配置DockerUI公网访问地址4. 公网远程访问DockerUI5. 固定DockerUI公网地址 前言 DockerUI是一个docker容器镜像的可视化图形化管理工具。DockerUI可以用来轻松构建、管理和维护docker环境。它是完全开源且免费的。基…

【智能家居】六、摄像头安装实现监控功能点、人脸识别(face_recognition的使用)

一、定义及第三方库的说明 OCR &#xff08;光学字符识别&#xff09;文字识别、图像识别mjpg-streamer实时流式传输视频工具树莓派mjpg-streamer Face Recognition人脸识别 Dlib 计算机视觉问题的工具和算法face_recognition库OpenCV 计算机视觉和机器学习的开源库 三、香…

万界星空科技MES---制造企业的加工生产模式

在现代制造业中&#xff0c;加工生产模式是制造企业组织和管理生产过程的重要方面。不同的加工模式适用于不同的生产需求和产品类型。其中流水型、离散型和混合型是三种常见的加工生产模式。1. 流水型加工模式 流水型加工模式是一种高度自动化的生产方式&#xff0c;适用于…

Docker部署开源分布式任务调度系统DolphinScheduler与远程访问办公

文章目录 前言1. 安装部署DolphinScheduler1.1 启动服务 2. 登录DolphinScheduler界面3. 安装内网穿透工具4. 配置Dolphin Scheduler公网地址5. 固定DolphinScheduler公网地址 前言 本篇教程和大家分享一下DolphinScheduler的安装部署及如何实现公网远程访问&#xff0c;结合内…

什么是封箱打包一体机

自动封箱打包机是什么&#xff1f;有哪些特点&#xff1f; 自动封箱打包机的介绍 自动封箱打包机是一种集自动封箱及捆扎为一体的包装机&#xff0c;可配套自动化包装流水线使用&#xff0c;自动上下封胶带、多道捆扎&#xff0c;实现后道无人化包装。工作效率高&#xff0c…

深入了解Java 8日期时间新玩法之Year、YearMonth、MonthDay、DayOfWeek

推荐语 在这篇文章中&#xff0c;我们将深入探讨Java 8中Year、YearMonth、MonthDay和DayOfWeek类的功能和使用方法。这些类是在Java 8中引入的新的日期时间API的一部分&#xff0c;它们为我们提供了更灵活、更易用的日期和时间处理能力。 尽管这些类在Java 8中已经出现&…

分享一个基础面试题---手写call

分享一个基础面试题---手写call 手写call笔记第一步第二步第三步 手写call笔记 call()&#xff1a;在使用一个指定的this值和若干个指定的参数值的前提下调用某个函数或方法。 let foo {value:1 }; function bar(){console.log(this.value); } bar.call(foo);//1注意两点&…

Android音量调节参考一

基于android 9平台分析。 在Android系统中&#xff0c;默认的设备(phone等)音量都是分开控制的&#xff0c;这些包括媒体、铃声、闹铃、蓝牙、通话通过音频流来区别不同的音量类型。每种流类型都定义最大音量、最小音量及默认音量&#xff0c;Android 9定了了11中音频流类型&am…

点评项目——商户查询缓存

2023.12.7 redis实现商户查询缓存 在企业开发中&#xff0c;用户的访问量动辄成百上千万&#xff0c;如果没有缓存机制&#xff0c;数据库将承受很大的压力。本章我们使用redis来实现商户查询缓存。 原来的操作是根据商铺id直接从数据库查询商铺信息&#xff0c;为了防止频繁地…