機械学習におけるシャプレー値を理解するにはどうすればよいでしょうか?

機械学習におけるシャプレー値を理解するにはどうすればよいでしょうか?

[[282454]]

シャプレー値について初めて聞いたのは、モデルの解釈可能性を勉強していたときでした。機械学習モデルがなぜそのように動作するのかをよりよく理解するためのフレームワークである SHAP について学びました。シャプレー値は以前から存在しており、1953 年にゲーム理論の分野で次のような状況を解決するために最初に生まれました。

  • さまざまなスキルを持つ参加者のグループが、集団的な報酬を得るために互いに協力します。では、グループ内で報酬を公平に分配するにはどうすればよいでしょうか?

「古い」概念が機械学習などの別の分野に適用された場合、それがどのように新しい応用を獲得するかを見るのは非常に興味深いことです。機械学習では、参加者は入力する特徴であり、集合的な支出はモデルの予測です。この場合、Shapley 値を使用して、モデル出力に対する個々の特徴の寄与を計算します。

シャプレー値を計算するにはどうすればよいでしょうか? ほとんどの場合、文献では次の式が見られます。

詳しく見ていきましょう。連合ゲーム (前述のシナリオ) では、N 人のプレイヤーの集合が存在します。また、これらのプレーヤーの任意のサブセットの値を返す関数 v もあります。つまり、S が N のサブセットである場合、v(S) はそのサブセットの値を返します。したがって、共同ゲーム (N, v) の場合、この式を使用してプレーヤー i の貢献、つまり Shapley 値を計算できます。

皆さんはどうか分かりませんが、私が初めてこの方程式に出会ったとき、すぐに次のような反応をしました。

[[282456]]

なぜそのように見えるのか理解するのは難しいです。しばらく時間をかけて調べた後、ようやく少し理解できるようになりました。それでは、始めましょう!

さて、最初にやらなければならないことは、最初の方程式を書き直すことです。

一見、この式は簡単になる気がしませんが、心配しないでください。すぐに、方程式のさまざまな部分を理解できるように分解しますが、すべての部分の抽象度を下げるために使用できる具体的なシナリオを定義することもできます。

レンガを生産する工場を経営しているとします。私たちの制作チームは、アマンダ、ベン、クレア、ドンの 4 人で構成されています (これからは名前の頭文字で呼びます)。彼らは一緒に毎週X個のレンガを生産しようとします。工場の稼働状況が好調なので、チームメンバーにボーナスを支給します。しかし、これを公平に行うためには、各人が週に X 個のレンガの生産にどれだけ貢献しているかを把握する必要があります。

最も難しいのは、チームが生産できるレンガの数に影響を与える要因がいくつかあることです。その 1 つはチームの規模です。チームが大きくなればなるほど、生産されるレンガの数も増えるからです。もう一つは、チームメンバー間の協力のレベルです。問題は、これらの効果を意味のある方法で定量化できないことですが、幸いなことに、シャプレー値を使用することでこの問題を回避できます。

これで、プレイヤー (A、B、C、D) と、彼らがプレイするゲーム (レンガの生産) が定義されました。まず、生産された X 個のレンガのうちどれだけが Don に起因するかを計算すること、つまり D の Shapley 値を計算します。これをシャプレー値の公式のパラメータに関連付けると、次のようになります。

したがって、D はプレーヤー i であり、N グループ全体はプレーヤー A、B、C、D の 4 人全員で構成されます。まず、シャプレー値の式のこの部分を見てみましょう。

つまり、現在注力している人々からチームメンバーを除外する必要があります。次に、すべての可能なサブセットを考慮する必要があります。したがって、グループから D を除外すると、{A、B、C} が残ります。この残りのグループから、次のサブセットを形成できます。

残りのチーム メンバーのサブセットを合計で 8 つ作成できます。サブセットの 1 つは空のセット、つまりメンバーが存在しません。さて、この部分に注目してみましょう。

これは、プレイヤー i をゲームに追加することの限界値である Shapley 値の基本概念の応用です。したがって、任意のサブセットについて、その値をプレーヤー i が含まれる場合の値と比較する必要があります。これを行うことで、プレーヤー i をこのサブセットに追加することの限界値が得られます。

これを例に結び付けて、8 つのサブセットのそれぞれに D を追加した場合に、1 週間に生産されるレンガの数がどのように変化するかを確認します。これらの 8 つのエッジ値は直感的に次のように表すことができます。

それぞれのケースは、D が全体の生産にどの程度貢献しているかを公平に評価するために観察する必要がある異なるシナリオと考えることができます。つまり、誰も作業していない場合(つまり、空のセット)にレンガがいくつ生成されるかを観察し、それを D のみが作業している場合と比較する必要があります。また、AB が生産したレンガの数を観察し、それを AB が生産したレンガの数と、8 セットすべてで D が生産できるレンガの数と比較する必要があります。

さて、これで 8 つの異なるエッジ値を計算する必要があることがわかりました。シャプレー値の方程式は、それらを合計する必要があることを示しています。ただし、それを行う前に、方程式のこの部分からわかるように、各限界値も調整する必要があります。

プレーヤー i を除く残りのチームメンバー全員のサブセットの順列がいくつあるかを計算します。言い換えると、プレイヤーが |N|-1 人いる場合、そのプレイヤーでサイズ |S| のグループをいくつ形成できますか? 次に、この数をプレイヤー i のサイズ |S| のすべてのグループへの限界貢献度で割ります。

このシナリオでは、|N|-1=3、つまり、D の Shapley 値を計算したときに残っているチーム メンバーの数です。私たちの場合、残りのメンバーで構築できるグループ サイズは 0、1、2、3 のみであるため、式のその部分を使用して、サイズ 0、1、2、3 のグループをいくつ形成できるかを計算します。たとえば、|S|=2 の場合、サイズ 2 の 3 つの異なるグループ (AB、BC、CA) を構築できます。つまり、8 つのエッジ値のそれぞれに次のスケーリング係数を適用する必要があります。

なぜこれをするのか考えてみましょう。 D がチームの総出力にどの程度貢献しているかを知りたいのです。これを実現するために、私たちは、編成できるチームの各セットに対する彼の貢献を計算しました。このスケーリング係数を追加することで、他のチームメンバーが各サブセットのサイズに与える影響を平均化します。つまり、サイズ 0、1、2、3 のチームに D を追加すると、これらのチームの平均限界貢献度を把握できることになります。

はい、ほぼ完了です。あとはシャプレー値の式の最後の部分を因数分解するだけですが、これはかなり簡単に理解できるはずです。

合計する前に、これをすべての限界値に適用する必要があります。それらをプレーヤーの総数から分離する必要があります。

なぜこれを行うのでしょうか? ブリックヤードの例を見ると、サブセット サイズごとに他のチーム メンバーの影響を平均化しているため、サイズが 0、1、2、3 のグループに対する D の貢献を計算できます。パズルの最後のピースは、平均グループ サイズの影響です。つまり、D がどの程度貢献するかはグループ サイズとは無関係です。

これで、ようやく D の Shapley 値を計算し、彼がチームのさまざまなサブセットすべてにどれだけ貢献しているかを観察できます。また、チーム構成とチーム規模の影響を平均化し、最終的に次の計算を行うことができました。

数学的表記は数学的説明というよりはグラフィカルな説明です(私はそう想像しています)

ここで、D の Shapley 値が得られます。チームの残りのメンバーに対してこの作業を行うと、毎週生産される X 個のレンガに対する各メンバーの貢献度がわかるので、ボーナスをチームメンバー全員に公平に分配できます。

この時点で、Shapley の価値観をより深く理解していただけたと思います。素晴らしいのは、価値関数 v の内部の仕組みについて何も知る必要がなく、ゲームに参加するプレイヤーのさまざまなサブセットに提供される値を観察するだけでよいことです。

これが、シャプレーの価値観の背後にある真の力と魅力です。しかし、これには代償が伴います。 n 人のプレイヤーがゲームをプレイしている場合、シャプレー値を計算するために 2^n 個のサブセットを分析する必要があります。

計算をより実用的にする方法はいくつかあり、冒頭で SHAP フレームワークについて説明しました。このフレームワークの主な利点は、機械学習に適用すると Shapley 値をより効率的に計算できることです。

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式サイトにアクセスして許可を申請してください。

<<:  2019年の中国の人工知能産業と産業配置の分析

>>:  ビッグデータに責任を負わせないでください。スモールデータをうまく活用する方が効果的かもしれません。

ブログ    
ブログ    
ブログ    

推薦する

...

...

AIとブロックチェーン:この2つの人気技術の衝突はどのような火花を散らすのでしょうか?

編集者注: ブロックチェーンと AI は、今日最もホットな 2 つの技術方向であると言えます。一般の...

...

レコメンデーションシステムにおけるディープラーニングの応用: パーソナライズされたレコメンデーションの新たな領域

インターネットの発展により、人々は膨大な量の情報と製品の選択肢に直面しており、パーソナライズされた推...

データは1/5000に縮小されたが、モデルの精度は2倍に。Googleの新しい「蒸留法」が人気に

[[441258]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...

フィンテック2022年の技術トレンド:プライバシーコンピューティングが焦点、仮想人間が金融マネージャーを再構築

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

ビッグデータの本当の問題と、なぜ機械学習だけがそれを解決できるのか

多くの企業が、データの取得から洞察の獲得まで、スムーズに実行されるパイプラインの構築に依然として苦労...

...

テクノロジー企業史上初:MetaがGPT3パラメータサイズのAIモデルをオープンソース化

テキスト段落の生成、人間の会話のシミュレーション、数学の問題の解決において驚くほど優れたパフォーマン...

Google が 7 つの言語で新しいデータセットをリリース: BERT などの多言語モデル タスクの精度が最大 3 倍向上します。

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

転移学習に関する最先端の研究:低リソース、ドメイン一般化、安全な転移

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

フロントエンドアルゴリズムシステム演習:リンクリストの章が完了

[[357916]]実践する前に、データ構造やアルゴリズム、あるいはこのシリーズについての誤解を避け...

変革のトレンド: ジェネレーティブ AI とソフトウェア開発への影響

人工知能の出現により、ソフトウェア開発の継続的な発展が加速しています。この強力なテクノロジーは、ソフ...