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. A Child's History of England.5

    Above all, it was in the Roman time, and by means of Roman ships, that the Christian Religion was fi ...

  2. go channel 概述 - 管道

    概述 unix/linux OS 的一个进程的输出可以是另一个进程的输入,这些进程使用stdin与stdout设备作为通道,在进程之间传递数据. 同样的,GO中有io.Reader与io.Writer ...

  3. Mysql百万级数据索引重新排序

    参考https://blog.csdn.net/pengshuai007/article/details/86021689中思路解决自增id重排 方式一 alter table `table_name ...

  4. 【Linux】【Services】【DNS】使用Bind搭建DNS服务

    1. 简介 1.1. 实现的功能:DNS解析以及智能转发 1.2. 官方文档: 1.3. 基础概念:http://www.cnblogs.com/demonzk/p/6494968.html 2. 环 ...

  5. ssh 无法使用

    ssh 无法运行造成无法远程连接 linux 原因: 我将 /var  目录权限修改成了 777,但 linux 系统出于安全起见,该目录的 7 权限只对 root 用户开放,所以linux 系统认为 ...

  6. 1.Java语言基础

    一:java语言介绍 (1). 1991年出现,1995年5月正式发布 出生地:SUN  创始人:James Gosling  2009年4月被Oracle收购 目前最新的版本2018年3月v10.0 ...

  7. LeetCode 36. Valid Sudoku (Medium)

    题目 Determine if a 9 x 9 Sudoku board is valid. Only the filled cells need to be validated according ...

  8. 层次分析法、模糊综合评测法实例分析(涵盖各个过程讲解、原创实例示范、MATLAB源码公布)

    目录 一.先定个小目标 二.层次分析法部分 2.1 思路总括 2.2 构造两两比较矩阵 2.3 权重计算方法 2.3.1 算术平均法求权重 2.3.2 几何平均法求权重 2.3.3 特征值法求权重 2 ...

  9. Django modules模块

    http://www.cnblogs.com/wupeiqi/articles/5246483.html

  10. Vue页面内公共的多类型附件图片上传区域并适用折叠面板

    在前端项目中,附件上传是很常用的功能,几乎所有的app相关项目中都会使用到,一般在选择使用某个前端UI框架时,可以查找其内封装好的图片上传组件,但某些情况下可能并不适用于自身的项目需求,本文中实现的附 ...