第14章 ⾃⼰符号化器
hirono
1
⽬次
• 14.1	不完備な⾃⼰符号化器
• 14.2	正則化付き⾃⼰符号化器
• 14.3	表現⼒、レイヤーサイズ、および深さ
• 14.4	確率的な符号化器と復号化器
• 14.5	雑⾳除去⾃⼰符号化器
• 14.6	⾃⼰符号化器による多様体学習
• 14.7	縮⼩⾃⼰符号化器
• 14.8	予測スパース分解
• 14.9	⾃⼰符号化器の応⽤
2
⾃⼰符号化器 autoencoder 概要
• ⼊⼒を出⼒にコピーするように学習させたニューラル
ネット
出⼒⼊⼒
符号
入力xを出力rに写像する
3
歴史
• 古い
• 従来は次元削減や特徴量の学習に使⽤されていた
• 近年、潜在変数モデルの間の理論的な関係によって⽣
成モデルの最前線に位置することに(VAE詳しくは20章)
4
位置付け
• 順伝播型ネットワークの特殊な場合
• 同じ⼿法で学習させることができる
順伝播型ネットワーク 再循環
⾃⼰符号化器
5
再循環 recirculation
• 逆伝播よりも⽣物学的には妥当であると考えられてい
るが機械学習への応⽤ではほとんど使⽤されない
http://archive.treora.com/2016/thesis/thesis.pdf
Learning	Representations	by	Recirculation	(Hinton	and	McClelland,	1988)
6
不完備な⾃⼰符号化器
• ⼊⼒を出⼒にコピーするのは無意味…?
• そんなことはない
• ⼊⼒をコピーするタスクを実⾏するように⾃⼰符号器
を学習させることで,hに有⽤な性質が備わることを
期待
7
不完備 undercomplete
• h	の次元が⼊⼒xよりも⼩さくなるように制限すること
• 不完備な表現を学習すると,⾃⼰符号化器は訓練デー
タの最も顕著な特徴量を捉えるようになる
• 符号化器と復号化器の容量が⼤きすぎると,ただのコ
ピータスクになる→データ分布に関する有益な情報は
抽出できない
※Lは平均⼆乗誤差のような差異の⼤きさに
応じてペナルティが課される損失関数
学習プロセス:	損失関数Lの最⼩化
次元⼩
次元⼤
8
過完備 overcomplete
• h	の次元が⼊⼒xよりも⼤きくなるようにすること
• ⼊⼒から出⼒へのコピーの学習になってしまう可能性
がある
※Lは平均⼆乗誤差のような差異の⼤きさに
応じてペナルティが課される損失関数
学習プロセス:	損失関数Lの最⼩化
次元⼤
次元⼩
9
理想的には
• 符号化器・復号化器の符号次元・容量をモデル化され
る分布の複雑さに基づいて選択するべき
↓
• どのような構造の⾃⼰符号化器でもうまく学習させる
ことができる
10
正則化付き⾃⼰符号化器
• ⼊⼒を出⼒にコピーする以外の性質もモデルが保持で
きるような損失関数を利⽤する
• 符号化器と復号化器を浅くし符号のサイズを保ってモ
デル容量を制限しない
11
推論⼿順を加えた⽣成モデル
• 変分⾃⼰符号化器(VAE)
• ヘルムホルツマシンの後継
• →20.10.3節
• 確率的⽣成ネットワーク
• →20.12節
⼊⼒→出⼒へコピーするのではなく,訓練データの確率
を禁じ的に最⼤化するように訓練される
↓
⼊⼒の過完備な符号化を⾃然に学習(正則化は必要ない)
12
スパース⾃⼰符号化器
• 訓練基準として再構成誤差に加え符号層hでのスパー
ス性ペナルティ項Ω(h)が含まれた⾃⼰符号化器
• コピータスクにおける正規化項というよりも,スパー
ス⾃⼰符号化器の枠組み全体が潜在変数を有する⽣成
モデルの最尤学習近似
13
潜在変数に対するモデルの事前分布,
xを⾒る前のモデルの信念
スパース⾃⼰符号化器
• 対数尤度
• Hの尤度の⾼い1つだけを点推定することで右辺の和を
近似
14
雑⾳除去⾃⼰符号化器 DAE
• Denoising	autoencoder
• コスト関数の再構成誤差の項を加えることによって有
益な情報を学習させる
• 後ほど詳しく説明
15
何らかの雑⾳によって破損したxのコピー
縮⼩⾃⼰符号化器 CAE
• Contractive	autoencoder
• 微分へのペナルティ項を追加することによる正規化
• Xの変化が僅かな時⼤きく変化しない関数を学習させる
• 訓練事例のみに適⽤されるため,訓練集合の経験分布
に関する情報を捉える特徴量を学習する
• 後ほど詳しく説明
16
表現⼒,レイヤー,深さ
• ⾃⼰符号化器は基本的に順伝播型ネットワーク
• ⻑所も受け継いでいる
• 万能近似定理:	少なくとも1つの隠れ層を有する順伝播
型ニューラルネットワークは⼗分な隠れユニットがあ
れば,任意の精度で関数の近似を表現できる
• 深層⾃⼰符号化器は良好な圧縮をもたらす!
17
浅い⾃⼰符号化器を積み重ねて学習させる
確率的な符号化器と復号化器
• 符号化関数,復号化関数の概念を,符号化分布・複合
化分布へ⼀般化する
18
符号化分布 復号化分布
同⼀の同時分布
と⽭盾のない条件付き分布で
ある必要はない
確率的な符号化器と復号化器
• 符号化器と復号化器をDAE	として訓練させると,⼗分
な容量とサンプルがあれば漸近的に⽭盾はなくなる傾
向がある
19
雑⾳除去⾃⼰符号化器 DAE
• 破損したデータ点を⼊⼒として受け取り,元のデータを
出⼒として予測するように訓練された⾃⼰符号化器
• 確率的勾配降下法を以下の期待値に対して実⾏しているとみなせる
20
破損したサンプル
元の完全なデータ点
破損過程
再構成分布の学習:
1. 訓練データから訓練事例xをサンプリング
2. から破損した x~	をサンプリン
グ
3. (x,	~x)		を訓練事例として扱い,⾃⼰符号化
器の再構成分布
を推定する
スコアの推定
• スコアマッチング:	最尤法の代替⼿段
• 全ての訓練点xでモデルが訓練集合の経験分布と同じス
コアを持つよう促すことで,確率分布の⼀致推定量を
与える
• 詳しくは18章で説明
21
DAE:		訓練基準によって⾃⼰符号化器が訓練集合の
経験分布のスコアを推定するベクトル場を学習する
• ⼆乗誤差 の平均値を最⼩化するとき,
再構成 は
を推定する
22
低次元多様体
訓練事例
破損過程
DAE:	湾曲した1D多様体の周囲にあるDAEによっ
て学習されたベクトル場
23
歴史的観点
• 雑⾳除去にMLPを使⽤するという考え(1987)
• 回帰結合型ネットワークを⽤いて画像から雑⾳を除去
(2001)
• DAEは単なる「雑⾳除去を学習させたMLP」ではなく,
その副作⽤として良好な内部表現の学習をする
(2008,2010)
24
多様体学習
25
• ⾃⼰符号化器でもデータが低次元多様体やそのような
多様体の⼩さい集合の周りに集中している,という考
えを利⽤
⾼次元のデータから低次元のデータを取り出す
3次元→2次元平⾯(主成分分析),2次元曲⾯
多様体学習
接平⾯ target	planes 集合に関する性質
• d次元多様体の点xにおいて,多様体上で許容される局
所的な変動の⽅向に貼られたd個の基底ベクトルにて
与えられる
26
接超平⾯の概念の説明図
784画素のMNISTの画像を⼀つ取り出し,
縦⽅向に移動させて変形させている
最近傍グラフに基づくノンパラメトリック法
• 訓練事例ごとに1つのノードと近傍のノードを互いにつ
なぐエッジを持つ
27
どのように多様体に多数の局所的なガウス分布
上の⼩区画(パンケーキ)を敷き詰められるか
• それぞれの位置における接平⾯がわかれば,それらを
敷き詰めて⼤域的座標系や密度関数を形成できる
28
局所的に平ら
なガウス分布
(パンケーキ)
しかしながら
• AIの問題に関わる多様体の多くは,局所的補間のみで
捉えるのが難しい⾮常に複雑な構造を取る…
29
ちょっとした上下移動
でも,注⽬する座標の
値が⼭や⾕になる
多様体構造を捉えるために分散表現
と深層学習が⽤いられる
縮⼩⾃⼰符号化器 CAE
• Contractive	Autoencoders
• 符号h	=	f(x)に明⽰的な正則化を導⼊することでfの微分
をできるだけ⼩さくする
ペナルティ項
符号化器関数f(x)に関する偏微分のヤコビ⾏列の
フロベニウスノルムの⼆乗
30
縮⼩⾃⼰符号化器 CAE
• ⼩さなガウス⼊⼒雑⾳の極限にて,雑⾳除去による再
構成誤差がxをrに写像する再構成関数の縮⼩ペナル
ティ項に等しくなる
31
予測スパース分解 PSD
• Predictive	sparse	decomposition(PSD)
• スパース符号化とパラメトリック⾃⼰符号化器を組み
合わせたモデル
• 学習:	
• 画像や動画における物体認識のための教師なし特徴量
学習や,⾳声に利⽤されている
• 学習による近似推論の⼀例…詳しくは19章
32
最⼩化
縮⼩⾃⼰符号化器
• 局所PCAおよび縮⼩⾃⼰符号化器によって推定された
多様体の接ベクトルの例
• 接ベクトルは⼊⼒から符号への写像のヤコビ⾏列の主
要な得意ベクトルによって推定される
33
領域にまたがる共有なし
接ベクトル
縮⼩⾃⼰符号化器
対象物の部位の移動や変化に相当する
⾃⼰符号化器の応⽤
• 次元削減,情報検索タスクへの応⽤として成功
• 積み重ねたRBM(Restricted	Boltzman machine	)を学習
させてそれらの重みを30ユニットまで狭めた
• 低次元表現は分類問題などの多くのタスクの性能を
改善
• 情報検索タスク =	セマンティックハッシング
34
⼊⼒された質問に似た項⽬をデータベースから探してくる
x h r
低次元のバイナリの符号を⽣成
通常は最終層にシグモイドを利⽤

DeepLearning 14章 自己符号化器