This document discusses generative adversarial networks (GANs) and their relationship to reinforcement learning. It begins with an introduction to GANs, explaining how they can generate images without explicitly defining a probability distribution by using an adversarial training process. The second half discusses how GANs are related to actor-critic models and inverse reinforcement learning in reinforcement learning. It explains how GANs can be viewed as training a generator to fool a discriminator, similar to how policies are trained in reinforcement learning.
This document discusses generative adversarial networks (GANs) and their relationship to reinforcement learning. It begins with an introduction to GANs, explaining how they can generate images without explicitly defining a probability distribution by using an adversarial training process. The second half discusses how GANs are related to actor-critic models and inverse reinforcement learning in reinforcement learning. It explains how GANs can be viewed as training a generator to fool a discriminator, similar to how policies are trained in reinforcement learning.
2. 今回紹介する内容
● 機械学習を説明するExplanation Model
● LIMEなど既存手法を一般化したAdditive Feature Attribution Methods
● 協力ゲーム理論で貢献度に応じて報酬を決めるShapley Value
● Shapley Valueを機械学習の解釈に応用したSHAP
● SHAP値計算爆発と近似
● 参考論文
○ A Unified Approach to Interpreting Model Predictions
■ 著者: Scott M. Lundberg, Su-In Lee
■ 投稿: Advances in Neural Information Processing Systems (2017), pp. 4765-4774
■ 引用: 4074件 (2021/8/30 時点)
7. 2人で報酬を分ける場合は単純
A, Bの2人で分ける場合
● A1人で獲得できる報酬 v({A}) = 2
● B1人で獲得できる報酬 v({B}) = 3
● A, Bの2人で獲得できる報酬 v({A, B}) = 10 → この報酬をA, Bでどのように分ける?
● 複数人でタスクをこなした場合、一人ひとりの報酬を足したとき以上の報酬が手に入れられ
る v({A}) + v({B}) ≦ v({A, B})
A
B
2
3
A B 10
Aは1人で2で、Bは1人で3の
報酬を得られるのだから、
2対3、つまりAは4、Bは6
で分ければ貢献度を考慮し
た分配となる
8. Shapley Value: 3人で報酬を分ける
A, Bの2人で分ける場合
● A, B, Cそれぞれが1人で獲得できる報酬 v({A}) = 2, v({B}) = 3, v({C}) = 4
● 2人で獲得できる報酬 v({A, B}) = 12, v({B, C}) = 8, v({A, C}) = 9
● 3人で獲得できる報酬 v({A, B, C}) = 15
A
B
2
3
A B 12
C
B 8
A 9
C
A
B
C
15
4
C
9. Shapley Value: 単純な分割は平等じゃない
● Cは単体では一番よい報酬を得られる
● しかし、2人チームでだと報酬はそこまで得られない
● チームで得た報酬を個人のときのパフォーマンスだけで判断するのは不平等
A
B
2
3
A B 12
C
B 8
A 9
C
A
B
C
15
4
C
10. 貢献を数値化
Cが加わることにより得られる報酬の増加 (限界貢献度)
C A 9: A (v({A}) = 2) にCが協力することで+7
B 8: B (v({B}) = 3) にCが協力することで+5
C
A B C 15: A, B (v({A, B}) = 12)にCが協力することで+3
4: 誰もいない状態(v({}) = 0)からCが増えて+4
C
12. 限界貢献度の期待値: Shapley Value
C B A
C A B
A
B C
C
A B
C
B A
B
A C
Cが最初に貢献するパターンのCの限界貢献度
● C → B → A: 4
● C → A → B: 4
Cが2番目に貢献するパターンのCの限界貢献度
● B → C → A: v({B, C}) - v({B}) = 8 - 3 = 5
● A → C → B: v({A, C}) - v({C}) = 9 - 2 = 7
Cが最初に貢献するパターンのCの限界貢献度
● C → B → A: v({A, B, C}) - (v{A, B}) = 15 - 12 = 3
● C → A → B: v({A, B, C}) - (v{A, B}) = 15 - 12 = 3
Cの限界貢献度の期待値 = (4 + 4 + 5 + 7 + 3 + 3)/6 = 13/3
13. SHAP (Shapley Additive exPlanation)
A
B
C
特徴量1
特徴量2
特徴量3
予測結果
貢献度に応じて公正に分配する方法Shapley Valueを
特徴量の予測への貢献に応用したものがSHAP
21. Shapley Value とは?
● 協力ゲーム理論において、複数プレイヤーによって得られた報酬を
各プレイヤーに公正に分配する際に使用する値
(例) 3人のプレイヤーA, B, C が協力して
ゲームに挑戦し、表に示す報酬が
得られる場合について考える
→ 全員参加した場合、報酬をどのように
分配すべきか?
参加したプレイヤー 報酬 (万円)
A 4
B 6
C 10
A, B 16
A, C 22
B, C 30
A, B, C 60
22. Shapley Value とは?
→ “限界貢献度”を考える
→ 各プレイヤーがゲームに参加した時、追加でどのくらい報酬が増えるか
プレイヤーの参加順 各プレイヤーの限界貢献度
A B C
A → B → C 4 12 44
A → C → B 4 38 18
B → A → C 10 6 44
B → C → A 30 6 24
C → A → B 12 38 10
C → B → A 30 20 10
プレイヤーの参加前後での報酬の増加分
= 限界貢献度
A: 誰もいない → A (4 - 0 = 4)
B: Aのみ → A, B (16 - 4 = 12)
C: A, B → A, B, C (60 - 16 = 44)
限界貢献度の期待値
→ 各プレイヤーのShapley Value
→ A: 15, B: 20, C: 25
23. SHAP (Shapley Additive exPlanation)
● 予測結果に対する特徴量の寄与具合を計算
● 貢献度を計算するには、2^M 個の予測モデルが必要
計算コストが高く現実的でないため、「予測値の条件付き期待値」で近似
特徴 i に関するSHAP値 φ
: (特徴 i を加える前の順列) × (特徴 i を加えた後の順列)
: 全特徴量 M 個の順列
: (特徴 i を加えた時の予測値) - (特徴 i を加える前の予測値) = 限界貢献度