Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Goodfellow Deep Learning Chapter 16

Goodfellow Deep Learning Chapter 16

Goodfellow 深層学習 輪読会
§16. 深層学習のための構造化確率モデル

Kazu Ghalamkari

April 04, 2020
Tweet

More Decks by Kazu Ghalamkari

Other Decks in Technology

Transcript

  1. 16.1 非構造化モデルの課題 深層学習の目的:豊富な構造を有する高次元データを理解すること 自然画像,音声波形,文章etc… 高 次 元 デ ー タ

    分 類 ア ル ゴ リ ズ ム 何が映っているか or どんな言葉が含まれるか or どんなトピックに関する文章か or … など、単一の出力を得る (もしくは単一の出力の確率分布を得る) ほとんどの情報は捨てられる 例:画像の背景
  2. 16.1 非構造化モデルの課題 何百万個もの確率変数を有する分布のモデリングは困難: 例: 32×32ピクセルのRGB2値画像(各画素が0か1) 変数の取りうる組み合わせ 232×32×3 = 23072 通り

    (宇宙の原子数の10800倍以上) (r1 , g1 , b1 , … , r1024 , g1024 , b1024 ) モデリングは統計的にも計算的にも困難 困難の理由 1.メモリ不足 2.統計的有効性:モデル内のパラメータが増加するにつれて必要な訓練データ数が増加 3.実行時間:同時分布から周辺分布を計算したり、サンプリングに必要な時間が増加 この困難を克服するために、変数間に制約を課す
  3. 16.1 非構造化モデルの課題 変数間に制約を課す 例: Alice, Bob, Carolがリレーをする。 各々が走り終えた時刻を , ,

    とする。 ・変数間に制約を課さない場合(テーブル形式) 0 < < ∞ 0 < < ∞ 0 < < ∞ ・変数間に制約を課す場合 0 < < < < ∞ (相互作用を課すとも表現) 制約を与えることで少ないデータから学習が可能になる グラフィカルモデルの目的:変数間の相互作用をグラフを用いて明示的に表現する。
  4. 16.2.1 有向グラフ(=ベイジアンネットワーク,信念ネットワーク) Directed graph Bayesian network Belief networks 有向グラフ :

    グラフの辺が矢印で表現される。 一方向のみに流れる因果関係に基づく変数間の関係を表現する。 Alice, Bob, Carolがリレーをする。 各々が走り終えた時刻を , , とする。 , , の依存関係を言葉で表現 は に依存する は に依存する は に を通して依存する , , の依存関係を有向グラフで表現 , , = ( | )
  5. 16.2.1 有向グラフ 有向グラフはどれくらいありがたいか , , は連続変数だが、議論のために離散化する。 0分から10分の間を6秒間隔で離散化 , , ∈

    (0,100] ∩ ℤ テーブル形式 , , の組み合わせ 100×100×100 = 106 条件付き確率分布だけを考える場合 100通り が与えられた上で 100 × 100 = 104 通り が与えられた上で 100 × 100 = 104通り , , を考える際の確率変数の組み合わせが106通り を考える際の確率変数の組み合わせは104通り程度
  6. 16.2.2 無向グラフ グラフの辺が矢印で表現される。 一方向のみに流れる因果関係に基づく場合に用いる。 有向グラフ: グラフの辺が線で表現される。 因果関係が方向を持ってない場合や、両方向に作用する場合に用いる。 無向グラフ: Alice, Bob,

    Carolのリレーの例 前の走者は後の走者に影響を与えるが、後の走者は前の走者に影響を与えない あなたが病気か否かℎ あなたの同僚が病気か否かℎ あなたのルームメイトが病気か否かℎ 同僚とルームメイトに面識はない 病気なら1,そうでないなら0 ℎ ℎ ℎ どちらが病気をうつすか わからないので矢印はつけられない。
  7. 16.2.2 無向グラフ 無向グラフ ポテンシャル関数の積で確率変数間の関係を表現 , , = ( | )

    ⇔ 等価 1 2 3 1 , 2 , 3 = 1 1,2 1 , 2 2,3 (2 , 3 ) ⇔ 等価 クリーク1 クリーク2 = න 1 2 3 1 , 2 2 , 3 は規格化定数で分配関数と呼ばれる(cf.18章) 【クリーク】 グラフ中の全頂点をつなぐ辺が存在する部分 有向グラフ 条件付き確率の積で確率変数間の関係を表現
  8. 16.2.2 無向グラフ [無向グラフのポテンシャル関数による表現] 1 2 4 3 5 6 7

    1 , ⋯ , 7 = 1 1 , 2 , 3 2 , 4 4 , 5 (5 , 6 , 7 ) ※ポテンシャル関数の関数系は各クリークによって異なってもよいが、簡単のために下付き添え字を省略している。 クリーク1 クリーク2 クリーク3 クリーク4 クリーク1とクリーク4はさらに分解可! 1 2 3 1 , 2 , 3 → 1 , 2 2 , 3 (3 , 1 ) (5 , 6 , 7 ) → 5 , 6 6 , 7 (7 , 5 ) 1 1 , 2 2 , 3 (3 , 1 ) 2 , 4 4 , 5 (5 , 6 , 7 ) 1 1 , 2 2 , 3 (3 , 1 ) 2 , 4 4 , 5 5 , 6 6 , 7 (7 , 5 ) 1 1 , 2 , 3 2 , 3 (3 , 1 ) 2 , 4 4 , 5 5 , 6 6 , 7 (7 , 5 ) or or or
  9. 16.2.7 因子グラフ 1 2 3 1 , 2 , 3

    = 1 (1 , 2 , 3 ) or 1 1 , 2 2 , 3 (3 , 1 ) この任意性を解決するのが因子グラフ 1 2 3 1 , 2 , 3 = 1 (1 , 2 , 3 ) 1 2 3 3 1 2 1 , 2 , 3 = 1 2 1 , 2 3 2 , 3 1 (3 , 1 )
  10. 16.2.4 エネルギーベースモデルEBM [ポテンシャル関数を具体的にどのように選ぶのか…] = 1 ? , ⋯ ⋯ (?

    , ⋯ ) = −() 1 2 5 3 6 4 例 , = −′(,) とするとEBMになる。 確率は常に正であることから指数関数を用いよう!(エネルギーベースモデル) = 1 (1 , 2 )(2 , 3 )(1 , 4 )(2 , 5 )(5 , 6 ) = 1 −′(1,2)−′(2,3)−′(1,4)−′(2,5)−′(5,6) = 1 − ′ 1,2 +′ 2,3 +′ 1,4 +′ 2,5 +′ 5,6 : = 1 −() ポテンシャル関数を指数関数で定義することでEBMになった!! 任意のに > 0が成立するように を選ぶ
  11. マルコフ確率場の応用例:ノイズ除去アルゴリズム 二値画像にランダムに加わったノイズを除去する 推測された元画像を{}とする。 前提知識1:隣り合うピクセルは同じ符号の確率が高い。 前提知識2:ノイズレベルは と が相関を持つほど低い。 , = 1

    ⋯ , , , , , ⋯ 前提知識1より、 , = はに隣接するピクセル 前提知識2より、 , = > 0 > 0 は隣接するピクセル間の相関を表す。 はノイズを与える前後の状態の相関を表す。
  12. マルコフ確率場の応用例:ノイズ除去アルゴリズム , = 1 ⋯ , , , , ,

    ⋯ = 1 ⋯ ⋯ = 1 σ , + σ = 1 −(,) , = − ෍ , − ෍ 隣接するピクセルについての和 隣接するピクセル間が同じだとエネルギーが低い→起こりやすい ノイズを与える前後で符号が変化しないとエネルギーが低い→起こりやすい {}が既知である状況で を最小にする{}を求める。 ℎ … このエネルギー関数は物理における2次元ランダム磁場イジング模型と完全に同じ
  13. マルコフ確率場の応用例:ノイズ除去アルゴリズム = 1.0, = 2.1としてエネルギーが最小になる{}を探した。 1. ラスタスキャン initial = {}として、左上から順に選んだ

    が+1と-1でどちらがエネルギーを低くするか計算 エネルギーが低くなる方に を更新。これを繰り返す。 2. ランダム initial = {}として、ランダムに選んだ が+1と-1でどちらがエネルギーを低くするか計算 エネルギーが低くなる方に を更新。これを繰り返す。
  14. マルコフ確率場の応用例:ノイズ除去アルゴリズム = 1.0, = 2.1としてエネルギーが最小になる{}を探した。 1. ラスタスキャン initial = {}として、左上から順に選んだ

    が+1と-1でどちらがエネルギーを低くするか計算 エネルギーが低くなる方に を更新。これを繰り返す。 2. ランダム initial = {}として、ランダムに選んだ が+1と-1でどちらがエネルギーを低くするか計算 エネルギーが低くなる方に を更新。これを繰り返す。 , を調節したら精度が上がらないだろうか?
  15. 16.2.5 分離とd分離 グラフ中の確率変数の値を観測することで間接的な相互作用が無効化・有効化することがある 用語の確認: ⇔ DEF 定義 確率変数の独立 , =

    () とは独立 ⇔ DEF , | = | (|) とはを与えた上で条件付き独立 定義 確率変数の条件付き独立 定義 条件付き確率 | = (, ) () 定理 ベイズの定理 | = () () 定義 同時分布の周辺化 = ෍ (, )
  16. 16.2.5 分離とd分離 1.head to tail [有向グラフの分離] , , = ()

    , | = (, , ) () = () () = (|) すべての変数が未観測 確率変数を観測 とはを与えた上で条件付き独立
  17. 16.2.5 分離とd分離 2.tail to tail , , = () ,

    | = (, , ) () = () () = (|) すべての変数が未観測 確率変数を観測 とはを与えた上で条件付き独立
  18. 16.2.5 分離とd分離 3.head to head , , = , ()

    , | = (, , ) () = , () () ≠ (|) すべての変数が未観測 確率変数を観測 とはを与えた上で条件付き独立とは限らない が未観測の状態でとは独立 証明 , = ෍ , , = () ෍ , = () 例:, がさいころの目, が目の合計
  19. 素朴に無向グラフ化する。 16.2.6 有向グラフと無向グラフ [有向グラフを無向グラフに書き換える] , , = () (|) ,

    , = 1 , (, ) 条件付き確率と ポテンシャル関数が対応 を観測すると, は条件付き独立 を観測すると, は分離
  20. 素朴に無向グラフ化する。 非対応 16.2.6 有向グラフと無向グラフ , , = ()()(|, ) ,

    , = 1 , (, ) 条件付き確率と ポテンシャル関数が対応しない そこで試しに 親ノード同士接続してみる , , = 1 , , 条件付き確率と ポテンシャル関数が対応する 全親ノード同士を接続(モラル化)すると 条件付き確率とポテンシャル関数が 対応することが示されているっぽい , は独立だがを観測すると, は独立でない。 を観測すると, は分離 を観測すると, は分離しない ただし、観測前では 有向グラフで, は独立 無向グラフで, が独立で表現してない。 有向グラフから無向グラフへの変換で 独立性を失っている。 モラル化はリンクの追加を最小限に抑え つつ、条件付き独立性をできる限り残す方法 対応 (正確には「独立とは限らない」)
  21. 16.2.6 有向グラフと無向グラフ ℎ1 ℎ2 ℎ3 1 2 3 ℎ1 ℎ2

    ℎ3 1 2 3 モラル化 , = (1 |) 2 (3 |) = {ℎ1 , ℎ2 , ℎ3 } = {1 , 2 , 3 } , = 1 1 , 2 , (3 , ) 例題1:
  22. 16.3 グラフィカルモデルからのサンプリング 1 3 2 4 5 6 7 [有向グラフにおけるサンプリング]

    = 1 2 3 4 1 , 2 , 3 5 1 , 3 6 4 (7 |4 , 5 ) = ෑ =1 7 ( | ) の親ノードの集合 親(小さい番号)のノードから順にサンプリング 高速にサンプリングが可能 番号の順序に任意性がある。 【伝承サンプリング】 [無向グラフにおけるサンプリング] 伝承サンプリングは使えない。無向グラフィカルモデルからのサンプリングは高コスト。 通常はギブスサンプリングを行う(cf.17章)
  23. 16.5 依存関係の学習 実際の観測データでは、情報が欠損していることがある。 観測不能な確率変数として潜在変数を導入する。 対になるのは可視変数 ℎ3 1 3 ℎ5 ℎ2

    ℎ1 2 5 4 なしで推論がうまくいく良いモデルは・・・ ベイジアンネットワークならノード毎に多くの親を持つ必要がある マルコフ確率場なら大きなクリークを持つ必要がある との依存関係とと の依存関係を通して と の依存関係を捉える この意味で、はの別の表現
  24. 16.6 推論と近似推論 log ෤ () = log () = log

    (, ) (|) = log () − log (|) s. t. ~ (|) 真の値 ෤ を推論するのに (|)を知りたい。 深層学習で使用されるグラフでは有用な推論を可能にするには深すぎる 近似推論を行う(cf.19章)
  25. 16.7 グラフィカルモデルへの深層学習のアプローチ 深層学習 スパースではない。 ギブスサンプリングや変分推論がうまくいく ように設計する。 大量の潜在変数含む。 変数間の複雑な非線形の相互作用は 潜在変数を経由する間接的な接続で達成 前もって特定の意味を意図しない

    事後解釈は大変(ほぼ不可能?) 比較的スパース ループあり確率伝番法が上手くいく 潜在変数の数は少ない。 変数間の複雑な非線形の相互作用を 捉えるために構造学習を使う (伝統的な)グラフィカルモデル 特定の意味を念頭に置く 理論的保証を得られる
  26. 16.7.1 制限付きボルツマンマシンRBM(cf.20章) =無向グラフに対応した確率モデルのこと ℎ1 ℎ2 ℎ3 1 2 3 ℎ4

    ・層間の接続は行列′で記述 ・接続は比較的密 ′ = 0 0 0 0 11 12 13 0 0 0 0 21 22 23 0 0 0 0 31 23 33 0 0 0 0 41 24 43 11 21 31 41 0 0 0 12 22 23 24 0 0 0 13 23 33 43 0 0 0 = T ℎ1 ℎ2 ℎ3 ℎ4 11 2 3 ℎ1 ℎ2 ℎ3 ℎ4 1 2 3 【制限付き】 同士, 同士が相互作用がない 各ノードは0か1 43 41 1
  27. 16.7.1 制限付きボルツマンマシン ℎ1 ℎ2 ℎ3 1 2 3 ℎ4 ,

    = −T − T − T = − ෍ =1 3 − ෍ =1 4 ℎ − ෍ =1 3 ෍ =1 4 ℎ 11 43 41 , = 1 −(,) = (, ) () = (, ) σ (, ) = T+T+T σ T+T+T エネルギー関数 同時分布 = ς =1 3 +σ=1 4 ℎ ς =1 3 (1 + +σ =1 4 ℎ) = ෑ =1 3 (+σ=1 4 ℎ) 1 + +σ =1 4 ℎ = ς =1 3 +σ=1 4 ℎ ς =1 3 σ ∈{0,1} +σ =1 4 ℎ ෍ = ෍ 1∈{0,1} ෍ 2∈{0,1} ෍ 3∈{0,1}
  28. 16.7.1 制限付きボルツマンマシン ℎ1 ℎ2 ℎ3 1 2 3 ℎ4 ,

    = −T − T − T = − ෍ =1 3 − ෍ =1 4 ℎ − ෍ =1 3 ෍ =1 4 ℎ 11 43 41 , = 1 −(,) エネルギー関数 同時分布 同様にして = ෑ =1 4 (+σ=1 3 )ℎ 1 + +σ =1 ゆえに = 1 = (+σ=1 4 ℎ) 1 + +σ =1 4 ℎ = + ෍ =1 4 ℎ = 0 = 1 − + ෍ =1 4 ℎ ℎ = 1 = + ෍ =1 ゆえに ℎ = 0 = 1 − + ෍ =1
  29. 16.7.1 制限付きボルツマンマシン が成立することから、ブロックギブスサンプリングが可能になる。 = 1 = + ෍ =1 4

    ℎ ℎ = 1 = + ෍ =1 RBMにおいて 全てのの要素を同時にサンプリング 全てのの要素を同時にサンプリング 【ブロックギブスサンプリング】 = ෑ =1 4 (ℎ |) = ෑ =1 3 ( |) 特に二値のRBMなら
  30. まとめ:深層学習のための構造化確率モデル グラフィカルモデル ベイジアンネットワーク(有向グラフを用いる) マルコフ確率場(無向グラフを用いる) x y z x y z

    … ・一方向に因果関係がある場合に用いる ・条件付き確率によって同時分布が決定 ・伝承サンプリングを使う ・因果関係が方向を持ってない場合に用いる ・クリーク毎のポテンシャル関数の積によって同時分布が決定 ・ポテンシャル関数はポテンシャル関数の積が−()になるように選ぶ ・起こりにくい状態には高い を、起こりやすい状態には低い を与える。 ・応用例:)ノイズ除去 ・ギブスサンプリングを使う 確率変数同士の相互作用をグラフ化