ディープラーニングの潜在空間
1. 概要
このチュートリアルでは、深層学習における潜在空間について説明します。最初に、用語を定義して深層学習に対するその重要性について説明し、次に潜在空間の例をいくつか示します。
2. 意味
正式には、潜在空間は、外部で観察されたイベントの意味のある内部表現をエンコードする抽象的な多次元空間として定義されます。 外界で類似しているサンプルは、潜在空間で互いに近くに配置されます。
概念をよりよく理解するために、人間が世界をどのように認識しているかを考えてみましょう。 観察された各イベントを脳内で圧縮された表現でエンコードすることにより、幅広いトピックを理解することができます。
たとえば、通りにいる犬を認識できるように、犬の外観の細部をすべて念頭に置いているわけではありません。 下の図でわかるように、犬の一般的な外観の内部表現を保持しています。
同様の方法で、潜在空間は、空間表現を通じてコンピューターに世界の圧縮された理解を提供しようとします。
3. ディープラーニングの重要性
ディープラーニングは、自動運転車から深刻な病気の予測に至るまで、私たちの生活の多くの側面に革命をもたらしました。 その主な目標は、生データ(画像のピクセル値など)を適切な内部表現または特徴ベクトルに変換することです。このベクトルから、学習サブシステム(多くの場合分類子)がパターンを検出または分類できます。入力。 したがって、前者の内部表現が後者を構成するため、深層学習と潜在空間は強く関連する概念であることがわかります。
以下に示すように、深層学習モデルは生データを入力として受け取り、潜在空間と呼ばれる低次元空間にある識別機能を出力します。 次に、これらの機能を使用して、分類、回帰、再構築などのさまざまなタスクを解決します。
深層学習における潜在空間の重要性をよりよく理解するには、次の質問を考える必要があります。分類、回帰、または再構築の前に、生データを低次元の潜在空間にエンコードする必要があるのはなぜですか?
答えはデータ圧縮です。具体的には、入力データが高次元の場合、生データから直接重要な情報を学ぶことはできません。
たとえば、画像分類タスクでは、入力次元は入力ピクセルに対応するものである可能性があります。 非常に多くの値を見て、システムが分類に役立つパターンを学習することは不可能のようです。 解決策は、深いニューラルネットワークを使用して高次元の入力空間を低次元の潜在空間にエンコードすることです。
4. 例
それでは、タスクの複雑さを捉えて高性能を達成するために潜在的なスペースの存在が必要なディープラーニングのいくつかの例について説明しましょう。
4.1. 画像機能スペース
前述したように、潜在空間は、画像の生のピクセルを入力として受け取り、最終層に潜在空間にあるいくつかの高レベルの特徴をエンコードするすべての畳み込みニューラルネットワークの不可欠な部分です。
この潜在空間により、モデルは、高次元の生のピクセルの代わりに低次元の識別機能を使用してタスク(分類など)を実行できます。 下の画像では、CNNの一般的なアーキテクチャを見ることができます。
トレーニング後、モデルの最後のレイヤーは、画像分類タスクに必要な入力の重要なパターンをキャプチャしました。 潜在空間では、同じオブジェクトを描写する画像は非常に近い表現を持っています。一般に、潜在空間内のベクトルの距離は、生の画像の意味的類似性に対応します。
以下に、動物分類モデルの潜在空間がどのように見えるかを示します。 緑の点は、モデルの最後のレイヤーから抽出された各画像の潜在的なベクトルに対応しています。 同じ動物のベクトルが潜在空間に近いことを観察します。 したがって、モデルは、生のピクセル値の代わりにこれらの特徴ベクトルを使用して入力画像を分類する方が簡単です。
4.2. 単語埋め込みスペース
自然言語処理では、
Word2VecやGloVeのような単語の埋め込みを学習するための多くのアルゴリズムがあります。 下の画像では、潜在空間に埋め込まれている単語のトポロジーの図を見ることができます。
予想通り、「トイレ」という単語や「バスルーム」という単語のような意味的に類似した単語は、潜在空間に密接な単語の埋め込みがあります。
4.3. ギャン
以前のチュートリアルでは、GANとそのアプリケーションについて多くのことを話しました。 簡単に言うと、GANは、いくつかの事前分布と出力および画像からランダムベクトルを入力として受け取ります。 モデルの目標は、実際のデータセットの基礎となる分布を生成する方法を学ぶことです。 たとえば、データセットに椅子のある画像が含まれている場合、GANモデルは椅子のある合成画像の生成を学習します。
GANの入力は、出力画像を低次元ベクトルにエンコードするため、潜在ベクトルとして機能します。これを検証するために、次の特定の属性を処理できるため、潜在空間で補間がどのように機能するかを確認できます。潜在ベクトルを線形に変更することによる画像。
下の画像では、顔を生成するGANの潜在ベクトルを変更することで、顔のポーズを処理する方法を確認できます。
5. 結論
このチュートリアルでは、ディープラーニングの潜在空間を紹介しました。 最初に、用語の定義と深層学習との強い関係について説明し、次にいくつかの実例を示しました。