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

次元削減・VAE・積層オートエンコーダ・ムーアの法則
🔰 初心者

オートエンコーダって何ですか?何のために使うんですか?

🎓 上級者

入力データを圧縮して復元するニューラルネットワークだよ。「入力=正解」として学習するので教師なし学習の一種なんだ。長い文章を3行に要約(エンコーダ)して、要約から元の文章を復元(デコーダ)するようなイメージだね。

🏗️ オートエンコーダの構造
基本構造

入力 → エンコーダ(圧縮) → 潜在表現(ボトルネック) → デコーダ(復元) → 出力

構成要素役割
エンコーダ入力を少ない次元に圧縮する
潜在表現(ボトルネック)圧縮されたデータの本質的な特徴
デコーダ圧縮されたものから元のデータを復元する
オートエンコーダの構造(砂時計型) 入力 エンコーダ(圧縮) 潜在表現(ボトルネック) デコーダ(復元) 復元出力 z 5次元 3次元 1次元 3次元 5次元
図1: オートエンコーダの砂時計型構造(入力を圧縮して復元する)
🎯 主な用途
用途説明
次元削減PCAのように特徴量を圧縮(非線形にも対応)
特徴抽出潜在表現がデータの本質的な特徴になる
異常検知正常データで学習→異常データは復元がうまくいかない→異常と判定
ノイズ除去ノイズ入りデータから元のきれいなデータを復元
📊 代表的な種類

デノイジングオートエンコーダ

わざとノイズを加えた入力から元データを復元するよう学習する。
ノイズに対するロバスト性(頑健性)を持ち、より本質的な特徴を捉えやすくなる。

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

潜在表現に確率分布を使い、新しいデータを生成できる。生成モデルの一種。
通常のオートエンコーダは復元しかできないが、VAEは潜在空間からサンプリングすることで、学習データに似た新しいデータを生成可能。

🎯 G検定ポイント

🧱 積層オートエンコーダと事前学習
🔰 初心者

積層オートエンコーダって何ですか?普通のオートエンコーダと何が違うんですか?

🎓 上級者

昔はディープなネットワークをいきなり学習させると勾配消失で学習できなかったんだ。そこで「1層ずつバラバラに学習させてから、全体を仕上げる」手法が生まれた。これが積層オートエンコーダによる事前学習だよ。

手順

【第1段階:事前学習(教師なし・1層ずつ)】
1. 1層目のオートエンコーダを学習 → 1層目の特徴を獲得
2. 1層目の出力を入力にして、2層目を学習
3. 同様に3層目、4層目...と積み上げる

【第2段階:ファインチューニング(教師あり・全体)】
4. 事前学習した層を全部つなげて、出力層を追加
5. ラベル付きデータで全体を通して微調整

事前学習 → ファインチューニングのワークフロー 第1段階:事前学習(教師なし・1層ずつ) Step 1 Layer 1 学習中 Layer 2 (未学習) Layer 3 (未学習) Step 2 Layer 1 (学習済) Layer 2 学習中 Layer 3 (未学習) Step 3 Layer 1 (学習済) Layer 2 (学習済) Layer 3 学習中 = 現在学習中 = 未学習/凍結 = 学習済(凍結) 重みを引き継ぐ 第2段階:ファインチューニング(教師あり・全体を微調整) Layer 1 Layer 2 Layer 3 出力層 ラベル付きデータで全層を同時に微調整 入力→ →分類
図2: 事前学習(1層ずつ教師なし) → ファインチューニング(全体を教師ありで微調整)
🎓 上級者

日常で例えると、教科書で基礎知識をつける(事前学習=教師なし)→ その基礎を活かして過去問で仕上げる(ファインチューニング=教師あり)というイメージだね。

🔄 事前学習とファインチューニングの関係
事前学習ファインチューニング
学習方法教師なし(ラベル不要)教師あり(ラベル使用)
範囲1層ずつ全体を通して
目的重みの良い初期値を見つけるタスクに合わせて微調整する
📅 現在の位置づけ
時代状況
2006年頃ヒントンが事前学習を提案→深いネットワークが学習可能に。DL復活のきっかけ
現在ReLU・バッチ正規化・残差接続の登場で事前学習なしでも学習できる
重要

ただし「事前学習→ファインチューニング」の考え方は、転移学習など現在のDLでも広く使われている。

🎰 ボルツマンマシンと深層信念ネットワーク
🔰 初心者

ヒントンが2006年に提案した事前学習って、具体的にどういう仕組みだったんですか?

🎓 上級者

ヒントンが使ったのは制限付きボルツマンマシン(RBM)というモデルだよ。これを何層も積み重ねたものが深層信念ネットワーク(DBN)で、2006年のディープラーニング復活のきっかけになったんだ。

ボルツマンマシン(Boltzmann Machine)

ヒントンらが提案した確率的な生成モデル。ノード同士が相互に接続され、データの確率分布を学習する。
すべてのノードが互いに接続されているため、計算量が膨大で実用的でなかった。

制限付きボルツマンマシン(RBM: Restricted Boltzmann Machine)

ボルツマンマシンの接続を制限したもの。可視層(入力データ)と隠れ層の2層構造で、同じ層内のノード同士は接続しない
接続を制限することで計算が現実的になり、教師なしで特徴を学習できる。事前学習の基本ユニットとして使われた。

ボルツマンマシン

全ノードが相互接続
計算量が膨大で実用的でない
理論的なモデル

制限付きボルツマンマシン(RBM)

層間のみ接続(同層内は接続なし)
計算が現実的
事前学習のユニットとして実用化

深層信念ネットワーク(DBN: Deep Belief Network)

RBMを複数層積み重ねたディープなネットワーク。ヒントンが2006年に提案。
RBMを1層ずつ教師なしで事前学習し、最後に教師ありでファインチューニングする。これにより深いネットワークの学習が初めて実用的になり、ディープラーニング復活のきっかけとなった。
事前学習の2つのアプローチ

RBMベース:RBMを積み上げてDBNを構成(ヒントン、2006年)
オートエンコーダベース:オートエンコーダを積み上げて積層オートエンコーダを構成
どちらも「1層ずつ教師なしで事前学習→全体を教師ありでファインチューニング」の流れは同じ。

🎯 G検定ポイント

ムーアの法則(Moore's Law)
🔰 初心者

ムーアの法則ってディープラーニングとどう関係があるんですか?

🎓 上級者

半導体チップに集積できるトランジスタの数が、約18〜24ヶ月(約2年)で2倍になるという経験則だよ。1965年にゴードン・ムーア(インテルの共同創業者)が提唱した。同じサイズの本棚に入る本の数が2年ごとに2倍になるイメージだね。

🚀 ディープラーニング発展の3要素
要素内容
計算能力の向上ムーアの法則 + GPU/TPUの活用
データ量の増大インターネット・IoTによるビッグデータ
アルゴリズムの進化ReLU、ドロップアウト、バッチ正規化など

🎯 G検定ポイント

📏 バーニーおじさんのルール
🔰 初心者

バーニーおじさんのルールって何ですか?面白い名前ですね。

🎓 上級者

ニューラルネットワークがうまく学習するために必要な学習データ数の目安を示した経験則だよ。

バーニーおじさんのルール

必要な学習データ数 ≧ パラメータ数 x 10

覚える項目が100個あるなら、1,000問くらいの練習問題を解かないと本当には身につかない。覚えることが多いのに練習問題が少ないと「丸暗記」(=過学習)になってしまう。

ポイント内容
ルールの意味学習データ数はパラメータ数の約10倍必要
目的過学習を防ぎ、汎化性能を確保する
裏を返すとデータが少ないならモデルを小さく(パラメータを減らす)すべき
注意点あくまで経験則(目安)であり、絶対的な法則ではない

🎯 G検定ポイント