[論文メモ] VARIATIONAL NEURAL CELLULAR AUTOMATA
arxiv.org
github.com
ICLR2022
セル・オートマトンを使った生成モデルVariational Neural Cellular Automataを提案
導入
人や木、微生物など多様な生物は細胞の成長と分化により生成される。
セル・オートマトン(CA)はここから着想を得たモデルでセルの状態を近傍セルの状態とルールに基づいて反復的に更新する。
既存のCAはライフゲームやNeural Cellular Automata(NCA)等がある。NCAもgenerative modelの一つだが、学習したものしか生成できない(多様性がない)。
提案するVariational Neural Cellular Automata(VNCA)は多様性を実現する。
手法
VNCAは潜在変数を持つ生成モデルで、、学習するパラメータを持つデコーダ、ガウシアンを考える。モデルはELBO最大化で学習する。
はパラメータを持つエンコーダ、はKLダイバージェンス。
デコーダの生成プロセスはNCAに基づく(図2参照)。
NCAはグリッド内のセルに対する再帰計算で、時間[t]における更新は以下の式。
は学習する更新式、がセルのインデックス、がの近傍のセル(iを含む3x3)。セルの更新は並行して行われるのでこの[u_{\theta}]は3x3のConvolutionで実現できる。正確にはConvolutionの後に1x1のConvolutionが続く。
なお初期のグリッドは潜在空間からサンプリングして2x2にリピートしたもの。
既存のNCAではセルの生死をセルやその近傍セルの状態で決定し、これが「成長」を可能にした。
提案手法では有糸分裂から着想を得たセルの分裂を行う。
ステップ毎同じ状態セルのセルを3つ複製する。つまり最近傍法のリサンプリング。図2の右側を参照。
これを回行ったステップ後のがセルの最終状態になる。
これをRGBや2値の画像にあわせて最適化する。
実装を見るとはConv3x3 -> (Res1x1) x 4 -> Conv1x1となっている。活性化関数はELU。このモジュールをforで繰り返し適用する。
実験・結果
MNIST
CelebA。conditionなしだと微妙。
セルの成長
欠損修復。サイズを2倍にする処理を取り除き、欠損を与えて復元する形で学習する。
所感
いわれると確かに近傍と自身の9セルの状態を元に更新するセル・オートマトン。
品質はまだ微妙だが面白いアイディアだった。
今後の発展に期待。