本文是 GAN 的开山之作.
GAN 由两个神经网络组成, 一为生成器 Generator
, 一为判别器 Discriminator
. 生成器用于捕捉(真实)数据的分布; 判别器用于估计(输入它的)样本是真实数据的概率, 从而能够指导生成器的训练.
GAN 存在唯一的解, 即生成器能恢复真实的数据分布, 判别器的输出处处为 1/2
对于以下相关工作的描述, 我自己也没有研究过, 不曾体会, 暂且做个记录.
GAN 是深度生成模型的一个变种. 但后者存在以下两个难点, GAN 避免了这两个难点.
近似[(极大似然估计与相应策略)的概率计算]的难度很大; [此处加两个括号, 辅助断句, 读者请自行体会]
在生成上下文使用分段线性单元难以获益.
深度玻尔兹曼机 DBM
广泛地使用似然函数, 因此需要对似然梯度的大量估计. 这些困难推动了generative machine
的发展, 这些模型不需要显式地表示似然, 能够从期望的分布中生成样本. 其中的一个例子是Generative stochastic networks GSN
, 它可以通过 BP 训练 而不需要大量的近似. 而 GAN 通过剔除 GSN 中使用的马尔可夫链
拓展了 generative machine.
Variational AutoEncoders VAEs
同样给可微的生成器网络配了另一个神经网络, 该网络作为识别模型, 用于近似推断. VANs 与 GANs 的不同之处在于, GANs 需要通过可见单元进行微分, 因此不能对离散数据建模; VAEs 需要通过隐藏单元进行建模, 因此不能有离散潜变量
.
Predictability minimization PM
也使用了两个神经网络相互竞争的思想. 其第一个网络的每个隐藏单元都训练为和第二个网络的输出不同, 而第二个网络预测每个隐藏单元在给定所有其他隐藏单元的值时的值. GAN 与 PM 的不同在于:
网络间的竞争是 GAN 的唯一训练标准; PM 只是鼓励隐藏单元统计独立的正则器, 竞争并不是主要标准;
GAN 中的生成器生成丰富的高维数据, 作为判别器的输入, 力图使判别器最终无法判断数据的真假; 而 PM 比较两个神经网络的输出, 一个使输出相似, 一个使输出不同, 最终得到一个标量;
GAN 是基于 minmax 博弈的, 而不是优化问题, 存在一个值函数 Value Funtion
, 判别器致力于增大其输出, 生成器致力于减小该值, 博弈在鞍点处停止; 而 PM 是一个优化问题, 方法是最小化观测函数.
另一个与 GAN 的思想相似的是Noise-contrastive estimation NCE
, 它通过训练一个生成模型来学习能帮助区分判定性数据与固定噪声分布的模型权重. NCE 的限制是, 它的”判别器”定义为噪声分布与模型分布的概率密度比, 因此需要对两个概率密度都进行评估与 BP.
对抗样例
是对分类网络的输入直接应用基于梯度的优化方法找到的样例, 目的是找到与数据相似但会被误分类的样例. 因此对抗样例主要是一种分析工具. 但是对抗样例的存在, 意味着 GAN 的训练可能是低效的, 因为它使得判别器能够自信地识别一个类, 但缺少对人类对于物类的感知的模拟.
GAN 的架构如上图所示. 生成器的输入为噪声, 通过训练其参数, 以恢复真实数据分布. 深度学习作为一种表示学习方法, 一般的深度神经网络对数据处理过程可以视为一个编码过程, 而此处的生成器可以视为一个解码过程.
判别器则接受来自真实数据集或生成器生成的样本, 输出一个标量, 用以表示样本来自真实数据集的概率.
GAN 的 minmax 博弈的值函数表示如下:
在 GAN 训练的早期, G (以下均用 G 表示生成器, D 表示判别器) 非常差劲, 其输出结果明显不同于真实数据, 因此 D 能以绝对的自信判定真假, 输出接近 1 或 0 的概率, 导致 G 的梯度消失 (饱和), 从而难以训练 G. 此时使用最大化而不是最小化会有所帮助. 因为该观测值使得 G 与 D 的动态具有相同的定点, 因此能在训练早期提供更强的梯度. (此处, 我不明白)
本文后面的内容从理论上证明了以下两项, 具体证明过程在此略去:
minmax 博弈在=达到全局最优解.
当 G 与 D 有足够的容量时, 在给定 G 时, D 能达到最优值, 而 也能得到更新, 以提升 G.
实际应用中, GAN 通过函数来表示的一个受限族, 并且优化的是而不是. 因此 GAN 实际缺乏理论保障.
KL 散度
用于度量一个概率分布偏离量一个分布的程度. 而 JS 散度
可用于度量两个概率分布之间的相似性. GAN 训练的一个目标就是减小真实概率分布与生成概率分布之间的 JS 散度.
GAN 的缺点:
没有显示地表示
D 必须与 G 同时训练
GAN 的优点
不需要马尔可夫链, 只需要 BP 来计算梯度
学习过程中不需要推理
可以使用多种技术
G 不是直接依据数据样本来更新的, 而是依据判别器的梯度, 这意味着输入并不是直接拷贝进 G 的参数的
可以表示非常锐化, 甚至退化的分布 (基于马尔可夫链的方法要求分布具有一定的模糊性, 以便链在模式间混合)
GAN 要求 G 与 D 必须是可微的, 但不要求它们是直接可逆的
GAN 的架构
LAPGAN
通过多次放缩, 对生成过程进行分解解决了(使用(相同容量)和(与监督学习的表示能力相同的 CNN)来训练 G 和 D 很困难)的问题, 并使用条件卷积 GAN
来生成每一层的图像. [此处的圆括号用于辅助断句]
DCGAN
利用了 strided 和 fractionally-strided 卷积来分别支持降采样与上采样操作. 这些操作能处理采样速率与采样位置的变化, 而这正是将图片空间映射到可能的低维潜变量空间及将图片空间映射到 D 的一个关键.
Conditional GAN
提供了对多模式数据生成的更好的表示.
InfoGAN
将噪声源分解为不可再分解的源与一个潜代码 latent code
, 并试图通过最大化潜代码与 G 输出之间的交互信息来发现变量的潜在因子. 实验表明 InfoGAN 习得的表示在语义上是有意义的.
Adversarially Learned Inference, ALI
与 Bidirectional GAN
是带推理模型的 GAN, 引入了推断网络, 能在 D 检测 (data, latent) 对时提供帮助. 而此时, G 由两部分组成, 除了常规的解码器, 还有一个额外的推断网络作为编码器.
Adversarial Autoencoders, AAE
将对抗的思想引入自编码器. 在潜变量空间与其期望先验分布间引入对抗训练, 从而得到一个组合损失函数, 它反映了重构误差以及由候选编码网络产生的先验分布有多不同的一种度量. Adversarial Variational Bayes, AVB
试图优化与 VAE 相同的标准, 但使用对抗训练的观测而非 KL 散度.
训练 GAN
理想情况下, 针对当前 G, D 会训练到最优; 然后训练 G. 但实际中, D 可能不会训练到最优状态, 只会进行有限的几次迭代训练, 并且 D 与 G 同时训练更新.
GAN 实际是要找到一个鞍点, 因此梯度下降算法对于 GAN 的训练并不合适.
真实数据只是高维空间中的一个低维流形, 因此训练 G 来恢复真实数据分布, 在空间中也只是很小的一块区域. 由于与很可能是不重叠的, 因此 D 可能总会以极高的自信判别真假
当 D 最优时, 训练 G 等价于最小化与 间的 JS 散度 (如上所述); 但 D 不是最优时, 对 G 的更新可能是无意义, 或者不准确的
GAN 的训练技巧
同时对 G 和 D 使用 Batch Normalization, 能使训练更深的模型的过程更稳定
最少化全连接层, 以提高训练更深模型的灵活性
LeakyReLU 比 ReLU 具有更好的性能
训练 GAN 的启发式方法:
稍微修改 G 的观测目标能提高可获得的信息量. 特别地, D 的训练方法不变, 但训练 G 来匹配 D 的中间层的激活值
小批量判别. 向 D 添加一个额外的输入, 该特征对小批量中的一个样本与其他样本的距离进行编码, 旨在防止mode collapse
, 因为此时 D 能轻易地知晓 G 是否总是输出同一个结果.
启发式平均. 当参数偏离之前的均值时, 对其进行惩罚, 以保证博弈能收敛到一个均衡点.
Virtual BN
. 在训练之前, 选择一个小批量的数据, 记为引用小批量, 以后每次训练, 都使用引用小批量的统计量, 从而减少小批量中某个样本对其他样本的依赖.
one-sided 标签平滑. 即用略小于 1 的数字来表示标签 1, 这使得 D 的分类边界更加平滑, 防止了 D 的过度自信, 从而防止了 G 的梯度消失.
在样本送入 D 之前, 向其添加噪声. Sønderby et al. 指出 one-sided 平滑会使得 D 偏离最优解的情况. 而使用实例噪声, 能使得真实流形与生成流形彼此更接近, 同时防止了 D 轻易就找到完全分离真假样本的判别边界. 实践中, 这通过同时向真假样本添加高斯噪声实现.
Nowozin et al. 指出, GAN 的训练可能可以被泛化为不仅仅最小化 JS 散度, 而且最小化 f-散度的估计, 并提出了 f-GANs. f-GANs 在训练之初, G 的梯度不太容易消失. 这是因为, 训练 D 时, 估计了真假数据分布的 f-散度的偏差,而在训练 G 时, 仅最小化 f-散度的估计. f-GANs 后又得到扩展, 训练 D 时, 预测真假数据分布的比例; 训练 G 时, 直接最小化 f-散度.
WGAN 使用了 Wasserstein 距离的近似作为成本函数, 这能为 G 提供更有用的梯度.
最近的研究表明, 权重剪切 weight clip
较小了 D 的容量, 强迫它学习更简单的函数.
BiGAN 和 ALI 提供了图片到潜变量空间的映射, 但重建的品质并不高
潜变量空间结构
潜变量空间的数据可以被高度结构化, 从而可能支持高级的语义操作
一些 GANs 变种提供了从图片到潜变量映射的网络, 因此能够探索和利用结构化的潜变量空间. 通过编码器, 带标签的数据集可以映射到潜变量空间, 从而发现能表示高层属性的”概念向量”.
Gurumurthy et al. 对混合高斯分布
的潜变量空间进行建模.
GAN 的应用
此处仅对应用做一个简单的记录
分类与回归
GAN 训练完成之后, 神经网络可以复用于下游任务. D 的卷积层可用于特征提取, 只需要在其上添加简单的线性模型即可
通过推断机制的联合训练, 能提供数据表示的品质. (当在训练路径中注入标签信息, ALI 取得了 state-of-the-art 的分类结果)
在标签有限的情况下, 对抗训练可用于生成更多的训练样本
图片生成
GAN 的条件化后来被扩展到自然语言中, Reed et al. 用 GAN 从文本描述中生成图片
作为文本描述的扩展, GAWWN 条件于物体位置
图片到图片的转化
pix2pix 用于图片到图片到”翻译”
CycleGAN 通过引入循环一致性损失, 尝试在转化之后保留原始图片, 并反转转化过程.
超分辨率
SRGAN 通过对抗损失组件扩展了之前的模型, 限制图片在自然图片的流形之上.
这是一篇比较短小的论文. 就提出了一个概念: 同时向 G 和 D 输入相同的额外信息, 引导生成过程
. 这些额外信息也称为条件, 可以是类标签, 或者是其他任何辅助信息.
这个方法很实用. GANs 原来是漫无目的的生成样本的, 加入条件之后, cGAN (我喜欢称条件 GAN
为 cGAN) 就真正实现了指哪打哪, 可以定向生成样本, 比如 MNIST 的数字 5 (Give me 5!)
cGAN 的值函数见下, 架构见上.
人工智能赛博物理操作系统
AI-CPS OS
“人工智能赛博物理操作系统”(新一代技术+商业操作系统“AI-CPS OS”:云计算+大数据+物联网+区块链+人工智能)分支用来的今天,企业领导者必须了解如何将“技术”全面渗入整个公司、产品等“商业”场景中,利用AI-CPS OS形成数字化+智能化力量,实现行业的重新布局、企业的重新构建和自我的焕然新生。
AI-CPS OS的真正价值并不来自构成技术或功能,而是要以一种传递独特竞争优势的方式将自动化+信息化、智造+产品+服务和数据+分析一体化,这种整合方式能够释放新的业务和运营模式。如果不能实现跨功能的更大规模融合,没有颠覆现状的意愿,这些将不可能实现。
领导者无法依靠某种单一战略方法来应对多维度的数字化变革。面对新一代技术+商业操作系统AI-CPS OS颠覆性的数字化+智能化力量,领导者必须在行业、企业与个人这三个层面都保持领先地位:
重新行业布局:你的世界观要怎样改变才算足够?你必须对行业典范进行怎样的反思?
重新构建企业:你的企业需要做出什么样的变化?你准备如何重新定义你的公司?
重新打造自己:你需要成为怎样的人?要重塑自己并在数字化+智能化时代保有领先地位,你必须如何去做?
AI-CPS OS是数字化智能化创新平台,设计思路是将大数据、物联网、区块链和人工智能等无缝整合在云端,可以帮助企业将创新成果融入自身业务体系,实现各个前沿技术在云端的优势协同。AI-CPS OS形成的数字化+智能化力量与行业、企业及个人三个层面的交叉,形成了领导力模式,使数字化融入到领导者所在企业与领导方式的核心位置:
精细:这种力量能够使人在更加真实、细致的层面观察与感知现实世界和数字化世界正在发生的一切,进而理解和更加精细地进行产品个性化控制、微观业务场景事件和结果控制。
智能:模型随着时间(数据)的变化而变化,整个系统就具备了智能(自学习)的能力。
高效:企业需要建立实时或者准实时的数据采集传输、模型预测和响应决策能力,这样智能就从批量性、阶段性的行为变成一个可以实时触达的行为。
不确定性:数字化变更颠覆和改变了领导者曾经仰仗的思维方式、结构和实践经验,其结果就是形成了复合不确定性这种颠覆性力量。主要的不确定性蕴含于三个领域:技术、文化、制度。
边界模糊:数字世界与现实世界的不断融合成CPS不仅让人们所知行业的核心产品、经济学定理和可能性都产生了变化,还模糊了不同行业间的界限。这种效应正在向生态系统、企业、客户、产品快速蔓延。
AI-CPS OS形成的数字化+智能化力量通过三个方式激发经济增长:
创造虚拟劳动力,承担需要适应性和敏捷性的复杂任务,即“智能自动化”,以区别于传统的自动化解决方案;
对现有劳动力和实物资产进行有利的补充和提升,提高资本效率;
人工智能的普及,将推动多行业的相关创新,开辟崭新的经济增长空间。
给决策制定者和商业领袖的建议:
超越自动化,开启新创新模式:利用具有自主学习和自我控制能力的动态机器智能,为企业创造新商机;
迎接新一代信息技术,迎接人工智能:无缝整合人类智慧与机器智能,重新
评估未来的知识和技能类型;
制定道德规范:切实为人工智能生态系统制定道德准则,并在智能机器的开
发过程中确定更加明晰的标准和最佳实践;
重视再分配效应:对人工智能可能带来的冲击做好准备,制定战略帮助面临
较高失业风险的人群;
开发数字化+智能化企业所需新能力:员工团队需要积极掌握判断、沟通及想象力和创造力等人类所特有的重要能力。对于中国企业来说,创造兼具包容性和多样性的文化也非常重要。
子曰:“君子和而不同,小人同而不和。” 《论语·子路》云计算、大数据、物联网、区块链和 人工智能,像君子一般融合,一起体现科技就是生产力。
如果说上一次哥伦布地理大发现,拓展的是人类的物理空间。那么这一次地理大发现,拓展的就是人们的数字空间。在数学空间,建立新的商业文明,从而发现新的创富模式,为人类社会带来新的财富空间。云计算,大数据、物联网和区块链,是进入这个数字空间的船,而人工智能就是那船上的帆,哥伦布之帆!
新一代技术+商业的人工智能赛博物理操作系统AI-CPS OS作为新一轮产业变革的核心驱动力,将进一步释放历次科技革命和产业变革积蓄的巨大能量,并创造新的强大引擎。重构生产、分配、交换、消费等经济活动各环节,形成从宏观到微观各领域的智能化新需求,催生新技术、新产品、新产业、新业态、新模式。引发经济结构重大变革,深刻改变人类生产生活方式和思维模式,实现社会生产力的整体跃升。
产业智能官 AI-CPS
用“人工智能赛博物理操作系统”(新一代技术+商业操作系统“AI-CPS OS”:云计算+大数据+物联网+区块链+人工智能),在场景中构建状态感知-实时分析-自主决策-精准执行-学习提升的认知计算和机器智能;实现产业转型升级、DT驱动业务、价值创新创造的产业互联生态链。
长按上方二维码关注微信公众号: AI-CPS,更多信息回复:
新技术:“云计算”、“大数据”、“物联网”、“区块链”、“人工智能”;新产业:“智能制造”、“智能农业”、“智能金融”、“智能零售”、“智能城市”、“智能驾驶”;新模式:“财富空间”、“数据科学家”、“赛博物理”、“供应链金融”。
官方网站:AI-CPS.NET
本文系“产业智能官”(公众号ID:AI-CPS)收集整理,转载请注明出处!
版权声明:由产业智能官(公众号ID:AI-CPS)推荐的文章,除非确实无法确认,我们都会注明作者和来源。部分文章推送时未能与原作者取得联系。若涉及版权问题,烦请原作者联系我们,与您共同协商解决。联系、投稿邮箱:erp_vip@hotmail.com