ホーム topics オートエンコーダー オートエンコーダーとは
IBM watsonx.aiはこちら
機械学習の抽象表現

公開日:2023年11月23日
寄稿者:Dave Bergmann、Cole Stryker

オートエンコーダーとは

オートエンコーダーとは、入力データを効率よく本質的な特徴まで圧縮(エンコード)し、この圧縮表現から元の入力を再構成(デコード)するように設計されたニューラル・ネットワーク・アーキテクチャーの一種です。

オートエンコーダーは、教師なし機械学習を用いて、入力データの潜在変数を発見するように訓練されます。つまり、直接観測できないにもかかわらず、データの分布を本質を教えてくれる、隠れた変数やランダムな変数です。特定の入力データのセットの潜在変数を総称して、潜在空間と呼びます。オートエンコーダーは、トレーニングを通して、どの潜在変数を使えば元のデータを最も正確に再構成できるかを学習します。この潜在空間表現は、元の入力において最も重要な情報のみを表します。

ほとんどの種類のオートエンコーダーは、データ圧縮、画像ノイズ除去、異常検知、顔認識などの特徴の抽出に関連する、人工知能タスクに使用されます。変分オートエンコーダー(VAE)や敵対的オートエンコーダー(AAE)などの特定の種類のオートエンコーダーは、画像生成や時系列データ生成などの生成タスクでの使用に、オートエンコーダー・アーキテクチャーを適応させます。

IBM watsonx.aiのツアーを見る

AIモデルのトレーニング、検証、チューニング、デプロイを行うAI開発者向けの次世代エンタープライズ・スタジオ(ツール・機能群)をご利用ください。IBM watsonx.aiを無料でお試しください。

関連コンテンツ

IBMニュースレターの購読

オートエンコーダーとエンコーダー-デコーダー

すべてのオートエンコーダー・モデルにはエンコーダーとデコーダーの両方が含まれていますが、すべてのエンコーダー-デコーダー・モデルがオートエンコーダーであるわけではありません。

エンコーダー・ネットワークが入力データの重要な特徴を抽出し、その抽出された特徴データをデコーダー・ネットワークが入力として受け取る エンコーダー-デコーダー・フレームワークは、画像セグメンテーションなどのコンピューター・ビジョン・タスクで使用される畳み込みニューラル・ネットワーク(CNN)・アーキテクチャーや、Sequaence-to-Sequence(seq2seq)タスクで使用される再帰型ニューラル・ネットワーク(RNN)アーキテクチャーなど、さまざまなディープラーニング・モデルで使用されます。

エンコーダー-デコーダ・モデルのほとんどの用途では、ニューラル・ネットワークの出力は、入力とは異なります。例えば、U-Netのような画像セグメンテーション・モデルでは、エンコーダー・ネットワークが入力画像から特徴データを抽出し、異なるピクセルの意味的分類を決定します。その特徴マップとピクセルごとの分類に基づいて、デコーダー・ネットワークが画像内の各オブジェクトまたは領域に対して、セグメンテーション・マスクを構築します。エンコーダー-デコーダー・モデルの目標は、ピクセルをその意味クラスによって正確にラベル付けすることです。教師あり学習によって訓練され、人間によってラベル付けされた画像の「グランド・トゥルース」データセットに対して、モデルの予測を最適化します。

オートエンコーダーは、教師なし学習によって訓練され、自身の入力データを再構成するエンコーダー-デコーダー・アーキテクチャの特定のサブセットを指します。

オートエンコーダーは、ラベル付き訓練データに依存しないため、教師あり学習方法とはみなされません。他の教師なし学習と同様に、オートエンコーダーは、ラベル付き訓練データに示された既知のパターンを予測するのではなく、ラベルなしデータ内の隠れたパターンを発見するようにトレーニングされます。ただし、教師あり学習モデルと同様に、また教師なし学習の多くの例とは異なり、オートエンコーダーには、出力を測定するためのグランド・トゥルース、つまり元の入力自体(またはその修正バージョン)があります。そのため、これらは「自己教師あり学習」とみなされ、したがってオートエンコーダーと呼ばれています。

オートエンコーダーの仕組み

オートエンコーダーは、入力データがデコーダーに到達する前に「ボトルネック」を通すことで、潜在変数を発見します。これにより、エンコーダは、元の入力を正確に再構築するために最も役立つ情報のみを抽出して、通すことを学習します。

オートエンコーダーのさまざまなバリエーションは、目的やデータの種類に応じて最適になるように人工ニューラル・ネットワークの特定の要素を変更しますが、すべてのオートエンコーダーは重要な構造要素を共有しています。

エンコーダーは、次元削減により、入力データの圧縮表現をエンコードする層から構成されます。典型的なオートエンコーダーでは、ニューラルネットワークの隠れ層は、入力層よりもノードの数が徐々に少なくなっていきます。データがエンコーダ層を通過するにごとに、データはより少ない次元に「圧縮 」されます。

ボトルネック(または「コード」)には、入力の最も圧縮された表現が含まれています。これは、エンコーダー・ネットワークの出力層とデコーダー・ネットワークの入力層の両方です。オートエンコーダーの設計と訓練の基本的な目標は、入力データの効果的な再構成に必要な最小数の重要な特徴(または次元)を発見することです。この層から出てくる潜在空間表現、つまりコードがデコーダーに供給されます。

デコーダーは、データのエンコード表現を解凍(またはデコード)し、最終的にデータをエンコード前の元の形式に再構成するノードの数が徐々に増えていく隠れ層から構成されます。この再構成された出力は、オートエンコーダーの有効性を評価するために、「グランド・トゥルース」(ほとんどの場合、元の入力)と比較されます。出力とグランド・トゥルースの差は、再構成誤差と呼ばれます。

オートエンコーダーの一部の用途では、訓練後にデコーダーを破棄できます。そのような場合、デコーダーの唯一の目的はエンコーダーを訓練することであり、生成的敵対ネットワーク(GAN)における識別器の役割に似ています。その後、他のニューラル・ネットワークのコンポーネントとして使用されます。多くのオートエンコーダーでは、デコーダーは訓練後も目的を果たし続けます。たとえば、変分オートエンコーダー(VAE)では、デコーダーは新しいデータ・サンプルを出力します。

主成分分析(PCA)などの他の次元削減方法と比較して、オートエンコーダーを使用する主な利点の1つは、オートエンコーダーが複雑な非線形相関を捉えることができることにあります。オートエンコーダーで用いられる活性化関数は、通常、シグモイド関数のような非線形関数です。

さまざまな種類のオートエンコーダーは、さまざまなタスクやデータ・タイプに合わせて、この構造を適応させます。例えば、畳み込みニューラル・ネットワーク(CNN)ベースのアーキテクチャー、長期短期記憶のような回帰型ニューラル・ネットワーク(RNN)ベースのアーキテクチャー、トランスフォーマ・アーキテクチャー、あるいは単純なバニラ・フィード・フォワード・ニューラル・ネットワークなど、適切なニューラル・ネットワークを選択することに加えて、オートエンコーダーの設計には、複数のハイパーパラメーターが必要です。

  • コード・サイズ:ボトルネックのサイズによって、データがどの程度圧縮されるかが決まります。コード・サイズは、正則化項としても使用できます。コード・サイズの調整は、オーバー・フィッティングアンダー・フィッティングに対処する1つの方法です。
  • 層数:オートエンコーダーの深さは、エンコーダーとデコーダーのレイヤーの数によって測定されます。深さが深いほど複雑さが増し、浅いほど処理速度が速くなります。
  • レイヤーあたりのノード数: 一般に、ノード(または「ニューロン」)の数は、エンコーダー層ごとに減少し、ボトルネックで最小に達し、デコーダー層の各層で増加しますが、スパース・オートエンコーダーなどの特定の場合では、常にそうであるとは限りません。ニューロンの数は、入力データの性質によっても異なる場合があり、たとえば、大きな画像を扱うオートエンコーダーは、小さな画像を扱うニューロンよりも多くのニューロンを必要とします。
  • 損失関数: オートエンコーダーを訓練する際に、バック・プロパゲーション時の勾配降下によってモデルの重みを最適化するために、出力と入力の間の再構成損失を測定する損失関数が使用されます。損失関数の理想的なアルゴリズムは、オートエンコーダーが使用されるタスクによって異なります。
不完全なオートエンコーダー

不完全なオートエンコーダーは、主に次元削減のために使用される単純なオートエンコーダー構造です。隠れ層に含まれるノードの数は、入力層と出力層よりも少なく、ボトルネックの容量は固定されています。

このボトルネックの目的は、オートエンコーダーが訓練データに過剰に適合するのを防ぐことです。ボトルネックの容量を十分に制限しなかった場合、ネットワークは入力と出力の間の恒等関数を学習する傾向にあります。言い換えると、単に入力を直接コピーすることによって、再構成損失を最小化することを学習する可能性があります。データを強制的に大きく圧縮することで、ニューラル・ネットワークに、再構成に最も重要な特徴だけを保持するように学習させる必要があります。

しかし、エンコーダーとデコーダーの処理能力が十分に高い場合、つまり、大規模もしくは複雑なデータ入力を処理している場合、オートエンコーダーは(ボトルネックがあっても)恒等関数を学習し、役に立たなくなってしまう可能性があります。これにより、不完全なオートエンコーダの柔軟性が低下し、処理能力が制限されます。

正則化されたオートエンコーダー

正則化されたオートエンコーダーは、モデルによる再構成誤差の計算方法を制約または変更する手法である正則化により、不完全なオートエンコーダーの欠点に対処します。これらの正則化項は、オーバー・フィッティングを減らすだけでなく、オートエンコーダーが有益な特徴や関数を学習できるようにします。

スパース・オートエンコーダー

スパース・オートエンコーダー(SAE)は、スパース性に制約を課します。各隠れ層のノード数を減らすことで情報のボトルネックを作るのではなく、同時に活性化できるノード数を減らすことでボトルネックを作ります。

標準的な不完全オートエンコーダーは、観測ごとにニューラル・ネットワーク全体を使用しますが、スパース関数を備えたオートエンコーダーは、特定のしきい値を超えて活性化された各ニューロンに対してペナルティを課します。これにより、訓練データに過剰に適合してしまうリスクを伴うことなく、エンコーダーとデコーダーの処理能力を高めることができます(すべてのニューロンが活性化されるわけではないため)。また、隠れ層に特定の機能を発見することに特化したノードを含めることもできます。スパース機能により、その機能が存在する場合にのみ、それらのノードを活性化することが「ペナルティに値する」ことを保証できます。

再構成誤差の計算とその後のバック・プロパゲーションによるパラメーターの重みの最適化は、個別に行われますが、この最適化はこのスパース関数によって正則化されます。したがって、オートエンコーダーは、与えられたスパース性の制約において、最も効果的な潜在空間表現を学習する必要があります。

スパース性に制約を課すために使用される関数は、一般的にL1正則化やKLダイバージェンスです。

KLダイバージェンス
Kullback-Leibler(KL)ダイバージェンスは、2つの確率分布の差を測定します。SAEの文脈で使用する場合、各学習バッチ後にネットワークに与えられるペナルティーは、活性値の目標分布(目的のスパース性)と活性値の実際の分布との間のKLダイバージェンスに比例します。この記事の後半で説明するように、KLダイバージェンスは、変分オートエンコーダー(VAE)によって学習された確率分布の精度を最適化するためにも使用されます。

収縮型オートエンコーダー

2011年、モントリオール大学の研究者らによって初めて導入されました1収縮型オートエンコーダーは、オーバー・フィッティングを減らし、より効果的に本質的な情報を抽出するために、入力データのわずかな変化(または「ノイズ」)に鈍感になるように設計されています。

これは、訓練に正則化項を追加し、入力の不十分な変化に応じて出力を変更するネットワークに、ペナルティーを与えることで実現されます。このペナルティ項は、次の2つの数学的概念を用いて計算されます。

  • ヤコビ行列には、バック・プロパゲーションに使用できる関数の一次導関数がすべて含まれています。これは、入力が変更されると、ネットワークの勾配がどのように変化するかを表します。
  • フロベニウス・ノルムは、「その行列の各要素の二乗和の平方根」として計算されます。2 空間内の各直交方向に沿った行列の平均ゲインを測定します。3

具体的には、ペナルティー項は、入力に関するエンコーダー・ネットワーク内のニューロン活性化ヤコビ行列のフロベニウス・ノルムです。このペナルティー項と再構成誤差を減らすために使用される損失関数アルゴリズムは敵対的です。再構成損失関数は入力データの変化を観察する傾向があるのに対して、ペナルティー項は入力データの変化を無視する傾向があります。両方の項を組み合わせることで、ネットワークは最も重要な変数のみを含む、入力の圧縮表現を学習することになります。

デノイジング・オートエンコーダー

デノイジング・オートエンコーダーには、部分的に破損した入力データが与えられ、次元削減により不要な情報を排除することで、元の入力を復元するようにトレーニングされます。

ほとんどのオートエンコーダーとは異なり、デノイジング・オートエンコーダーは、入力としてグラウンド・トゥルース・データを持ちません。代わりに、ガウス・ノイズが元のデータに追加され(たとえば、画像にランダムな静的ノイズが追加されます)、デノイジング・オートエンコーダー(DAE)がフィルタリングすることを学習します。モデルの訓練において、デノイジングされた出力の再構成誤差は、破損した入力データに対して測定されるのではなく、元の画像に対して測定されます。

この訓練手法は、オーバー・フィッティングを防ぐだけでなく、ノイズや破損した画像、オーディオファイルのクリーンアップにも非常に役立ちます。デノイジング・オートエンコーダーは、Stable Diffusionのような最先端の画像生成モデルの基礎をなすトレーニング・パラダイムとしても機能します。4

変分オートエンコーダー

変分オートエンコーダー(VAE)は、訓練データの圧縮表現を確率分布として学習する生成モデルであり、学習した表現のバリエーションを作成することで、新しいサンプル・データを生成します。

他のオートエンコーダーの根本的な違いは、ほとんどのオートエンコーダーが離散潜在空間モデルを学習するのに対し、変分オートエンコーダーは連続潜在変数モデルを学習することです。変分オートエンコーダーは、潜在空間の単一のエンコード・ベクトルではなく、平均のベクトル「 μ 」と標準偏差のベクトル「 σ 」の 2 つの異なるベクトルをモデル化します。これらのベクトルは、潜在的な属性を確率分布として捉えるため、つまり 決定論的なエンコーディングではなく確率論的なエンコーディングを学習するため、補間やランダム・サンプリングを可能にし、その能力と応用例を大幅に拡大できます。つまり、変分オートエンコーダーは、生成AIモデルです。

簡単に言うと、変分オートエンコーダーは、訓練対象のデータセットの入力から重要な特徴の学習を柔軟かつ近似的な方法でエンコードすることを学習し、元の訓練データに類似した新しいサンプルを生成できるようになります。再構成誤差を最小化するために使用される損失関数は、学習データの確率分布(事前分布)と、変分オートエンコーダーによって学習された潜在変数の分布(事後分布)との間のKLダイバージェンスによって正則化されます。この正則化された損失関数により、変分オートエンコーダーはオーバー・フィッティングを回避しながら、訓練されたデータに類似した新しいサンプルを生成できます。この場合、元のデータと極めて類似した新しいサンプルを生成することになります。

新しいサンプルを生成するために、変分オートエンコーダーは単位ガウス(リンク先は、ibm.comの外部です)内からランダムな潜在ベクトル(ε)をサンプリングします。言い換えると、正規分布内からランダムな開始点を選択し、潜在分布の平均μ )でシフトし、潜在分布の分散σ )でスケーリングします。再パラメーター化トリック5と呼ばれるこのプロセスは、変分分布の直接サンプリングを回避します。プロセスがランダムであるため、微分係数がなく、サンプリング・プロセスに対するバック・プロパゲーションが不要になります。

変分オートエンコーダーが生成タスクに使用されている場合、エンコーダーが訓練後に破棄されることがよくあります。条件付き変分オートエンコーダーのような、より高度な変分オートエンコーダーでは、エンコーダーの出力を変更する条件付き入力を与えることで、生成されたサンプルをユーザーがより詳細に制御できるようになります。

オートエンコーダーの活用例

生成的オートエンコーダーと決定的オートエンコーダーには、さまざまなフィールドやデータ型にわたってさまざまな活用例があります。

  • データ圧縮:オートエンコーダーは、入力データの圧縮表現を自然に学習します。
  • 次元削減:オートエンコーダーによって学習されたエンコーディングは、より大規模な複合ニューラル・ネットワークへの入力として使用できます。複雑なデータの次元削減により、他のタスクに関連する特徴を抽出できるだけでなく、計算速度と効率も向上します。
  • 異常検出と顔認識:オートエンコーダは、「正常な」または「本物の」例と比較した場合の検査データの再構築損失を決定することで、異常、不正、またはその他の欠陥を検出し、本物との一致を確認することができます。
  • 画像のノイズ除去とオーディオのノイズ除去:デノイジング・オートエンコーダーは、ネットワークによって学習された潜在空間表現と一致しない無関係なアーティファクトや破損を除去できます。
  • 画像再構築:ノイズ除去のために学習した反転技術により、オートエンコーダーは画像の欠落した要素を埋めることができます。同様に、画像の色付けにも使用できます。
  • 生成タスク:変分オートエンコーダー(VAE)と敵対的オートエンコーダー(AAE)は、VAEによって学習されるものと似た確率分布を学習しますが、KLダイバージェンスの代わりに敵対的識別ネットワーク(生成的敵対的ネットワークに似ています)を使用します。オートエンコーダーの有名な生成的応用例には、画像生成のためのOpenAIのDall-Eモデル6 や、薬に使われる分子構造の生成7があります。
関連ソリューション
watsonx.ai

基盤モデル、生成AI、機械学習のトレーニング、検証、チューニング、デプロイが容易になり、少量のデータを使用して、短時間でAIアプリケーションを開発できます。

watsonx.aiの詳細はこちら

オートエンコーダーのリソース 教師あり学習と教師なし学習の違いとは

この記事では、教師あり学習と教師なし学習という、2つのデータサイエンスのアプローチの本質を探ります。どちらのアプローチが貴社に適しているかをご確認ください。

深層学習と強化学習

機械学習で最も人気のある2つの分野をご紹介します。まず、ニューラル・ネットワークといくつかの最新の深層学習アーキテクチャーの背後にある理論について学びます。いくつかの深層学習モデルについて学んだら、強化学習に焦点を当てます。

IBMの新しい地理空間基盤モデル

IBMとNASAの共創によって生まれたwatsonx.aiモデルは、衛星データを変換して洪水、火災、その他の環境変化を示す高解像度の地図として表示し、地球のこれまでの経緯や今後の展望を明らかにするように設計されています。IBMは、ビデオ処理用のマスク付きオートエンコーダーでモデルを構築し、衛星映像に適合させました。

次のステップ

IBM watsonx.aiは、AI開発者向けの次世代エンタープライズ・スタジオで、基盤モデル、生成AI、機械学習のトレーニング、検証、チューニング、デプロイ容易になり、少量のデータを使用して、短時間でAIアプリケーションを開発できます。

無料評価版を試す デモの予約
脚注

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