MADE: Masked Autoencoder for Distribution Estimation

本文详细介绍了Germain等人的工作,MADE(Masked Autoencoder for Distribution Estimation),一种通过设计特定掩码结构来确保隐藏层输出仅依赖于输入部分的自编码器模型。文章探讨了其内部结构、如何构建掩码矩阵以实现信息稀疏传播,并提供了关键代码示例。
摘要由CSDN通过智能技术生成

文章目录

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

考虑
x ^ = f ( x ) ∈ R D , x ∈ R D . \hat{x} = f(x) \in \mathbb{R}^D, \quad x \in \mathbb{R}^D. x^=f(x)RD,xRD.
怎么样结构的 f f f使得
x ^ = [ x ^ 1 , f 2 ( x 1 ) , f 3 ( x 1 , x 2 ) , … , f d ( x 1 , x 2 , … , x D ) ] . \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)]. x^=[x^1,f2(x1),f3(x1,x2),,fd(x1,x2,,xD)].
即, x ^ d \hat{x}_d x^d只与 x < d x_{< d} x<d有关.

主要内容

假设第 l l l层的关系式为:
x l = σ l ( W l x l − 1 + b l ) . x^l = \sigma^l(W^lx^{l-1} + b^l). xl=σl(Wlxl1+bl).
作者给出的思路是, 给一个隐层的第k个神经元分配一个数字 m 1 ( k ) ∈ { 1 , … , D − 1 } m^1(k) \in \{1, \ldots, D-1\} m1(k){1,,D1}, 则构建一个掩码矩阵 M 1 M^1 M1:
M k , d 1 = { 1 , m 1 ( k ) ≥ d 0 , e l s e . M^1_{k,d} = \left \{ \begin{array}{ll} 1, & m^1(k) \ge d \\ 0, & \mathrm{else}. \end{array} \right . Mk,d1={1,0,m1(k)delse.
于是实际上的过程为:
x 1 = σ 1 ( W 1 ⊙ M 1   x + b 1 ) . x^1 = \sigma^1(W^1 \odot M^1 \: x + b^1). x1=σ1(W1M1x+b1).

进一步, 给第 l l l个隐层的第 i i i个神经元分配数字 m l ( i ) ∈ { min ⁡ m l − 1 , … , D − 1 } m^l(i) \in \{\min m^{l-1}, \ldots, D-1\} ml(i){minml1,,D1} (否则会出现 M l M^l Ml的某些行全为0):
M i , j l = { 1 , m l ( i ) ≥ m l − 1 ( j ) 0 , e l s e . M^l_{i,j} = \left \{ \begin{array}{ll} 1, & m^l(i) \ge m^{l-1}(j) \\ 0, & \mathrm{else}. \end{array} \right . Mi,jl={1,0,ml(i)ml1(j)else.

x l = σ l ( W l ⊙ M l   x l − 1 + b l ) . x^l = \sigma^l(W^l \odot M^l \: x^{l-1} + b^l). xl=σl(WlMlxl1+bl).

以及最后的输出层:
M d , k L = { 1 , d > m L − 1 ( k ) 0 , e l s e . M^L_{d,k} = \left \{ \begin{array}{ll} 1, & d > m^{L-1}(k) \\ 0, & \mathrm{else}. \end{array} \right . Md,kL={1,0,d>mL1(k)else.

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

代码

原文代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值