Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

16.深層学習のための構造化確率モデル 確率分布を記述する方法の一つ グラフを用いて確率分布中のどの確率変数が互いに直接相互作用するかを記述 ・構造化確率モデル=グラフィカルモデル 辺集合によって接続している頂点集合 グラフィカルモデル ベイジアンネットワーク(有向非巡回グラフを用いる) マルコフ確率場(無向グラフを用いる) x y z x y z …

Slide 3

Slide 3 text

16.深層学習のための構造化確率モデル ・16章の構成 1. 大規模な確率モデルを設計する際の課題を説明(16.1) 2. グラフを用いて確率分布の構造を記述する方法を説明(16.2) 3. 与えられた問題に対し、どのグラフが適切か理解するアプローチを説明(16.5) 4. 深層学習研究者が使うグラフィカルモデルの独自のアプローチを説明(16.7)

Slide 4

Slide 4 text

16.1 非構造化モデルの課題 深層学習の目的:豊富な構造を有する高次元データを理解すること 自然画像,音声波形,文章etc… 高 次 元 デ ー タ 分 類 ア ル ゴ リ ズ ム 何が映っているか or どんな言葉が含まれるか or どんなトピックに関する文章か or … など、単一の出力を得る (もしくは単一の出力の確率分布を得る) ほとんどの情報は捨てられる 例:画像の背景

Slide 5

Slide 5 text

16.1 非構造化モデルの課題 一方で確率モデルは分類問題より計算コストが高いが… ・入力の一部を無視せず、全体の構造を完全に理解する ・複数の出力値を取り出す ・密度推定 ・ノイズ除去 ・欠損補間 ・サンプリング 入力 出力 真の密度() 例: 入力 不完全に観測された 出力 元の正しい 入力 の複数の要素 出力 の全要素 入力 確率分布() 出力 新しいサンプル

Slide 6

Slide 6 text

16.1 非構造化モデルの課題 何百万個もの確率変数を有する分布のモデリングは困難: 例: 32×32ピクセルのRGB2値画像(各画素が0か1) 変数の取りうる組み合わせ 232×32×3 = 23072 通り (宇宙の原子数の10800倍以上) (r1 , g1 , b1 , … , r1024 , g1024 , b1024 ) モデリングは統計的にも計算的にも困難 困難の理由 1.メモリ不足 2.統計的有効性:モデル内のパラメータが増加するにつれて必要な訓練データ数が増加 3.実行時間:同時分布から周辺分布を計算したり、サンプリングに必要な時間が増加 この困難を克服するために、変数間に制約を課す

Slide 7

Slide 7 text

16.1 非構造化モデルの課題 変数間に制約を課す 例: Alice, Bob, Carolがリレーをする。 各々が走り終えた時刻を , , とする。 ・変数間に制約を課さない場合(テーブル形式) 0 < < ∞ 0 < < ∞ 0 < < ∞ ・変数間に制約を課す場合 0 < < < < ∞ (相互作用を課すとも表現) 制約を与えることで少ないデータから学習が可能になる グラフィカルモデルの目的:変数間の相互作用をグラフを用いて明示的に表現する。

Slide 8

Slide 8 text

16.2.1 有向グラフ(=ベイジアンネットワーク,信念ネットワーク) Directed graph Bayesian network Belief networks 有向グラフ : グラフの辺が矢印で表現される。 一方向のみに流れる因果関係に基づく変数間の関係を表現する。 Alice, Bob, Carolがリレーをする。 各々が走り終えた時刻を , , とする。 , , の依存関係を言葉で表現 は に依存する は に依存する は に を通して依存する , , の依存関係を有向グラフで表現 , , = ( | )

Slide 9

Slide 9 text

16.2.1 有向グラフ 有向グラフはどれくらいありがたいか , , は連続変数だが、議論のために離散化する。 0分から10分の間を6秒間隔で離散化 , , ∈ (0,100] ∩ ℤ テーブル形式 , , の組み合わせ 100×100×100 = 106 条件付き確率分布だけを考える場合 100通り が与えられた上で 100 × 100 = 104 通り が与えられた上で 100 × 100 = 104通り , , を考える際の確率変数の組み合わせが106通り を考える際の確率変数の組み合わせは104通り程度

Slide 10

Slide 10 text

16.2.2 無向グラフ グラフの辺が矢印で表現される。 一方向のみに流れる因果関係に基づく場合に用いる。 有向グラフ: グラフの辺が線で表現される。 因果関係が方向を持ってない場合や、両方向に作用する場合に用いる。 無向グラフ: Alice, Bob, Carolのリレーの例 前の走者は後の走者に影響を与えるが、後の走者は前の走者に影響を与えない あなたが病気か否かℎ あなたの同僚が病気か否かℎ あなたのルームメイトが病気か否かℎ 同僚とルームメイトに面識はない 病気なら1,そうでないなら0 ℎ ℎ ℎ どちらが病気をうつすか わからないので矢印はつけられない。

Slide 11

Slide 11 text

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章) 【クリーク】 グラフ中の全頂点をつなぐ辺が存在する部分 有向グラフ 条件付き確率の積で確率変数間の関係を表現

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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 )

Slide 14

Slide 14 text

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が成立するように を選ぶ

Slide 15

Slide 15 text

16.2.4 エネルギーベースモデルEBM [エネルギーベースモデルのこころは?] エネルギーベースモデルは高い確率で実現する状態に大きいエネルギーを割り当て = −() 統計力学におけるカノニカル分布 エネルギーが小さい状態 実現しやすい。 エネルギーが大きい状態 実現しにくい。 は温度の逆乗に比例する定数 低い確率で実現する状態に小さいエネルギーを割り当てる。

Slide 16

Slide 16 text

応用例:ノイズ除去アルゴリズム 無向グラフにおけるここまでの説明のおさらい 無向グラフィカルモデルの確率分布はクリーク毎のポテンシャル関数の積で定義される。 ポテンシャル関数はポテンシャル関数の積が−()になるように選ぶ。 は高い確率で実現する状態に大きい値、低い確率で実現する状態に小さい値をとるように定義する。

Slide 17

Slide 17 text

マルコフ確率場の応用例:ノイズ除去アルゴリズム 二値画像にランダムに加わったノイズを除去する 元画像(二値化済み) ノイズを与えた後の画像 元に戻したい 1.1チャンネルの入力画像を2値化(128以上で255,それ以外は0) 2.各ピクセル255なら+1,0なら-1を割り当てる。 3.ランダムに符号を反転(この操作をノイズを与えると呼ぶ。) 4.{}から{Truth }を推測する。 {Truth } {}

Slide 18

Slide 18 text

マルコフ確率場の応用例:ノイズ除去アルゴリズム 二値画像にランダムに加わったノイズを除去する 推測された元画像を{}とする。 前提知識1:隣り合うピクセルは同じ符号の確率が高い。 前提知識2:ノイズレベルは と が相関を持つほど低い。 , = 1 ⋯ , , , , , ⋯ 前提知識1より、 , = はに隣接するピクセル 前提知識2より、 , = > 0 > 0 は隣接するピクセル間の相関を表す。 はノイズを与える前後の状態の相関を表す。

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

マルコフ確率場の応用例:ノイズ除去アルゴリズム , を調節したら精度が上がらないだろうか? × ・, の比がAccuracyを決める(当たり前) ・, の比によってAccuracyの値が不連続に変化 元画像(二値化済み)

Slide 23

Slide 23 text

16.2.5 分離とd分離 グラフ中の確率変数の値を観測することで間接的な相互作用が無効化・有効化することがある 用語の確認: ⇔ DEF 定義 確率変数の独立 , = () とは独立 ⇔ DEF , | = | (|) とはを与えた上で条件付き独立 定義 確率変数の条件付き独立 定義 条件付き確率 | = (, ) () 定理 ベイズの定理 | = () () 定義 同時分布の周辺化 = ෍ (, )

Slide 24

Slide 24 text

16.2.5 分離とd分離 1.head to tail [有向グラフの分離] , , = () , | = (, , ) () = () () = (|) すべての変数が未観測 確率変数を観測 とはを与えた上で条件付き独立

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

16.2.5 分離とd分離 3.head to head , , = , () , | = (, , ) () = , () () ≠ (|) すべての変数が未観測 確率変数を観測 とはを与えた上で条件付き独立とは限らない が未観測の状態でとは独立 証明 , = ෍ , , = () ෍ , = () 例:, がさいころの目, が目の合計

Slide 27

Slide 27 text

16.2.5 分離とd分離 [無向グラフの分離] とは分離されてない。 すべての変数が未観測 確率変数を観測 とはが与えられた上で分離。 例1 例2 とはが与えられた上で分離。 とはが与えられた上で分離。 とはが与えられても分離しない。

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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:

Slide 31

Slide 31 text

16.2.6 有向グラフと無向グラフ モラル化 例題2: , , , = (|, ) , , , = 1 , , (, , )

Slide 32

Slide 32 text

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章)

Slide 33

Slide 33 text

16.4 グラフィカルモデルの利点 ・不要な相互作用をモデル化しないために少ないメモリで実行できる。 ・確率分布が表現しやすい ・学習と推論の時間が短縮できる ・データの中で重要と考えられる関係を捉えるモデルを設計するため、開発とデバックが比較的容易

Slide 34

Slide 34 text

16.5 依存関係の学習 実際の観測データでは、情報が欠損していることがある。 観測不能な確率変数として潜在変数を導入する。 対になるのは可視変数 ℎ3 1 3 ℎ5 ℎ2 ℎ1 2 5 4 なしで推論がうまくいく良いモデルは・・・ ベイジアンネットワークならノード毎に多くの親を持つ必要がある マルコフ確率場なら大きなクリークを持つ必要がある との依存関係とと の依存関係を通して と の依存関係を捉える この意味で、はの別の表現

Slide 35

Slide 35 text

16.5 依存関係の学習 構造学習で推論が上手くいくモデル構造を見つける。 構造を提案する モデルが訓練され、推論の正しさ(スコア)が算出される 高いスコアに報酬を与え、複雑なモデルに罰則を与える 少数の辺を追加or削除した構造を提案する

Slide 36

Slide 36 text

16.6 推論と近似推論 log ෤ () = log () = log (, ) (|) = log () − log (|) s. t. ~ (|) 真の値 ෤ を推論するのに (|)を知りたい。 深層学習で使用されるグラフでは有用な推論を可能にするには深すぎる 近似推論を行う(cf.19章)

Slide 37

Slide 37 text

16.7 グラフィカルモデルへの深層学習のアプローチ 深層学習 スパースではない。 ギブスサンプリングや変分推論がうまくいく ように設計する。 大量の潜在変数含む。 変数間の複雑な非線形の相互作用は 潜在変数を経由する間接的な接続で達成 前もって特定の意味を意図しない 事後解釈は大変(ほぼ不可能?) 比較的スパース ループあり確率伝番法が上手くいく 潜在変数の数は少ない。 変数間の複雑な非線形の相互作用を 捉えるために構造学習を使う (伝統的な)グラフィカルモデル 特定の意味を念頭に置く 理論的保証を得られる

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

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}

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

16.7.1 制限付きボルツマンマシン が成立することから、ブロックギブスサンプリングが可能になる。 = 1 = + ෍ =1 4 ℎ ℎ = 1 = + ෍ =1 RBMにおいて 全てのの要素を同時にサンプリング 全てのの要素を同時にサンプリング 【ブロックギブスサンプリング】 = ෑ =1 4 (ℎ |) = ෑ =1 3 ( |) 特に二値のRBMなら

Slide 42

Slide 42 text

まとめ:深層学習のための構造化確率モデル グラフィカルモデル ベイジアンネットワーク(有向グラフを用いる) マルコフ確率場(無向グラフを用いる) x y z x y z … ・一方向に因果関係がある場合に用いる ・条件付き確率によって同時分布が決定 ・伝承サンプリングを使う ・因果関係が方向を持ってない場合に用いる ・クリーク毎のポテンシャル関数の積によって同時分布が決定 ・ポテンシャル関数はポテンシャル関数の積が−()になるように選ぶ ・起こりにくい状態には高い を、起こりやすい状態には低い を与える。 ・応用例:)ノイズ除去 ・ギブスサンプリングを使う 確率変数同士の相互作用をグラフ化

Slide 43

Slide 43 text

補助資料1

Slide 44

Slide 44 text

補助資料2