(このブログポストは Trusted AI Cornerstones: Performance Evaluation の和訳です)
AI は、理論数学と高度なハードウェアが支配する世界から、意思決定の大小を問わず、日常生活のあらゆる分野へと活用の場を広げました。AI の開発が加速し、利用が拡大するにつれて、AI システムに対する要求も高度化しています。
DataRobot では、信頼できる AI であるかどうかを AI 成熟度の判断基準としています。信頼は、精度や公平性のようなシステムに内在する性質ではなく、人間と機械が良好な関係にあるときに存在する特徴の 1 つです。AI ユーザーとシステムの間に信頼を築く必要があります
本ブログでは、信頼できる AI を構成する要素のうち、モデルのパフォーマンスについて説明します。高度なパフォーマンスの実現には、主に「データ品質」、「精度」、「堅牢性と安定性」、「スピード」の 4 つが必要です。
アウトプットの質はインプット次第
AI の信頼性を確保するには、質の高いデータが必要です。どの機械学習モデルにおいても、パフォーマンスは、トレーニングと検定に使用されたデータと密接なつながりがあります。
ユースケースによっては、企業には、非公開の社内データだけでなく、オープンソースのパブリックデータやサードパーティーのデータなどが混在している場合があります。どのデータソースを使用したか、いつアクセスしたか、どのように検証したかなど、データの出所を追跡可能な形で記録しておくことが重要です。
サードパーティーやオープンソースのデータを使用する場合は、そのデータがどのように収集されたのか、最新の取得日も含めてできるだけ多くの情報を見つける必要があります。
データが手元にある場合は、その品質を評価してください。 品質評価には、以下の基本的作業が含まれます。
- 各特徴量についてサマリー統計を計算する
- 特徴量間の関連性を評価する
- 特徴量の分布、およびそれらと予測ターゲットとの相関を観測する
- 外れ値を識別する
また、欠損値、偽装欠損値、重複行、モデルのための情報を一切持っていない一意の識別子、ターゲットリーケージ(予測時には利用できないはずの情報がモデルのトレーニングプロセスで使用されること)がないか確認する必要もあります。
複数のツールと視覚化機能を使用
精度は、モデルのパフォーマンス指標の一部であり、モデルの全体的な誤差をさまざまな方法で測定します。複数のツールおよび視覚化機能を、説明可能性に関する機能やバイアスと公平性のテストと併用することで、精度を最適に評価できます。
複数のツールおよび視覚化機能を、説明可能性に関する機能やバイアスと公平性のテストと併用することで、精度を最適に評価できます。二値分類では、混同行列と、そこから派生した一連の指標および視覚化を利用して、クラス割り当ての精度を調べるのが一般的です。混同行列では、分類しきい値に基づく真陽性、偽陽性、真陰性、偽陰性の数を確認でき、さらにモデルの感度、特異性、精度、F1スコアなどの値を計算することができます。
DataRobot のリーダーボードには、特定のデータセットに対して構築されたエンドツーエンドのモデリング手法の情報がすべて表示されます。そのため、多様な機械学習手法の間で精度を直接比較できます。
データの変化に対する予測の一貫性を確保
本番環境の AI モデルには、タイプミスから異常なイベントまで、クリーニングされていないあらゆる種類の無秩序なデータが投入されます。こうしたデータは意図しない動作を誘発するおそれがあります。こうした不適切なデータを事前に把握し、それを最小限に抑えるようにモデリング手法を調整することは、モデルパフォーマンスの堅牢性と安定性にとって極めて重要です。
モデルに安定性があると、データの中で動作を不安定にさせるような変化が生じても、通常はほとんど影響を受けません。データの変化に対しては、モデルが一貫して安定した動作を示すことが理想的です。ほとんどの場合、予測結果はほとんど変わらないはずです。
モデルの堅牢性は、これまでにないほどの大きな変化や異常値に対する対応をもとに評価されます。モデルの予測がこうしたデータの乱れによってどう変わるかを把握しておくと良いでしょう。予測が破綻し、非常に大きな値になるでしょうか?それとも、徐々に横ばいになったり、ゼロに近づいたりするでしょうか?
役立つ結論を迅速に獲得
モデルの開発を急ぎたいのは当然ですが、モデルを稼動できただけで満足するのではなく、予測にかかる時間にも注意を払う必要があります。DataRobot の目標はそこにあります。
モデルをスコアリングする方法は 2 つあります。1 つ目はバッチ予測と呼ばれます。新しいレコードを一括して送信し、モデルですべてを一度にスコアリングします。バッチ処理の規模は極めて重要です。数値やカテゴリーデータを含む数百のレコードのスコアリングと、何ギガバイトものデータのスコアリングとでは大きな違いがあるからです。スコアリングのスピードは、状況によって程度の差はあれ、モデルの選択において重要な要素と言えるでしょう。スコアリング処理を月に 1 回しか実行せず、それに毎回 1 時間かかる場合、10 分の時間短縮に精度低下を甘受するだけの価値があるとはまず考えられません。 大規模なデータセットのスコアリング処理を毎日実行している場合は、計算負荷の低いモデリング手法を使用して結果出力までの時間を短縮するほうが望ましいアプローチになる可能性があります。
リアルタイムで返される予測結果が必要な場合もあります。たとえば、デジタル広告では、1 回のクリックだけを頼りに、特定の広告を特定のユーザーに割り当てることがあります。リアルタイムの予測スコアリングでは、モデルは数ミリ秒でスコアを計算しなければならないかもしれません。AI システムに対する信頼を醸成できれば、自動運転車や、医学への人工知能の大規模導入など、変革をもたらす AI テクノロジーの実現が見えてきます。とはいえ、信頼できる AI モデルの構築には時間と計画が必要です。このブログシリースでご紹介した 4 つのステップは、モデリングで信頼できるパフォーマンスを実現するための道筋となるでしょう。
信頼できる AI
信頼できる AI 入門 : 信頼性が高く倫理的な AI システムの構築ガイド
詳しくはこちら
執筆者について
Sarah Khatry(サラ・ハトリー)
アプライドデータサイエンティスト
Trusted AI(信頼できる AI)チームに属するアプライドデータサイエンティスト。AI の倫理的利用、特に、責任ある実用的な AI スチュワードシップを支援するツール、フレームワーク、アプローチの構築、AI 倫理に関するソートリーダーシップと教育の推進に注力しています。
Sarah Khatry(サラ・ハトリー)(Blog) についてもっとくわしく