文章1:  NICE: NON-LINEAR INDEPENDENT COMPONENTS ESTIMATION

文章2:Real-valued Non-Volume Preserving (RealNVP

文章3:Glow: Generative Flow with Invertible 1x1 Convolutions

NICE

学习目标:找一个变换h=f(x),使得变换后的分布的每个分量是独立

我们假设hx的维度是一样的,f可逆的,则我们有

并且,我们希望fJacobian矩阵和f−1比较容易计算。如果这是可以操作的,那么我们可以直接采样pX(x),

这个f的设计的主要核心思想是,将x分裂成两部分(x1,x2),然后变换成(y1,y2),

m可以是任意的函数(i.e., a ReLU MLP). 注意到,Jacobian矩阵的行列式是单位阵,并且非常容易算逆函数,

当然我们可以定义更一般性的架构,,加性交错coupling的架构。并且可以有一层一层的变换,有种flow的感觉。

我们可以定义最大似然函数:

pH(h):先验分布,可以事先定义好的,比如各向同性的高斯分布.如果h的每个分量都是独立的,我们可以写成,

RealNVP

分裂的办法:

st 是 scale 和 translation, 函数,Rd ——>RD−d,

对应的Jacobia矩阵,

PS: 由于我们算逆函数和Jacobia矩阵的过程中,都没有涉及到s和t的逆函数,所以s和t是可以任意复杂的,i.e.,神经网络。

Glow

核心引入了1x1可逆卷积操作: C个1*1的卷积核,即对每个(共W*H个)粉色棍子,用C橙色的棍子,变成红色的棍子(图中只显示了红色棍子的其中一个方块)。 为了保证卷积核A的可逆性,需要加一些约束, i.e., 将log|det A|加入到loss中.

1*1可逆卷积

三种不同方案的loss曲线比较

Flow-based model的更多相关文章

  1. Risk Adaptive Information Flow Based Access Control

    Systems and methods are provided to manage risk associated with access to information within a given ...

  2. 10X genomics|cell base|in-vivo based|model organisms|SBI|

    生命组学-药物基因组学 精准医学的内容有个人全基因组测序,移动可穿戴设备,它可以实时监测,深度学习模型预测疾病,对疾病预测做到有效.安全和可控. 药物基因组学就是研究疾病.化合物和靶点之间的关系,关键 ...

  3. [Functional Programming ADT] Create a Redux Store for Use with a State ADT Based Reducer

    With a well defined demarcation point between Redux and our State ADT based model, hooking up to a R ...

  4. Physically Based Shader Development for Unity 2017 Develop Custom Lighting Systems (Claudia Doppioslash 著)

    http://www.doppioslash.com/ https://github.com/Apress/physically-based-shader-dev-for-unity-2017 Par ...

  5. A Complete Tutorial on Tree Based Modeling from Scratch (in R & Python)

    A Complete Tutorial on Tree Based Modeling from Scratch (in R & Python) MACHINE LEARNING PYTHON  ...

  6. A Neural Influence Diffusion Model for Social Recommendation 笔记

    目录 一.摘言 二.杂记 三.问题定义和一些准备工作 四.模型真思想 五.实验部分 六.参考文献 一.摘言 之前协同过滤利用user-item交互历史很好的表示了user和item.但是由于用户行为的 ...

  7. 比特币_Bitcoin 简介

    2008-11   Satoshi Nakamoto  Bitcoin: A Peer-to-Peer Electronic Cash System http://p2pbucks.com/?p=99 ...

  8. (转) Awesome Deep Learning

    Awesome Deep Learning  Table of Contents Free Online Books Courses Videos and Lectures Papers Tutori ...

  9. {ICIP2014}{收录论文列表}

    This article come from HEREARS-L1: Learning Tuesday 10:30–12:30; Oral Session; Room: Leonard de Vinc ...

  10. CV界的明星人物们

    CV界的明星人物们 来自:http://blog.csdn.net/necrazy/article/details/9380151,另外根据自己关注的地方,加了点东西. 今天在cvchina论坛上看到 ...

随机推荐

  1. golang struct结构体初始化的几种方式

    type User struct { Id int `json:"id" orm:"auto"` // 用户名 Username string `json:&q ...

  2. RazorSQL for Mac如何编辑数据?

    RazorSQL 是一个非开源的功能非常强大数据库查询工具.SQL的编辑.数据库管理工具.支持通过 JDBC 和 ODBC 连接超过 29 种的数据库.允许您从一个数据库工具查询,更新,导航和管理所有 ...

  3. Linux基础命令---间歇执行命令---watch

    [watch] watch指令可以间歇性的执行程序,将输出结果以全屏的方式显示,默认是2s执行一次. watch指令下发后,将会一直被执行,直到被中断. [语法] watch \ [-d h v t] ...

  4. JAVA第四周总结

    Java实验报告二 第一题 写一个名为Rectangle的类表示矩形.其属性包括宽width.高height和颜色color,width和height都是double型的,而color则是String ...

  5. 小菜鸟之java JDBC编程

    JDBC技术 百度简介 :  JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一 ...

  6. 【DP 好题】Kick Start 2019 Round C Catch Some

    题目链接 题目大意 在一条数轴上住着 $N$ 条狗和一个动物研究者 Bundle.Bundle 的坐标是 0,狗的坐标都是正整数,可能有多条狗住在同一个位置.每条狗都有一个颜色.Bundle 需要观测 ...

  7. C++学习 之 控制程序流程 (笔记)

    1.使用if...else有条件的执行 在一些时候语句需要进行有条件的执行.比如如果输入"Y"就执行赋值语句N=1:否则N=0: #include<iostream> ...

  8. 02:linux常用命令

    1.1 linux查看系统基本参数常用命令 1.查看磁盘 [root@linux-node1 ~]# df -hl Filesystem Size Used Avail Use% Mounted on ...

  9. GoAccess操作手册

    名字 GoAccess - 可视化 Web 日志分析工具. 语法 goaccess [filename] [ options ... ] [-c][-M][-H][-q][-d][...] 描述 Go ...

  10. python中format所有用法

    平时只用参数匹配,偶尔看到别人的format用法楞住没反应过来,遂记下 #通过位置 print '{0},{1}'.format('hehe',20) print '{},{}'.format('he ...