最近,一篇题为《GFlowNet Foundations》的论文引起了人们的关注。这是图灵奖获得者YoshuaBengio的一项新研究,论文长达70页。继GeoffreyHinton的“胶囊网络”之后,深度学习领域的另一位巨头Bengio也对AI领域的未来方向提出了自己的想法。在这项研究中,作者提出了一个重要的概念,叫做“生成流网络(GFlowNets)”。GFlowNets的灵感来自信息在时间差RL方法中传播的方式(Sutton和Barto,2018)。两者都依赖于信用分配一致性原则,只有在训练收敛时才渐进实现。由于状态空间中的路径数量呈指数增长,因此很难实现梯度的精确计算。因此,这两种方法都依赖于不同组件之间的局部一致性和训练目标,也就是说,如果所有学习到的组件相互之间是局部一致的,那么我们就有了一个可以全局估计的系统。至于GFlowNets的作用,论文作者之一EmmanuelBengio也给出了一些答案:“我们可以使用GFlowNets做很多事情:对集合和图执行一般概率操作,比如处理困难的边缘化问题,estimatingpartitionfunctionsandfree可以计算给定子集的超集条件概率,估计熵,互信息等。主动学习场景的更广泛方法。GFlowNets的特性使其非常适合从集合和图形中的分布进行建模和采样、估计自由能和边际分布,以及从数据中学习能量函数,如蒙特卡洛马尔可夫链(MCMC)a可学习的,摊销的替代方案。GFlowNets的关键属性是它学习了一个策略,该策略在几个步骤中对复合对象s进行采样ps使得对对象s进行采样的概率P_T(s)与应用于该对象(s)的给定奖励函数的值R近似成正比。一个典型的例子是从正数据集训练生成模型。GFlowNets被训练来匹配给定的能量函数并将其转换为采样器,我们将其视为一种生成策略,因为复合对象s是通过一系列步骤中的Constructed获得的。这类似于MCMC方法的实现,除了GFlowNets不需要在此类对象空间中进行冗长的随机搜索,从而避免了MCMC方法在处理模式混合方面的困难。GFlowNets将这一挑战转化为生成策略的分摊训练。本文的一个重要贡献是条件GFlowNet的概念,它可用于计算不同类型(例如系综和图)联合分布的自由能。这种边缘化还可以估计熵、条件熵和互信息。GFlowNets还可以泛化以估计对应于丰富结果的多个流(而不是一个标量奖励函数),类似于分布式强化学习。这篇论文扩展了原始GFlowNet(Bengio等人,2021年)的理论,包括一个用于计算变量子集的边际概率的公式(或自由能公式),现在可以用于更大集合的子集或子图;GFlowNet在估计熵和互信息方面的应用;并且引入无监督的GFlowNet(训练不需要奖励函数,只需要观察结果)可以从Pareto边界采样。虽然基本的GFlowNets更类似于bandits算法(因为奖励仅在一系列动作结束时提供),但GFlowNets可以扩展以考虑中间奖励并根据奖励进行采样。GFlowNet的原始公式也仅限于离散和确定性环境,本文建议如何解除这两个约束。最后,虽然GFlowNets的基本公式假定了给定的奖励或能量函数,但本文考虑了如何将GFlowNet与能量函数联合学习,从而为新的基于能量的建模方法、能量函数和GFlowNet的模块化结构打开了大门.门。论文地址:https://arxiv.org/pdf/2111.09266.pdf机器之心简要介绍了本文的主要章节。有关更多详细信息,请参阅原始论文。GFlowNets:学习流(flow)研究者充分考虑了Bengio等人引入的一般性问题。(2021),其中给出了对流程的一些限制或偏好。研究者的目标是利用估计量F^(s)和P^(s→s'|s)找到最符合需求的函数,例如状态流函数F(s)或转移概率函数P(s→s'|s),这些可能不符合正确的流程。因此,他们将这些学习机器称为GenerativeFlowNetworks(或简称GFlowNets)。GFlowNet定义如下:请注意,可以轻松修改GFlowNet的状态空间以适应底层状态空间,其中转换不形成有向无环图(DAG)。为了估计来自终端流(TerminalFlow)的转移概率,在Bengio等人的设置中。(2021),研究人员得到了对应于“终端奖励函数R作为状态确定性函数”的终端流程:这样就可以扩展框架并以各种方式处理随机奖励。GFlowNets可用作MCMC采样的替代方案。GFlowNet方法卸载了用于训练生成器的前期计算,从而对每个新样本进行了非常高效的计算(构建单个配置,不需要链)。流量匹配和详细的平衡损失。为了训练GFlowNet,研究人员需要建立一个隐含地执行约束和偏好的训练管道。它们将流量匹配或详细的平衡条件转换为可用的损失函数。对于奖励函数,研究人员考虑了奖励是随机的而不是状态确定性函数的设置。如果存在像方程44中的奖励匹配损失,那么终端流F(s→s_f)的有效目标是预期奖励E_R[R(s),因为这是R(s)的最小预期损失给定的值。如果像式43那样存在奖励匹配损失,则终端流logF(s→s_f)的对数有效目标是log-rewardE_R[logR(s)]的期望值。这表明GFlowNets在使用奖励匹配损失时可以泛化到匹配随机奖励。此外,GFlowNets可以像离线强化学习一样离线训练。对于GFlowNets中的直接信用分配,研究人员认为使用GFlowNet对轨迹进行采样的过程可以等同于对随机递归神经网络中的一系列状态进行采样。更复杂的是,有两个原因,第一,这种神经网络不会直接输出匹配某个目标的预测,第二,状态可能是离散的(或者离散的和连续的)。条件流和自由能本章主要介绍条件流和自由能。流的一个显着特性是,如果满足细粒度平衡或流匹配条件,则可以从初始状态流F(s_0)恢复归一化常数Z(推论3)。Z还提供与指定终端转换流的给定终端奖励函数R关联的分区函数。下图显示了如何调节GFlowNet,给定状态s,考虑原始流(左)和转移流以创建一组新的流(右)。自由能是与能量函数相关的边际化操作(即对大量项求和)的一般公式。研究人员发现,自由能的估计为有趣的应用打开了大门,而传统上昂贵的马尔可夫链蒙特卡罗(MCMC)通常是主要方法。自由能F(s)的状态定义如下:如何估计自由能?让我们考虑一个允许网络估计自由能F(s)的条件GFlowNet的特例。为此,研究人员建议训练条件GFlowNet,其中条件输入x是轨迹中较早的状态s。状态条件GFlowNet定义如下,定义F(s|s)为条件状态自流。研究人员说,可以使用GFlowNet训练基于能量的模型。具体来说,GFlowNet被训练来转换能量函数来逼近相应的采样器。因此,GFlowNet可以作为MCMC采样的替代方案。此外,GFlowNet还可以用于主动学习。在Bengio等人使用的主动学习方案中。(2021),GFlowNet用于对候选x进行采样,研究人员期望奖励R(x)通常很大,因为GFlowNet采样与R(x)成比例。多流、分布式GFlowNets、无监督GFlowNets和ParetoGFlowNets类似于分布式强化学习。非常有趣的是,泛化GFlowNets不仅可以捕获可实现的最终奖励的期望值,还可以获得其他分布式统计信息。数据。更一般地说,GFlowNets可以想象成一个家庭,每个家庭都可以在自己的流动中模拟一个特定的未来环境结果。下图是outcome-conditionedGFlowNet的定义:在实践中,GFlowNet永远不可能被完美训练,所以这个outcome-conditionedGFlowNet应该结合强化学习中的goal-conditionedstrategy或者ReinforcementLearning(upside-downRL)with奖赏条件颠倒一视同仁。将来,有可能将这些以结果为条件的GFlowNet扩展到随机奖励或随机环境。此外,训练基于结果的GFlowNet只能离线完成,因为条件输入(例如最终回报)可能只有在对轨迹进行采样后才能知道。论文的完整目录如下:
