この記事は、読者がVAEの知識を持っていることを前提としています。 VAEについては、以前の記事で少し触れました、私のホームページにアクセスして確認できます。
VAEはポイントの間の真空を埋め、ポイントからポイントへの移行をスムーズにしました。たとえば、下の図の3行目のように、3から6に変化しました。
トレーニング後の潜在的な空間分布は、おおよそ下図のようになります。便宜上、0〜3のみを出力します。
0を表す濃い青と1を表すシアンが遠く離れていることがわかります。 手書きの0と1は区別しやすいので、そのような結果を出すのは当然です。 しかし、ここで問題が出る、0と1は常識的に隣接しているのに、なぜ潜在空間でそれらを隣接させることができないのでしょうか。
たとえば、3から6に切り替えるには、3、4、5、6のように増やすのがより自然な方法ではありませんか? ニューラルネットワークに潜在空間の論理接続を学習させる方法はありますか? これが今日の記事の主題です。
私の答えは、もちろんです。隣接する数(2と3、4と5など)によって生成されるベクトルの空間距離を減らすればいいじゃないですか。 そこで、ニューラルネットワークに、データセットの中に隣接する数のペアによって生成された潜在空間ベクトルをランダムにサンプリングして、距離を減らすように訓練しました。
トレーニング後の結果を以下に示します。
赤と青の色がそれぞれ1と0であることがわかります。距離は確かに短くなっていますが、テスト結果は次のとおりです。
前の行の1列目と3列目を見ると、2が3になり、1が2になっていることがわかります。これは、モデルが実際に少しの接続を学習したことを示しています。3行目では、3から9そして8に似た何かを通過します。
しかし、実験はいずれにせよ成功とは言えません。 効果が見えないし、研究に使う方法がわからないので、このアイデアを放置しておきます。