G検定 › Web参考書 › 第5章

オートエンコーダ(次元削減、積層オートエンコーダと事前学習、VAEと派生モデル)

第5章 ディープラーニングの要素技術 / 節 8

シラバスのキーワード: オートエンコーダ次元削減事前学習積層オートエンコーダ変分オートエンコーダ (VAE)VQ-VAE・info VAE・β-VAE

本文を読んだあと、覚えているか確認してください。

オートエンコーダの仕組み

入力を低次元の表現に圧縮するエンコーダと、そこから入力を復元するデコーダで構成され、出力が入力と一致するように学習します。正解ラベルを必要としない教師なし学習で、隠れ層の表現は入力の本質的な情報を保った次元削減として使えます。ノイズ除去や異常検知にも応用されます。

積層オートエンコーダと事前学習

深いネットワークの学習が困難だった2000年代後半、ヒントンらは入力層に近い層から1層ずつオートエンコーダとして教師なしで学習して重みの初期値を決め、最後に出力層を付けて全体を教師ありで微調整する方法を提案しました。これが積層オートエンコーダによる事前学習で、ディープラーニングの実現に貢献しました。現在はReLUやバッチ正規化などにより、事前学習なしで深いネットワークを学習できます。

変分オートエンコーダ(VAE)

潜在変数を1点ではなく確率分布(平均と分散)として学習し、その分布が標準正規分布に近づくようにKL情報量の項を加えて学習します。潜在空間が滑らかに整うため、分布からサンプリングした点をデコーダに通して新しいデータを生成できる生成モデルです。

派生モデルとして、潜在変数を離散化するVQ-VAE、潜在変数と入力の相互情報量を考慮するinfo VAE、KL項の重みを調整して潜在変数の各次元を解釈しやすくするβ-VAEがあります。

試験で問われる観点

この節の練習問題(5問)

答えを見る前に選んでから開いてください。同じ問題は章別演習でランダム出題されます。

  1. 問1
    オートエンコーダの仕組みと、ディープラーニング初期に果たした役割の説明として最も適切なものを選びなさい。
    1. 1正解ラベル付きの大量の画像で分類を学習する畳み込みネットワークで、物体認識や画像分類に使われる。2012年のILSVRCで従来手法を大差で上回って優勝し、ディープラーニングが注目を集めるきっかけとなった
    2. 2生成器と識別器の2つのネットワークを競わせるように学習するネットワークで、乱数から本物に近い画像を生成するために使われる。学習済みの識別器を積み重ねる積層識別器は、深いネットワークの事前学習に用いられた
    3. 3入力を隠れ層で低次元に圧縮(エンコード)し、そこから入力を復元(デコード)するように学習するネットワークで、次元削減や特徴抽出に使われる。ただし1層分の圧縮しか学習できないため深いネットワークの事前学習には用いられず、事前学習には制限付きボルツマンマシンだけが使われた
    4. 4入力を隠れ層で低次元に圧縮(エンコード)し、そこから入力を復元(デコード)するように学習するネットワークで、次元削減や特徴抽出に使われる。層ごとに学習したオートエンコーダを積み重ねる積層オートエンコーダは、深いネットワークの事前学習に用いられた
    答えと解説

    正解: 4

    オートエンコーダは入力を自分自身に近づけるように学習する教師なしのネットワークで、隠れ層を入力より小さくすると、入力の本質的な情報を保持した低次元表現が得られます。2006年にヒントンらは、オートエンコーダを1層ずつ学習して積み重ねる積層オートエンコーダで深いネットワークの初期値を作る事前学習を提案し、勾配消失で学習できなかった深いネットワークの学習を可能にしました。

  2. 問2
    変分オートエンコーダ(VAE)とその派生モデルに関する記述として、最も適切なものを選びなさい。
    1. 1VAEは潜在変数を確率分布(平均と分散)として学習し、そこからサンプリングして生成する生成モデルである。β-VAEはKL項の重みβを大きくして潜在変数の各次元を独立した要因に対応させやすくし、VQ-VAEは潜在変数を離散的な符号に置き換えたモデルである
    2. 2VAEは潜在変数を決定論的な1つのベクトルとして学習し、入力を復元する通常のオートエンコーダと同じ構造の識別モデルである。β-VAEは学習率をβという定数で固定して学習を安定させたモデルで、VQ-VAEは潜在変数を連続値のまま量子ビットに対応させたモデルである
    3. 3VAEは潜在変数を確率分布(平均と分散)として学習し、そこからサンプリングして生成する生成モデルである。β-VAEは潜在変数を離散的な符号に置き換えて画像の品質を高めたモデルで、VQ-VAEはKL項の重みβを大きくして潜在変数の各次元を独立した要因に対応させやすくしたモデルである
    4. 4VAEは本物らしいデータを作る生成器と本物か偽物かを見分ける識別器を対戦させて学習する生成モデルである。β-VAEは識別器の損失の重みβを大きくして学習を安定させたモデルで、VQ-VAEは生成器を畳み込み層で構成して画像の品質を高めたモデルである
    答えと解説

    正解: 1

    VAEはエンコーダが潜在変数の平均と分散を出力し、そこからサンプリングした潜在変数をデコーダで復元するモデルで、復元誤差と、潜在分布を標準正規分布に近づけるKL情報量の項で学習します。β-VAEはKL項の係数βを1より大きくして、潜在変数の各次元が意味のある独立した要因(disentangled representation)に対応するよう促します。VQ-VAEはベクトル量子化で潜在変数を離散化し、高品質な画像や音声の生成に使われます。生成器と識別器の対戦はGANです。

  3. 問3
    積層オートエンコーダを用いた事前学習の手順として、最も適切なものを選びなさい。
    1. 1入力層に近い層から順に、1層ずつオートエンコーダとして教師なしで学習して重みの初期値を決め、最後に出力層を付けて全体を教師ありで微調整する
    2. 2出力層に近い層から順に、1層ずつ正解ラベルを使って教師ありで学習して重みの初期値を決め、最後に入力層を付けて全体を教師なしで微調整する
    3. 3すべての層の重みをランダムに初期化したまま、ラベルなしデータで入力の復元誤差を最小化するように全層を同時に学習し、その後の微調整は行わない
    4. 4入力をそのまま出力に写すオートエンコーダを1つだけ学習し、その符号化器の出力を特徴量として別途用意した決定木などの分類器に与える
    答えと解説

    正解: 1

    積層オートエンコーダでは、まず1層目をオートエンコーダとして学習し、その隠れ層の出力を次の層の入力として2層目を学習する、という手順を繰り返して深いネットワークの重みを層ごとに初期化します(事前学習)。その後に出力層を追加して教師ありでファインチューニングします。深いネットワークの学習が困難だった2000年代後半に有効な方法でした。

  4. 問4
    通常のオートエンコーダと比較したときの変分オートエンコーダ(VAE)の特徴として、最も適切なものを選びなさい。
    1. 1潜在変数を持たずに入力と出力を直接対応させる構造のため、入力を圧縮せずにそのまま複製することになり、次元削減には使えないが、新しいデータの生成には使える
    2. 2入力を1点の潜在ベクトルに圧縮するのではなく、潜在変数を確率分布(平均と分散)として学習するため、分布からサンプリングして新しいデータを生成できる
    3. 3入力を潜在変数の確率分布としてではなく1点の潜在ベクトルに圧縮して学習するため、復元の精度は高いが、潜在空間からサンプリングして新しいデータを生成することはできない
    4. 4潜在変数の分布を学習するために教師ラベルが必須であり、ラベルごとに異なる正規分布を割り当てることで、ラベルのないデータでは学習できないがラベルを指定した生成ができる
    答えと解説

    正解: 2

    VAEは潜在変数が正規分布などに従うように制約を加えて学習し、エンコーダは平均と分散を出力します。潜在空間が滑らかに整うため、分布からサンプリングした点をデコーダに通すことで新しい画像などを生成できます。通常のオートエンコーダは1点に圧縮するため、潜在空間の任意の点から意味のあるデータを生成することは保証されません。

  5. 問5
    工場で不良品の画像がほとんど集まらない。正常品の画像だけで学習し、うまく復元できない画像を異常とみなす仕組みを作りたい。最も適切な手法を選びなさい。
    1. 1ロジスティック回帰
    2. 2サポートベクターマシン
    3. 3Mixup
    4. 4オートエンコーダ
    答えと解説

    正解: 4

    オートエンコーダは正解ラベルなしで入力を復元するように学習するため、正常品だけで学習すると見慣れない異常品はうまく復元できず、異常検知に応用できます。ロジスティック回帰とサポートベクターマシンは正常と異常の両方のラベル付きデータを必要とする教師あり学習です。Mixupは画像を混ぜるデータ拡張の手法です。