オートエンコーダ
![]() | この記事は英語版の対応するページを翻訳することにより充実させることができます。(2023年3月) 翻訳前に重要な指示を読むには右にある[表示]をクリックしてください。
|
機械学習および データマイニング |
---|
![]() |
オートエンコーダ(自己符号化器、英: autoencoder)とは、機械学習において、ニューラルネットワークを使用した次元圧縮のためのアルゴリズム。2006年にジェフリー・ヒントンらが提案した[1]。
概要[編集]
オートエンコーダは3層ニューラルネットにおいて、入力層と出力層に同じデータを用いて教師なし学習させたものである。教師データが実数値で値域がない場合、出力層の活性化関数は恒等写像、(すなわち出力層は線形変換になる)が選ばれることが多い。中間層の活性化関数も恒等写像を選ぶと結果は主成分分析とほぼ一致する。実用上では、入力と出力の差分をとることで、異常検知に利用されている。
派生[編集]
スパース・オートエンコーダ[編集]
スパース・オートエンコーダ(英: sparse autoencoder)とは、フィードフォワードニューラルネットワークの学習において汎化能力を高めるため、正則化項を追加したオートエンコーダのこと。ただし、ネットワークの重みではなく、中間層の値自体を0に近づける。
ディープ・オートエンコーダ[編集]
中間層が2層以上あるニューラルネットワークをディープ・ニューラルネットワーク(英: deep neural network)と呼ぶ。
Stacked autoencoder[編集]
バックプロパゲーションでは通常、中間層が2層以上ある場合、極小解に収束してしまう。そこで、中間層1層だけでオートエンコーダを作って学習させる。次に、中間層を入力層と見なしてもう1層積み上げる。これを繰り返して多層化したオートエンコーダをつくる方法をstacked autoencoderと言う。
Denoising AutoEncoder[編集]
入力層のデータにノイズを加えて学習させたもの。制約付きボルツマンマシンと結果がほぼ一致する。ノイズは確率分布が既知であればそれに従ったほうが良いが、未知である場合は一様分布で良い。
Contractive AutoEncoder[編集]
![]() | この節の加筆が望まれています。 |
Saturating AutoEncoder[編集]
![]() | この節の加筆が望まれています。 |
Nonparametrically Guided AutoEncoder[編集]
![]() | この節の加筆が望まれています。 |
Unfolding Recursive AutoEncoder[編集]
![]() | この節の加筆が望まれています。 |
変分オートエンコーダー[編集]
詳細は「変分オートエンコーダー」を参照
類似技術[編集]
脚注[編集]
出典[編集]
- ^ Geoffrey E. Hinton; R. R. Salakhutdinov (2006-07-28). “Reducing the Dimensionality of Data with Neural Networks”. Science 313 (5786): 504-507 .