オートエンコーダ
From Wikipedia, the free encyclopedia
オートエンコーダ(自己符号化器、英: autoencoder)とは、機械学習において、ニューラルネットワークを使用した次元圧縮のためのアルゴリズム。2006年にジェフリー・ヒントンらが提案した[1]。
概要
特性と限界
理論
AEが再構成および次元圧縮を学習できる理由が理論的に解析されている。
オートエンコーダネットワーク はエンコーダネットワーク とデコーダネットワーク からなる。決定論的な解釈においてAEは「再構成された入力」を直接出力する。すなわち である。
確率論的解釈
AEは確率モデルの観点から深層潜在変数モデルの一種とみなせ、次のように定式化できる:
すなわち は分布パラメータ を出力し分布を介して が得られると解釈できる[6][7]。AEではエンコーダが決定論的に振舞うため、写像の条件付き確率分布(デルタ関数 )で表現される。 の決定論的性質より を集約して表現するとAEは次の確率論的表現で表される:
AEの学習には平均二乗誤差(MSE, L2)をはじめ様々な損失関数が(決定論的な視点から)経験的に使われている。これは経験的なものであって学習収束保証があるとは限らない。理論的な研究により、いくつかの損失関数では に特定の分布を設定したinfomax学習として定式化できることがわかっている。
固定分散正規分布モデル
「分散が固定された正規分布 」を考えると負の対数尤度 は以下になる:
これは と の二乗誤差と解釈できる。すなわち、 のNLL最小化と の二乗誤差最小化は同等とみなせる[8]。換言すれば、二乗誤差で学習されたオートエンコーダモデルは「最尤推定された固定分散正規分布 からの最頻値サンプリングモデル」であるとみなせる。
派生
オートエンコーダには様々な変種・派生モデルが存在する。以下はその一例である:
- 変分オートエンコーダー(VAE)
- Contractive AutoEncoder
- Saturating AutoEncoder
- Nonparametrically Guided AutoEncoder
- Unfolding Recursive AutoEncoder
スパース・オートエンコーダ
スパース・オートエンコーダ(英: sparse autoencoder)とは、フィードフォワードニューラルネットワークの学習において汎化能力を高めるため、正則化項を追加したオートエンコーダのこと。ただし、ネットワークの重みではなく、中間層の値自体を0に近づける。
Stacked autoencoder

バックプロパゲーションでは通常、中間層が2層以上ある場合、極小解に収束してしまう。そこで、中間層1層だけでオートエンコーダを作って学習させる。次に、中間層を入力層と見なしてもう1層積み上げる。これを繰り返して多層化したオートエンコーダをつくる方法をstacked autoencoderと言う。
Denoising AutoEncoder
入力層のデータにノイズを加えて学習させたもの。制約付きボルツマンマシンと結果がほぼ一致する。ノイズは確率分布が既知であればそれに従ったほうが良いが、未知である場合は一様分布で良い。
Generative Adversarial Network
深層学習を活用した生成モデルの一種で、2014年にイアン・グッドフェローらによって提案された。GANは、2つのニューラルネットワーク(ジェネレーターとディスクリミネーター)が互いに競争しながら学習することで、高品質なデータを生成する能力を持つ。
類似技術
- ディープビリーフネットワーク
- ディープボルツマンマシン
