本記事はGurobi.comに掲載されている下記の記事を日本語訳しています。
Defending Your Model: Navigating Transparency, Interpretability, and Explainability in Optimization Models |
アルゴリズムが高度になればなるほど、その理屈や結果を理解することは難しくなりがちです。それほど複雑なアルゴリズムが日々の意思決定に広く適用されているとなると、特に意思決定の影響を受ける人々に疑問が生じます。
「このアルゴリズムが自分にそう指示するのはなぜなのか?」
機械学習の分野においては、この疑問に関係する様々な概念が登場します。例えば:
透明性 (transparency):この訓練済みのモデルはどのように作られたのか?
解釈可能性(解釈性)(interpretability):訓練済みモデルが持つ係数に対応する現実世界での概念は何か?
説明可能性(説明性)(explainability):特定の入出力の組についてその出力が得られるのはなぜか?
数理最適化は、アルゴリズムによってサポートされた複雑な意思決定プロセスの最後の手順となることが多いため、数理モデルやその結果に対しても似たような疑問が生じえます。本記事では、こうした疑問を複数の視点から検証していきます。\
魔法が起こるとき
まずは「どのように」説明するかの前に、説明には「何が」必要なのかを考えてみましょう。機械学習と最適化はいずれも、モデルが作成されるフェーズと、そのモデルを使って出力を得るフェーズの主に二つから成り立っています。
機械学習では、データにアルゴリズムを適用させてモデルを得ます。より高度なアルゴリズムによってモデルはより高精度なものとなるかもしれませんが、「多層ニューラルネットワークの係数が正確には何を表しているのか」の解釈に難のあるモデルになってしまうかもしれません。似たように説明性にも影響が出ます。つまり、入力から予測/分類モデルを経て出力までの経路をたどることはできても、得られた結果が人の観点からして合理的である理由を、これらの数学的演算によって説明することはほとんどできません。
数理最適化の場合、モデル自体は人の手で定義されます。モデルを構成するそれぞれの要素は、現実世界での概念と直接結び付けられます。その意味では、モデルは意思決定を行う環境の「デジタルツイン」だとみなすことができます。したがって、「この制約では、ある週の合計生産量がその機械の生産能力を超えてはならない」のように、モデルを解釈することはそれほど難しくはありません。残るは、なぜソルバーが特定の解をそのモデルに対して返したかを説明することです。\
バタフライ効果
透明性の疑問に対するひとつのアプローチとして、基盤となるアルゴリズムの説明を試みることが考えられます。しかしそのアルゴリズムは多くの場合、単純な線形計画の解法だけではなく、相互に作用する複数の手法(探索木の分枝、切除平面、ヒューリスティック、前処理など)から成っています。これらの手法について個別に説明したとしても、結果が得られる道筋を説明したことにはなりません。
想定されるもう少し質問を具体的にしてみましょう。ユーザーから聞かれる、モデルの解に関する質問は、個別の決定に関したものであることがよくあります。つまり例えば、「自分の予想以上にこの倉庫から供給するのはなぜか?」「予算の大部分をあるひとつの銘柄に割り当てるようなポートフォリオになるのはなぜか?」「他の人はそうでないのに、なぜ自分だけが連勤するような計画になるのか?」といった質問です。
質問の対象を局所的に注目して(モデルの残りの部分を見ないまま)答えを探そうとするかもしれませんが、意思決定と目標に関するすべての関係性を考慮した大域最適解を得るために、意思決定問題をひとつのモデルとして解いていることを忘れてはいけません。一つのモデルに複雑なすべての関係が含まれているからこそ、おそらくこうした質問に対する単純な答えはありません。理由や影響の説明には、モデルの深い理解が必要です。
私たちにできることは?
説明性の質問に立ち向かう方法の一つとして、反例を作ってみることが挙げられます。「なぜソルバーはXという解を選択したのか?」の代わりに、「なぜソルバーはYという解を選択しなかったのか?」を考えます。抽象的に見えるかもしれませんが、これはまさに、最適化モデルを構築し、その結果を長年その作業に携わってきたプランナーに提示するときに起こることです。幸いこの質問には比較的簡単に答えられます。ここでは三つのシナリオを考えてみます。
指定された条件を考慮すると、Yはそもそも代替案にならない。専門用語を使えば、モデルにYを制約すると実行不能 (infeasible) になる。「なぜ」という問いにさらに詳しく答えるための、潜在的なフォローアップの質問を検討していく。
Yは代替案足りうるが、Xよりも評価が悪い。専門用語を使えば、Yで構成される(Yを想定した)どの解も、最適解より悪い目的間数値を持つ。
XとYはどちらも有効で同じ目的関数を達成している。この場合、ソルバーはどちらの解も返しうるが通常一方しか返せず、原則としてソルバーはどちらかの解を好んで返すことはしない。前項のシナリオについても言えることだが、もしYが真に好ましいのであれば、それがモデルの目的関数に反映されるようにすべきだ。
実行可能(feasible)な代替案ではないとき
Gurobiに付属しているネットワークフローのサンプルコードを例に見てみましょう。これは、他の都市の三つの倉庫からの需要に基づいて、二つの都市が持つ生産能力を分配する様子をモデル化したものです。説明性について示すために、ここではDetroitからBostonへの供給は不可能と仮定します。このネットワークフローのサンプルでは、モデルを最適化する方法を示しており、その結果からDenverからNew Yorkへはフローを流さないことを確かめられます。
すると、プランナーの一人が「なぜDenverからNew Yorkへと供給をしないのか」と尋ねるかもしれません。簡単な答え方は、「もしそうしたらどうなるか」をやってみせることです。
プランナーの言う仮定を表現する1本の制約を加えると、モデルが実行不能になることを確かめられるでしょう。言い換えれば、DenverからNew Yorkへの供給は(もはや)代替案ではないということです。
プランナーは再び「なぜ?」と尋ねるかもしれません。幸いにもGurobiはこの答えを提供できます。IIS (Irreducible Inconsistent Subsystem) を計算することで、モデルの実行不能性を明示する単純化されたバージョンを得ることができます。単純化されたモデル (newflow.ilp)によれば、DenverからNew Yorkへ50の量を供給すると、DetroitからNew Yorkへ供給することはできなくなります。しかしモデルにはすべての供給と需要が一致していなくてはならないと記述されているにも関わらず、10の需要しかないSeattleに対してDetroitは50すべてを供給するしかなくなってしまいます。

最適ではない代替案
二番目のシナリオについて、Gurobiに付属している人員計画サンプルを少し改変したものを例に見てみましょう。この例題では、従業員の出勤可否を考慮しつつ、需要を満たすよう従業員にシフトを割り当てます。オリジナルのモデルは、従業員が足りない日があるために解が存在しません。変更したコードはここから参照できます。解を観察すると、Amyは5日間連続で働くことになります。

Amyが「なぜ?」と尋ねてくるのは自然なことでしょう。答えはその質問を逆にして「5日以上の連勤を誰もしないとどうなるか?」を考えることで見えてきます。この制約は簡単にモデルに追加できます。変更前のモデルでは最適解のコストが480であったところ、487になることが分かります。言い換えれば、ソルバーが4連勤に収まる解を選択しないのはそれが最適にならず、5連勤を含むシフトを採用することで、より低いコストを実現できるからです。

意思決定の複雑さを紐解く
数理最適化問題は本質的に難しく、だからこそ最初から高度な技術を使うべきです。
すべての決定はつながっているため、あらゆる決定の背後にある理由を説明することは簡単ではありません。しかし幸いなことに、個別の懸念に対しては、適切な反対質問を考えモデルを使った説明を行うことで通常は容易に解決できます。
Gurobiによる最適化が、最も困難な意思決定問題の解決にどれほど役立つかを確かめたいですか?今すぐ無料の評価ライセンスをリクエストしてください。
お気軽にお問い合わせください
以下の中からお問い合わせしたい内容に最も合うものを選択して、お問い合わせフォームに必要事項をご入力ください。なお、営業目的のメールはご遠慮ください。
製品見積・購入関連
当社製品の価格・オプションについては、こちらより営業チームにご相談ください。
評価版ライセンス関連
当社製品の評価版ライセンスの申請については、こちらよりお申し込みください。
その他
当社製品に関するコンサルティングサービス、ライセンス更新関連、パートナープログラム等については、こちらよりお問い合せください
当社製品に関するサポートは、こちらをご覧ください。
取材やプレス関連お問合せは、marketing-japan@gurobi.com までご連絡ください。

