Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
アニーリングマシンを使った論理式学習モデルの開発(2021未踏ターゲット事業成果報告会)
Search
Yuma Ochi (chizuchizu)
February 11, 2022
Technology
2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
アニーリングマシンを使った論理式学習モデルの開発(2021未踏ターゲット事業成果報告会)
Yuma Ochi (chizuchizu)
February 11, 2022
More Decks by Yuma Ochi (chizuchizu)
See All by Yuma Ochi (chizuchizu)
IOAI Solution (NLP, CV) | Team Japan
chizuchizu
0
170
BFが動くCPUを作りたい! @第3回CPUを語る会
chizuchizu
1
480
aranami_idea.pdf
chizuchizu
0
120
DiffType KIH2023
chizuchizu
0
310
週刊タイピングは役に立たない
chizuchizu
0
350
【発表資料】どこやったっけなぁ?
chizuchizu
1
300
浅(くて広い)層学習 (Amplifyハッカソン)
chizuchizu
1
740
全国医療AIコンテスト 2021 1st place solution
chizuchizu
0
4.9k
configのすゝめ
chizuchizu
1
300
Other Decks in Technology
See All in Technology
AI駆動開発を通して感じた、 AI時代のデザイナーの役割変化
whisaiyo
4
2.3k
コミュニティの有益性 ~JAWS Days 2026 での体験を通して~ / The Benefits of a Community ~Through My Experience at JAWS Days 2026~
seike460
PRO
0
190
データサイエンスを価値につなげるプロジェクト設計 〜 DS一年目が現場で得た気づき 〜
ysd113
1
280
AWS Security Hub CSPMの成功・失敗体験
cmusudakeisuke
0
270
GitHub Copilot 最新アップデート – 「一歩先」の実践活用術
moulongzhang
5
1.5k
マルチアカウント環境での コーディングエージェントを使った障害調査が大変なので AIエージェントにReadOnly権限を付与してみた / ReadOnly AI Agents for Multi-Account AWS Incident Response
yamaguchitk333
2
110
エラーバジェットのアラートのタイミングを考える.pdf
kairim0
0
170
データレイクの「見えない問題」を可視化する
sansantech
PRO
1
110
自分が詳しくない領域でAIを使う #プロヒス2026
konifar
14
5.4k
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.5k
徹底討論!ECS vs EKS!
daitak
0
470
2026TECHFRESH畢業分享會 - 原生還是跨平台? App 開發踩坑實錄
line_developers_tw
PRO
0
1.3k
Featured
See All Featured
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
200
How to Ace a Technical Interview
jacobian
281
24k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Git: the NoSQL Database
bkeepers
PRO
432
67k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
BBQ
matthewcrist
89
10k
Become a Pro
speakerdeck
PRO
31
6k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.9k
So, you think you're a good person
axbom
PRO
2
2.1k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
210
Evolving SEO for Evolving Search Engines
ryanjones
0
220
Transcript
アニーリングマシンを使った論理式学習モデルの開発 越智 優真 !⽊更津⼯業⾼等専⾨学校"|担当#$%&棚橋 耕太郎 未踏ターゲット事業成果報告会 2022/2/11
Abstract • 論理演算でデータを説明する機械学習モデルを開発 • 論理式の「正則化」を⾏う⽅法として、カルノー図を採⽤し、 集合被覆問題として定式化してアニーリングで解く⽅法を提案 • 結果: 決定⽊と⽐べて同じ表現⼒(=AUC)で説明可能性を向上させた
越智 優真 • ⽊更津⼯業⾼等専⾨学校 情報⼯学科 1年 • 機械学習コンペの参加が趣味 • アニーリングは触り始めてまだ1年経ってない
• 初アニーリングは数独でした(2021/2/28) • 植物を愛でています(背景は松姫という名前のサボテン)
AIの課題点 | ブラックボックス化 どうしてこんな値を出したの? がわからない 説明可能性の⾼いAIモデルは社会に必要
説明可能なAIがHot(Explainable AI; XAI) Alejandro et al. (2020) Explainable Artificial Intelligence
(XAI): Concepts, taxonomies, opportunities and challenges toward responsible AI XAI関係のキーワードを使う論⽂数 XAI関係のキーワード
⾒やすいのはどっち? ⽊構造 論理式, 論理回路 どちらも同じ表現をしています 気候条件からゴルフに適しているかどうかを予測 sklearn.tree.export_graphviz関数から⽣成 よくみるやつ
条件の数を⽐較 3 7 条件の数: 条件の数: 決定木のノード数が条件の数 論理式の項数が条件の数
決定⽊の冗⻑性の要因の⼀つ | OR表現が苦⼿ A True B True False 一つの特徴で分岐することが原因 OR表現があるだけで冗長な表現に繋がりやすい
条件が増える 説明が冗⻑になる 説明可能性の 低下 条件が少ない論理式表現で、 説明可能性の向上を図る
ALEX(論理式学習モデル)の開発 Annealing Logic expression learning Explainable model
論理式とは 否定 論理積 論理和 で構成される式 “ブール代数”の公式で、式変形が可能 否定 論理積 論理和
論理式の冗⻑性 • 論理式の表現は⼀意でない • 冗⻑になりがち • ⼀番シンプルな形にしたい A B C
f(A, B, C) 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1 真理値表 全通りの⼊出⼒を 表形式に 論理式 入出力の関係を 式で表現
論理式を簡略化するには 式変形する方法 カルノー図を使った方法 AB CD 00 01 11 10 00
1 1 01 1 1 11 1 1 10 1 1 学校のレポートから添付 アニーリングが使えるかも 操作が⾮⾃明(職⼈芸) システマティックにできる プログラムによる操作は難しい
論理式から 真理値表を作成 A B C D L 0 0 0
0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 0 0 1 1 1 0 A B C D L 1 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 0 AB CD 00 01 11 10 00 1 1 01 1 1 11 1 1 10 1 1 真理値表: 入出力の対応を表にしたもの 真理値表から カルノー図の表記に合わせて マッピング カルノー図を使って論理式を簡略化する
カルノー図に丸をつける • 2のべき乗 x 2のべき乗の矩形を囲う • 四隅は繋がっている ⼀つの矩形は⼀つの論理積に対応 最⼩の数の矩形で囲むことで、論理式を単純化 冗長
囲った矩形と変数同士の論理積が対応
カルノー図の論理式表現 Li bi 最⼩化する対象 カルノー図 矩形 囲むか否か 囲む矩形の数 論理式 変数の論理積
論理積を使うか否か b1 ~bn の和 矩形(囲めるとは限らないが、とりあえず全列挙) 1なら囲む, 0なら囲まない
類似事例 | (最⼩)集合被覆問題 集合を被覆する最小の部分集合の組を求める. NP困難である. U: 要素が1の部分 Vi : 囲む矩形
アニーリングマシンを使おう A. Lucas, Ising formulations of many NP problems ノード 囲む枠 に対応 集合被覆問題は、組み合わせ最適化問題であり アニーリングでも定式化が可能
実装概要 前処理 論理式モデルを定式化 アニーリング計算 解を得る
前処理 : k番目の添字の組合せ : データの番号 : (n x d)の元データを表す2値行列 :
Xの全ての積の組合せを含む2値特徴行列 Li は、論理積なので に対応します
ALEXの 定式化 ORbyOrderEnc: 普通の和から論理和を返す関数、次ページで詳細 ペナルティ(正則化) 誤差関数 d個ある特徴の全組み合わせに対して論理積をとったもの(2^d個になる) ※アニーリングではOR演算が難しいため、普通の和から論理和に変換
多bitのORを扱う Order Encodingを使った手法
Order Encodingの⽬的 値の和がα 1が⽴つビットがα個になる 1が⽴つビットが優先されて前に⾏く 二値変数 制約1 制約2 α個の二値変数(=1)を前から整列させる 前
後 OK NG b1 bn ※Order EncodingはDomain-wall encodingとも呼ばれる
OR演算への応⽤ | Order Encoding 値の和がα 二値変数 を知りたい 普通の和から論理和を求められる アニーリングで論理和を求める 普通の和αを使ってOrder
Encoding 得られたb1 が論理和に対応 b1 bn から
例 | Order Encodingを⽤いたOR演算 制約を追加
より効率的な⽅法を開発(1-to-all Order Encoding) 1が⽴つビットがα個になる 1が⽴つビットが優先されて前に⾏く 制約1 制約2 v 値の和がα-1 二値変数
最初にb1 , 次にb2 , … ,bn が立つ 最初にb1 が立つだけ b1 bn b2
ALEX動かしてみる • Golf datasetのデモ • デモアプリの紹介
条件1. ⾵がないかつ晴れでない 条件2. くもりである 条件3. 湿度が低いかつ⾬でない 湿度⾼ 湿度低 湿度低 湿度低
天気 ⾵有 ⾵無 ⾵無 ⾵有 × × ◯ ◯ ◯ ◯ ◯ ◯ × ◯ ◯ × Golf Dataset | ゴルフに⾏くか⾏かないか カルノー図表現 論理式表現 最⼩の項で表現できている
Demo Appを公開 パラメータの調整 決定⽊との⽐較 ⽤意されたDataset https://share.streamlit.io/chizuchizu/logicexpressionstreamlit/main/src/app.py
AmplifyのTokenを入力
DatasetをgolfにしてからCalculationを押す
5 ~ 6秒待つと 実⾏結果が表⽰される
Decision Treeを選択すれば、 同データセットで⽐較可能
精度を保ちながら条件を減らしている Golf dataset 1.00 → 1.00 Mushroom 0.9887 → 0.9669
a1a(LIBSVM) 0.7156 → 0.7350 AUC
カルノー図でよかった 縦軸: AUC 横軸: 条件の数 条件の数が増えると精度も落ちる • 論理式の簡略化にカルノー図を採用 • アニーリングを使った定式化
これらに意味があった 正則化の重みを変えて 条件の数とAUCの関係を⽐較
より解釈性が優れるデータ表現が可能に
将来像 ALEX 論理式学習モデル 医療: 患者への説明責任 金融: 取引先からの信頼 ビジネス全般 要因分析として活用 お金や人が動くので説明が必要
アニーリングによって広がる 新しいデータマイニング手法の開発 新しい、論理式ベースの 機械学習モデル開発 応⽤分野 開発分野
おわりに • 論理演算でデータを説明する機械学習モデルを開発 • 論理式の「正則化」を⾏う⽅法として、カルノー図を採⽤し、 集合被覆問題として定式化してアニーリングで解く⽅法を提案 • 結果: 決定⽊と⽐べて同じ表現⼒(=AUC)で説明可能性を向上させた https://github.com/Chizuchizu/logic-expression-learning
開発したモデルはGitHubで公開しています。 https://share.streamlit.io/chizuchizu/logicexpressionstreamlit/main/src/app.py ALEXのデモはこのリンクで公開しています。