Re Reference AI

アーキテクチャ

オートエンコーダとは

Autoencoder / 自己符号化器

入力データを一度圧縮してから復元するよう学習させることで、データの特徴表現を教師なしで獲得するニューラルネットワーク

ニューラルネットワーク機械学習

ひとことで言うと

データを一度圧縮してから元に戻す練習をすることで、データの特徴を学ぶAIモデル。

概要

オートエンコーダとは、入力データを低次元の内部表現(潜在表現)へ圧縮するEncoderと、その内部表現から元の入力をできるだけ忠実に復元するDecoderからなるニューラルネットワーク。 正解ラベルを必要とせず、入力データそのものを再構成できるよう学習するため、教師なし学習の代表的な手法の1つとして扱われる。 圧縮された内部表現は、データの本質的な特徴を捉えた次元削減や異常検知(正常データではうまく復元できるが、異常データでは復元誤差が大きくなる性質を利用)などに応用される。

背景

ラベル付きデータを大量に用意することが難しい場面でも、データそのものから有用な特徴表現を獲得したいという要求があった。 オートエンコーダは、入力を圧縮して復元するという自己教師的なタスクを通じ、ラベルなしにデータの特徴表現を学習する手法として考案された。

歴史

1980年代: RumelhartらによってEncoder-Decoder型のネットワークで入力の自己再構成を学習させる考え方が示される。 2006年: HintonとSalakhutdinovが、複数層を積み重ねた深いオートエンコーダにより次元削減が可能なことを示す論文を発表し、深層学習研究の再興に寄与した。

アーキテクチャ

入力を低次元の潜在表現へ圧縮するEncoderと、その潜在表現から元の入力を復元するDecoderが、鏡合わせのような対称構造で接続される。 中間にある最も次元数の小さい層(ボトルネック)が、入力データの本質的な特徴を凝縮した潜在表現に相当する。 用途に応じて、ノイズを加えた入力から元のデータを復元させるDenoising Autoencoderや、潜在空間に確率分布を仮定するVariational Autoencoder(VAE)など、様々な派生形がある。

ワークフロー

入力データをEncoderに通し低次元の潜在表現を得る → 潜在表現をDecoderに通し元の次元へ復元する → 復元結果と元の入力の誤差(再構成誤差)を計算 → 誤差逆伝播法EncoderDecoder双方の重みを更新する。

コード例

PyTorchでの基本的なオートエンコーダ

import torch.nn as nn

class Autoencoder(nn.Module):
    def __init__(self):
        super().__init__()
        self.encoder = nn.Sequential(nn.Linear(784, 64), nn.ReLU())
        self.decoder = nn.Sequential(nn.Linear(64, 784), nn.Sigmoid())

    def forward(self, x):
        z = self.encoder(x)
        return self.decoder(z)

利点

  • 正解ラベルを必要とせず、入力データそのものから特徴表現を学習できる
  • 圧縮された内部表現を次元削減や異常検知に応用できる
  • ノイズ除去や欠損データの補完など、目的に応じた派生タスクへ応用しやすい

欠点

  • 単純に入力の復元を学習するだけでは、意味のある特徴表現を獲得できるとは限らず、正則化等の工夫を要することがある
  • 生成タスクに用いる場合、GAN拡散モデルと比べて生成結果が不明瞭(ぼやけた出力)になりやすいとされる
  • 潜在表現の次元数やネットワークの深さといったハイパーパラメータの調整に試行錯誤を要する

比較

  • VAEVAEは、潜在表現に確率分布を仮定し、新しいデータを生成できるよう拡張したオートエンコーダの派生形

関連用語

ニューラルネットワークEmbeddingVAE

よくある質問

オートエンコーダは教師あり学習?教師なし学習?

正解ラベルを必要とせず入力データ自身を教師信号として使うため、教師なし学習(または自己教師あり学習)の代表例として扱われる。

オートエンコーダとVAEの違いは?

通常のオートエンコーダは入力を1つの潜在ベクトルへ決定論的に圧縮するのに対し、VAEは潜在空間に確率分布を仮定して学習するため、潜在空間からサンプリングして新しいデータを生成できる。

参考文献

関連Zenn記事