論文の重要なアイデア
重要だと思った論文のアイデアを書き溜めていきます.
GAN
Generative Adversarial Networks (GAN)[1] では,次のようなBinary Cross-Entropy誤差を最大化することで,識別器Dを学習します.
Dは単に入力が分布p(x)から生成されたものか,分布p(y)から生成されたものかを見分けているだけです. この目的関数に現れる期待値をデータセットを用いてモンテカルロ近似すると,識別器Dのパラメータについての勾配が求められます.
次に,この識別器Dを騙すような生成器Gの学習を考えます.もしyがy=G(・)のような形で出力されるなら
のように,生成器G(のパラメータ)に対する勾配も直接計算できます. この勾配を用いて,識別器Dと生成器Gを交互に学習することで,p(y)がp(x)を近似する,というのがGANのアイデアです.
GAIfO
ここで, を計算できない場合を考えてみます. つまり,生成器Gは確かにp(y)に何らかの形で影響を及ぼしていますが,その関係が微分できないような状況です.
具体的な例がGAIfO[2]で取り上げられています.
今まで通り,識別器Dは直接勾配を計算することで上式を最大化します. 一方で,識別器は模倣したい分布p(x)からの元らしさではなく,偽物の分布p(G(・))らしさを学習しています. この式では,第二項の期待値がp(z)の分布に変わっていますが,確率変数zは生成器Gを通って変換されるので,結局p(G(z))の分布をp(x)に一致させることが目標になります.しかし,ここではさらにGの出力は関数Tに入力されています.この関数Tが微分不可能な場合,を計算できません.
GAIfOでは,このような場合に,次のような目的関数を定義します.
つまり,は,「T(G(z))のp(x)らしさ」を表現しており,この期待値を最大化するようにGを学習します. Gの学習には,PPOのような強化学習アルゴリズムを用います. 実際には,zを状態・G(z)を行動,を即時報酬と考えて強化学習を実施することができます.
参考文献
[1] [1406.2661] Generative Adversarial Networks
[2] [1807.06158] Generative Adversarial Imitation from Observation