=自己符号化器。
2006年にトロント大学のジェフリー・ヒントンによって提唱されたニューラルネットワークの一種。
入力されたデータに次元削減を施すことで、データを表現するために重要な特徴を抽出する。
オートエンコーダには、入力層(エンコーダー)、出力層(デコーダー)とその間に特徴量を抽出するための隠れ層がある。
入力層、出力層は、可視層ともいう。
入力されたデータを一度圧縮し、隠れ層で重要な情報のみを抽出し、それ以外の情報を削ぎ落し、出力層で元のサイズに復元する。
隠れ層でデータを圧縮しても出力層で復元するためには、データをもっとも代表する重要度の高い情報だけを残さなければならない。
隠れ層の次元(ノードの数)が入力層・出力層より少ないことで、入力層と出力層が同じデータを持つよう学習することになる。
ReLU関数が主流になる前は、勾配消失問題の解消のためにオートエンコーダが利用された。
ニューラルネットワークの重みの初期値に、オートエンコーダで事前に学習したパラメータ値を用いることで、勾配消失による学習度低下を防止する効果があった(事前学習)。
実用上は、複数のオートエンコーダを積み重ねて順番に学習させる積層オートエンコーダが利用される。(前のオートエンコーダの隠れ層が、次のオートエンコーダの可視層となる。)
またオートエンコーダによる情報圧縮によってデータが粗な状態になるため、過学習の防止にも効果的だった。
2010年代以降、アルゴリズムの改良により、事前学習を行わなくても十分な精度が出るようになったため、オートエンコーダはニューラルネットワークの学習に直接利用されることはなくなった。
現在は、画像からのノイズ除去や異常検知に使用されたり、「変分オートエンコーダー(VAE)」という深層生成モデルに使用されている。
入力されたデータに次元削減を施すことで、データを表現するために重要な特徴を抽出する。
オートエンコーダには、入力層(エンコーダー)、出力層(デコーダー)とその間に特徴量を抽出するための隠れ層がある。
入力層、出力層は、可視層ともいう。
入力されたデータを一度圧縮し、隠れ層で重要な情報のみを抽出し、それ以外の情報を削ぎ落し、出力層で元のサイズに復元する。
隠れ層でデータを圧縮しても出力層で復元するためには、データをもっとも代表する重要度の高い情報だけを残さなければならない。
隠れ層の次元(ノードの数)が入力層・出力層より少ないことで、入力層と出力層が同じデータを持つよう学習することになる。
ReLU関数が主流になる前は、勾配消失問題の解消のためにオートエンコーダが利用された。
ニューラルネットワークの重みの初期値に、オートエンコーダで事前に学習したパラメータ値を用いることで、勾配消失による学習度低下を防止する効果があった(事前学習)。
実用上は、複数のオートエンコーダを積み重ねて順番に学習させる積層オートエンコーダが利用される。(前のオートエンコーダの隠れ層が、次のオートエンコーダの可視層となる。)
オートエンコーダは本来、入力データのみを使う教師なし学習であり、出力データはない。
最後にタスクにあった層をもう1つ追加(分類問題ならロジスティック回帰層を、回帰問題なら線形回帰層を追加)することで、教師あり学習となる。
最後にタスクにあった層をもう1つ追加(分類問題ならロジスティック回帰層を、回帰問題なら線形回帰層を追加)することで、教師あり学習となる。
追加した層の重みの調整を行うために、最後にネットワーク全体で仕上げ学習をさせることをファインチューニングという。
またオートエンコーダによる情報圧縮によってデータが粗な状態になるため、過学習の防止にも効果的だった。
2010年代以降、アルゴリズムの改良により、事前学習を行わなくても十分な精度が出るようになったため、オートエンコーダはニューラルネットワークの学習に直接利用されることはなくなった。
現在は、画像からのノイズ除去や異常検知に使用されたり、「変分オートエンコーダー(VAE)」という深層生成モデルに使用されている。