Germain M., Gregor K., Murray I. and Larochelle H. MADE: Masked Autoencoder for Distribution Estimation. ICML, 2015.

考虑

\[\hat{x} = f(x) \in \mathbb{R}^D, \quad x \in \mathbb{R}^D.
\]

怎么样结构的\(f\)使得

\[\hat{x} = [\hat{x}_1, f_2(x_1), f_3(x_1, x_2), \ldots, f_d(x_1,x_2,\ldots,x_D)].
\]

即, \(\hat{x}_d\)只与\(x_{< d}\)有关.

主要内容

假设第\(l\)层的关系式为:

\[x^l = \sigma^l(W^lx^{l-1} + b^l).
\]

作者给出的思路是, 给一个隐层的第k个神经元分配一个数字\(m^1(k) \in \{1, \ldots, D-1\}\), 则构建一个掩码矩阵\(M^1\):

\[M^1_{k,d} =
\left \{
\begin{array}{ll}
1, & m^1(k) \ge d \\
0, & \mathrm{else}.
\end{array}
\right .
\]

于是实际上的过程为:

\[x^1 = \sigma^1(W^1 \odot M^1 \: x + b^1).
\]

进一步, 给第\(l\)个隐层的第\(i\)个神经元分配数字\(m^l(i) \in \{\min m^{l-1}, \ldots, D-1\}\) (否则会出现\(M^l\)的某些行全为0):

\[M^l_{i,j} =
\left \{
\begin{array}{ll}
1, & m^l(i) \ge m^{l-1}(j) \\
0, & \mathrm{else}.
\end{array}
\right .
\]
\[x^l = \sigma^l(W^l \odot M^l \: x^{l-1} + b^l).
\]

以及最后的输出层:

\[M^L_{d,k} =
\left \{
\begin{array}{ll}
1, & d > m^{L-1}(k) \\
0, & \mathrm{else}.
\end{array}
\right .
\]

个人感觉, 会有很明显的稀疏化... 而且越深状况越严重.

代码

原文代码

MADE: Masked Autoencoder for Distribution Estimation的更多相关文章

  1. 论文阅读笔记十九:PIXEL DECONVOLUTIONAL NETWORKS(CVPR2017)

    论文源址:https://arxiv.org/abs/1705.06820 tensorflow(github): https://github.com/HongyangGao/PixelDCN 基于 ...

  2. 论文笔记: Deep Learning based Recommender System: A Survey and New Perspectives

    (聊两句,突然记起来以前一个学长说的看论文要能够把论文的亮点挖掘出来,合理的进行概括23333) 传统的推荐系统方法获取的user-item关系并不能获取其中非线性以及非平凡的信息,获取非线性以及非平 ...

  3. 【Duke-Image】Week_5 Segmentation

    Chapter 10 Image Segmentation 图像分割 10.2.7 Edge Linking and Boundary Detection 边缘连接和边界检测 Global proce ...

  4. 项目二:使用机器学习(SVM)进行基因预测

    SVM软件包 LIBSVM -- A Library for Support Vector Machines(本项目所用到的SVM包)(目前最新版:libsvm-3.21,2016年7月8日) C-S ...

  5. Libsvm学习

        本篇博客转自 http://www.cppblog.com/guijie/archive/2013/09/05/169034.html     在电脑文件夹E:\other\matlab 20 ...

  6. 对SVC和SVR的理解

    首先: support vector classify(SVC)支持分类机做二分类的,找出分类面,解决分类问题 support vector regression(SCR)支持回归机做曲线拟合.函数回 ...

  7. 支持向量机(理论+opencv实现)

    从基础开始讲起,没有这些东西看支持向量机真的很难!   1.拉格朗日乘子(Lagrangemultiplier)   假设需要求极值的目标函数(objectivefunction)为f(x,y),限制 ...

  8. SVM (support vector machine)

    简单原理流程转自:http://wenku.baidu.com/link?url=57aywD0Q6WTnl7XKbIHuEwWENnSuPS32QO8X0a0gHpOOzdnNt_K0mK2cucV ...

  9. libsvm 的使用

    1. libsvm 支持的SVM模型 官网地址:LIBSVM – A Library for Support Vector Machines libsvm 支持的 SVM 模型如下(C:classif ...

随机推荐

  1. MapReduce05 框架原理OutPutFormat数据输出

    目录 4.OutputFormat数据输出 OutputFormat接口实现类 自定义OutputFormat 自定义OutputFormat步骤 自定义OutputFormat案例 需求 需求分析 ...

  2. 用python写的推箱子搜索程序

    1 # -*- coding: gbk -*- 2 from functools import reduce 3 from copy import deepcopy 4 import re 5 def ...

  3. Java实现读取文件

    目录 Java实现读取文件 1.按字节读取文件内容 使用场景 2.按字符读取文件内容 使用场景 3.按行读取文件内容 使用场景 4.随机读取文件内容 使用场景 Java实现读取文件 1.按字节读取文件 ...

  4. TLSv1.3 Support:主流 Web 客户端和服务端对 TLSv1.3 的支持情况

    TLSv1.3 Support:主流 Web 客户端和服务端对 TLSv1.3 的支持情况 请访问原文链接:https://sysin.org/blog/tlsv1-3-support/,查看最新版. ...

  5. c学习 - 第八章:函数

    8.7 数组作函数的参数 1.数组元素作函数的参数--值传递,单向传递 2.数组名做函数的参数--地址传送 (1)实参:数组名做实参,传递的是数组首元素的地址 (2)形参:使用同类型的数组名或指针变量 ...

  6. 转 android design library提供的TabLayout的用法

    原文出处:http://chenfuduo.me/2015/07/30/TabLayout-of-design-support-library/ 在开发中,我们常常需要ViewPager结合Fragm ...

  7. android TabLayout设置选项卡之间的距离无效已解决

    根据下面的链接设置完距离后无法生效 https://www.jb51.net/article/131304.htm layout <com.google.android.material.tab ...

  8. 【AWS】【Basis】基础概念

    1.基础服务类型: 1.1. 链接: 官方文档,很详细:https://www.amazonaws.cn/products/#compute_networking/?nc1=f_dr 这个是一个whi ...

  9. 【编程思想】【设计模式】【其他模式】blackboard

    Python版 https://github.com/faif/python-patterns/blob/master/other/blackboard.py #!/usr/bin/env pytho ...

  10. Dockers启动Kafka

    首先安装 Confluent Platform Quick Start for Confluent Platform (Local install) Use this quick start to g ...