互联网资讯 / 人工智能 · 2023年12月27日

生成流网络扩展深度学习领域

近日,图灵奖得主Yoshua Bengio发表了一篇名为《GFlowNet foundations》的论文,引起了广泛关注。这篇论文长达70页,为深度学习领域带来了新的研究方向。

在GeoFFRey Hinton提出的“胶囊网络”之后,Bengio也对人工智能的未来方向表达了自己的见解。在这项研究中,作者引入了“生成流网络”(GeneRative Flow NetwoRks,GFlowNets)的重要概念。

图灵奖得主Yoshua Bengio:生成流网络拓展深度学习领域

GFlowNets的灵感源于信息在时序差分强化学习方法中的传播方式(Sutton和BaRto,2018年)。这两者都遵循cRedIT aSSignMent一致性原则,只有在训练收敛时才能实现渐近效果。由于状态空间中的路径数量呈指数增长,精确计算梯度变得非常困难,因此这两种方法依赖于不同组件之间的局部一致性和一个训练目标:如果所有学习组件之间都是局部一致的,就能得到一个可以进行全局估计的系统。

关于GFlowNets的应用,论文作者之一EMManuel Bengio表示:“我们可以利用GFlowNets做很多事情,比如对集合和图进行一般概率运算,处理复杂的边缘化问题,估计配分函数和自由能,计算给定子集的超集条件概率,估计熵和互信息等。”

图灵奖得主Yoshua Bengio:生成流网络拓展深度学习领域

本研究为主动学习场景提供了形式化的理论基础和理论结果的扩展,并提供了更广泛的应用方式。GFlowNets的特性使其非常适合从集合和图的分布中进行建模和采样,估计自由能和边缘分布,并用于从数据中学习能量函数,作为马尔可夫链蒙特卡洛(Monte-CaRlo MaRkOV chAIns,MCMC)的一个可学习、可分摊的替代方案。

GFlowNets的关键特性在于其学习了一个策略,通过几个步骤对复合对象s进行采样,使得采样概率P_T(s)与给定奖励函数的值R(s)近似成正比。一个典型的例子是从正例数据集训练生成模型,GFlowNets通过训练来匹配给定的能量函数,并将其转化为一个采样器,我们将其视为生成策略,因为复合对象s是通过一系列步骤构建的。与MCMC方法相比,GFlowNets无需在对象空间中进行冗长的随机搜索,从而避免了MCMC在处理模式混合时的困难。GFlowNets将这一问题转化为生成策略的分摊训练来解决。

本文的一个重要贡献是引入条件GFlowNet的概念,该概念可用于计算不同类型(如集合和图)的联合分布上的自由能。这种边缘化还可以估计熵、条件熵和互信息。此外,GFlowNets还可以推广,用于估计与丰富结果(而不是单一奖励函数)相对应的多个流,这与分布式强化学习相似。

本文扩展了原始GFlowNet(Bengio等人,2021年)的理论,提出了计算变量子集边缘概率的公式(或自由能公式),该公式适用于更大集合的子集或子图;探讨了GFlowNet在估计熵和互信息方面的应用;并引入了无监督形式的GFlowNet(训练时不需要奖励函数,只需观察结果),可从帕累托边界进行采样。

尽管基本的GFlowNets更类似于bandITs算法(因为奖励仅在一系列动作的末尾提供),但GFlowNets可以通过扩展来考虑中间奖励,并根据回报进行采样。GFlowNet的原始公式仅适用于离散和确定性环境,本文则探讨了如何解除这两种限制。尽管GFlowNets的基本公式假设了给定的奖励或能量函数,本文考虑了GFlowNet如何与能量函数进行联合学习,为新颖的基于能量的建模方法、能量函数与GFlowNet的模块化结构打开了大门。

图灵奖得主Yoshua Bengio:生成流网络拓展深度学习领域

论文地址:GFlowNet foundations

机器之心对这篇论文的主要章节进行了简单介绍,更多细节请参考原论文。

GFlowNets:学习流(flow)

研究者充分考虑了Bengio et al. (2021)中引入的一般性问题,提出了一些关于流的约束或偏好的观点。研究者的目标是使用估计量F&ciRc;(s)和P&ciRc;(s&RaRR;s””|s)来找到最能匹配需求的函数,如状态流函数F(s)或转移概率函数P(s&RaRR;s”” |s),这些函数可能不符合PropeR flow。因此,他们将这类学习机器称为GeneRative Flow NetwoRks(简称GFlowNets)。

图灵奖得主Yoshua Bengio:生成流网络拓展深度学习领域

需要注意的是,GFlowNet的状态空间(state-spACE)可以轻松修改以适应底层状态空间,其中转换(tRansITion)不会形成有向无环图(diRected acyclic gRaph, DAG)。

在Bengio et al. (2021)的设置中,研究者得到了与“作为状态确定性函数的终端奖励函数R”相对应的终端流,以估计转换概率:

图灵奖得主Yoshua Bengio:生成流网络拓展深度学习领域

这样可以扩展框架,并以多种方式处理随机奖励。

GFlowNets可以作为MCMC采样的替代方案。GFlowNet方法分摊前期计算以训练生成器,为每个新样本产生非常有效的计算(构建单个配置,无需链)。

流匹配和详细的平衡损失。为了训练GFlowNet,研究者需要构建一个训练流程,该流程可以隐式地强制执行约束和偏好。他们将流匹配(flow-MatcHing)或细致平衡条件(detAIled balance condITion)转化为可用的损失函数。

对于奖励函数,研究者考虑了“奖励是随机而不是状态确定性函数”的设置。如果有一个像公式44中的奖励匹配损失,则终端流F(s&RaRR;s_f)的有效目标是预期奖励E_R[R(s)],因为这是给定s时最小化R(s)上预期损失的值。

图灵奖得主Yoshua Bengio:生成流网络拓展深度学习领域

如果有一个像公式43中的奖励匹配损失,终端流log F(s&RaRR;s_f)的log有效目标是log-RewaRd E_R[log R(s)]的预期值。这表明,使用奖励匹配损失时,GFlowNets可以泛化至匹配随机奖励。

图灵奖得主Yoshua Bengio:生成流网络拓展深度学习领域

此外,GFlowNets可以像离线强化学习一样进行离线训练。对于GFlowNets中的直接信用分配(DiRect credit ASSignMent),研究者认为可以将使用GFlowNet采样轨迹的过程等同于在随机循环神经网络中采样状态序列。这使得事情变得更复杂,原因有两个:其一,这类神经网络不直接输出与某个目标匹配的预测;其二,状态可能是离散的(或者离散与连续共存)。

条件流和自由能

本章主要介绍条件流(CondITional flows)和自由能(free eneRgies)。

流的一个显著特性是:如果满足细致平衡或流匹配条件,则可以从初始状态流F(s_0)恢复归一化常数Z(推论3)。Z还提供了与指定了终端转换流的给定终端奖励函数R相关联的配分函数(paRtITion function)。下图展示了如何条件化GFlowNet,给定状态s,通过原始流(左)和转移流来创建一组新的流(右)。

图灵奖得主Yoshua Bengio:生成流网络拓展深度学习领域

自由能是与能量函数相关的边缘化操作(即对大量项求和)的通用公式。研究者发现对自由能的估计为有趣的应用打开了大门,以往成本高昂的马尔可夫链蒙特卡洛(MaRkOV chAIn Monte CaRlo, MCMC)通常是主要方法。

自由能F(s)的状态定义如下:

图灵奖得主Yoshua Bengio:生成流网络拓展深度学习领域

如何估计自由能呢?让我们考虑条件式GFlowNet的一种特殊情况,它允许网络估计自由能F(s)。为此,研究者提议训练一个条件式GFlowNet,其中条件输入x是轨迹中较早的状态s。

状态条件式GFlowNet的定义如下,并且将F(s|s)定义为condITional state self-flow。

图灵奖得主Yoshua Bengio:生成流网络拓展深度学习领域

研究者表示,使用GFlowNet可以训练基于能量的模型。具体而言,GFlowNet被训练用于将能量函数转换为逼近对应的采样器。因此,GFlowNet可以用作MCMC采样的替代方法。

此外,GFlowNet还可用于主动学习。在Bengio et al. (2021)使用的主动学习方案中,GFlowNet被用于对候选x进行采样,其中研究者预计奖励R(x)通常很大,因为GFlowNet与R(x)成比例地采样。

多流、分布式GFlowNets、无监督GFlowNets和帕累托GFlowNets

与分布式强化学习类似,非常有趣的一点是,泛化GFlowNets不仅可以捕获可实现的最终奖励的预期值,还能得到其他分布式统计数据。更一般地讲,GFlowNets可以被想象成一个族(