ホーム
Topics
オートエンコーダー
公開日:2023年11月23日
寄稿者:Dave Bergmann、Cole Stryker
オートエンコーダーとは、入力データを効率よく本質的な特徴まで圧縮(エンコード)し、この圧縮表現から元の入力を再構成(デコード)するように設計されたニューラル・ネットワーク・アーキテクチャーの一種です。
オートエンコーダーは、教師なし機械学習を用いて、入力データの潜在変数を発見するように訓練されます。つまり、直接観測できないにもかかわらず、データの分布を本質を教えてくれる、隠れた変数やランダムな変数です。特定の入力データのセットの潜在変数を総称して、潜在空間と呼びます。オートエンコーダーは、トレーニングを通して、どの潜在変数を使えば元のデータを最も正確に再構成できるかを学習します。この潜在空間表現は、元の入力において最も重要な情報のみを表します。
ほとんどの種類のオートエンコーダーは、データ圧縮、画像ノイズ除去、異常検知、顔認識などの特徴の抽出に関連する、人工知能タスクに使用されます。変分オートエンコーダー(VAE)や敵対的オートエンコーダー(AAE)などの特定の種類のオートエンコーダーは、画像生成や時系列データ生成などの生成タスクでの使用に、オートエンコーダー・アーキテクチャーを適応させます。
AIモデルのトレーニング、検証、チューニング、デプロイを行うAI開発者向けの次世代エンタープライズ・スタジオ(ツール・機能群)をご利用ください。IBM watsonx.aiを無料でお試しください。
すべてのオートエンコーダー・モデルにはエンコーダーとデコーダーの両方が含まれていますが、すべてのエンコーダー-デコーダー・モデルがオートエンコーダーであるわけではありません。
エンコーダー・ネットワークが入力データの重要な特徴を抽出し、その抽出された特徴データをデコーダー・ネットワークが入力として受け取る エンコーダー-デコーダー・フレームワークは、画像セグメンテーションなどのコンピューター・ビジョン・タスクで使用される畳み込みニューラル・ネットワーク(CNN)・アーキテクチャーや、Sequaence-to-Sequence(seq2seq)タスクで使用される再帰型ニューラル・ネットワーク(RNN)アーキテクチャーなど、さまざまなディープラーニング・モデルで使用されます。
エンコーダー-デコーダ・モデルのほとんどの用途では、ニューラル・ネットワークの出力は、入力とは異なります。例えば、U-Netのような画像セグメンテーション・モデルでは、エンコーダー・ネットワークが入力画像から特徴データを抽出し、異なるピクセルの意味的分類を決定します。その特徴マップとピクセルごとの分類に基づいて、デコーダー・ネットワークが画像内の各オブジェクトまたは領域に対して、セグメンテーション・マスクを構築します。エンコーダー-デコーダー・モデルの目標は、ピクセルをその意味クラスによって正確にラベル付けすることです。教師あり学習によって訓練され、人間によってラベル付けされた画像の「グランド・トゥルース」データセットに対して、モデルの予測を最適化します。
オートエンコーダーは、教師なし学習によって訓練され、自身の入力データを再構成するエンコーダー-デコーダー・アーキテクチャの特定のサブセットを指します。
オートエンコーダーは、ラベル付き訓練データに依存しないため、教師あり学習方法とはみなされません。他の教師なし学習と同様に、オートエンコーダーは、ラベル付き訓練データに示された既知のパターンを予測するのではなく、ラベルなしデータ内の隠れたパターンを発見するようにトレーニングされます。ただし、教師あり学習モデルと同様に、また教師なし学習の多くの例とは異なり、オートエンコーダーには、出力を測定するためのグランド・トゥルース、つまり元の入力自体(またはその修正バージョン)があります。そのため、これらは「自己教師あり学習」とみなされ、したがってオートエンコーダーと呼ばれています。
オートエンコーダーは、入力データがデコーダーに到達する前に「ボトルネック」を通すことで、潜在変数を発見します。これにより、エンコーダは、元の入力を正確に再構築するために最も役立つ情報のみを抽出して、通すことを学習します。
オートエンコーダーのさまざまなバリエーションは、目的やデータの種類に応じて最適になるように人工ニューラル・ネットワークの特定の要素を変更しますが、すべてのオートエンコーダーは重要な構造要素を共有しています。
エンコーダーは、次元削減により、入力データの圧縮表現をエンコードする層から構成されます。典型的なオートエンコーダーでは、ニューラルネットワークの隠れ層は、入力層よりもノードの数が徐々に少なくなっていきます。データがエンコーダ層を通過するにごとに、データはより少ない次元に「圧縮 」されます。
ボトルネック(または「コード」)には、入力の最も圧縮された表現が含まれています。これは、エンコーダー・ネットワークの出力層とデコーダー・ネットワークの入力層の両方です。オートエンコーダーの設計と訓練の基本的な目標は、入力データの効果的な再構成に必要な最小数の重要な特徴(または次元)を発見することです。この層から出てくる潜在空間表現、つまりコードがデコーダーに供給されます。
デコーダーは、データのエンコード表現を解凍(またはデコード)し、最終的にデータをエンコード前の元の形式に再構成するノードの数が徐々に増えていく隠れ層から構成されます。この再構成された出力は、オートエンコーダーの有効性を評価するために、「グランド・トゥルース」(ほとんどの場合、元の入力)と比較されます。出力とグランド・トゥルースの差は、再構成誤差と呼ばれます。
オートエンコーダーの一部の用途では、訓練後にデコーダーを破棄できます。そのような場合、デコーダーの唯一の目的はエンコーダーを訓練することであり、生成的敵対ネットワーク(GAN)における識別器の役割に似ています。その後、他のニューラル・ネットワークのコンポーネントとして使用されます。多くのオートエンコーダーでは、デコーダーは訓練後も目的を果たし続けます。たとえば、変分オートエンコーダー(VAE)では、デコーダーは新しいデータ・サンプルを出力します。
主成分分析(PCA)などの他の次元削減方法と比較して、オートエンコーダーを使用する主な利点の1つは、オートエンコーダーが複雑な非線形相関を捉えることができることにあります。オートエンコーダーで用いられる活性化関数は、通常、シグモイド関数のような非線形関数です。
さまざまな種類のオートエンコーダーは、さまざまなタスクやデータ・タイプに合わせて、この構造を適応させます。例えば、畳み込みニューラル・ネットワーク(CNN)ベースのアーキテクチャー、長期短期記憶のような回帰型ニューラル・ネットワーク(RNN)ベースのアーキテクチャー、トランスフォーマ・アーキテクチャー、あるいは単純なバニラ・フィード・フォワード・ニューラル・ネットワークなど、適切なニューラル・ネットワークを選択することに加えて、オートエンコーダーの設計には、複数のハイパーパラメーターが必要です。
不完全なオートエンコーダーは、主に次元削減のために使用される単純なオートエンコーダー構造です。隠れ層に含まれるノードの数は、入力層と出力層よりも少なく、ボトルネックの容量は固定されています。
このボトルネックの目的は、オートエンコーダーが訓練データに過剰に適合するのを防ぐことです。ボトルネックの容量を十分に制限しなかった場合、ネットワークは入力と出力の間の恒等関数を学習する傾向にあります。言い換えると、単に入力を直接コピーすることによって、再構成損失を最小化することを学習する可能性があります。データを強制的に大きく圧縮することで、ニューラル・ネットワークに、再構成に最も重要な特徴だけを保持するように学習させる必要があります。
しかし、エンコーダーとデコーダーの処理能力が十分に高い場合、つまり、大規模もしくは複雑なデータ入力を処理している場合、オートエンコーダーは(ボトルネックがあっても)恒等関数を学習し、役に立たなくなってしまう可能性があります。これにより、不完全なオートエンコーダの柔軟性が低下し、処理能力が制限されます。
正則化されたオートエンコーダーは、モデルによる再構成誤差の計算方法を制約または変更する手法である正則化により、不完全なオートエンコーダーの欠点に対処します。これらの正則化項は、オーバー・フィッティングを減らすだけでなく、オートエンコーダーが有益な特徴や関数を学習できるようにします。
スパース・オートエンコーダー(SAE)は、スパース性に制約を課します。各隠れ層のノード数を減らすことで情報のボトルネックを作るのではなく、同時に活性化できるノード数を減らすことでボトルネックを作ります。
標準的な不完全オートエンコーダーは、観測ごとにニューラル・ネットワーク全体を使用しますが、スパース関数を備えたオートエンコーダーは、特定のしきい値を超えて活性化された各ニューロンに対してペナルティを課します。これにより、訓練データに過剰に適合してしまうリスクを伴うことなく、エンコーダーとデコーダーの処理能力を高めることができます(すべてのニューロンが活性化されるわけではないため)。また、隠れ層に特定の機能を発見することに特化したノードを含めることもできます。スパース機能により、その機能が存在する場合にのみ、それらのノードを活性化することが「ペナルティに値する」ことを保証できます。
再構成誤差の計算とその後のバック・プロパゲーションによるパラメーターの重みの最適化は、個別に行われますが、この最適化はこのスパース関数によって正則化されます。したがって、オートエンコーダーは、与えられたスパース性の制約において、最も効果的な潜在空間表現を学習する必要があります。
スパース性に制約を課すために使用される関数は、一般的にL1正則化やKLダイバージェンスです。
KLダイバージェンス
Kullback-Leibler(KL)ダイバージェンスは、2つの確率分布の差を測定します。SAEの文脈で使用する場合、各学習バッチ後にネットワークに与えられるペナルティーは、活性値の目標分布(目的のスパース性)と活性値の実際の分布との間のKLダイバージェンスに比例します。この記事の後半で説明するように、KLダイバージェンスは、変分オートエンコーダー(VAE)によって学習された確率分布の精度を最適化するためにも使用されます。
2011年、モントリオール大学の研究者らによって初めて導入されました1。収縮型オートエンコーダーは、オーバー・フィッティングを減らし、より効果的に本質的な情報を抽出するために、入力データのわずかな変化(または「ノイズ」)に鈍感になるように設計されています。
これは、訓練に正則化項を追加し、入力の不十分な変化に応じて出力を変更するネットワークに、ペナルティーを与えることで実現されます。このペナルティ項は、次の2つの数学的概念を用いて計算されます。
具体的には、ペナルティー項は、入力に関するエンコーダー・ネットワーク内のニューロン活性化のヤコビ行列のフロベニウス・ノルムです。このペナルティー項と再構成誤差を減らすために使用される損失関数アルゴリズムは敵対的です。再構成損失関数は入力データの変化を観察する傾向があるのに対して、ペナルティー項は入力データの変化を無視する傾向があります。両方の項を組み合わせることで、ネットワークは最も重要な変数のみを含む、入力の圧縮表現を学習することになります。
デノイジング・オートエンコーダーには、部分的に破損した入力データが与えられ、次元削減により不要な情報を排除することで、元の入力を復元するようにトレーニングされます。
ほとんどのオートエンコーダーとは異なり、デノイジング・オートエンコーダーは、入力としてグラウンド・トゥルース・データを持ちません。代わりに、ガウス・ノイズが元のデータに追加され(たとえば、画像にランダムな静的ノイズが追加されます)、デノイジング・オートエンコーダー(DAE)がフィルタリングすることを学習します。モデルの訓練において、デノイジングされた出力の再構成誤差は、破損した入力データに対して測定されるのではなく、元の画像に対して測定されます。
この訓練手法は、オーバー・フィッティングを防ぐだけでなく、ノイズや破損した画像、オーディオファイルのクリーンアップにも非常に役立ちます。デノイジング・オートエンコーダーは、Stable Diffusionのような最先端の画像生成モデルの基礎をなすトレーニング・パラダイムとしても機能します。4
変分オートエンコーダー(VAE)は、訓練データの圧縮表現を確率分布として学習する生成モデルであり、学習した表現のバリエーションを作成することで、新しいサンプル・データを生成します。
他のオートエンコーダーの根本的な違いは、ほとんどのオートエンコーダーが離散潜在空間モデルを学習するのに対し、変分オートエンコーダーは連続潜在変数モデルを学習することです。変分オートエンコーダーは、潜在空間の単一のエンコード・ベクトルではなく、平均のベクトル「 μ 」と標準偏差のベクトル「 σ 」の 2 つの異なるベクトルをモデル化します。これらのベクトルは、潜在的な属性を確率分布として捉えるため、つまり 決定論的なエンコーディングではなく確率論的なエンコーディングを学習するため、補間やランダム・サンプリングを可能にし、その能力と応用例を大幅に拡大できます。つまり、変分オートエンコーダーは、生成AIモデルです。
簡単に言うと、変分オートエンコーダーは、訓練対象のデータセットの入力から重要な特徴の学習を柔軟かつ近似的な方法でエンコードすることを学習し、元の訓練データに類似した新しいサンプルを生成できるようになります。再構成誤差を最小化するために使用される損失関数は、学習データの確率分布(事前分布)と、変分オートエンコーダーによって学習された潜在変数の分布(事後分布)との間のKLダイバージェンスによって正則化されます。この正則化された損失関数により、変分オートエンコーダーはオーバー・フィッティングを回避しながら、訓練されたデータに類似した新しいサンプルを生成できます。この場合、元のデータと極めて類似した新しいサンプルを生成することになります。
新しいサンプルを生成するために、変分オートエンコーダーは単位ガウス(リンク先は、ibm.comの外部です)内からランダムな潜在ベクトル(ε)をサンプリングします。言い換えると、正規分布内からランダムな開始点を選択し、潜在分布の平均(μ )でシフトし、潜在分布の分散 (σ )でスケーリングします。再パラメーター化トリック5と呼ばれるこのプロセスは、変分分布の直接サンプリングを回避します。プロセスがランダムであるため、微分係数がなく、サンプリング・プロセスに対するバック・プロパゲーションが不要になります。
変分オートエンコーダーが生成タスクに使用されている場合、エンコーダーが訓練後に破棄されることがよくあります。条件付き変分オートエンコーダーのような、より高度な変分オートエンコーダーでは、エンコーダーの出力を変更する条件付き入力を与えることで、生成されたサンプルをユーザーがより詳細に制御できるようになります。
生成的オートエンコーダーと決定的オートエンコーダーには、さまざまなフィールドやデータ型にわたってさまざまな活用例があります。
この記事では、教師あり学習と教師なし学習という、2つのデータサイエンスのアプローチの本質を探ります。どちらのアプローチが貴社に適しているかをご確認ください。
機械学習で最も人気のある2つの分野をご紹介します。まず、ニューラル・ネットワークといくつかの最新の深層学習アーキテクチャーの背後にある理論について学びます。いくつかの深層学習モデルについて学んだら、強化学習に焦点を当てます。
IBMとNASAの共創によって生まれたwatsonx.aiモデルは、衛星データを変換して洪水、火災、その他の環境変化を示す高解像度の地図として表示し、地球のこれまでの経緯や今後の展望を明らかにするように設計されています。IBMは、ビデオ処理用のマスク付きオートエンコーダーでモデルを構築し、衛星映像に適合させました。
1 "Contractive Auto-Encoders: Explicit Invariance During Feature Extraction," Proceedings of the 28th International Conference on Machine Learning, July 2011
2 "Frobenius Norm," Wolfram Mathworld
3 "Matrix Norms," UC Berkeley, February 2021
4 "High-Resolution Image Synthesis With Latent Diffusion Models," Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), June 2022
5 "Auto-Encoding Variational Bayes," arXiv, December 2013 (last updated 10 Dec 2022)
6 "DALL-E: Creating Images from Text," OpenAI, 5 Jan 2021
7 "Junction Tree Variational Autoencoder for Molecular Graph Generation," Proceedings of the 35th International Conference on Machine Learning, July 2018