概念

InfoGAN所要达到的目标就是通过非监督学习得到可分解 的特征表示。使用GAN加上最大化生成的图片和输入编码 之间的互信息。 最大的好处就是可以不需要监督学习,而且不需要大量额 外的计算花销就能得到可解释的特征

实现

InfoGAN的出发点,它试图利用z,寻找一个可解释的表达, 于是它将z进行了拆解,一是噪声z,二是可解释的隐变量c, 而我们希望通过约束c与生成数据之间的关系,可以使得c里 面包含有对数据的可解释的信息。

如对MNIST数据,c可以分为categorical latent code代 来 表数字种类信息(0~9),以及continuous latent code来 表示倾斜度、笔画粗细等等

在生成器中除了原先的噪声z还增加了一个隐含编码c,所谓 InfoGAN,其中Info代表互信息,它表示生成数据x与隐藏编 码c之间关联程度的大小,为了使的x与c之间关联密切,所以 我们需要最大化互信息的值,据此对原始GAN模型的值函数 做了一点修改,相当于加了一个互信息的正则化项

互信息:我们可以把互信息看成当观测到y值而造成 的x的不确定性的减小。如果x,y是相互独立没有相关性,即 互信息的值为0,那么已知y值的情况下推测x与x的原始分布 没有区别;如果x,y有相关性,即互信息的值大于0,那么已 知y值的情况下,我们就能知道哪些x的值出现的概率更大

==通过使用连续的和离散的隐含因子来学习可分解的特征==

image-20230412183406196

image-20230412183347556