The GFlowNet Tutorial

https://www.notion.so/The-GFlowNet-Tutorial-91e9df40393443ff9bfa93018fa7847d


The Gist

GFlowNetは、構成的なステップのシーケンスを通じてオブジェクトxをサンプリングするように訓練された、訓練済み確率的方策、すなわち生成モデルです。その確率は、報酬関数R(x)に比例します。ここで、Rは非負の積分可能な関数です。これにより、GFlowNetは、高い値のR(x)を持つ多様な解xをサンプリングすることができます。

xの構築が内部アクション(思考、計画、説明の構築などを目的とする)とみなせる一連のステップを通じて行うことができる場合、確率的方策を適用することは理にかなっています。この順序付けられた構築は、いくつかの要素をある順序で構成することによって定義されることが多く、一般的には同じオブジェクトにつながる可能な順序が多数存在する、構成的オブジェクトをサンプリングするのに便利です。


[画像の説明: レゴのオブジェクトを構築するための構成的な軌跡は、一連のステップ(それぞれレゴブロックを追加する)を経由します。同じオブジェクトは、指数関数的に多くの異なる方法で取得できます。GFlowNetの状態は、オブジェクト(または部分的に構築されたオブジェクト)を表し、そこにつながる軌跡は、それがどのように構築されたかを示しています。GFlowNetのフォワードサンプリング方策は、一度に1つの状態変更(例: レゴブロックを1つ追加)を実行しますが、そのような変更を元に戻すバックワードサンプリング方策(例: レゴブロックを1つ削除)も定義できます。また、それらを組み合わせて(例: マルコフ連鎖を形成して、現在のレゴボートの試みを修正できます)、現在のレゴボートの試みを修正できます。構築を表示すると決めたら、ターミナル状態に到達し、ボートのように見える構造に対してより高い報酬を得ることができます。これは、例えば、exp(-エネルギー)、すなわち正規化されていない確率関数として解釈することもできます。GFlowNetのフォワードサンプリング方策は、潜在的に指数関数的に多くのボートに見える構造をどのように生成できるかを示しています。中間的な量であるフローを推定することができます。初期状態のフローは、自由エネルギーまたは正規化定数(達成可能なターミナル状態の報酬のすべての値を合計したもの)に対応します。このフローは、指数関数的に多くのパスまたはターミナル状態の合計を原則として必要とする、ランダム変数のサブセットに対する周辺確率や条件付き確率などの周辺化された量の推定に一般化できます。]

ニューラルネットを使用して、これらの前方への構成アクションを一度に1つずつサンプリングできます。特別な「終了」アクションまたは状態の決定論的基準(例: xの要素がちょうどn個)がトリガーされると、オブジェクトxの構築は完了します。このとき、ターミナル状態xに到達し、その後、報酬R(x)を得ることができます。確率的方策として見ると、GFlowNetにはアクション空間(各ステップで何をするかを決めるため)と状態空間(部分的に構築されたオブジェクト用)があります。アクションのシーケンス(a0, a1, ...)は、状態のシーケンス(s0, s1, s2, ...)である軌跡τを形成します。同じ状態stにつながる軌跡は多数存在する可能性があります(要素を任意の順序で挿入して集合を構築する方法、グラフの断片をさまざまな順序で貼り付けてグラフを構築する方法、ノイズ除去拡散のように一連の確率的ステップを通じてベクトルを変換する方法、または図1のように同じレゴボートをさまざまな方法で構築する方法を考えてみてください)。完全な軌跡tの最後の状態snは、GFlowNetがサンプリングできるオブジェクトx∈Xであり、トレーニングの目的は、確率R(x)に比例する確率でxをサンプリングできるようにすることです。[2]では、軌跡の最後だけでなく、途中の報酬も考慮するようにこれを一般化する方法について説明しています。

GFlowNetは、トレーニング後(およびトレーニング中)にサンプリングできるため、生成モデルですが、その最も基本的な形式では、トレーニングの目的は、有限データセット(生成モデルの通常の目的)に適合させることではなく、報酬関数Rに一致させることです。Rは(典型的なRLのように)外部の量ではなく、内部の量(例えば、ワールドモデルにおけるエネルギー関数に対応する)であるため、GFlowNetのトレーニングの質は、固定された外部トレーニングデータセットのサイズではなく、多くの軌跡でRを照会するために利用できる計算量に依存します。GFlowNetのトレーニングは、その関数を繰り返し照会することによって行うことができるため、必ずしも過剰適合を心配することなく、計算上可能な限り大きなニューラルネットをGFlowNetにすることができます。代わりに、適合不足が本当の危険となります。レゴの構造に戻ると、最もボートのように見えるレゴ構造を見つけようとしているのではなく、ボートのように見えるすべての構造からサンプリングする方法を見つけようとしているのです。オブジェクトxの順序付けられた構築(ステップ数は任意)のため、集合、グラフ、リスト、プログラム、または再帰的に構築された他のデータ構造など、可変サイズの構造化オブジェクトを生成するのに非常に便利です。GFlowNetはバックワードサンプリング手順も定義できることに注意してください。すなわち、構築されたオブジェクトが与えられた場合、それを構築する可能性のある妥当な軌跡をサンプリングできます。フォワードサンプリング方策は以下PFと呼ばれ、バックワードサンプリング方策はPBと呼ばれます。

重要なのは、報酬関数Rが(いくつかの確率変数に対する)事前分布と(その確率変数の値の選択がいくつかのデータにどれだけよく適合するかを測定する)尤度の積を表す場合、GFlowNetは対応するベイズ事後分布からサンプリングすることを学習します。これにより、GFlowNetは、潜在変数( [14] のように)またはサンプルと例全体で共有されるパラメータと理論( [5] のように)をサンプリングするために使用できる、アモルタイズド確率的推論マシンになります。また、別のチュートリアルで説明するように、(実行時にサンプリングする必要のない)近似およびアモルタイズド周辺化を実行するためにも使用できます。これは、確率的な質問(例: いくつかの変数の確率または期待値、あるいは条件付きエントロピーや相互情報量などの情報理論量の推定)に答えることができるAIシステムのトレーニングに役立ちます。

ニューラルネットのアーキテクチャの観点から、最も単純なGFlowNetアーキテクチャは、確率的方策π(at|st)を出力するニューラルネット(可能な限り大きいもの)を持つものです。ここで、stは部分的に構築されたオブジェクトを表し、atはstからの可能なアクションの1つです。通常のGFlowNetでは、stからatを決定論的に選択すると、st+1が生成されます。これは、その方策に対してπ(at|st) = PF(st+1|st)と書くこともできることを意味します。方策がある種の確率的外部環境で動作するのではなく、内部方策であり、(何に注意を払うか、どの計算を実行するか、どのメモリを取得するかなど)計算の選択を実行する場合、決定論的な遷移を検討することは理にかなっています。GFlowNetは、認知をモデル化できる種類の内部方策、すなわち、確率的推論の形式に対応する思考エージェントの内部計算に関する一連のマイクロ選択によって動機付けられています。PFは、これらの構造化された内部計算構造を生成するためのGFlowNetの構成プロセスに沿った「フォワード」遷移確率を表しています。すべてのステップで同じニューラルネットが使用されますが、次の状態st+1 = T(st, at)が得られる確率的出力atが生成されます(Tの形式はアプリケーションに依存します。たとえば、stが部分的に構築された分子であり、グラフとして表され、atが特定の新しい原子をグラフ内の既存のノードに接続された特定の新しいノードとして配置する場合、化学の規則に従います)。状態は可変サイズのオブジェクトであるため、ニューラルネットは、そのようなオブジェクトを入力として受け取るための適切なアーキテクチャ(RNN、グラフニューラルネット、トランスフォーマーなど)を持っている必要があります。したがって、より一般的には、GFlowNetの決定の反復適用は、隠れリカレント状態(st)が確率的であるリカレント確率的ネットの特定の形式と見なすことができます。


[画像の説明: GFlowNetの最も基本的なコンポーネントは、構成ポリシー、つまり前の状態stが与えられた場合に、アクションatの選択を通じて次の状態st+1をサンプリングする方法を定義するニューラルネットワークです。新しい状態st+1は、オブジェクトx = snが生成されたことを示す特別な「終了」アクションがシーケンスの終わりを示し、報酬R(x)が提供されてポリシーがそのようなソリューションを生成することを奨励または阻止するまで、PFまたはπで表されるGFlowNetポリシーの次のアプリケーションの入力になります。トレーニングの目的は、PFのパラメータを、xがR(x)に比例する確率で生成されるように最適化することです。]


GFlowNets for Brain-Inspired Reasoning

脳科学は、意識的な推論が思考形成の連続的なプロセスを伴うことを示しています。このプロセスでは、各ステップで、可能な思考内容(およびその内容に関する専門知識を持つ脳の関連部分)の間で競合が発生し、各思考にはごく少数の記号要素(ほんの一握り)が含まれます。これは、バールス(1993年、1997年)によって開始され、(とりわけ)デヘアネら(2011年、2017年、2020年)およびグラツィアーノの注意スキーマ理論(2011年、2013年、2017年)によって拡張された、グローバルワークスペース理論(GWT)の中核です。さらに、(ベイズ推論と神経科学の間の関連性に関する研究によって裏付けられているように)そのような各ステップは確率的である可能性があります。これは、GFlowNetのようなものが、思考のシーケンスを選択する内部方策を学習できる可能性があることを示唆しています。さらに、ベイズ[7]と変分推論[9]の両方の観点から、アモルタイズド推論学習器としてのGFlowNetに関する研究([4、5、7、9])により、この種の計算は脳内で確率的推論を実現するのに非常に役立ちます。GFlowNetsは、システム2のモジュール化された知識(変分推論における「ワールドモデル」P)と一致するように、特定の種類の質問に対する回答を確率的に選択するように訓練された、システム1推論マシン(アモルタイズド近似推論Qを変分推論に対応)を学習できます。そのシステム1推論マシンQも、モデルP(「ワールドモデル」)をトレーニングするのに役立ちます(これらの論文のいくつかで示されています)。典型的なニューラルネットワークとは異なり、推論マシンは外部(現実)データからのみトレーニングする必要はなく、QをPと一致させるために内部で生成された(幻覚)疑似データを利用することもできます。モデルベースの機械学習に関するこのブログ記事も参照してください。もちろん、実際のデータは、P(ワールドモデル)を現実の世界と互換性を持たせるために重要です。GFlowNetが実行できる種類の順次確率的推論は、強力な学習済み推論機構の一種であり、感覚入力の解釈、選択された過去の観測の解釈、計画、および反事実(エージェントが過去に異なる行動をとっていた場合)に使用できます。コンテンツのほんの一握りの要素(思考に入るもの)の確率的選択により、GFlowNetは、ベンジオ(2017年)によって導入され、ゴヤルとベンジオ(2022年)によって詳しく説明された「意識の事前分布」を実装するための優れた候補になります。特に、GWTのボトルネックは、このような確率的推論に適用すると、高レベルの概念(意識的に操作して推論できるもの)間の依存関係のグラフが非常にスパースであるという帰納的バイアスを強制します。各因子またはエネルギー項は、せいぜいほんの一握りの引数しか持たないという意味です。

Where would we (or the brain) get the energy or reward function in practice?

訓練されたGFlowNetは、サンプラー(R(x)に比例する確率でオブジェクトxを生成するため)と推論マシン(x内のいくつかの変数に関する質問に答え、他の変数が与えられた場合のそれらの変数に関する確率を予測するために使用できます。ただし、これは、他の変数を周辺化します)の両方です。しかし、これは、その同時確率モデルの正規化されていない確率関数R(x)またはエネルギー関数E(x) = - log R(x)に関してです。学習エージェントはどこでそのエネルギー関数を取得するのでしょうか?

私たちは、それを行うためのいくつかのアプローチに取り組んでいます(詳細は以下のセクションを参照)。

  • エネルギー関数はパラメータ化(パラメータθとする)でき、そのパラメータは最尤法によって学習できます(これはエネルギーベースモデリングの領域です)。θに関する最尤勾配を得るには、オブジェクトxの分布からサンプリングする必要があります。この分布は、エネルギー関数によって捉えられ、GFlowNetがそのために使用できます。観測されたxに加えて潜在変数zが関係している場合(はるかに興味深いシナリオ)、GFlowNetは、この確率的勾配を得るために必要なp(x, z)とp(z|x)の両方から近似的にサンプリングできます(そして、GFlowNetは、それに応じてトレーニングすれば、p(x)、p(z)、またはp(x|z)からサンプリングすることもできます)。

  • パラメータθまたはエネルギー関数E自体を潜在変数と見なし、それらについてベイズ的に考えることができます。つまり、GFlowNetにそれらもサンプリングさせます。この場合、J(これはエネルギー関数をインデックス付けます)とx(およびオプションで潜在z)が与えられると、エネルギーは固定関数(たとえば、重みθと入力(x, z)を持つMLP)になります。GFlowNetを使用して因果グラフ上のベイズ事後分布からサンプリングする最初の論文については、[5]を参照してください。GFlowNetの目的は、事後分布(GFlowNetサンプラーによって推定されます)が事前分布×尤度に比例する必要があるため、ベイズ事後分布からサンプリングすることを学習するのに適しています。対数事前分布と対数尤度はどちらも計算が簡単(またはミニバッチで不偏に推定する)であり、GFlowNet報酬を形成するために使用できます。

What Flows?

上記のニューラルネットワークが選択する、状態s、遷移s→s'、または軌跡τに関連付けられた正規化されていない確率について話すために、フローという用語を使用します。これらをフローと呼ぶ理由は、図3のように、ネットワーク内のいくつかの場所に水が入力され(私たちの場合、ちょうど1箇所)、ターミナルノードx∈Xからネットワークから流れ出すフローネットワークとの類似性があるからです。

[画像の説明: フローネットワークの図(青い点は、状態(円として、部分的に構築されたオブジェクト、または完全に構築されたサンプルを持つターミナル状態の場合は正方形)と状態間の遷移(水が流れている場所)を介した、考えられるすべての軌跡を持つDAGと見なされるネットワークを流れる水粒子と考えることができます)。初期状態s0は三角形で示され、それを流れるフローは、すべてのターミナル状態を流れるフローの合計と等しくなければなりません。状態間の遷移は、その状態で特定のアクションを選択することに対応します。一般に、各状態から複数の可能なアクションがあり、状態への複数の遷移があります。ターミナル状態は、いくつかの状態(およびおそらくs13やs16などの一部の状態でのみ可能なオプション)で使用可能な特別な終了アクションT(赤い遷移)によって到達します。また、内部状態に入る水粒子の数は、出てくる水粒子の数と等しくなければなりません。これがフローマッチング制約です。また、各ターミナル状態xを流れるフローをR(x)に制約したいと考えています。]

考えられるすべてのオブジェクトx∈Xをゼロから構築するための、考えられるすべての軌跡を含む有向非巡回グラフ(DAG)を(少なくとも頭の中で)描くことができます。その前方構築DAGの各ノードは状態sに対応し、各遷移は状態sから実行され、次の状態s'= T(s, a)につながる構成アクションに対応します。各状態sを流れる水と、可能な次の状態s'への水の流れを、可能なアクションaの1つでラベル付けされたパイプを通して想像してみてください。パイプs→s'(グラフのエッジ)を通る水の量は、sを通過する水粒子がs'に到達する確率と考えることができます。GFlowNet理論は、これらのエッジを持つグラフが有向非巡回グラフであること、つまり、どのアクションを通しても同じ状態に戻る方法がないことを前提としています(パイプとT字路を流れる水を考えてみてください。水の定常流の中で、つまり、各パイプを流れる水の量が変化せず、パイプとT字路が異なる量の水流を得ている場合、サイクル、つまり、水がそこから来た場所に逆流することが理にかなっているかどうか)。このグラフにサイクルがあることはあまり意味がありません(フローネットワークにはなりません)。レゴブロックを削除したい場合(アクションを元に戻す場合)、バックワードサンプリング方策PB(DAGのノードの親を選択します。一方、PFはノードの子を選択します)から選択した削除アクションをサンプリングできます。グラフは有向非巡回でなければなりませんが、(関係する水の総量が有限である限り)無限グラフにすることができます。すべての軌跡が始まる初期状態s0(したがって、DAG内のすべての水がs0を流れる必要があります)と、状態sで実行され、対応するターミナル状態xへの遷移を強制する特別な終了アクション⊤を定義できます。ポリシーでサンプリングしたい実際のターゲット分布\sum{R(x)}は与えられず、正規化されていない確率R(x)のみが与えられるため、ターミナル状態xへのフローを指定された値R(x)に固定するだけです。DAGを流れる水の総量は、初期状態s0を流れるフローF(s0)であり、ネットワークDAG全体にわたってすべてのターミナル状態に分散されます。これにより、水流の量がF(x) = R(x)であるという制約を達成したいと考えています。

フローが「一致」している場合(パイプの中を実際に水が流れていて、水が定常的に流れている状態になっている場合のように)、F(s0) =Σ{R(x)}、つまりターミナルノードへの水の総量はs0に入る水と一致するはずであることは明らかですが、正式に証明することもできます。これは、正規化されていない密度Rの分配関数、つまり、ターミナルノードへの水の総量は、s0に入る水と一致する必要があることを意味します。次に、ターミナル状態F(x) = R(x)で目的のフローを実現する必要があることを考えると、状態と遷移を流れる水の量を指定するフロー関数F(s)とF(s→s')を推定することによって、GFlowNetのトレーニングを行うことができます。GFlowNetに関連付けられた確率的方策は、正規化された、出力遷移のフローに対応します。

$$
π(a|s) = π(s→s' = T(s,a)|s) = P_F(s'|s) = \frac{F(s→s')}{\sum_{s"} F(s→s")}
$$

したがって、フォワードポリシーを使用して、初期状態s0から開始して、軌跡をサンプリングできます。同様に、バックワードポリシーは次のとおりです。

$$
P_B(s|s') = \frac{F(s→s')}{\sum_{s"} F(s"→s')}
$$

上記の2つの式は、Fがフローマッチング制約(入力フローの量は出力フローの量と等しい)を満たす場合、一貫性がある(つまり、PBとPFの両方を生成するFが存在する)ように強制されます。これは、トレーニング中のニューラルネットワークによってFが推定される場合、必ずしも当てはまりません(トレーニングを完全に完了して、トレーニング損失をどこでも0にしていません)。PF、PB、およびFのエスティメータを含む、さまざまな方法でGFlowNetをパラメータ化できます。実際には、これらは互いに完全に一致せず、フローマッチング制約にも完全に一致しない場合があります。

Markovian Flow

詳細を知りたい方のために、フローの意味についてもう少し詳しく説明しますが、さらに詳しい情報は[2]にあります。フロー関数は、状態と遷移だけでなく、軌跡τ全体についても定義できます。実際、軌跡フロー関数F(τ)からすべてを定義できます。

$$
F(s) = \sum_{τ:s∈τ}F(τ)
$$

$$
F(s→s') = \sum_{τ:(s→s')∈τ}F(τ)
$$

上記は、Fを、何らかの特性を共有する水の粒子の数をカウントするものと考えると、非常に直感的に理解できます。たとえば、ノードs、エッジs→s'、または完全なパスτ= (s0, s1,..., sn)を通過します。

フロー関数は、sを流れる水粒子の将来のパスが、各sまでの以前の履歴に依存しない場合、マルコフと呼ばれます。同様に、

$$
F(τ = (s_0, s_1,..., s_n)) = Z \prod_{t=1}^{n}P_F(s_t|s_{t-1}).
$$

したがって、GFlowNetを指定する2つの方法の間の同等性を見ることができます。

  1. エッジフローを指定します。これから、入ってくるエッジまたは出て行くエッジを合計することでノードフローを取得でき、式(1)のように正規化することで遷移確率を取得できます。または、

  2. 合計フローZ = F(s0)とその遷移確率PFのみを指定します。これから、式(5)によって軌跡フローを取得でき、上記の2つの合計(式3-4)によって(原則的に)状態とエッジのフローを取得できます。たとえば、再帰的な定義を使用すると、次のようになります。

$$
F(s) = \sum_{s'} P_F(s|s')F(s').
$$

上記の式で両方のFをF(s0) = Zで割ると、通常のマルコフ遷移が得られます。P(s) = F(s)/Zは、sを通過する合計フローの割合であり、GFlowNetから完全な軌跡をサンプリングするときにsを通過する確率でもあります。ΣP(s)は、一般に1ではありません。これは、水粒子がsを通過する確率ですが、DAG内のsから到達可能なs'も通過するイベントと相互に排他的ではないためです。

非マルコフフロー(つまり、粒子が現在の状態だけでなく、軌跡の以前のイベントに基づいて次の遷移を選択する)があった場合、軌跡の以前の時点にエンコードされた情報をより豊富な状態に組み込むことによって、マルコフにすることができます。

Main Theorem

NeurIPS論文[1]にすでに示されているGFlowNet理論の中心的な定理は、状態に入る水の量がそこから出てくる水の量と等しい(フローマッチング制約)およびターミナル状態を流れるフローがR(x)と一致またはR(x)によって定義されるようにフロー関数Fをトレーニングできた場合、GFlowNetポリシー(式1)からサンプリングすると、確率R(x)/ΣR(x')でターミナル状態xが生成されます。

GFlowNet Foundations論文[2]で、フローとその特性のより詳細な数学的構成を参照してください。連続アクション空間と状態空間(またはハイブリッド)[12]への拡張の理論を参照してください。

Training Objectives

GFlowNetのトレーニング方法に関心がない場合は、このセクションをスキップできます。ただし、GFlowNetによって利用され、トレーニングの目的を生み出す償却の原則に焦点を当てた別のチュートリアルを楽しむことができるかもしれません。

GFlowNetに対して、いくつかのトレーニング目標がすでに提案されており、すべて、目的のターミナル状態x、つまりF(x) = R(x)を流れるフローに一致する適切なフローを定義するように、フローおよび/またはフォワードポリシーの遷移確率を出力するニューラルネットワークを構築することを目指しています。GFlowNetのトレーニングとMLにおける典型的な関数または確率分布のトレーニングの根本的な違いは、(報酬関数が与えられたときの)GFlowNet自体のトレーニングは、有限データセットに対してではなく、無限オブジェクト、つまり、考えられるすべての軌跡のそれぞれに対して報酬値を指定する、与えられた報酬関数に対して行われることです。考えられるすべての軌跡は、指数関数的に大きく(連続アクションがある場合は無限になる可能性もあります)。したがって、GFlowNetでは、過剰適合の概念とトレーニングの進捗状況を評価する方法を再考する必要があります(RLまたはオンライン学習で得られるものの方がより適切な例えです。計算リソースが許す限り環境の報酬関数を呼び出すことができ、一般に同じ例を何度も繰り返し処理しても意味がありません)。つまり、多くの計算サイクルを費やす意思がある場合は、より大きなGFlowNetを使用できます。最適なGFlowNetのサイズは、データセットのサイズではなく、その使用(アクションごとにネットワークを1回通過)とトレーニング(通過するトレーニング軌跡の数)の両方に対してGFlowNetニューラルネットワークに投入する計算量によって決まります。

Flow-matching objective

sをs'に変換するアクションがない場合、F(s→s') = 0という規則により、フローマッチング制約を

$$
\sum_{s'}F(s'→s) = \sum_{s"}F(s→s")
$$

に変換できます。これは、状態に入るフローの合計と状態から出るフローの合計の不一致を測定する損失になります。たとえば、NeurIPS 2021の論文[1]では、

$$
\sum_{s'}(log(\hat{F}(s'→s)) - log(\hat{F}(s→s"")))^2
$$

を使用しました。ここで、ˆFは、正しいフロー(たとえば、GFlowNetニューラルネットワークの出力)の推定値であり、対数の役割は、絶対確率ではなく相対確率のマッチングを強調することです(ただし、後者も可能です)。この論文では、これらの対数内に小さな加法定数δを挿入して、大きなフローの絶対誤差を強調し、相対誤差と絶対誤差の妥協点を得ています。訪問したターミナル状態xに対してlog F(x)≈log R(x)にするために、同様の損失が定義されています。

Detailed balance objective and backward policy

GFlowNet Foundations論文[2]では、フローマッチングも間接的に実現する別の目標が導入されましたが、異なるパラメータ化を使用しています。フロー(これからフォワードポリシーを導き出すことができます)の代わりに、sを入力とするニューラルネットワークは、各状態で可能なアクションに対するソフトマックス、つまりフォワードポリシーπ(a|s) = PF(s'|s)(ここで、s' = T(s, a)、またはそのようなアクションがない場合はバックワードポリシーPB(s|s'))を直接出力できます。バックワードポリシーは、与えられたオブジェクトx(たとえば、[4]のようにデータセットからの例)から開始して、軌跡を逆方向にサンプリングするために使用でき、xを構築するための可能な方法を教えてくれます。詳細釣り合い目標がトレーニング中に満たそうとする制約は、

$$
F(s)P_F(s'|s) = P_B(s|s')F(s').
$$

です。

詳細釣り合い目標は、状態のすべての親に対する合計を計算する必要がないため、親の数が多い場合に役立ちます。DB損失の変更バージョンが[5]で導入され(その論文では「SubTB」と呼ばれています)、すべての状態から終了アクションが可能な設定で、トレーニングの改善とモードの崩壊の減少につながります。

一様なバックワードポリシー。 バックワードポリシーPBの任意の選択に対して、フォワードポリシーPFとフロー関数Fが一意に存在し、バックワードポリシーとともに(5)を満たします。これは、PBを、すべての状態の親に対する一様分布など、選択した単純な分布に固定できることを意味します。学習するニューラルネットワークが1つ少ないとコーディングとデバッグが簡単になるため、これは、新しい環境でGFlowNetの開発を初期化する際の一般的な選択肢です。ただし、最適化から自由度が奪われ、通常、学習が遅くなり、学習されたポリシーの質が低下します。

Trajectory balance objective

少し代数を使用すると、上記のステートレベルの制約を、s0で開始し、ターミナル状態sn = xで終了する完全な軌跡で満たされる軌跡レベルの制約に変換できます。

$$
F(s_0)\prod_{t=1}^{n}P_F(s_t|s_{t-1}) = R(s_n)\prod_{t=1}^{n}P_B(s_{t-1}|s_t).
$$

対応する損失(ここでも、2乗誤差形式内でこれらの積の対数を一致させようとしています)の動機は、完全な軌跡(s0から順方向にサンプリングされたか、xから逆方向にサンプリングされたかにかかわらず)でアクセスされたすべての状態にすぐに勾配を提供することです。[1]で説明されているように、フローマッチング目標はRLの時間的差分目標に似ており、フローマッチング制約はベルマン方程式に似ています。これは、フローの不一致をターミナル状態から以前の状態に、そしてさらに以前の状態に伝播させる必要があるため、長いシーケンスではクレジットの割り当てが遅くなる可能性があります。[3]で示されているように、軌跡釣り合い目標を使用すると、クレジットの割り当てがより効率的になり、GFlowNetの収束が速くなります。

Subtrajectory balance objective

[3]で導入され、[8]で詳しく説明されている軌跡釣り合いの変形は、[8]までの最良のトレーニング目標であった元の軌跡釣り合い目標よりも優れたトレーニングにつながるようです。したがって、これは、この執筆時点での推奨されるデフォルトの目標です。これは、詳細釣り合い目標の遷移ごとの目標と軌跡釣り合いの完全な軌跡ごとの目標を補間し、RLのTD(λ)に類似していると見なすことができます。TD(λ)は、不偏の分散の大きいTD(1)(軌跡釣り合いに類似)と、バイアスがかかっているが分散の小さいTD(0)を補間します。勾配信号を軌跡全体に均等に分散するのではなく、短いサブシーケンスの中間目標としてフローに依存しています。

Forward-Looking GFlowNet for very Long Trajectories

軌跡が非常に長く、ターミナル状態が非常に長いアクションシーケンスの後でしか発生しない場合はどうすればよいでしょうか?この論文は、エネルギー関数をすべての状態(ターミナル状態だけでなく)に対して計算できるように拡張できれば、不完全な軌跡を使用してGFlowNetをトレーニングできることを示しています。これは、エネルギー関数が軌跡に沿って計算できる項に加法的に分解される場合、または中間状態とターミナル状態がエネルギー関数を適用できる同じ空間に存在する場合に、自然に発生します。これは、すでに発生したエネルギーとそれを考慮したフォワードルッキングフローの観点からフロー関数を再パラメータ化することによって実現されます。このトリックにより、ターミナル状態を持つ完全な軌跡をサンプリングできる場合でも、クレジット情報がローカルで利用できるようになるため、GFlowNetのトレーニングが大幅に高速化されます。(完全な軌跡を必要とする)軌跡釣り合い目標と組み合わせることはできませんが、詳細釣り合い目標と部分軌跡釣り合い目標に適用できます。

Training policy

GFlowNetのトレーニングにおける重要な選択肢の1つは、トレーニング(または行動)ポリシー、つまり、これらの目標のどれを測定し、GFlowNetパラメータに関して勾配を計算する軌跡です。トレーニングポリシーは、一般に、GFlowNetによって学習されたサンプリングポリシーPFとは異なります。トレーニングポリシーは、異なる軌跡に異なる重み(つまり、サンプリング確率)を置くことができるため、実際の目的関数とGFlowNetのトレーニングの勾配の定義の一部となります。ただし、すべての軌跡にゼロ以外の確率を与えるトレーニングポリシーは、GFlowNetに十分な容量があり、十分な時間トレーニングされていれば、同じ解が得られます。つまり、考えられるすべての軌跡に対してトレーニング目標を0にすることです(これを「完了するまでのトレーニング」と呼びます。これは実際には現実的ではありませんが、GFlowNetの理論的および漸近的な特性を理解するのに役立ちます)。

RLの専門用語では、これは、GFlowNetトレーニングがオフポリシーになる可能性があることを意味します(必ずしもポリシー自体からサンプリングされた軌跡上にあるとは限りません)。ただし、トレーニングポリシーの選択によっては、他のポリシーよりもトレーニングが効率的になる可能性があります。対応するRLのアイデアと同様に、現在のGFlowNetの実装では、トレーニング中に、オンラインポリシーPFをアクションに対する一様分布と混合するか、(PFのソフトマックスの温度を上げることで、つまり、ソフトマックス前のロジットをスケールダウンすることで)調整することで、ある程度の探索が挿入されます。

Definition of a GFlowNet

これらのアイデアは、GFlowNetポリシーをどのようにパラメータ化するか、GFlowNetの出力がどうなるべきか、トレーニング目標がどうなるべきか、トレーニングポリシーなどが、さまざまな方法で特殊化できます。GFlowNetが何を意味するのかを明確にするために、[3]では次の定義を提案しています。

GFlowNetは、以下で構成される学習アルゴリズムです。

  • 非終端状態s(F(s0)を使用すると、乗法定数までマルコフフローFが一意に決定されます)に対してフォワードアクション分布PF(·|s)を提供できるモデル。ただし、通常、モデルは、他のフローF(s)、F(s→s')、および/または推定されたバックワード遷移確率PBなど、他の量も提供します。

  • 目的関数。モデルがあらゆるアクション分布を表すことができ、目的関数がグローバルに最小化されている場合、対応するマルコフフローFに対してフローマッチング制約が満たされます。

特定のGFlowNetアルゴリズムは、通常、次のような他の機能も提供します。

  • 初期状態フロー$${Z = F(s_0) = \sum_{x}R(x)}$$ または分配関数の推定量

  • 任意の与えられた状態から逆方向にサンプリングできるバックワードポリシー$${P_B(\cdot|s)}$$

  • 任意の特定の遷移を流れるフローを推定するエッジフロー関数$${F(s→s')}$$

  • 任意の特定の状態を流れるフローを推定する状態フロー関数$${F(s)}$$

  • $${s_0}$$ から$${s}$$ への軌跡で発生する$${s' < s}$$ を通過する軌跡のみを考慮した場合の、$${s}$$ を流れるフローを推定する自己条件付きフロー関数$${F(s|s')}$$

上記で概説したように、これらのサブセットを使用して、他のもの(たとえば、エッジフロー$${\hat{F}}$$から、$${P_F}$$ と$${P_B}$$ の両方を正規化によって回復できます)を回復できる可能性があります。$${F(s|s')}$$ には独自の目的関数が必要であり、[2]で説明されているように、実行できる周辺化のタイプを一般化し、自由エネルギーを回復するために使用できます。条件付きGFlowNet(条件付き分布のモデリング)は[2]で定義され、[11]で、複数の目標を適切に組み合わせる方法があらかじめわからない多目的問題のパレートフロントサンプリングを得るために適用されています。

Marginalization Magic & GFlowNet as Inference Machine

フローマッチングまたは軌跡バランス制約を満たすなどしてGFlowNetを完全にトレーニングした場合、初期状態フローF(s0)は、一般に扱いにくい分配関数Zと等しくなる必要があることを思い出してください。分配関数Zは、考えられるすべてのターミナル状態xに対する報酬R(x)の合計です。トレーニング中に現実的に見られるトレーニング軌跡の数が、考えられるすべての軌跡とターミナル状態の総数のほんの一部である場合、これはどのようにして可能になるのでしょうか?トレーニングは一般的には完璧ではありませんが、基礎となる報酬関数に一般化可能な構造がある範囲、つまり、フロー関数を推定することによって学習者が任意の種類の任意の状態の下流に(その状態を通るフローのために)どれだけの確率質量があるべきかを推測している範囲で、うまく機能します。Foundations論文[2]で示されているように、これは、論文が条件付きフローおよびセルフフローと呼ぶものを使用して一般化できます(フロー関数は引数として追加の状態指定を取ります)。$${F(s|s')=Σ_{x>s}R(x)}$$ となり、ここで、$${x>s}$$ は、sから到達可能なターミナル状態を示します。したがって、sがグラフを表す場合、$${F(s|s')}$$ は、sのすべてのスーパーグラフ(または拡張)(つまり、sから到達可能なターミナル状態xの報酬R(x)の合計)の合計測度を表します。

これを利用して、論文では、これが、報酬関数がすべての変数に対する正規化されていない同時確率をエンコードする$${P(some variables|other variables)}$$ という形式の質問に近似的に答えるためにどのように使用できるかを示しています。したがって、GFlowNetは、任意の与えられたエネルギー関数のトレーニング可能なサンプラーであることに加えて、汎用トレーニング可能な推論マシンでもあります。

扱いにくい合計と扱いにくいサンプリングは、確率的機械学習の重要な要素であるため、GFlowNetは、複雑な確率モデル、特に集合やグラフなどの構成データ構造に対する推論(および場合によってはベイズ推論)を表して実行できるニューラルネットワークとして非常に魅力的です。非常に複雑な事後分布を非パラメトリックに表現するためにMCMCを使用する場合とは異なり、GFlowNetはサンプルではなく、フローまたはポリシーニューラルネットワークを介して暗黙的に分布を表すことに注意してください。

GFlowNets and MCMC

[1]では、基本的に古典的なMCMCサンプラーをトレーニングされたGFlowNetに置き換えます。GFlowNetの利点は、トレーニング中に確認された(x、R(x))のペアを利用して、他の場所で一般化、つまり、まだ訪れていない場所に確率質量がある可能性がある場所を推測できることです。これにより、負のエネルギー関数の確認されたモードから新しいモードに一般化し、GFlowNetからサンプリングすることでこれらのモードに直接ジャンプすることができます。代わりに、MCMCは、ランダムウォークのような小さな摂動を多数行うことによって、新しいモードを確率的に検索する必要があります。高次元では、モードが大きく分離されている場合、ほとんどのランダムパスはそのモードの近くを通過しないため、新しい孤立したモードを発見することは非常に指数関数的に困難になります(モードは、見つけるのが難しいほど薄くなっている必要があり、これは高次元データでは非常に頻繁に発生します)。モード間の平坦で確率の低い領域は、確率の砂漠と呼ばれるものであり、これらのパスを見つけること、つまりモード間を混合することの課題が、高次元分布におけるMCMCメソッドの主な欠点です。標準的なMCMCとGFlowNetのもう1つの違いは、サンプリングのコストが償却されることです(そして、これがGFlowNetをアモルタイズド変分推論メソッドの近縁種にしています)。GFlowNetを1回トレーニングすれば、その後は独立して、新しいxごとに1つの構成シーケンスでサンプリングできます。もちろん、これには、GFlowNetをトレーニングするという先行コストがかかりますが、MCMCを実行する場合と比較して、サンプリングは非常に高速です。また、最適化の理由(損失の局所最小値など)でGFlowNetのトレーニングがうまくいかなかった場合、または容量が不足しているか、トレーニング時間が十分でなかったためにGFlowNetのトレーニングがうまくいかなかった場合は、サンプラーが正しいという保証はありません。MCMCの場合、サンプラーの正確さも漸近的です(チェーン内のサンプル数が無限大になるにつれて)。ただし、近似は異なります。

私たちが実験的に発見したのは、GFlowNetは、与えられた計算バジェットに対して、MCMCが見逃した可能性のある多様なモードを見つけるのに優れている傾向があるということです。これにより、GFlowNetは、特に多くのサンプルが必要な設定(したがって、償却が価値がある)で、多様なサンプルを取得するのに興味深いものになります。

[4]では、トレーニングされたGFlowNet(フォワードポリシーPFとバックワードポリシーPBを使用)を使用して、非常に効率的なラージステップメトロポリスヘイスティングス(MH)MCMCを形成する方法も示しています。チェーンの各ステップでは、変数のサブセット(GFlowNet軌跡のアクションのサブセット)のみを再サンプリングします。GFlowNetが完全にトレーニングされている場合(つまり、十分な容量でトレーニング目標を最小化するのに十分な長さ)、MHの拒否条件は常に満たされ、これは効率的なラージブロックギブスサンプラー(つまり、変数の多くが各ステップで再サンプリングされます)と同等です。

GFlowNets and Hierarchical Variational Inference

GFlowNetは、すでに豊富なアモルタイズド変分推論メソッドのファミリー、より具体的には、複数の潜在変数s1、s2、...があり、それらが階層的に編成されているため、オブジェクトxを生成するときに、最初にs1をサンプリングし、次にs2|s1をサンプリングし、次にs3|s2をサンプリングするなどして、最後に$${s_{n-1}}$$ をモデル$${P(s_1, s_2, ..., s_{n-1},x) = P(x|s_{n-1})P(s_{n-1}|s_{n-2})...P(s_2|s_1)}$$ で$${x = s_n}$$ に変換する、アモルタイズド階層変分推論を拡張したものと見なすことができます。[7]と[9]で説明されているように、シーケンス$${τ= s_1,..., s_{n-1},x}$$ は、$${P_F(τ)= P(x|s_{n-1})...P(s_2|s_1)}$$ を使用したGFlowNetの軌跡τに対応します。他の変分推論アプローチと同様に、GFlowNetでは$${P_B(τ|x)}$$ に対応する推論マシン$${Q(x)}$$ も学習します。変分法では、GFlowNetではトレーニング手順(固定データセットとは異なり)によって必要に応じて照会できる正規化された報酬関数$${R(x)/Z}$$ に対応する、周辺データ分布(これを$${Q(x)}$$ と表すことができます)も使用します。もう1つの違いは、変分法ではQとPの間の逆KLダイバージェンスを最小化しようとする(または、重要度サンプリングを使用して、順方向KLダイバージェンスを最小化しようとする)のに対し、GFlowNetは、軌跡バランスを使用した$${(log Q(τ)- log P(τ))^2}$$ のようなものに対応するさまざまな損失でトレーニングされ、オフラインでのトレーニングの可能性が開かれます(τは、Qからのオンラインサンプルとは異なる分布からサンプリングされます)。[9]では、GFlowNetがオンポリシーで軌跡バランスを使用してトレーニングされた場合、期待される勾配は変分推論と同じになり、逆KLダイバージェンスも同様になりますが、分散が異なる(そして、軌跡バランスの勾配は、通常の変分推論と比較して、分散削減トリックを使用することと同等である)ことを示しています。(ELBOまたは逆KL)という典型的な変分推論の目的は、モードフォローイング(1つのモードに焦点を当てること)につながり、順方向KLは、平均フォローイング(過度に保守的で、サンプリングが広すぎる)につながり、重要度サンプリングを使用して実装すると、厄介な分散が発生します。代わりに、オフポリシーGFlowNetの目的(たとえば、調整されたバージョンのPFをトレーニングポリシーとして使用)は、異なるバランスをとるように見え、順方向KL変分推論の変種の欠点(平均フォローイングと分散の大きい勾配)なしに、より多くのモードを回復する傾向があります。もう1つの違いは、GFlowNetは、上記で説明したように周辺化された量に対応するフローと条件付きフローを学習できることです。

GFlowNets and RL

RLポリシーの基本的な目的は、リターンを最大化する軌跡を見つけることですが、GFlowNetの構成ポリシーは、目的の正規化されていない確率関数(GFlowNetの報酬関数です)と一致するターミナル状態をサンプリングするようにトレーニングされます。したがって、それらは異なる問題を解決します。同様に、RLの価値関数は、状態sまたは遷移s→s'を通過した後のダウンストリーム報酬(正または負の場合があります)の期待合計を推定します。対照的に、状態sまたは遷移s→s'におけるGFlowNetのフロー関数は、sまたはs→s'を通過することに起因する、すべてのダウンストリーム報酬(ここでは報酬は負ではなくなければなりません)の合計の割合を推定します。

最後に、[1]で説明されているように、RLのトレーニング目標を変更して、ポリシーにエントロピー最大化正則化を追加することで、GFlowNetのように、リターンに比例してポリシーがサンプリングされるようにすることができます。ただし、これは、各状態につながるパスが1つしかない場合(GFlowNet DAGがツリーである場合)にのみ機能しますが、GFlowNetのトレーニング手順は、DAGがツリーであるかどうかに関係なく、すべての場合に機能します。

エントロピー正則化を使用したRLは、制御の問題を推論の問題としてフレーム化しますが、GFlowNetは推論の問題を制御の問題としてフレーム化するというのは興味深いことです。

典型的なRL設定とGFlowNet設定のもう1つの重要な違いは、GFlowNetポリシー(上記のPFに対応)は「構成的」アクションのみを許可することです。つまり、可能な状態遷移のグラフはDAGを形成します。つまり、以前にアクセスした状態に戻ることはできません。これは、GFlowNetポリシーがエッジを追加することによってグラフを構成的にサンプリングする元の論文[1]では理にかなっていました。対照的に、RLのアクション空間にはそのような制約はありません。ただし、GFlowNetの状態空間を(たとえば、タイムスタンプによって)拡張して、状態空間のDAG性を保証することができます。また、フォワード遷移(PFからのサンプリング)とバックワード遷移(PBからのサンプリング)の両方を含む状態シーケンスを作成することができ、実際、[4]では、GFlowNetに基づいて特定のMCMCプロセスを定義し、大きなジャンプを可能にする方法が示されています。

Jointly Training the Sampler and an Energy Function

[4]では、GFlowNetサンプラーとそのターゲット報酬関数(これは、$${R(x)= e^{-E(x)}}$$ という、隠れたエネルギー関数です)をデータセットから共同でトレーニングする方法を示しました。エネルギー関数の古典的な最尤勾配推定量を使用しますが、これは現在のエネルギー関数によって定義されるモデルからサンプリングする必要がありますが、GFlowNetを使用してこれらのサンプルを生成します。負のサンプルがトレーニングサンプルから1 MCMCステップ離れており、マルコフチェーンの各ステップが、GFlowNetのいくつかのバックワードステップといくつかのフォワードステップでxの一部を再サンプリングすることによって得られる、コントラスティブダイバージェンスの変形を使用すると、さらに良い結果が得られることがわかりました。

もう1つの選択肢は、エネルギー関数のパラメータを、GFlowNetもサンプリングできる確率変数と見なすことです。この場合、最尤法によって学習する必要のあるエネルギー関数のパラメータはありません。代わりに、GFlowNetは、ベイズ事後分布から直接サンプリングするようにトレーニングできます(高い事前確率を持ち、データに対して高い確率を与えるエネルギー関数のパラメータを選択した場合に高い報酬が得られます)。その方向への最初のステップは[5]であり、トレーニングデータが与えられた場合に、因果グラフ(またはグラフィカルモデルのグラフ)に対するベイズ事後分布からサンプリングすることをGFlowNetが学習します。もう1つの選択肢は、観測データxとGFlowNetによってサンプリングされた潜在変数z(近似的に$${P(z|x)}$$ から)に対して$${P(x|z)}$$ を計算できる場合に、GFlowNet-EM手順[14]を使用することです。これは、高次元構造化潜在変数と事後分布$${P(z|x)}$$ の豊富な多峰性分布が存在する可能性がある状況で、最尤トレーニングに近づくためにGFlowNetの変分推論フレームワークを一般化したものです。

GFlowNets with Latent Variables

GFlowNetは潜在変数を処理できますか?はい、できます。ただし、いくつかの方法が考えられます。

ターミナル状態を構築するために使用される軌跡には、報酬関数で言及されていない中間変数のサンプリングが含まれる可能性があります。文とその構文解析ツリーと、両方を構成的に構築するGFlowNetを考えてみてください。報酬関数は、単語の出現確率を反映するだけで、構文解析ツリーは無視できます。ただし、(文、構文解析ツリー)のペアを生成する際に伴うパラメータ化と条件付き独立性の仮定により、文を構築するために潜在変数を活用する場合に、依存関係を捉えやすくなる可能性があります(たとえば、従来の生成文法では、ツリー内の親変数pが与えられると、ツリー内のpの子孫は独立していると想定されます)。

あるいは、エネルギー関数は([4]のように)学習することができ、観測変数と潜在変数の両方が含まれる可能性があります。エネルギー関数のパラメータでさえ、潜在変数と見なされ、上記で概説したように、GFlowNetによってサンプリングされる可能性があります。最後に、GFlowNetを使用してベイズ事後分布からサンプリングする場合、潜在変数とエネルギー関数のパラメータ共同でサンプリングできます。

What For?

  • 最初のGFlowNetの論文[1]では、分子がタンパク質標的に結合する推定親和性に対応する報酬関数が与えられた場合に、分子グラフをサンプリングするためにGFlowNetを使用することが検討されています。より一般的には、GFlowNetを使用して、報酬が情報ゲインを推定する実験計画ポリシーを学習できます[6]。

  • GFlowNetは、入力空間、潜在変数、またはパラメータ(またはその両方)に対する、表現力豊かな事後分布からのサンプリングなど、MCMCおよび変分推論の武器庫でより一般的に使用して、サンプリングを学習できます。エネルギーベースモデルを形成するために学習されているエネルギー関数から負のサンプルをサンプリングするためにGFlowNetを使用する例については、[4]を参照してください。

  • GFlowNetは、(因果グラフや説明グラフのような)グラフ、集合、またはそのような構成データ構造に対する確率、周辺化された確率、エントロピー、または相互情報を計算するためにより一般的に使用でき、明示的に正規化された確率を使用するという要件を回避できます。

  • 私たちは、GFlowNetを使用して、人間と同様の方法で推論と思考を行う方法を学習することを計画しています。各推論、各計画、または与えられたコンテキストに対する各説明は、構成要素(因果メカニズムまたはエンティティ間の関係)を再利用することによって得られるグラフによって記述でき、条件付きGFlowNetは、それらをサンプリングしたり、関心のある確率的量(条件付き確率、エントロピー、自由エネルギーなどの周辺化された量)を提供したりするようにトレーニングできます。

FAQ

https://www.notion.so/GFlowNet-FAQ-b4bc9ed96cd047b082d2e4f652ce929a?pvs=21

References

[1. NeurIPS 2021 paper] Emmanuel Bengio, Moksh Jain, Maksym Korablyov,
Doina Precup, Yoshua Bengio, “Flow Network based Generative Models for
Non-Iterative Diverse Candidate Generation", NeurIPS 2021.
[2. GFlowNet Foundations paper] Yoshua Bengio, Tristan Deleu, Edward J.
Hu, Salem Lahlou, Mo Tiwari, Emmanuel Bengio, "GFlowNet Foundations",
arXiv:2111.09266, November 2021, Journal of Machine Learning Research
(2023).
[3. Trajectory Balance paper] Nikolay Malkin, Moksh Jain, Emmanuel Bengio,
Chen Sun, Yoshua Bengio, “Trajectory Balance: Improved Credit Assignment
in GFlowNets", NeurIPS’2022, arXiv:2201.13259, January 2022.
[4. Energy-Based GFlowNet paper] Dinghuai Zhang, Nikolay Malkin, Zhen
Liu, Alexandra Volokhova, Aaron Courville, Yoshua Bengio, “Generative Flow
Networks for Discrete Probabilistic Modeling", ICML’2022, arXiv:2202.01361,
February 2022.
[5. Causal Graph Bayesian Posterior paper] Tristan Deleu, António Góis,
Chris Emezue, Mansi Rankawat, Simon Lacoste-Julien, Stefan Bauer, Yoshua
Bengio, “Bayesian Structure Learning with Generative Flow Networks",
UAI’2022, arXiv:2202.13903, February 2022.
[6. Biological Sequence Design with GFlowNets] Moksh Jain, Emmanuel
Bengio, Alex-Hernandez Garcia, Jarrid Rector-Brooks, Bonaventure F. P.
Dossou, Chanakya Ekbote, Jie Fu, Tianyu Zhang, Micheal Kilgour, Dinghuai
Zhang, Lena Simine, Payel Das, Yoshua Bengio, "Biological sequence design
with GFlowNets", ICML’2022, arXiv:2203.04115, March 2022.
[7. Unifying Generative Models with GFlowNets] Dinghuai Zhang, Ricky T. Q.
Chen, Nikolay Malkin, Yoshua Bengio, “Unifying Generative Models with
GFlowNets", ICML 2022 Beyond Bayes Workshop, arXiv:2209.02606, June
2022.
[8. Subtrajectory Balance paper] Kanika Madan, Jarrid Rector-Brooks,
Maksym Korablyov, Emmanuel Bengio, Moksh Jain, Andrei Nica, Tom Bosc,
Yoshua Bengio, Nikolay Malkin, “Learning GFlowNets from partial episodes
for improved convergence and stability", ICML’2023, arXiv:2209.12782,
September 2022.
[9. GFlowNets and Variational Inference paper] Nikolay Malkin, Salem
Lahlou, Tristan Deleu, Xu Ji, Edward Hu, Katie Everett, Dinghuai Zhang,
Yoshua Bengio, “GFlowNets and variational inference”, ICLR’2023,
arXiv:2210.00580, October 2022.
[10. GFlowNets with Intermediate Exploratory Rewards] Ling Pan, Dinghuai
Zhang, Aaron Courville, Longbo Huang, Yoshua Bengio, ICLR’2023,
“Generative Augmented Flow Networks”, arXiv:2210.03308, October 2022.
[11. Multi-Objective and Conditional GFlowNets] Moksh Jain, Sharath
Chandra Raparthy, Alex Hernandez-Garcia, Jarrid Rector-Brooks, Yoshua
Bengio, Santiago Miret, Emmanuel Bengio, ICML’2023, “Multi-objective
GFlowNets”, arXiv:2210.12765, October 2022.
[12. Theory for Continuous GFlowNets] Salem Lahlou, Tristan Deleu, Pablo
Lemos, Dinghuai Zhang, Alexandra Volokhova, Alex Hernández-García, Léna
Néhale Ezzine, Yoshua Bengio, Nikolay Malkin, “A theory of continuous
generative flow networks", ICML’2023, arXiv:2301.12594, January 2023.
[13. Forward-Looking GFlowNets] Ling Pan, Nikolay Malkin, Dinghuai Zhang,
Yoshua Bengio,
”Better Training of GFlowNets with Local Credit and Incomplete
Trajectories",
ICML’2023, arXiv:2302.01687, February 2023.
[14. GFlowNet-EM] Edward Hu, Nikolay Malkin, Moksh Jain, Katie Everett,
Alexandros Graikos, Yoshua Bengio, “GFlowNet-EM for learning
compositional latent variable models", ICML’2023, arXiv:2302.06576,
February 2023.
[15. subTB-GFN] Kanika Madan, Jarrid Rector-Brooks, Maksym Korablyov,
Emmanuel Bengio, Moksh Jain, Andrei Cristian Nica, Tom Bosc, Yoshua
Bengio, Nikolay Malkin, “Learning GFlowNets from partial episodes for improved convergence and stability”, ICML’2023, arXiv:2209.12782,
September 2022.
[16. FL-GFN] Ling Pan, Nikolay Malkin, Dinghuai Zhang, Yoshua Bengio,
“Better Training of GFlowNets with Local Credit and Incomplete
Trajectories”, ICML’2023, arXiv:2302.01687, February 2023.
[17. GFlowOut] Dianbo Liu, Moksh Jain, Bonaventure F. P. Dossou, Qianli
Shen, Salem Lahlou, Anirudh Goyal, Nikolay Malkin, Chris Chinenye Emezue,
Dinghuai Zhang, Nadhir Hassen, Xu Ji, Kenji Kawaguchi, Yoshua Bengio,
“GFlowOut: Dropout with Generative Flow Networks”, ICML’2023,
arXiv:2210.12928, October 2022.
[18. Graph combinatorial problems with GFNs] Dinghuai Zhang · Hanjun Dai ·
Nikolay Malkin · Aaron Courville · Yoshua Bengio · Ling Pan, “Let the Flows
Tell: Solving Graph Combinatorial Problems with GFlowNets”, NeurIPS 2023.
[19. Bayesian posterior on causal models with GFNs] Tristan Deleu · Mizu
Nishikawa-Toomey · Jithendaraa Subramanian · Nikolay Malkin · Laurent
Charlin · Yoshua Bengio, “Joint Bayesian Inference of Graphical Structure
and Parameters with a Single Generative Flow Network”, NeurIPS 2023.
[20. DynGFN for gene regulatory networks] Lazar Atanackovic · Alexander
Tong · Bo Wang · Leo J Lee · Yoshua Bengio · Jason Hartford, “DynGFN:
Towards Bayesian Inference of Gene Regulatory Networks with GFlowNets”,
NeurIPS 2023.

Acknowledgements

This tutorial received many useful comments and feedbacks, in particular
from Dinghuai Zhang, Ling Pan, Nasim Rahaman, Emmanuel Bengio, Cristian
Dragos Manta, and Donna Vakalis.


この記事が気に入ったらサポートをしてみませんか?