Submit Search
Upload
確率的グラフィカルモデルと離散構造
•
2 likes
•
1,617 views
Masakazu Ishihata
Follow
第27回全脳アーキテクチャ勉強会(2019-7-19)
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 41
Download now
Download to read offline
Recommended
RLアーキテクチャ勉強会 MERLIN
RLアーキテクチャ勉強会 MERLIN
YumaKajihara
Kantocv 2-1-calibration publish
Kantocv 2-1-calibration publish
tomoaki0705
Very helpful python code to find coefficients of the finite difference method
Very helpful python code to find coefficients of the finite difference method
智啓 出川
RAFT: Recurrent All-Pairs Field Transforms for Optical Flow
RAFT: Recurrent All-Pairs Field Transforms for Optical Flow
MasanoriSuganuma
夏のトップカンファレンス論文読み会 / Realtime Multi-Person 2D Pose Estimation using Part Affin...
夏のトップカンファレンス論文読み会 / Realtime Multi-Person 2D Pose Estimation using Part Affin...
Shunsuke Ono
[DL輪読会]Learning to Navigate in Cities Without a Map
[DL輪読会]Learning to Navigate in Cities Without a Map
Deep Learning JP
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Yuya Unno
各言語の k-means 比較
各言語の k-means 比較
y-uti
Recommended
RLアーキテクチャ勉強会 MERLIN
RLアーキテクチャ勉強会 MERLIN
YumaKajihara
Kantocv 2-1-calibration publish
Kantocv 2-1-calibration publish
tomoaki0705
Very helpful python code to find coefficients of the finite difference method
Very helpful python code to find coefficients of the finite difference method
智啓 出川
RAFT: Recurrent All-Pairs Field Transforms for Optical Flow
RAFT: Recurrent All-Pairs Field Transforms for Optical Flow
MasanoriSuganuma
夏のトップカンファレンス論文読み会 / Realtime Multi-Person 2D Pose Estimation using Part Affin...
夏のトップカンファレンス論文読み会 / Realtime Multi-Person 2D Pose Estimation using Part Affin...
Shunsuke Ono
[DL輪読会]Learning to Navigate in Cities Without a Map
[DL輪読会]Learning to Navigate in Cities Without a Map
Deep Learning JP
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Yuya Unno
各言語の k-means 比較
各言語の k-means 比較
y-uti
kagamicomput201714
kagamicomput201714
swkagami
動的計画法の並列化
動的計画法の並列化
Proktmr
RでGISハンズオンセッション
RでGISハンズオンセッション
arctic_tern265
【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章
【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章
YOSHIKAWA Ryota
レコードリンケージに基づく科研費分野-WoS分野マッピングの導出
レコードリンケージに基づく科研費分野-WoS分野マッピングの導出
National Institute of Informatics
ROS 2 Client Library for E^2
ROS 2 Client Library for E^2
Hideki Takase
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
mametter
充足可能性問題のいろいろ
充足可能性問題のいろいろ
Hiroshi Yamashita
ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTURE Project
Tfpモデリングスペキュレーション
Tfpモデリングスペキュレーション
Eiichi Hayashi
[DL輪読会]Differentiable Mapping Networks: Learning Structured Map Representatio...
[DL輪読会]Differentiable Mapping Networks: Learning Structured Map Representatio...
Deep Learning JP
FPGAX2016 ドキュンなFPGA
FPGAX2016 ドキュンなFPGA
Hiroki Nakahara
[DL輪読会] Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
[DL輪読会] Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
Deep Learning JP
コンピューターの整列処理におけるデータ操作の時間的共起分析
コンピューターの整列処理におけるデータ操作の時間的共起分析
yamahige
d3sparql.js
d3sparql.js
Toshiaki Katayama
When NAS Meets Robustness:In Search of Robust Architectures againstAdversar...
When NAS Meets Robustness:In Search of Robust Architectures againstAdversar...
MasanoriSuganuma
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Yuya Unno
2014aoki gi sanalysisi7
2014aoki gi sanalysisi7
和人 青木
When NAS Meets Robustness:In Search of Robust Architectures againstAdversar...
When NAS Meets Robustness:In Search of Robust Architectures againstAdversar...
MasanoriSuganuma
プログラマーSeの数学
プログラマーSeの数学
Yusuke Shinohara
More Related Content
Similar to 確率的グラフィカルモデルと離散構造
kagamicomput201714
kagamicomput201714
swkagami
動的計画法の並列化
動的計画法の並列化
Proktmr
RでGISハンズオンセッション
RでGISハンズオンセッション
arctic_tern265
【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章
【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章
YOSHIKAWA Ryota
レコードリンケージに基づく科研費分野-WoS分野マッピングの導出
レコードリンケージに基づく科研費分野-WoS分野マッピングの導出
National Institute of Informatics
ROS 2 Client Library for E^2
ROS 2 Client Library for E^2
Hideki Takase
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
mametter
充足可能性問題のいろいろ
充足可能性問題のいろいろ
Hiroshi Yamashita
ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTURE Project
Tfpモデリングスペキュレーション
Tfpモデリングスペキュレーション
Eiichi Hayashi
[DL輪読会]Differentiable Mapping Networks: Learning Structured Map Representatio...
[DL輪読会]Differentiable Mapping Networks: Learning Structured Map Representatio...
Deep Learning JP
FPGAX2016 ドキュンなFPGA
FPGAX2016 ドキュンなFPGA
Hiroki Nakahara
[DL輪読会] Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
[DL輪読会] Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
Deep Learning JP
コンピューターの整列処理におけるデータ操作の時間的共起分析
コンピューターの整列処理におけるデータ操作の時間的共起分析
yamahige
d3sparql.js
d3sparql.js
Toshiaki Katayama
When NAS Meets Robustness:In Search of Robust Architectures againstAdversar...
When NAS Meets Robustness:In Search of Robust Architectures againstAdversar...
MasanoriSuganuma
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Yuya Unno
2014aoki gi sanalysisi7
2014aoki gi sanalysisi7
和人 青木
When NAS Meets Robustness:In Search of Robust Architectures againstAdversar...
When NAS Meets Robustness:In Search of Robust Architectures againstAdversar...
MasanoriSuganuma
プログラマーSeの数学
プログラマーSeの数学
Yusuke Shinohara
Similar to 確率的グラフィカルモデルと離散構造
(20)
kagamicomput201714
kagamicomput201714
動的計画法の並列化
動的計画法の並列化
RでGISハンズオンセッション
RでGISハンズオンセッション
【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章
【Topotal輪読会】JavaScript で学ぶ関数型プログラミング 2 章
レコードリンケージに基づく科研費分野-WoS分野マッピングの導出
レコードリンケージに基づく科研費分野-WoS分野マッピングの導出
ROS 2 Client Library for E^2
ROS 2 Client Library for E^2
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
Ruby を用いた超絶技巧プログラミング(夏のプログラミングシンポジウム 2012)
充足可能性問題のいろいろ
充足可能性問題のいろいろ
ADVENTUREの他のモジュール・関連プロジェクトの紹介
ADVENTUREの他のモジュール・関連プロジェクトの紹介
Tfpモデリングスペキュレーション
Tfpモデリングスペキュレーション
[DL輪読会]Differentiable Mapping Networks: Learning Structured Map Representatio...
[DL輪読会]Differentiable Mapping Networks: Learning Structured Map Representatio...
FPGAX2016 ドキュンなFPGA
FPGAX2016 ドキュンなFPGA
[DL輪読会] Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
[DL輪読会] Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
コンピューターの整列処理におけるデータ操作の時間的共起分析
コンピューターの整列処理におけるデータ操作の時間的共起分析
d3sparql.js
d3sparql.js
When NAS Meets Robustness:In Search of Robust Architectures againstAdversar...
When NAS Meets Robustness:In Search of Robust Architectures againstAdversar...
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
Jubatusのリアルタイム分散レコメンデーション@TokyoNLP#9
2014aoki gi sanalysisi7
2014aoki gi sanalysisi7
When NAS Meets Robustness:In Search of Robust Architectures againstAdversar...
When NAS Meets Robustness:In Search of Robust Architectures againstAdversar...
プログラマーSeの数学
プログラマーSeの数学
確率的グラフィカルモデルと離散構造
1.
確率的グラフィカルモデル と 離散構造処理 NTTコミュニケーション科学基礎研究所 石畠 正和
2.
石畠 正和(いしはた まさかず) •
経歴 – 2001-2006 石川高専 – 2006-2013 東工大(学部・修士・博士) – 2013-2016 NTTコミュニケーション科学基礎研究所 研究員 – 2016-2018 北海道大学 特任助教(出向) – 2018-現在 NTTコミュニケーション科学基礎研究所 研究主任 • 研究テーマ – 人工知能・機械学習 – 論理と確率・離散構造処理 2019/7/19 全脳アーキテクチャ勉強会 2 @m_ishihata
3.
NTTコミュニケーション科学基礎研究所 (CS研) NTTコミュニケーションズとは別会社です • 位置付け –
NTT研究所(= NTT持株会社)の1研究所 – NTT研究所 先端総合研究所 CS研 石畠 • 場所 – 京阪奈(関西版筑波) – 厚木 • 研究内容 – 人工知能・機械学習・自然言語処理・音声処理 – 人間情報学・スポーツ脳科学 2019/7/19 全脳アーキテクチャ勉強会 3
4.
まとめ • Bayesian Network
(BN) は有向グラフで同時分布を表現 – BN は確率推論・学習は一般的には難しい – 変数の独立性を適切に仮定することでモデルの複雑さと表現力を調整 • 変数の独立性は論理関数で記述できる ← ここを伝えたい! – 条件付き確率だけではなく、もっと細かな独立性も扱える – 論理関数をコンパクトに表現できれば効率的な確率推論・学習が可能 • BDDを用いることでBNの計算を効率的に行える ← ここはささっと! – 変数の依存性を表す論理関数をBDDでコンパクトに表現 – BDD上の動的計画法で確率計算・学習が可能 2019/7/19 全脳アーキテクチャ勉強会 4
5.
論理と確率 • 論理 :
正確な 関係を記述 ! ⇒ # – デフォルトは独立、依存性を仮定する – 論理変数 !, # はデフォルトでは独立 – ! ∨ #, ! ∧ #, ! ⇒ # などで依存性を記述 • 確率 : 柔軟な 関係を記述 '(# ∣ !) – デフォルトは依存、独立性を仮定する – 確率変数 !, # はデフォルトでは依存 – '(!, #) = '(!)'(#) などで独立性を記述 2019/7/19 全脳アーキテクチャ勉強会 5
6.
論理と確率 • 論理 :
正確な 関係を記述 ! ⇒ # – デフォルトは独立、依存性を仮定する – 論理変数 !, # はデフォルトでは独立 – ! ∨ #, ! ∧ #, ! ⇒ # などで依存性を記述 • 確率 : 柔軟な 関係を記述 '(# ∣ !) – デフォルトは依存、独立性を仮定する – 確率変数 !, # はデフォルトでは依存 – '(!, #) = '(!)'(#) などで独立性を記述 2019/7/19 全脳アーキテクチャ勉強会 6 論理に確率を導入 - Probabilistic Logic Programming - Statistical Relational Learning ※ 今日はこの話はしません
7.
論理と確率 • 論理 :
正確な 関係を記述 ! ⇒ # – デフォルトは独立、依存性を仮定する – 論理変数 !, # はデフォルトでは独立 – ! ∨ #, ! ∧ #, ! ⇒ # などで依存性を記述 • 確率 : 柔軟な 関係を記述 '(# ∣ !) – デフォルトは依存、独立性を仮定する – 確率変数 !, # はデフォルトでは依存 – '(!, #) = '(!)'(#) などで独立性を記述 2019/7/19 全脳アーキテクチャ勉強会 7 論理に確率を導入 - Probabilistic Logic Programming - Statistical Relational Learning ※ 今日はこの話はしません 確率に論理を導入 - Tractable Probabilistic Modeling - Bayesian Network w/ Structures ※ 今日はこの話をします!
8.
確率モデリング • 確率モデリングとは – 興味のある対象を
確率モデル として表現すること • 確率モデル = 確率分布 – 同時確率分布 !(#, %) – 条件付き確率分布 !(% ∣ #) • 用途 – 予測・分類・診断 – 期待値・リスクの定量化 – 現象の理解 2019/7/19 全脳アーキテクチャ勉強会 8
9.
有名な確率モデル • Naïve Bayes
Classifier (NBC) – 識別・クラスタリング • Hidden Markov Model (HMM) – 系列データ解析 • Latent Dirichlet Allocation (LDA) – トピック分析 Y X1 X2 XN Z1 X1 X2 XN Z2 ZN ... ... ... Zdi Xdiθd φkβα 2019/7/19 全脳アーキテクチャ勉強会 9
10.
確率的グラフィカルモデル • グラフ構造で記述される確率モデル – 有向グラフ:Bayesian
Network – 無向グラフ:Markov Random Field – 条件付き独立性 をグラフで表現 • 利点 – グラフに基づく理論・アルゴリズムが利用可能 – 見ただけでなんとなく雰囲気がわかる 2019/7/19 全脳アーキテクチャ勉強会 10 Y X1 X2 XN Z1 X1 X2 XN Z2 ZN ... ... ... Zdi Xdiθd φkβα
11.
Bayesian Network (BN) Bayesian
network - Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/Bayesian_network 2019/7/19 全脳アーキテクチャ勉強会 11
12.
Bayesian Network (BN) •
BN = DAG + CPT – 複数の確率変数の 同時分布 を記述 • Directed Acyclic Graph (DAG): Model – 有向非循環グラフ – 確率変数間の 条件付き独立性 を記述 • Conditional Probability Table (CPT): Parameter – 条件付き確率表 – 各確率変数の 条件付き確率分布 を記述 2019/7/19 全脳アーキテクチャ勉強会 12
13.
Bayesian Network (BN) •
BN = DAG + CPT – 複数の確率変数の 同時分布 を記述 • Directed Acyclic Graph (DAG): Model – 有向非循環グラフ – 確率変数間の 条件付き独立性 を記述 • Conditional Probability Table (CPT): Parameter – 条件付き確率表 – 各確率変数の 条件付き確率分布 を記述 2019/7/19 全脳アーキテクチャ勉強会 13 !" !# !$ !# ⊥ !$ ∣ !" ' !", !#, !$ = ' !" ' !# !" '(!$ ∣ !") !" '(!#|!") 0 0.0 1 0.3 !" ' !$ !" 0 0.9 1 1.0 - ' !" - 0.4 ' !" = 1, !# = 1, !$ = 1 = ' !" = 1 ' !# = 1 !" = 1 ' !$ = 1 !" = 1 = 0.4×0.3×1.0
14.
Bayesian Network (BN) 1.
周辺確率計算 (EI: Exact Inference) – Input: DAG, CPT – Output: 特定の確率変数の周辺確率 2. パラメータ学習 (PL: Parameter Learning) – Input: 観測, DAG – Output: 観測を得る確率(尤度)を最大化する CPT 3. 構造学習 (SL: Structure Learning) – Input: 観測 – Output: あるモデル選択基準を最大化する DAG (+ CPT) 2019/7/19 全脳アーキテクチャ勉強会 14 ID !" !# !$ 1 0 1 0 … … … … N 1 1 0 !" !# !$ !" %(!#|!") 0 0.0 1 0.3 !" % !$ !" 0 0.9 1 1.0 - % !" - 0.4
15.
Bayesian Network (BN) 1.
周辺確率計算 (EI: Exact Inference) – Input: DAG, CPT – Output: 特定の確率変数の周辺確率 2. パラメータ学習 (PL: Parameter Learning) – Input: 観測, DAG – Output: 観測を得る確率(尤度)を最大化する CPT 3. 構造学習 (SL: Structure Learning) – Input: 観測 – Output: あるモデル選択基準を最大化する DAG (+ CPT) 2019/7/19 全脳アーキテクチャ勉強会 15
16.
確率モデルを設計する • モデルの設計 – モデルの
複雑さ と 表現力 のトレードオフを コントロール • モデルの複雑さ = 計算量 – 何も仮定しない → 指数的な計算量 L – 独立性を仮定する → 効率的に計算可能 J • モデルの表現力 = 精度 – 何も仮定しない → あらゆる分布を表現可能 J – 独立性を仮定する → 特定の分布しか表現できない L 2019/7/19 全脳アーキテクチャ勉強会 16 !" !# !$ !% !" !# !$ !% 2 + 2$ + 2# + 2% = 30 2 + 3×2$ = 14
17.
Bayesian Network のどこが辛い? 2019/7/19
全脳アーキテクチャ勉強会 17 • DAGの候補が指数的に大きくなる = モデル数が指数的に多くなる – N頂点のDAGの数 !" – !" = ∑%&' " −1 %*' " % 2%("*%)!"*% • CPTサイズが指数的に大きくなる = パラメータ数が指数的に多くなる – Y の CPTサイズ = 2|/0| – Π2 = {4 ∈ 6 ∣ 4, 9 ∈ :} : Yの親集合 4' 4< 4= 4' 4= 4' 4= 4< 4' 4= 4< 4' 4= 4< 4' 4= 2!= = 3 6 612 !< = 25 !@ = 543 1 1
18.
Bayesian Network のどこが辛い? 2019/7/19
全脳アーキテクチャ勉強会 18 !"!# $ !%• DAGの候補が指数的に大きくなる = モデル数が指数的に多くなる – N頂点のDAGの数 &' – &' = ∑*+# ' −1 *.# ' * 2*('.*)&'.* • CPTサイズが指数的に大きくなる = パラメータ数が指数的に多くなる – Y の CPTサイズ = 2|34| – Π6 = {!8 ∣ !8, $ ∈ <} : Yの親集合 ….!# !" !> !? @($|!) 0 0 0 0 p1 0 0 0 1 p2 0 0 1 0 p3 0 0 1 1 p4 0 1 0 0 p5 0 1 0 1 p6 0 1 1 0 p7 0 1 1 1 p8 1 0 0 0 p9 1 0 0 1 p10 1 0 1 0 p11 1 0 1 1 p12 1 1 0 0 p13 1 1 0 1 p14 1 1 1 0 p15 1 1 1 1 p16
19.
Local Structures in
CPTs • CPT 内に構造 (= 独立性) を仮定する 0. Conditional Independence (CI) 1. Context Specific Independence (CSI) 2. Partial Exchangeability (PE) 3. Generalized CSI (GCSI) • 構造を利用することで効率的な推論を実現 – パラメータ数を減らす (= Parameter Tying) – データ構造を利用した効率的な推論 2019/7/19 全脳アーキテクチャ勉強会 19
20.
Local Structures in
CPTs • アイディア – 本当に指数個のパラメータは必要ですか? – 同じ確率になる場合もがあるのでは? • Parameter Tying – 異なるパラメータを同一とみなす – パラメータの異なり数を減らす – 特別な独立性を導入することで表現可能 2019/7/19 全脳アーキテクチャ勉強会 20 !" !# !$ %('|!) 0 0 0 p1 0 0 1 p2 0 1 0 p3 0 1 1 p4 1 0 0 p5 1 0 1 p6 1 1 0 p7 1 1 1 p8 !#!" ' !$
21.
Local Structures in
CPTs 0. Conditional Independence 2019/7/19 全脳アーキテクチャ勉強会 21 !" !# !$ %('|!) 0 0 0 p1 0 0 1 p1 0 1 0 p2 0 1 1 p2 1 0 0 p3 1 0 1 p3 1 1 0 p4 1 1 1 p4 !" !# !$ %('|!) 0 0 * p1 0 1 * p2 1 0 * p3 1 1 * p4 !$ ⊥ ' ∣ !", !# * = don t care
22.
Local Structures in
CPTs 1. Context-Specific Independence (CSI) 2019/7/19 全脳アーキテクチャ勉強会 22 !" ⊥ $ ∣ !& = 0, !* !& !* !" +($|!) 0 0 0 p1 0 0 1 p1 0 1 0 p2 0 1 1 p2 1 0 0 p3 1 0 1 p4 1 1 0 p5 1 1 1 p6 !& !* !" +($|!) 0 0 * p1 0 1 * p2 1 0 0 p3 1 0 1 p4 1 1 0 p5 1 1 1 p6
23.
Local Structures in
CPTs 2. Partial Exchangeability (PE) 2019/7/19 全脳アーキテクチャ勉強会 23 ! " # = ! " ∑& #& #' #( #) !("|#) 0 0 0 p0 0 0 1 p1 0 1 0 p1 0 1 1 p2 1 0 0 p1 1 0 1 p2 1 1 0 p2 1 1 1 p3 #' + #( + #) !("|#) 0 p0 1 p1 2 p2 3 p3
24.
Local Structures in
CPTs 3. Generalized Context-Specific Independence (GCSI) 2019/7/19 全脳アーキテクチャ勉強会 24 !" !# !$ %('|!) 0 0 0 p2 0 0 1 p2 0 1 0 p2 0 1 1 p1 1 0 0 p3 1 0 1 p3 1 1 0 p3 1 1 1 p1 *(!) %('|!) 1 p1 2 p2 3 p3 % ' ! = % ' * ! * ! = 1 ⇔ !# ∧ !$ * ! = 2 ⇔ ¬ !# ∧ !$ ∧ ¬!" * ! = 3 ⇔ ¬ !# ∧ !$ ∧ !"
25.
BN with local
structures • DAG ! = ($, &) – $ = $(, … , $* – & ⊂ $×$ – Π. = $./ ∈ $ $./, $. ∈ & • CPT 1 = {1.34} – 6. Π. = $. のCPTの Structure 関数 – 1.34 ≡ ;($. = < ∣ 6. Π. = >) 2019/7/19 全脳アーキテクチャ勉強会 25 $( $? $@ 6.(Π.) ;($. = <|Π.) > 1.34
26.
Local Structure =
Logic Structure • CPTの Structure 関数は論理関数で記述できる • CPTをコンパクトに表現する 論理関数をコンパクトに表現する • 論理関数をコンパクトに表現する方法とは? 2019/7/19 全脳アーキテクチャ勉強会 26
27.
Local Structure =
Logic Structure • CPTの Structure 関数は論理関数で記述できる • CPTをコンパクトに表現する 論理関数をコンパクトに表現する • 論理関数をコンパクトに表現する方法とは? 2019/7/19 全脳アーキテクチャ勉強会 27 離散構造処理技術
28.
離散構造処理技術 • 組合せ 離散構造 –
集合、グラフ、論理などの離散的な構造を持つもの – 組合せ爆発が起きやすく、一般的に扱うのが難しい対象 • 離散構造処理技術 – 離散構造を効率的に扱うための技術 – 対象の離散構造(の集合)を別のインデックス構造に変換 – インデックス構造上で様々な演算を効率的に実行 2019/7/19 全脳アーキテクチャ勉強会 28
29.
Binary Decision Diagram
(BDD) 2019/7/19 全脳アーキテクチャ勉強会 29 !" !# !$ % 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 Truth Table !" !# !$ 0 0 !$ 0 0 !$ 0 1 !$ 1 1 !# Binary Decision Tree (BDT) !" 0 !$ 1 !# BDD 論理関数を表現するDAG構造
30.
Binary Decision Diagram
(BDD) 2019/7/19 全脳アーキテクチャ勉強会 30 !" !" !" !" !" !" 同じ子を持つノードを共有 冗長なノードを削除 BDTに以下の簡約化規則を適用
31.
Binary Decision Diagram
(BDD) • BDD同士の演算が可能 – 論理関数 !, # のBDDから ! ∧ # のBDDを構築 • BDDがあれば様々なクエリを効率的に実行可能 – %∗ ∈ argmax-:/ - 012(%) : 線形関数最大化(最小化) • 2 % = ∑7 87%7 – 9 ! = ∑-:/ - 01 9(%) : 充足確率(周辺確率) • 9 % = ∏7:-;01 <7 ∏7:-;0= 1 − <7 – % ∼ 9 % ! : 充足解サンプリング • 9 % ! = ! % 9 % /9(!) 2019/7/19 全脳アーキテクチャ勉強会 31 ! # ! ∧ #= ! BDD上の動的計画法
32.
Compiling Bayesian Networks •
DAG + CPT を合わせて別の構造に Compile • 変換後の構造上の DP で確率計算 → (Generalized) Context Specific Independence を効率的に扱える BDD [Ishihata+ 11] ZDD [Minato+ 07] [Gao+ 17] d-DNNF [Chavira+ 05, 07] 2019/7/19 全脳アーキテクチャ勉強会 32
33.
命題化確率計算 • 確率的依存関係を論理的依存関係で表現 – 互いに依存する確率変数の同時分布を互いに独立な確率的命題 変数の同時分布と論理関数で表現 •
独立な変数として扱うので確率計算が容易 • 論理関数をBDDで表現することで効率的に確率計算可能 2019/7/19 全脳アーキテクチャ勉強会 33
34.
BN with local
structures (再掲) • DAG ! = ($, &) – $ = $(, … , $* – & ⊂ $×$ – Π. = $./ ∈ $ $./, $. ∈ & • CPT 1 = {1.34} – 6. Π. = $. のCPTの Structure 関数(= Π.の論理関数) – 1.34 ≡ ;($. = < ∣ 6. Π. = >) 2019/7/19 全脳アーキテクチャ勉強会 34 $( $? $@ 6.(Π.) ;($. = <|Π.) > 1.34
35.
命題化確率計算 • 確率的命題変数 !
= {!$%&} – !$%& ⇔ “*$ = + ∣ -$ Π$ = /” – 1 !$%& = 2$%& – 1 ! = ∏$%& 1 !$%& • 観測関数 *$& ⇔ “*$ = +” • 構造関数 -$% ⇔ “-$ Π$ = /” – *$& ⇔ ⋁% -$% ∧ !$%& – -$% ⇔ (*$&の論理関数として書かれた -$ Π$ = /) 2019/7/19 全脳アーキテクチャ勉強会 35 *8 *9 *: -$(Π$) 1(*$ = +|Π$) / 2$%&
36.
1. 各!"#を表すBDDを構成 2. 評価したい事象を表すBDDを構成 3.
BDD上の動的計画法により確率を計算 命題化確率計算 by BDD 2019/7/19 全脳アーキテクチャ勉強会 36 !$$ !%$ !&$ !$$ ∧ !%$ ∧ !&$
37.
命題化確率計算 by BDD(例) •
命題化 – !"# = %""# – !&# = ⋁((!"(∧ %&(#) = ⋁((%""( ∧ %&(#) – !,# = ⋁((!"(∧ %,(#) = ⋁((%""( ∧ %,(#) • 確率計算 - !" = 1, !& = 1, !, = 1 = - !"" ∧ !"& ∧ !", = - %""" ∧ %&"" ∧ %,"" = - %""" - %&"" - %,"" = 0"""0&""0,"" = 0.4×0.3×1.0 2019/7/19 全脳アーキテクチャ勉強会 37 !" -(!&|!") 0 0.0 1 0.3 !" - !, !" 0 0.9 1 1.0 - - !" - 0.4 !" !& !, !"" !&" !," !"" ∧ !&" ∧ !,"
38.
命題化確率計算 by BDD
の利点 • CPTの Structure を自然に扱うことができる – Structure が論理式で記述できるならOK • 複雑な事象の確率計算も自然にできる – 事象が論理式で記述できるならOK • 確率モデルの設計がしやすい – 論理式を書き換えてもアルゴリズム不変 – 論理式は人間には解釈しやすい • パラメータ学習も効率的に実行できる – BDDを用いて期待値計算が行えるので(詳細略) 2019/7/19 全脳アーキテクチャ勉強会 38 !" #(!%|!") 0 0.0 1 0.3 !" # !( !" 0 0.9 1 1.0 - # !" - 0.4 !" !% !( !"" !%" !(" !"" ∧ !%" ∧ !("
39.
命題化確率計算 by BDD
の欠点 • 対象BDDが巨大になる場合がある – もともとの問題がNP困難なので仕方ない • 対象BDDが構成中に巨大になる場合がある – 最終的なBDDが小さくても途中計算が大きくなることはある – 対象BDDを直接構成する工夫が必要 – フロンティア法:対象BDDを直接構成するテクニック(略) 2019/7/19 全脳アーキテクチャ勉強会 39
40.
まとめ • Bayesian Network
(BN) は有向グラフで同時分布を表現 – BN は確率推論・学習は一般的には難しい – 変数の独立性を適切に仮定することでモデルの複雑さと表現力を調整 • 変数の独立性は論理関数で記述できる – 条件付き確率だけではなく、もっと細かな独立性も扱える – 論理関数をコンパクトに表現できれば効率的な確率推論・学習が可能 • BDDを用いることでBNの計算を効率的に行える – 変数の依存性を表す論理関数をBDDでコンパクトに表現 – BDD上の動的計画法で確率計算・学習が可能 2019/7/19 全脳アーキテクチャ勉強会 40
41.
BDDの応用例(石畠の場合) • 論理と確率の文脈 – BNの確率計算・学習
[AMBN 10,17] – Probabilistic Logic Programing [ILP 08,11] • 機械学習・人工知能の文脈 – 薬物代謝経路の推定 [IJCAI 09] – ネットワーク上のユーザの影響力の厳密計算 [WWW 17] – 制約付きオンライン最適化 [AISTATS 18] – ネットワークの信頼性の厳密計算 [COCOA 18] – 観測データに構造的な相関があるかの検定 [IJCAI 19] 2019/7/19 全脳アーキテクチャ勉強会 41
Download now