看穿机器学习(W-GAN模型)的黑箱

简介: 图a. Principle of GAN. 前两天纽约暴雪,天地一片苍茫。今天元宵节,长岛依然清冷寂寥,正月十五闹花灯的喧嚣热闹已成为悠远的回忆。这学期,老顾在讲授一门研究生水平的数字几何课程,目前讲到了2016年和丘成桐先生、罗锋教授共同完成的一个几何定理【3】,这个工作给出了经典亚历山大定理(Alexandrov Theorem)的构造性证明,也给出了最优传输理论(Optimal Mass Transportation)的一个几何解释。

0?wx_fmt=png


640?wx_fmt=png

图a. Principle of GAN.


前两天纽约暴雪,天地一片苍茫。今天元宵节,长岛依然清冷寂寥,正月十五闹花灯的喧嚣热闹已成为悠远的回忆。这学期,老顾在讲授一门研究生水平的数字几何课程,目前讲到了2016年和丘成桐先生、罗锋教授共同完成的一个几何定理【3】,这个工作给出了经典亚历山大定理(Alexandrov Theorem)的构造性证明,也给出了最优传输理论(Optimal Mass Transportation)的一个几何解释。这几天,机器学习领域的Wasserstein GAN突然变得火热,其中关键的概念可以完全用我们的理论来给出几何解释,这允许我们在一定程度上亲眼“看穿”传统机器学习中的“黑箱”。下面是老顾下周一授课的讲稿。



生成对抗网络 GAN

训练模型 生成对抗网络GAN (Generative Adversarial Networks)是一个“自相矛盾”的系统,就是以己之矛克以己之盾,在矛盾中发展,使得矛更加锋利,盾更加强韧。这里的矛被称为是判别器(Descriminator),这里的盾被称为是生成器(Generator)。



640?wx_fmt=png

图b. Generative Model.


生成器G一般是将一个随机变量(例如高斯分布,或者均匀分布),通过参数化的概率生成模型(通常是用一个深度神经网来进行参数化),进行概率分布的逆变换采样,从而得到一个生成的概率分布。判别器D也通常采用深度卷积神经网。

0?

图1. GAN的算法流程图。


矛盾的交锋过程如下:给定真实的数据,其内部的统计规律表示为概率分布0?,我们的目的就是能够找出0?。为此,我们制作了一个随机变量生成器G,G能够产生随机变量,其概率分布是0?,我们希望0?尽量接近0?。为了区分真实概率分布0?和生成概率分布0?,我们又制作了一个判别器D,给定一个样本,D来复制判别这个样本是来自真实数据还是来自伪造数据。Goodfellow给GAN中的判别器设计了如下的损失函数(lost function), 尽可能将真实样本判为正例,生成样本判为负例:

0?

第一项不依赖于生成器G, 此式也可以定义GAN中的生成器的损失函数。

                           

在训练中,判别器D和生成器G交替学习,最终达到纳什均衡(零和游戏),判别器无法区分真实样本和生成样本。


优点 GAN具有非常重要的优越性。当真实数据的概率分布不可计算的时候,传统依赖于数据内在解释的生成模型无法直接应用。但是GAN依然可以使用,这是因为GAN引入了内部对抗的训练机制,能够逼近一下难以计算的概率分布。更为重要的,Yann LeCun一直积极倡导GAN,因为GAN为无监督学习提供了一个强有力的算法框架,而无监督学习被广泛认为是通往人工智能重要的一环。


缺点 原始GAN形式具有致命缺陷:判别器越好,生成器的梯度消失越严重。我们固定生成器G来优化判别器D。考察任意一个样本0?,其对判别器损失函数的贡献是

0?

两边对0?求导,得到最优判别器函数

0?

代入生成器损失函数,我们得到所谓的Jensen-Shannon散度(JS)

0?

在这种情况下(判别器最优),如果0?的支撑集合(support)交集为零测度,则生成器的损失函数恒为0,梯度消失。


改进 本质上,JS散度给出了概率分布0?之间的差异程度,亦即概率分布间的度量。我们可以用其他的度量来替换JS散度。Wasserstein距离就是一个好的选择,因为即便0?的支撑集合(support)交集为零测度,它们之间的Wasserstein距离依然非零。这样,我们就得到了Wasserstein GAN的模式【1】【2】。Wasserstein距离的好处在于即便0?两个分布之间没有重叠,Wasserstein距离依然能够度量它们的远近。


为此,我们引入最优传输的几何理论(Optimal Mass Transportation),这个理论可视化了W-GAN的关键概念,例如概率分布,概率生成模型(生成器),Wasserstein距离。更为重要的,这套理论中,所有的概念,原理都是透明的。例如,对于概率生成模型,理论上我们可以用最优传输的框架取代深度神经网络来构造生成器,从而使得黑箱透明。


最优传输理论梗概


给定欧氏空间中的一个区域0?,上面定义有两个概率测度0?0?,满足

0?,

我们寻找一个区域到自身的同胚映射(diffeomorphism),0?, 满足两个条件:保持测度和极小化传输代价。


保持测度 对于一切波莱尔集0?,

0?

换句话说映射T将概率分布0?映射成了概率分布0?,记成 0?。直观上,自映射0?,带来体积元的变化,因此改变了概率分布。我们用0?0?来表示概率密度函数,用0?来表示映射的雅克比矩阵(Jacobian matrix),那么保持测度的微分方程应该是:0?,

0?

这被称为是雅克比方程(Jacobian Equation)。


最优传输映射 自映射0?的传输代价(Transportation Cost)定义为

0?

在所有保持测度的自映射中,传输代价最小者被称为是最优传输映射(Optimal Mass Transportation Map),亦即:

0?,

最优传输映射的传输代价被称为是概率测度0?和概率测度0?之间的Wasserstein距离,记为0?


在这种情形下,Brenier证明存在一个凸函数0?,其梯度映射

0?

就是唯一的最优传输映射。这个凸函数被称为是Brenier势能函数(Brenier potential)。


由Jacobian方程,我们得到Brenier势满足蒙日-安培方程,梯度映射的雅克比矩阵是Brenier势能函数的海森矩阵(Hessian Matrix),

0?

蒙日-安培方程解的存在性、唯一性等价于经典的凸几何中的亚历山大定理(Alexandrov Theorem)。


640?wx_fmt=png

图2. 亚历山大定理。


亚历山大定理  如图2所示,给定平面凸区域640?wx_fmt=png,考察一个开放的凸多面体640?wx_fmt=png,选定一个面640?wx_fmt=png640?wx_fmt=png的法向量记为640?wx_fmt=png640?wx_fmt=png的投影和640?wx_fmt=png相交的面积记为640?wx_fmt=png,则总投影面积满足

640?wx_fmt=png

凸多面体可以被640?wx_fmt=png确定。亚历山大定理对任意维凸多面体都成立。


后面,我们可以看到,这个凸多面体就是Brenier势能函数,其梯度映射将一个概率分布640?wx_fmt=png映到另外一个概率分布640?wx_fmt=png,并且这两个概率分布之间的Wasserstein 距离对偶于此凸多面体决定的体积。理论上,这个凸多面体可以作为W-GAN模型中的生成器G。



W-GAN中关键概念可视化


Wasserstein-GAN模型中,关键的概念包括概率分布(概率测度),概率测度间的最优传输映射(生成器),概率测度间的Wasserstein距离。下面,我们详细解释每个概念所对应的构造方法,和相应的几何意义。


概率分布 GAN模型中有两个至关重要的概率分布(probability measure),一个是真实数据的概率分布0?,一个是生成数据的概率分布0?。另外,生成器的输入随机变量,满足标准概率分布(高斯、均匀分布)。

0?

    图3. 由保角变换(conformal mapping)诱导的圆盘上概率测度。


概率测度可以看成是一种推广的面积(或者体积)。我们可以用几何变换随意构造一个概率测度。如图3所示,我们用三维扫描仪获取一张人脸曲面,那么人脸曲面上的面积就是一个概率测度。我们缩放变换人脸曲面,使得总曲面等于0?。然后,我们用保角变换将人脸曲面映射到平面圆盘。如图3所示,保角变换将人脸曲面上的无穷小圆映到平面上的无穷小圆,但是,小圆的面积发生了变化。每对小圆的面积比率定义了平面圆盘上的概率密度函数。


我们可以将以上的描述严格化。人脸曲面记为0?,其上具有黎曼度量0?。平面圆盘记为0?,平面坐标为0?,平面的欧氏度量为0?。保角映射记为

0?

0?,这里面积变换率函数0?给出了概率密度函数。0?诱导了圆盘0?上的一个概率测度0?



0?

图4. 两个概率测度之间的最优传输映射。


最优传输映射 圆盘上本来有均匀分布0?,又有保角变换诱导的概率分布0?,则存在唯一的最优传输映射0?。图4显示了这个映射0?,中间帧到右帧的映射就是最优传输映射。我们看到,鼻尖周围的区域被压缩,概率密度提高。



0?

图5. 离散最优传输。


离散最优传输映射 最优传输映射的数值计算非常几何化,因此可以直接被可视化。我们将目标概率测度离散化,表示成一族离散点,0?;每点被赋予一个狄拉克测度,0?,满足0?。然后,我们求得单位圆盘的一个胞腔分解,0?,每个胞腔0?映到相应的目标点0?0?。映射保持概率测度,胞腔的面积等于目标测度,

0?,

同时极小化传输代价,

0?


0?

图6. 离散Brenier势能函数,离散最优传输映射。


离散Brenier势能 离散最优传输映射是离散Brenier势能函数的梯度映射。对于每一个目标离散点0?,我们构造一个平面 0?,这里平面的截距0?是未知变量。这些平面的上包络(upper envelope)构成一个开放的凸多面体,恰为离散Brenier势能函数0?的图(Graph),

0?

图6左侧显示了离散Briener势能函数。凸多面体在平面上的投影构成了平面的胞腔分解,凸多面体的每个面0?被映成了一个胞腔0?;每个面0?的梯度都是0?,因此Brenier势能函数的梯度映射就是0?


根据保测度性质,每个胞腔0?的面积应该等于指定面积0?。由此,我们调节平面的截距0?以满足这个限制。根据亚历山大定理,这种截距存在,并且本质上唯一。


离散Wasserstein距离 我们和丘成桐先生建立了变分法来求取平面的截距0?。给定截距向量0?,平面族为0?,其上包络构成的Briener势能函数为 0?, 上包络的投影生成了平面的胞腔分解0?, 胞腔的面积记为0?。我们定义的能量为,

0?,

这个能量在子空间0? 上是严格凹的,其唯一的全局最大点就给出了满足保测度条件的截距。这个能量的非线性项,实际上是上包络截出的柱体体积,

0?

图7给出了柱体体积的可视化,柱体体积0?是凸函数。


0?

图7. 离散Brenier势能函数的图截出的柱体体积0?


体积函数0?和Wasserstein距离之间相差一个勒让德变换(Legendre Transformation)。勒让德变换非常几何化,我们可以将其可视化。给定一个定义在实数轴上的二阶光滑凸函数0?,其图0?是一条凸曲线,这条凸曲线由其所有的切线包络而成。如果,在任意一点0?,函数的切线的斜率为y,则此切线的截距满足

0?

这被称为是函数0?的勒让德变换。0?以切线的斜率为参数,以切线的截距为函数值。


0?

图8.凸函数的图像由其切线包络而成,切线集合被表示成原函数的勒让德对偶。



因为0?的凸性,映射0?是微分同胚,记为0?。那么,原函数和勒让德变换后的函数满足关系:

0?,

这里c,d是常数。原函数和其勒让德变换的直观图解由图9给出。我们在xy-平面上画出曲线0?,曲线下面的面积是0?,曲线上面的面积是勒让德变换0?


0?

图9. 图解勒让德变换。


勒让德变换的几何图景对任意维都对。我们下面来考察体积函数0?的勒让德变换0?。根据定义,

0?,

假如我们变动截距0?,或者等价地变动胞腔面积0?,考察两个胞腔交界处0?

0?,

p本来属于0?,变化后属于0?,所有这种点的总面积为0?。则为Wasserstein距离带来的变化是:

0?

因此,总的Wasserstein距离的变化是

0?

由此我们看到Wasserstein距离等于

0?

其非线性部分是柱体积的勒让德变换。


总结
通过以上讨论,我们看到给定两个概率分布 0? ,则存在唯一的一个凸函数(Brenier 势函数) 0? ,其梯度映射 0? 把一个概率分布 0? 映成了另外一个概率分布。这个最优传输映射的传输代价就给出了两个概率分布之间的Wasserstein距离。Brenier势能函数,Wasserstein距离都有明晰的几何解释。



在Wasserstein-GAN模型中,通常生成器和判别器是用深度神经网络来实现的。根据最优传输理论,我们可以用Briener势函数来代替深度神经网络这个黑箱,从而使得整个系统变得透明。在另一层面上,深度神经网络本质上是在训练概率分布间的传输映射,因此有可能隐含地在学习最优传输映射,或者等价地Brenier势能函数。对这些问题的深入了解,将有助于我们看穿黑箱。


640?wx_fmt=png

图10. 基于二维最优传输映射计算的曲面保面积参数化(area preserving parameterization),苏政宇作。

640?wx_fmt=png

640?wx_fmt=png

图11. 基于三维最优传输映射计算的保体积参数化 (volume preserving parameterization),苏科华作。

原文发布时间为:2017-02-19

本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号


相关文章
|
11天前
|
机器学习/深度学习 数据采集 人工智能
构建高效机器学习模型的五大技巧
【4月更文挑战第7天】 在数据科学迅猛发展的今天,机器学习已成为解决复杂问题的重要工具。然而,构建一个既精确又高效的机器学习模型并非易事。本文将分享五种提升机器学习模型性能的有效技巧,包括数据预处理、特征工程、模型选择、超参数调优以及交叉验证。这些方法不仅能帮助初学者快速提高模型准确度,也为经验丰富的数据科学家提供了进一步提升模型性能的思路。
|
25天前
|
机器学习/深度学习 数据采集 监控
大模型开发:描述一个典型的机器学习项目流程。
机器学习项目涉及问题定义、数据收集、预处理、特征工程、模型选择、训练、评估、优化、部署和监控。每个阶段都是确保模型有效可靠的关键,需要细致操作。
17 0
|
16天前
|
机器学习/深度学习 数据采集 算法
构建高效机器学习模型的最佳实践
【4月更文挑战第3天】在数据驱动的时代,构建高效的机器学习模型已成为解决复杂问题的关键。本文将探讨一系列实用的技术策略,旨在提高模型的性能和泛化能力。我们将从数据预处理、特征工程、模型选择、超参数调优到集成学习等方面进行详细讨论,并通过实例分析展示如何在实践中应用这些策略。
15 1
|
1天前
|
机器学习/深度学习 存储 算法
PYTHON集成机器学习:用ADABOOST、决策树、逻辑回归集成模型分类和回归和网格搜索超参数优化
PYTHON集成机器学习:用ADABOOST、决策树、逻辑回归集成模型分类和回归和网格搜索超参数优化
25 7
|
3天前
|
机器学习/深度学习 数据采集 算法
构建高效机器学习模型:从特征工程到模型调优
【4月更文挑战第16天】 在数据驱动的时代,机器学习已成为解决复杂问题的关键工具。本文旨在分享一套实用的技术流程,帮助读者构建高效的机器学习模型。我们将重点讨论特征工程的重要性、选择合适算法的策略,以及通过交叉验证和网格搜索进行模型调优的方法。文章的目标是为初学者提供一个清晰的指南,同时为有经验的实践者提供一些高级技巧。
|
14天前
|
机器学习/深度学习 数据采集 算法
构建高效机器学习模型:从数据预处理到模型优化
【4月更文挑战第5天】 在机器学习领域,构建一个高效的模型并非易事。它涉及多个阶段,包括数据预处理、特征工程、模型选择、训练以及最终的评估和优化。本文深入探讨了如何通过精确的数据预处理技巧和细致的特征工程来提升模型性能,同时介绍了几种常见的模型优化策略。我们的目标是为读者提供一套实用的指导方案,帮助他们在面对复杂数据集时能够有效地构建和调整机器学习模型。
|
15天前
|
机器学习/深度学习 算法 数据挖掘
构建高效机器学习模型:从特征工程到模型调优
【4月更文挑战第4天】在数据驱动的时代,构建一个高效的机器学习模型是解决复杂问题的关键。本文将深入探讨特征工程的重要性,并分享如何通过自动化技术进行特征选择与构造。接着,我们将讨论不同的机器学习算法及其适用场景,并提供模型训练、验证和测试的最佳实践。最后,文章将展示如何使用网格搜索和交叉验证来微调模型参数,以达到最优性能。读者将获得一套完整的指南,用以提升机器学习项目的预测准确率和泛化能力。
|
24天前
|
机器学习/深度学习 人工智能 自然语言处理
大模型落地实战指南:从选择到训练,深度解析显卡选型、模型训练技、模型选择巧及AI未来展望---打造AI应用新篇章
大模型落地实战指南:从选择到训练,深度解析显卡选型、模型训练技、模型选择巧及AI未来展望---打造AI应用新篇章
大模型落地实战指南:从选择到训练,深度解析显卡选型、模型训练技、模型选择巧及AI未来展望---打造AI应用新篇章
|
24天前
|
机器学习/深度学习 分布式计算 监控
大模型开发:你如何使用大数据进行模型训练?
在大数据模型训练中,关键步骤包括数据准备(收集、清洗、特征工程、划分),硬件准备(分布式计算、并行训练),模型选择与配置,训练与优化,监控评估,以及模型的持久化与部署。过程中要关注数据隐私、安全及法规遵循,利用技术进步提升效率和性能。
32 2
|
25天前
|
机器学习/深度学习 SQL 人工智能
机器学习PAI常见问题之训练模型报错如何解决
PAI(平台为智能,Platform for Artificial Intelligence)是阿里云提供的一个全面的人工智能开发平台,旨在为开发者提供机器学习、深度学习等人工智能技术的模型训练、优化和部署服务。以下是PAI平台使用中的一些常见问题及其答案汇总,帮助用户解决在使用过程中遇到的问题。

热门文章

最新文章