ノイズの多いデータは機械学習における一般的な問題の 1 つであり、オートエンコーダーはそのような問題を解決する効果的な方法です。この記事ではオートエンコーダーの構造と正しいトレーニング方法を紹介します。
オートエンコーダーは、データのエンコードを学習するために使用される教師なし学習人工ニューラル ネットワークです。その目標は、ネットワークをトレーニングすることによって入力画像の主要な特徴を捕捉し、それを次元削減処理によく使用される低次元表現に変換することです。
オートエンコーダーは、
1 の 3 つの部分で構成されます。エンコーダー: トレーニング、検証、テスト セットの入力データをエンコードされた表現に圧縮するモジュール。通常は入力データよりも数桁小さくなります。
2. ボトルネック: 圧縮された知識表現が含まれるモジュールであり、ネットワークの最も重要な部分です。
3. デコーダー: ネットワークが知識表現を「解凍」し、エンコードされた形式からデータを再構築するのを支援するモジュール。次に、出力がグラウンド トゥルースと比較されます。
#全体のアーキテクチャは、以下に示すように次のようになります。 エンコーダー、ボトルネック、デコーダーの関係#エンコーダ
エンコーダは、モデルの入力をボトルネックと呼ばれるコンパクトな部分に圧縮するプーリング モジュールが後に続く一連の畳み込みブロックです。
ボトルネックの次はデコーダです。デコーダは、圧縮された特徴を画像形式に復元するために使用される一連のアップサンプリング モジュールで構成されます。単純なオートエンコーダの場合、出力はノイズが低減された入力と同じであることが期待されます。
ただし、変分オートエンコーダーでは、モデルによって入力として提供される情報から形成されるまったく新しい画像になります。
ボトルネック
ニューラル ネットワークの最も重要な部分として、エンコーダーからデコーダーへの情報の流れが制限され、最も重要な情報のみが渡されます。
ボトルネックは画像が持つ特徴情報を取得するように設計されているため、ボトルネックは入力の知識表現の形成に役立つと言えます。エンコーダ/デコーダ構造は、画像からデータの形でより多くの情報を抽出し、ネットワーク内のさまざまな入力間に有用な相関関係を確立するのに役立ちます。
入力の圧縮表現のボトルネックにより、ニューラル ネットワークが入力を記憶してデータを過剰適合させることがさらに妨げられます。ボトルネックが小さいほど、過剰適合のリスクは低くなります。しかし、非常に小さなボトルネックによって保存できる情報の量が制限されるため、重要な情報がエンコーダのプーリング層から漏洩する可能性が高くなります。
デコーダ
最後に、デコーダは、ボトルネックの出力を再構築するために使用されるアップサンプリング ブロックと畳み込みブロックのセットです。
デコーダへの入力は圧縮された知識表現であるため、デコーダは「解凍器」として機能し、その潜在的なプロパティから画像を再構成します。
オートエンコーダーの結果と関係を理解した後、オートエンコーダーを正しくトレーニングする方法を見てみましょう。
オートエンコーダーをトレーニングするにはどうすればよいですか?
オートエンコーダーをトレーニングする前に、4 つのハイパーパラメーターを設定する必要があります:
1. コード サイズ
コード サイズまたはボトルネック サイズは、オートエンコーダーを調整するための最も重要なハイパーパラメーターです。ボトルネック サイズによって、圧縮する必要があるデータの量が決まります。これは正則化用語としても使用できます。
2. 層の数
#すべてのニューラル ネットワークと同様、オートエンコーダーを調整するための重要なハイパーパラメーターはエンコーダーとデコーダーの深さです。深度が高くなるとモデルの複雑さが増しますが、深度が低くなると処理が速くなります。
3. レイヤーごとのノード数
#レイヤーごとのノード数は、各レイヤーに使用する重みを定義します。通常、オートエンコーダの後続の各層ごとにノードの数は減少します。これは、これらの各層への入力が層全体で小さくなるためです。
4. 再構成損失
オートエンコーダーのトレーニングに使用する損失関数は入力に大きく依存するため、オートエンコーダーが適応するようにしたいと考えています。出力タイプに。画像データを扱う場合、最も一般的な再構成損失関数は MSE 損失関数と L1 損失関数です。 MNIST データセットのように、入力と出力が [0,1] の範囲内にある場合は、再構成損失としてバイナリ クロス エントロピーを使用することもできます。
以上がオートエンコーダーのトレーニング方法を理解する: アーキテクチャの探索から始めるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。