生成对抗网络(GAN)通过两个无监督神经网络极大博弈

Jurgen 一直认为 GAN 是他的 PM 模型(1992))的变体,他与 Goodfellow 从电子邮件到演讲进行了多次公开交流。然而,最近,Jurgen 独立发表了一篇评论论文,再次给出了最小 Max 博弈的概述,以及 PM 模型和 GAN 之间的紧密联系。

生成对抗网络 (GAN) 通过两个相互牵引的无监督神经网络学习对数据分布进行建模,每个神经网络都试图最小化另一个试图最大化的目标函数。在最近的一篇评论论文中,LSTM 之父 Jürgen Schmidhuber 将 GAN 的博弈策略与早期应用无监督极小极大博弈的神经网络联系起来。本文提到的早期神经网络 Adversarial Curiosity 和 PM 模型来自于 Jürgen Schmidhuber。

他认为:GAN 可以看作是 Adversarial Curiosity 的一个特例(1990),Adversarial Curiosity 是基于两个网络之间的极小极大博弈,一个网络通过其概率动作生成数据,另一个网络预测输出结果.

此外,Jürgen 之前曾表示,PM(可预测性最小化)模型(由 Jürgen 在 1992 年提出)不是基于极大极小博弈,他现在否认了这一点,认为 PM 模型通过神经编码器对数据分布进行建模,这编码预测器最大化神经预测器试图最小化的目标函数。

Jürgen 在 NIPS 2016 上打断了 Goodfellow 关于 GAN 的教程,并询问 PM 模型与 GAN 有何不同。

Google Brain 研究科学家 David Ha 在 Twitter 上转发了这篇论文没有关联解码输出,称赞 Jürgen Schmidhuber 仍然雄心勃勃。去年,David Ha 和 Jürgen 合作了论文“世界模型”;最近,David Ha 发表了一篇论文,提出了一种不需要重量训练的神经网络。

Jürgen Schmidhuber 是这篇 GAN 评论论文的唯一作者,该论文详细介绍了 GAN 与使用极小极大游戏的早期神经网络之间的关系。接下来让我们一探究竟。

无监督极小极大博弈在计算机科学中的应用

纵观计算机科学的历史,通过最小化另一个程序最大化的目标函数来解决问题。1990 年后,对抗性技术被应用于无监督人工神经网络领域。在这种环境中,单个代理具有两个独立的学习神经网络。第一个神经网络在没有老师的情况下生成数据,并且没有为满足用户定义的目标而获得外部奖励。第二个神经网络学习预测输出的属性以最小化错误。第一个神经网络最大化第二个神经网络最小化的目标函数,从而生成允许第二个神经网络学习更多的数据。

最近一个应用无监督极小极大游戏的例子是生成对抗网络(GAN)。GAN 一词最早出现在 Ian Goodfellow 等人的一篇论文中,GAN 的基本思想由 Olli Niemitalo 在 2010 年首次提出(未经同行评审)。

GAN 是 Adversarial Curiosity (1990)

第一个无监督对抗神经网络 Adversarial Curiosity 出现在 1990 年,它试图在强化学习探索的背景下实现好奇心(Adversarial Curiosity 以下简称 AC1990)。Jürgen 认为 GAN 与AC1990)。.

在 AC1990 中,第一个神经网络通常称为控制器 C。C 可以通过一系列交互(称为“试验”或“情节”)与环境进行交互。当对任何试验进行交互时,控制器 C 会产生一个输出向量 x ∈ R^n。这个输出向量可能会影响环境,它输出对 x 的响应:y ∈ R^q。同样,y 可能会影响下一次迭代中 C 的输入。

在 AC1990 的第一个变体中,C 是一个循环神经网络,因此它是一种通用的计算方式。C 的一些自适应循环单元是生成均值和方差的高斯单元,因此 C 成为生成模型(由 Jürgen 在“显式随机动作与导入随机性”一章中描述)。这些随机单元所做的相当于让 C 感知伪随机数或噪声所做的,这类似于 GAN 中的生成器。

AC1990 中的第二个神经网络是世界模型 M。在 AC1990 的第一个变体中,出于一般性原因,M 也是循环的。M 将 C 的输出 x ∈ R^n 作为输入,并预测其对环境的影响或后果 y ∈ R^q。

根据 AC1990,M 最小化其预测误差,因此成为更好的预测器。在没有外部奖励的情况下,对抗模型 C 试图找到使 M 的误差最大化的动作:M 的误差是 C 的内在奖励。因此,C 最大化了 M 试图最小化的误差。M的损失就是C的收益。

在没有外部奖励的情况下,C 本质上是被驱使去创建新的动作序列或试验以获取“惊喜”M 的数据,直到 M 熟悉数据并最终感到无聊。

世界模型的结构图。该模型通常用于代理相关的学习。

什么样的环境让 AC1990 成为 GAN?

哪个部分可观察的环境会使 AC1990 成为生成图像的 GAN?该环境必须包含给定“真实”图像训练集 X = {x^1, x^2, . . . , x^k ∈ R^n}。X 对 C 和 M 不直接可见,但 AC1990 在类似 GAN 的动作或试验中探索了它的属性。

在任何给定试验开始时,C 和 M 中所有单元的激活函数都会被重置。C 什么都看不到(因为没有来自环境的输入)。使用内部随机单元,C 可以计算单个输出 x ∈ R^n,即“假”图像。在所有试验的预连线部分,x 被替换为从训练集 X 中随机选择的“真实”图像(这种简单的探索策略默认为传统强化学习在所有试验的固定部分选择随机动作)。这确保了 M 可以看到真实和虚假的图像。

环境将响应输出动作 x,返回 x 对环境的影响作为二元观察 y ∈ R,如果图像为真,则 y = 1,否则 y = 0。

在像 AC1990 这样的系统中,M 将 C 的输出 x 作为输入,并预测其对环境的影响 y。通常,M 通过最小化其预测误差来学习。然而,在没有外部奖励的情况下,对抗网络 C 希望最大化 M 想要最小化的错误,从而学习生成数据。M 的损失是 C 的负损失。也就是说,M 的行为本质上类似于 GAN 中的判别器,而 C 则类似于 GAN 中的生成器。

AC1990 的改进

1991 年,AC1990 出现了第一次重大改进。AC1990中M的error(需要最小化)是C的reward(需要最大化)。这有助于在许多确定性环境中找到良好的探索策略。但是,在随机环境中,这种做法可能会失败。C 可能集中在学习环境的某些部分,由于随机性或计算限制,M 总是会产生高预测误差。例如,由 C 控制的代理可能会被困在只有高度不可预测的白噪声面前。

因此 1991 年版本的 AC 指出,在随机环境下,C 的奖励不应该是 M 的误差,而是 M 在后续训练迭代中误差的一阶导数的近似值,即 M 得到了改进。因此,即使 M 在嘈杂的电视屏幕前有很高的误差,C 也不会因为留在电视前而得到奖励,因此 M 的误差没有得到改善。完全可预测和基本不可预测都会使 C 变得无聊。

对抗性大脑押注概率编程的结果

本文特别感兴趣的一点是在 1997 年提出的好奇心探索中使用更先进的对抗性方法,称为 AC 1997。

在 AC 1997 中,单个代理有两种对抗性奖励最大化策略,称为左脑和右脑。每个策略都是运行程序的通用目标计算机上的可修改概率分布。实验是一种以协作方式进行采样的程序,受左右脑的影响。每个实验都详细说明了如何执行指令序列(这可能会影响环境以及代理的内部状态)以及如何通过执行实验触发的观察序列的可计算函数来计算实验(可能导致内部二进制是/否分类)结果。左右脑可修改的参数是指令概率。

左右半球也可能触发某些下注(bet)指令的执行,以在观察到实验结果之前对其进行预测。如果他们的预测或假设的结果不同,同意进行实验以确定哪个大脑是正确的,并且在零和游戏中意外失败者向获胜者支付内在奖励(像 1.0)@ 这样的实值投注>。

图片[1]-生成对抗网络(GAN)通过两个无监督神经网络极大博弈-老王博客

即一个大脑通过实验本能地欺骗或惊喜另一个大脑,从而使另一个大脑同意实验方案但不同意预期结果,这通常是复杂的时空事件(通过进行自我发明的实验产生)是一种内在的可计算性抽象。

这促使两个无监督的大脑系统专注于“有趣”的计算问题,而“无聊”的计算(可能包括环境)左右脑可以一致地预测结果,而目前任何大脑仍然难以预测结果的计算是丢失。感兴趣的。此外,在没有外部奖励的情况下,一个大脑最大化另一个大脑最小化的价值函数。

AC 1997 与生成对抗网络有何关系?AC 1997 类似于标准的生成对抗网络,因为两者都是无监督的生成对抗极小极大参与者,并专注于二元结果实验:1 或 0、 是或否,假设是真或假。然而,对于生成对抗网络,实验方案是预先安排好的,并且通常是相同的:只需测试最近生成的模式是否在给定的训练集中。

通过限制 AC 1997 的域和相应编程语言中指令的属性,可以将其限制为上述简单设置,从而将左右脑的可能赌注限制为 GAN 的二进制是/否结果-像实验。但一般来说,AC 1997 的对抗性大脑实际上可以自行创建任意计算问题,并且生成的程序还可以以任何可计算的方式与环境交互,输出左右脑都可以押注的二进制结果。这有点像一个纯粹的科学家从发明实验中获得一个本质上快乐的信号,其中的发现最初令人惊讶但可以学习,然后可以做出可靠的可重复预测。

GAN 和 PM 模型的比较

神经网络的一项重要任务是从给定数据(例如图片)中学习统计特征。为了实现这个目标,我们没有使用梯度下降/上升策略,而是使用了另一个无监督的极小极大游戏。在这个游戏中,一个网络最小化另一个网络最大化的目标函数。在 1990 年代的几篇论文中介绍了两种无监督对抗网络中的这种方法。它被称为 PM 网络(Predictability Minimization)。

PM 的目标是实现无监督学习中最重要的任务,即对给定数据进行理想的、解耦的特征编码,即使编码的元素在统计上彼此独立。也就是说,代码的分布与数据相似没有关联解码输出,给定数据模式的概率也是编码元素概率的乘积。这种编码可以帮助下采样。

PM 网络需要随机初始化编码器的权重。它将数据样本 x ∈ Rn(例如图片)映射到代码 y ∈ [0, 1]^m,其中 m 指的是 m 个所谓的编码单元。在编码单元中,整数代码 i、j 的范围从 1 到 m。对于 y 中的第 i 个元素可以表示为 y_i ∈ [0, 1]。还有一个单独的预测网络,使用梯度下降进行训练,以预测从剩余元素 y_j 中提取的每个 y_i (j ≠ i)。

然而,编码器通过最大化预测器用来最小化的目标函数(例如,均方误差函数)。在 1996 年的论文(半线性可预测性最小化产生众所周知的特征检测器)中,“本质上,编码单元被训练(在我们的实验中使用在线反向传播)以最大化和最小化预测器最小化的相同目标函数”,或1999 年的论文(检测和去除冗余信息的神经预测器),“但编码单元试图最大化预测器最小化的相同目标函数”。

为什么这种预测器和编码器的游戏会导致签名解耦?通过使用梯度下降来最大化预测误差,编码单元使 y_j 偏离真正的 [0,1] 预测,即它们被迫朝向单元内部的角落并且趋向于二进制,0 或 1。同时,根据1992论文,在最大化第i个编码单元的方差时,编码器的目标函数也最大化,从而最大化输入数据所表达的信息。同时,相对于其他编码单元,其(无条件)期望 E(y_i) 与建模预测器的条件期望 E(y_i | {y_j , j ≠ i}) 之间的偏移量被最小化。也就是说,鼓励编码单元从数据中提取有意义但独立的二进制信息。

PM 中固有的概率分布是多元二项分布。理想情况下,PM 确实学会了从数据中创建二进制特征代码。也就是说,对于某个输入特征,每个 y_i 要么为 0,要么为 1,并且预测器学习一个条件期望值 E (y_i | {y_j , j≠i})。因为编码既是二值的又是有特征的,它的值相当于一个编码单元的无条件概率P(y_i = 1)。例如,如果某个编码单元的预测是0.25,那么编码单元为真的概率为1/4。

PM 网络的第一次尝试大约是在 30 年前。那时,计算的成本是现在的一百万倍。当计算成本在 5 年后降低 10 倍时,就会有一个简单的线性 PM-like 图片用于自动生成特征检测器的网络。这些检测器在神经科学中是众所周知的,例如on-center-off-surround检测器、off-center-on-surround检测器、orientation-sensitivestick检测器(orientation-sensitive bar检测器)等。

PM 真的不是最小化最大目标函数的策略吗?

在 NIPS2014 的 GAN 论文中,论文认为 PM 和 GAN 不同,因为 PM 不是基于 minimax 博弈。在极小极大博弈中,存在一个价值函数,其中一个智能体试图最大化而另一个智能体试图最小化(它)。该论文声称,对于 GAN,“网络之间的对抗性是唯一的训练标准,网络可以自给自足地进行训练”。但是对于 PM,“[它] 只是一个正则化器,用于鼓励神经网络的隐藏单元在执行其他任务时保持统计独立,这不是基本的训练标准”。

但是这个说法是不正确的,因为 PM 确实是一个纯粹的极小极大博弈。没有“其他任务”之类的东西。特别是PM也是经过训练的,其训练过程是“网络之间的对抗是唯一的训练标准,网络可以自给自足地训练”。

使用 PM 变体学习生成模型

在第一篇经过同行评审的 PM 论文中,有一个 PM 变体网络,带有一个可选的解码器(称为重构器),它根据编码重构数据。假设 PM 确实在数据中找到了理想的特征编码。由于编码的分布与数据相似,使用解码器,我们可以立即将系统用作生成模型,根据无条件概率随机激活每个二进制编码单元,并使用解码器从输出数据中采样。使用精确的解码器,采样数据必须按照特征编码服从原始分布的统计特征

然而,在研究人员的印象中,这种直接生成模型的应用从未在任何 PM 论文中提及。一些 1993 年后的 PM 论文实际上忽略了同步解码器(也称为编码单元的附加的、可选的局部方差最大化方法)。这些论文专注于解耦内部表示的无监督学习,以帮助下采样学习。

尽管如此,在 1990 年和 2014 年,使用 minimax 训练的随机输出被提及并用于生成数据生成模型。

从 GAN 学习特征编码

PM 的一种变体可以很容易地用作类似 GAN 的生成模型。相比之下,GAN 的变体可以很容易地用于学习特征编码,如 PM。如果我们将一个从随机输入编码训练的 GAN 生成器视为一个独立的组件,在其输出层添加一个传统的编码器网络,并训练这个编码器将输出特征映射到原始随机编码,那么在理想情况下,这个编码器将是一个特征其原始数据的代码生成器。

PM模型与GAN及其变体的关系

PM 和 GAN 都是对数据的统计特征进行无监督学习的方法。两者都采用基于梯度的对抗网络,并通过极小极大游戏实现其目标。

PM 尝试生成易于解码、看似随机的特征编码数据,而 GAN 尝试从随机编码生成解码数据。从这个角度来看,PM 的编码器输入更像是生成对抗网络的解码器输出,而前者的编码器输出更像是后者解码器的输入。从另一个角度来看,PM 编码器的输出类似于 GAN 解码器的输出,因为两者都随着对抗性损失而变化。

GAN 试图拟合来自其他数据分布(高斯、二项式等)的真实数据分布。类似地,PM 试图从预先给出的多因素二项式分布中拟合真实的数据分布。许多 post-PM 方法,例如信息瓶颈方法是基于率失真理论的,变分自动编码器、噪声对比估计和自监督提升方法是 PM 具有特定关系,尽管上述模型都没有采用基于梯度的 minimax对抗性网络策略,例如 PM。然而,GAN 接受了它。

PM 及其变体的解码器和 GAM 及其变体的编码器可以通过以下管道流程来说明(将它们视为非常相似的循环,有四个步骤):

带有标准解码器的 PM 变体流程:

数据→极小极大目标函数训练后的数据→编码→传统解码器(经常被忽略)→数据

具有标准编码器的 GAN 变体管道(与 InfoGAN 相比):

encoding → 由 minimax 目标函数训练的解码器 → 数据 → 标准编码器 → 编码

PM 和 GAN 的比较。

通过实验研究上述 GAN 管道可以比 PM 更好地训练和编码,或者在此之后更有效地拟合,这将是非常有趣的。

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论