"FeatureExtractor" (ネットエンコーダ)

NetEncoder[{"FeatureExtractor",f}]

入力を符号化するためにFeatureExtractorFunction f を使うエンコーダを表す.

NetEncoder["FeatureExtractor"]

ネット訓練の間に自動的に学習されるエンコーダを表す.

NetEncoder[{"FeatureExtractor","method"}]

指定の特徴抽出法を使う.

詳細

  • NetEncoder[{"FeatureExtractor",f}]では,FeatureExtractorFunction f は数値ベクトルを返す.
  • NetEncoder["FeatureExtractor"]では, hen NetTrainがエンコーダを含むネット上で呼び出されたとき,抽出器が訓練データ上で学習される.学習された抽出器は通常数値ベクトルを返す.
  • NetEncoder[{"FeatureExtractor","method"}]で,"method"は数値ベクトルを生み出すFeatureExtractionの特徴検出器法であれば何でもよい.例えば,"StandardizedVector""IndicatorVector""TFIDF""ImageFeatures""AudioFeatures""GraphFeatures"等がある.
  • NetEncoder[][input]はエンコーダを入力に適用し,出力を作る.
  • NetEncoder[][{input1,input2,}]はエンコーダを入力のリストに適用し,出力のリストを作る.
  • ネットワークの構築時に"port"NetEncoder[]と指定すると,エンコーダをネットワークの入力ポートに付加することができる.

例題

  (2)

データで自動学習する特徴抽出器を持つネットワークを定義する:

ネットワークを画像で訓練する:

ネットワークを新しい画像に適用する:

次元3の数値ベクトルをいくつか取る:

このデータを標準化するFeatureExtractorFunctionを訓練する:

この次元簡約を適用する関数エンコーダを作成する:

エンコーダを入力ベクトルに適用する:

FeatureExtractorFunctionと同じ結果になる:

同様のNetEncoderNetTrainを使っても得られる:

エンコーダはネットワークに付加して,最初のフェーズで訓練することもできる: