Subject   : オートエンコーダ(自己符号化器:Autoencoder)

カテゴリー  : 情報産業・技術  


 オートエンコーダ(自己符号化器:Autoencoder)
 オートエンコーダ(自己符号化器:Autoencoder)とは、ニューラルネットワークの1つです。入力されたデータを一度圧縮し、重要な特徴量だけを残した後、再度もとの次元に復元処理をするアルゴリズムを意味します。このように、小さい次元に落とし込む作業を次元削減や特徴抽出と呼びますが、オートエンコーダはそれだけでなく、生成モデルとしても用いられます。

オートエンコーダは、2006年にトロント大学のコンピュータ科学および認知心理学の研究者であるジェフリー・ヒントン氏らによって提唱されました。

オートエンコーダは入力層のノードでデータを受け取り、隠れ層に圧縮します。この時に重みづけと呼ばれ、データはその重要度にあわせて点数がつけられます。この点数が低いデータは除外されます。これをエンコードと言います。

データが出力層に移る時も重み付けされ、ノードが複数のエッジから受け取ったデータの合計が最終的な値になります。これをデコードと言います。

● 積層オートエンコーダ(Stacked Autoencoder)
 積層オートエンコーダは、先述のオートエンコーダを何層にも重ねたシンプルな構造をしています。1層ずつ学習していくのがポイントで、一気にエンコードして、一気にデコードするのではなく、エンコードとデコードを交互に実施しています。
中間層を次の入力層とし、1層ずつ学習していくことで、初期値を最適解に近づけることができ、ファインチューニングすればすぐに使えるようになります。現在、技術の発展により、積層オートエンコーダのメリットをカバーできるようになったため、あまり使われていません。

● 変分オートエンコーダ(Variational Autoencoder:VAE)
 オートエンコーダは、ただデータの圧縮と復元をするだけでしたが、VAEはデコードする際に変数を混ぜることで、入力とは少し違う出力をします。そのため、VAEは生成モデルとして有名です。

● 畳み込みオートエンコーダ(Convolutional Autoencoder:CAE)
 CAEは、畳み込みニューラルネットワーク(CNN)を用いたオートエンコーダです。CNNとは、入力層と出力層の間に、入力データの特徴量を捉える「畳み込み層」と、その特徴への依存性を減らす「プーリング層」を加えたニューラルネットワークのモデルです。

 ⇒ AI(Artificial Intelligence)

[メニューへ戻る]  [カテゴリー一覧]  [HOMEへ戻る]  [前のページに戻る]