- 入力だけの訓練データを使った教師学習により、データの特徴量を学習する。
- NNの事前学習に使われる
- 自己符号化器(autoencoder)
- 入力を符号化し、続けて復号化した時、元のお入力がなるべく忠実に再現されるような符号化の方法を定めること。
- パラメータ
- f:活性化関数
- 非線形関数
- $tilda{f}
- xが実数:恒等写像
- xがbinary:ロジスティック関数
- E(w):誤差関数
- xが実数:二乗誤差の総和
- xがbinary:交差エントロピー
- f:活性化関数
- 多くのデータから自己を復元するために必要な情報を抽出したい。
- Autoencoderの中間層には上記情報が抽出されることが期待される。
- 上記情報は自己復元以外の汎用的な目的にも使用できることが期待されるので、NNの中間層の事前学習としても使用できる。
- 過完備な表現
- 余分な自由度をもつ冗長な特徴でありながら入力データをうまく表現できるような特徴表現
-
$D_x<D_y$ の時のことを言う
- 過完備な表現は通常、trivialな解を導出してしまう可能性がある
- 上記を克服するため、スパース自己符号化器を用いる
- スパース自己符号化器
- 基本となる考え
- 個々の訓練サンプル$x_n$をできるだけ少数の中間層のユニットを用いて再現できるようにする
- 少数のユニットのみが活性化するように制約を課す
- 実際の制約
-
$\tilda{\rho_j}$ :中間層jの平均活性度の推定値 -
$\rho$ :上記の目標値
\tilda{E}(w) = E(w) + \beta \sum_{j=1}^{D_y}KL(\rho||\tilda{\rho_j})
-
- 基本となる考え
- PCA白色化
- ZCA白色化(共分散行列をコレスキー分解を対称行列に限る)
- 名前の由来は、対称行列をかけるため伸縮のみで回転はない。つまりゼロ位相変化なので、zero phase component analysis。
- 単層ずつAutoencoderで学習を行う
- 学習した単層のNNから出力を計算し、それを用いて次の層の学習を行う
- 最後の層は学習せずに追加
- クラス分類:softmax関数
- 実数回帰:恒等関数