infoGAN中一个重要的采样技巧

【写在前面】这篇文章写给了解infoGAN的同学,或对于互信息参数模型感兴趣的同学。写作起因是,我发现介绍infoGAN的文章往往忽略了一个重要的采样技巧,而这个技巧对于以互信息为约束的参数模型极为重要。

1.铺垫

1.1 信息熵
H(X) = -\sum_{x_i} P(x_i) log(P(x_i))\{离散\}
= -\int_{X} P(x) log(P(x))dx\{连续\}
=-E_X[log(P(X))]
信息熵反应信息带来的惊讶程度,概率越低,惊讶程度越大,信息熵越大。
1.2 互信息
I(X,Y) = H(X) - H(X|Y) = H(Y) - H(Y|X)
= H(X) + H(Y) - H(X,Y)
= -E[log(P(X)] + E_{X|Y}[log P(X|Y)]
=- \int_{X} P(x) log P(x)dx + \int_{X} P(x|Y) logP(x|Y)dx
=- \int_{X} (\int_{Y}P(x,y)dy) log P(x)dx + \int_{Y}p(y)\int_{X} P(x|y) logP(x|y)dxdy
= -\int_{X} \int_{Y}P(x,y)log P(x)dydx +\int_{X}\int_{Y}p(y) P(x|y) logP(x|y)dydx
= -\int_{X} \int_{Y}P(x,y)log P(x)dydx +\int_{X}\int_{Y} P(x,y) log\frac{P(x,y)}{P(y)}dydx
=\int_{X} \int_{Y} p(x,y)log \frac{p(x,y)}{p(x)p(y)} dy dx
=D_{KL}( \mathbb{P}_{XY}||\mathbb{P}_{X} \bigotimes \mathbb{P}_{Y})
两个随机变量X和Y的互信息有两种等价的定义:一种是二者的联合概率密度与它们各自概率密度的积直接的KL距离,另一种是用X自身的惊讶程度(H(X))减去在已知Y的基础上,X带来的惊讶程度(H(X|Y))。翻转X和Y也成立。
1.3 引理
对于随机变量X,Y和它们的函数f(x,y)服从
E_{x \sim X,y \sim Y|x} [f(x,y)] = E_{x \sim X, y \sim Y|x, x' \sim X|y}[f(x', y)]
证明
E_{x \sim X,y \sim Y|x} [f(x,y)]
= \int _{x}\int_{y} {P(x,y)f(x,y)}dydx
= \int _{x}\int_{y} {P(x,y)f(x,y)} \int _{x'}{P(x'|y)}dx'dydx
= \int _{x}P(x)\int_{y}P(y|x)\int_{x'}{f(x,y)} {P(x'|y)}dx'dydx
= \int _{x}P(x)\int_{y}P(y|x)\int_{x'}{f(x',y)} {P(x'|y)}dx'dydx
=E_{x \sim X, y \sim Y|x, x' \sim X|y}[f(x', y)]
这里需要解释的是第四行到第五行,
1)x是不给定yX里取,x'是给定yX里取,所以x'能选择的范围是X的子集;
2)f(x,y)X|y上有值,在X\not{|}y等于0,这是显然的;
3)这样f(x',y)=f(x,y)

2.用互信息的形式重写GAN的目标【这部分可跳过】

2.1 GAN的目标
\min_{G} \max_{D} V(D,G) = E_{x \sim P_{data}}[log D(X)] + E_{z \sim noise}[log(1-D(G(z)))]
D,G分别表示判别器和产生器。
2.2 GAN的目标的互信息写法
定义Y\sim Ber(0.5)为判别器的输出变量,P(y=1)=P(y=-1)=0.5
(其他一个什么值也可以。在GAN收敛时等于0.5),定义
x=\begin{cases} x_{real}& \text{if y=1}\\ x_{fake}& \text{if y=-1} \end{cases}
为判别器的输入,x_{real}x_{fake}=q(x_{fake}|c;\theta)分别表示真实数据和产生的数据,\theta表示网络参数。
L_{GAN}(\theta)=I(X,Y)
这一目标是说,GAN努力减小XY之间的互信息,也就是迷惑判别器,使其不能通过X来得到正确的判断。在理想情况下,XY之间的互信息为0。

3.infoGAN神来之笔的采样技巧

3.1 infoGAN想做什么
普通GAN中的隐变量z \sim P(Z)是一个随机采样,常选择高斯分布。这样隐变量的可解释性很差。而infoGAN要使得隐变量和产生的图像之间获得较大的关联性,比如某个隐变量和生成图像的类别相关,另一个和生成图像的风格相关,等等。关联性的形式化就是互信息。
3.2 infoGAN的(新增)目标函数
L_{infoGAN}(\theta)=V(G,D)-\lambda I(c,x_{fake})
这里重点讲新增的目标函数:
I(c,x_{fake})=I(c;G(z,c))=H(c)-H(c|G(z,c))
=E_{x\sim G(z,c)}[E_{c' \sim P(c|x)}[log P(c'|x)]] + H(c)
=E_{x\sim G(z,c)}[E_{c' \sim P(c|x)}[log \frac{P(c'|x)}{Q(c'|x)}+log Q(c'|x)]] + H(c)
=E_{x\sim G(z,c)}[KL[P(c'|x)||Q(c'|x)]+E_{c' \sim P(c|x)}[log Q(c'|x)]] + H(c)
\geq E_{x\sim G(z,c)}[E_{c' \sim P(c|x)}[log Q(c'|x)]] + H(c)
这里的c表示和类别相关的隐变量,服从类别分布c \sim category(C)G(z,c)zc的联合概率分布的函数,表示生成的数据。忽略z的影响(因为z是高斯噪声)就可以认为G(z,c)c的概率密度函数的函数。
3.3 infoGAN的采样
重点来了,从c \sim P(c|x)来采样是比较麻烦的,因为我们并不知道后验概率P(c|x)的数学形式,而直接从P(c)采样是比较方便的。这就用到了1.3节的引理,只要反着用就可以搞定。
E_{x\sim G(z,c)}[E_{c' \sim P(c|x)}[log Q(c'|x)]] + H(c)
=E_{x\sim G(z,c)}[E_{c' \sim P(c)}[log Q(c'|x)]] + H(c)
=E_{x\sim G(z,c), c \sim P(c)}[log Q(c|x)] + H(c)
简单解释一下,就是xC里取,cC|x里取,这样和cC里取是没有区别的,因为Q(c\not{|}x)=0

完。

参考文献:

  1. InfoGAN: using the variational bound on mutual information (twice)
  2. InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets Xi Chen,Yan Duan, Rein Houthooft,John Schulman, Ilya Sutskever, Pieter Abbeel
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,794评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,050评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,587评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,861评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,901评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,898评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,832评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,617评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,077评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,349评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,483评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,199评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,824评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,442评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,632评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,474评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,393评论 2 352

推荐阅读更多精彩内容