"Autoencoder" (機械学習メソッド)

詳細とサブオプション

  • "Autoencoder"はニューラルネットに基づいた次元削減法である.このメソッドは,情報ボトルネックを持つディープネットワークを使ったデータの恒等関数の近似の学習によってデータの低次元表現を学習する.
  • "Autoencoder"は,例が多数で雑音が多い訓練集合を持つ画像等の高次元データに使うことができる.しかし,訓練には時間がかかり,訓練集合が小さいときは失敗することがある.
  • 次の特徴空間プロット(FeatureSpacePlotを参照のこと)は,"Autoencoder"法をベンチマーキングデータ集合のFisher's IrisesMNISTFashionMNISTに適用することで学習した二次元埋込みを示している.
  • 自動エンコーダネットワークはエンコーダネットとデコーダネットからなる.エンコーダネットは入力データを低次元数値表現(潜在表現とも呼ばれる)に変換する.デコーダは潜在表現からもとの入力形式を再構築しようとする.
  • エンコーダネットワークとデコーダネットワークは,もとのデータと再構築されたデータの間の相違を最小化することで一緒に訓練される.
  • エンコーダネットワークとデコーダネットワークの容量を制御するために,サブオプションの"NetworkDepth"を使ってその深度が設定できる.深いネットワークを使うとエンコーダにより複雑なパターンを学習させられるが,こうすると過剰適合になりがちである."NetworkDepth"1"PrincipalComponentsAnalysis"を実行することに等しい.
  • 次は,使用可能なサブオプションである.
  • "NetworkDepth"Automaticエンコーダとデコーダの深度
    MaxTrainingRounds Automatic訓練ラウンドの最大数

例題

すべて開くすべて閉じる

  (2)

自動エンコーダメソッドを使って高次元ランダムベクトルから次元削減器を生成する:

訓練済みの自動エンコーダを使って新たなベクトルの次元を削減する:

自動エンコーダメソッドを使っていくつかの画像の次元を削減する:

画像の二次元表現を可視化する:

スコープ  (1)

さまざまな長さの二次元数列からなる訓練データと検証データを作成する:

入力列の密な三次元表現を求めるように自動エンコーダを訓練する:

エンコーダを使って長さと境界が異なる列の間の類似度を可視化する:

エンコーディングから新たな列を生成する:

オプション  (2)

MaxTrainingRounds  (1)

MNISTの訓練データ集合を入手する:

各例を厳密に1回訪れるように自動エンコーダネットワークを訓練する:

NetworkDepth  (1)

訓練画像と検定画像を含むMNISTデータ集合を入手する:

いくつかの自動エンコーダを異なる"NetworkDepth"で訓練して画像の次元を削減する:

さまざまなネットワーク深度による画像の二次元表現を可視化する:

アプリケーション  (2)

データの再構築  (1)

Fashion-MNISTの訓練集合と検定集合をロードする:

自動エンコーダを訓練して画像の次元を削減する:

削減器を使ってエンコーディングから画像を再構築し,もとの画像と比較する:

データの可視化  (1)

自動エンコーダメソッドを使っていくつかの画像の次元を削減する:

画像の二次元表現を可視化する: