はじめに
機械学習の「精度」を上げる本は数え切れないほどありますが、「その機械学習システムが現実世界で人を傷つけないか」を正面から扱う本は多くありません。
今回読んだ『高リスク分野のための機械学習 ―責任あるAI構築のための実践アプローチ』(Patrick Hall、James Curtis、Parul Pandey 著/高江洲勲、伊東道明、園田道夫、北條孝佳、石川太一 訳、オライリー・ジャパン、2025年)は、まさにその領域を扱った一冊です。
原著は Machine Learning for High-Risk Applications(O'Reilly, 2023)で、邦訳版は2025年に出ています。
本記事では、設計・アーキテクチャに関心のあるエンジニア向けに、本書の構成と主要な論点、そして現場に持ち帰れる考え方を整理します。
書籍の基本情報
| 項目 | 内容 |
|---|---|
| 原題 | Machine Learning for High-Risk Applications |
| 著者 | Patrick Hall / James Curtis / Parul Pandey |
| 訳者 | 高江洲勲、伊東道明、園田道夫、北條孝佳、石川太一 |
| 出版社 | オライリー・ジャパン |
| 邦訳版 | 2025年(原書2023年) |
| 構成 | 全3部・12章 |
| コード例 | Python(pandas 1.3系を前提) |
本書が想定する「高リスク」とは何か
本書のタイトルにある「高リスク」は、著者の主観的な線引きではありません。EUのAI規則(AI Act)が高リスクに分類しているアプリケーション領域を下敷きにしています。
具体的には、以下のような領域です。
- 生体認証による識別
- 重要インフラの管理
- 教育
- 雇用
- 公共および民間の必須サービス
- 法執行
- 移民および国境管理
- 刑事司法
- 民主的プロセス
つまり「動かなかったら困る」ではなく、「間違ったら人の人生が変わる」領域です。
こうした領域でよく使われる技術に焦点を当てているため、本書が扱うモデルは主にコンピュータ・ビジョンと、表形式データに対するツリーベースモデルになっています。
なお本書は、教師なし学習・検索・レコメンド・強化学習・生成AIには深く踏み込みません。これは著者が意図的に選択した範囲設定で、「故障モード、緩和策、制御手法が十分に確立されていないモデルを使うこと自体がリスクを増やす」という立場が背景にあります。
この割り切りは、個人的にはむしろ誠実だと感じました。
全体構成
本書は3部構成です。
第Ⅰ部 AIリスクマネジメントの理論と実践的応用(1〜5章)
概念・法規制・組織プロセスなど、理論と背景を扱います。各章の末尾には実際に起きたインシデントの事例分析が付きます。
第Ⅱ部 AIリスクマネジメントの実践(6〜11章)
第Ⅰ部の内容を、Pythonのコード例で実際に手を動かして確認します。XGBoost / EBM を使った表形式データの事例と、PyTorch を使った画像分類の事例が交互に登場します。
第Ⅲ部 結論(12章)
技術やガバナンスを超えた、社会技術的な教訓をまとめています。
NIST AI RMF との整合
本書の特徴として際立っているのが、NIST の AI Risk Management Framework(AI RMF)との対応関係を明示している点です。
第Ⅰ部の各章の冒頭には、その章の内容が AI RMF の4つのコア機能(Govern / Map / Measure / Manage)のどのサブカテゴリに対応するかを示すクロスウォーク表が置かれています。
「責任あるAI」という言葉は抽象的になりがちですが、外部の権威ある標準にマッピングされていることで、章ごとの主張が「著者の意見」ではなく「業界標準に紐づいた実践」として読めるようになっています。
このアプローチ自体が、設計ドキュメントを書くときの参考になります。自分の設計判断を、外部標準のどの項目に紐づけて説明するか、という発想です。
第Ⅰ部の内容
1章 現代の機械学習におけるリスク管理
法規制の概観から始まります。EUのAI規則、米国連邦法(公民権法、ECOA、FCRA、FHAなど)、州・自治体法、そして製造物責任法までを扱います。
特に印象的だったのは ハンド・ルール の紹介です。1947年のラーンド・ハンド判事に由来する過失判断の基準で、要は「注意にかけるコストは、想定される事故のコスト(発生確率×損失)を上回っていなければならない」という考え方です。
これを機械学習システムに当てはめると、次のようになります。
インシデント発生確率が高い、または損失額が大きいシステムには、それに見合うリソース(時間・資金・労力)を安全性確保に投入すべきであり、かつそれを文書化しておくべきである。
「どこまでテストすればいいのか」という永遠の問いに対して、一つの判断軸を与えてくれる考え方だと思いました。
また本章では、モデル・リスク管理(MRM) のプロセスが詳しく紹介されます。
- リスクの階層化
- モデルの文書化
- モデルのモニタリング
- モデル・インベントリ
- システム検証とプロセス監査
- 変更管理
さらに、MRMを超えた実践として以下が挙げられています。
- モデル監査と評価
- 影響評価
- 異議申し立て、無効化、オプトアウト
- ペア・プログラミング/ダブル・プログラミング
- 最小権限の原則
- バグバウンティ・プログラム
- インシデント対応
このリストを見て気づくのは、セキュリティ分野のプラクティスがほぼそのまま持ち込まれていることです。バグバウンティ、インシデント対応、最小権限。ソフトウェアの世界で長年培われてきた「失敗を前提とした設計」を、機械学習のガバナンスに応用しようという発想が本書の軸になっています。
事例:Zillow の iBuying
1章の締めくくりは、不動産テック企業 Zillow の iBuying 事業の失敗事例です。
同社は当初、地元の不動産業者による評価額と Zestimate アルゴリズムを組み合わせ、専門家チームが吟味した上でオファーを出していました。しかしスピードと規模を優先して専門家チームを廃止し、純粋なアルゴリズムベースへ切り替えます。
結果として、2021年に5億ドル以上の在庫評価減、約2,000人の解雇に至りました。
本書が引く教訓は3点です。
- ドメインの専門家と検証する — 報道によれば、Zillow は価格設定の専門家に対し、アルゴリズムへの疑問を呈するのをやめるよう指示したとされています
- 失敗モードを予測する — 「リフォームコストが2倍になったら?」「6か月間で2%過剰に購入したら?」といった問いを事前に立てる
- ガバナンスの重要性 — アルゴリズムの重要度を上げたのに、それに対するガバナンスは強化しなかった
3点目は特に重いと感じました。システムの重要度が上がったとき、それに比例して監視・統制の仕組みも上げているか。これは機械学習に限らず、あらゆるシステムに当てはまる問いです。
2章 解釈可能性と説明可能性
本章の冒頭で示される主張が明快です。
透明性と信頼は同義ではない。
透明性は理解を可能にしますが、理解したからといって信頼につながるとは限りません。むしろ不十分なシステムを深く理解すれば、欠陥が見えて信頼は下がります。
また NIST の研究に基づき、解釈可能性(interpretability) と 説明可能性(explainability) を明確に区別しています。
- 説明 … 複雑なプロセスの各要素を、具体的かつ詳細な心的表現として捉える能力
- 解釈 … 入力された情報を、文脈と背景知識を使って高レベルで意味のある心的表現として捉える能力
そして「解釈可能性は説明可能性よりもはるかに高いハードルである」と述べています。SHAP値を出せば説明したことになる、というわけではないのです。
技術面では、以下が扱われます。
説明可能なモデル
- ペナルティ付き回帰
- 一般化加法モデル(GAM)
- GA2M と説明可能なブースティング・マシン(EBM)
- 単一の決定木
- 制約付き XGBoost モデル
事後的(Post Hoc)説明
- 特徴量寄与度と特徴量の重要度(局所/大域)
- 代理モデル(決定木代理モデル、LIME、Anchors)
- 部分依存プロットと ICE
- Accumulated Local Effect(ALE)
- クラスタ・プロファイリング
注目すべきは、著者が事後説明手法に対してかなり批判的であることです。「実務上の頑固な困難性」という独立した節を設け、この分野の厳密性の欠如と既知の問題点を指摘しています。
XAI(説明可能なAI)を無条件に礼賛しない姿勢は、実務者としては信頼できます。
3章 機械学習システムの安全性と性能の検証
ソフトウェアテストの概念を機械学習に持ち込む章です。
学習フェーズでは、再現性、データ品質、モデル仕様(ベンチマークと代替アルゴリズム、校正、構成要素の妥当性、仮説と限界、デフォルトの誤差関数、多重比較)が論じられます。
そして「一般的な機械学習のバグ」として、以下が列挙されます。
- 分布シフト
- 認識的不確実さとデータのスパース性
- 不安定性
- リーケージ
- 繰り返される入力
- 過学習
- 短絡的学習(Shortcut learning)
- 学習不足
- 仕様不足
これらを検出する手段として、残差分析(残差の可視化、残差のモデル化、ローカル残差への寄与)、感度分析、ベンチマーク・モデルが紹介されます。
デプロイ後については、ドメイン安全性とモデル監視が扱われます。
- モデル劣化とコンセプト・ドリフト
- ドリフトを検知・整理する
- 複数のKPIの監視
- 範囲外の値
- 異常検知とベンチマーク・モデル
- キルスイッチ
最後の「キルスイッチ」という項目があること自体が、本書の姿勢を象徴しています。止められないシステムは、高リスク領域にデプロイすべきではない、ということです。
本章の事例は、自動運転Uberによる死亡事故です。
4章 機械学習におけるバイアスの管理
本書で最も分量が割かれている章の一つです。
まず ISO と NIST の定義に基づき、バイアスを3種類に分けます。
- システミック・バイアス … 社会や制度に埋め込まれたバイアス
- 統計的バイアス … データや手法に起因するバイアス
- 人間のバイアス … データサイエンス文化そのものに潜むバイアス
次に、米国におけるバイアスの法的概念を整理し、「誰がバイアスを経験しやすいか」「どのような害が生じるか」を論じます。
バイアス・テスト の技術的な部分では、伝統的な「等価な結果のテスト」と、新しい「等価な性能品質のテスト」が対比されます。
伝統的なアプローチの代表が AIR(Adverse Impact Ratio) で、いわゆる「5分の4ルール」です。AIR が 0.8 を下回ると不当な影響の兆候と見なされます。
ただし本書は、この指標の誤用を強く戒めています。
AIR が 0.8 を超えているからといって、システムにバイアスが存在しないと断定するのは早計である。
閾値をクリアすることと、公平であることは別問題である、というわけです。
新しいマインドセットとして提案されるのが「等価な性能品質のテスト」です。結果の割合ではなく、TPR / TNR / FPR / FNR といった性能指標がグループ間で同等かを見ます。許容範囲は 0.8〜1.25、高リスク領域では 0.9〜1.11 とより厳しく設定する場合もあると述べられています。
バイアスの緩和 については、以下が体系的に紹介されます。
- 技術的なバイアス緩和要因
- 科学的方法と実験デザイン
- 技術的なバイアス緩和アプローチ(前処理・中間処理・後処理)
- 人間要因によるバイアス緩和
事例は、Twitter(現X)が実施した世界初の バイアス・バグバウンティ です。
5章 機械学習のセキュリティ
セキュリティに関心があるエンジニアには、本章が最も刺さるはずです。
まず CIA の3要素(機密性・完全性・可用性)を機械学習システムに当てはめ、「敵対的な思考」の重要性を説きます。
完全性を侵害する攻撃(出力の操作)
- 敵対的サンプル攻撃
- バックドア攻撃
- データ汚染攻撃
- なりすまし攻撃と回避攻撃
- 機械学習の説明性に対する攻撃
機密性を侵害する攻撃(情報の窃取)
- モデル抽出攻撃
- 反転攻撃
- メンバーシップ推論攻撃
対策としては、以下が挙げられます。
- セキュリティのためのモデル・デバッグ(敵対的サンプル探索、内部関係者によるデータ汚染の監査、倫理的ハッキング)
- セキュリティ確保のためのモデル監視
- プライバシー強化技術(PETs)— 連合学習、差分プライバシー
- ロバスト ML
「モデルの説明性に対する攻撃」という項目があるのが興味深いところです。SHAP値などの説明結果自体を操作する攻撃手法が研究されており、攻撃対象が拡大しています。説明可能性は防御手段であると同時に、新しい攻撃面でもあるわけです。
本章の事例は、実際に発生した回避攻撃です。
第Ⅱ部:手を動かすパート
第Ⅱ部は、第Ⅰ部の概念を Python コードで実践します。表形式データ(消費者金融の与信)と画像(胸部X線の肺炎分類)の2系統が並行して進みます。
6章 EBM と XGBoost の説明
台湾のクレジットカード・デフォルトデータを使い、Elastic Net → GAM → EBM とモデルを段階的に高度化しながら、透明性と精度のトレードオフを体感します。AUC は 0.73 → 0.75 → 0.78 と上がっていきます。
その後、制約あり/なしの XGBoost を比較します。単調制約を課したモデルは学習データでのスコアは劣るものの、検証セットではほぼ同等でした。制約が汎化に寄与している例です。
Shapley値の課題(背景データセットの選び方で説明が変わる)についても踏み込んでいます。
7章 PyTorch を用いた画像分類器の説明
胸部X線画像の分類器に対し、Captum を使って Occlusion、Input*Gradient、統合勾配、LRP といった事後説明手法を適用します。ProtoPNet のような説明可能な深層学習モデルにも触れています。
8章 XGBoost モデルの選択とデバッグ
この章の セグメントエラー分析 が強烈でした。
全体の AUC は 0.78 で、一見すると悪くありません。しかしセグメントごとに分解すると、あるセグメントでは FPR が 1.0、つまり「支払いを遅延しない人全員を、遅延すると誤予測している」という状態でした。
集約指標が個別セグメントの壊滅的な挙動を覆い隠す。この事例は、モデル評価の設計を考え直させます。
さらに、景気後退をシミュレートしたストレステスト(支払い額を減らし、一部を延滞に変更する)を行い、AUC が 0.777 → 0.739 に低下することを確認します。「この劣化を財務的に許容できるか」という問いを立てるところまでが本章の射程です。
9章 PyTorch 画像分類器のデバッグ
データ品質とリークの確認、深層学習のためのソフトウェアテスト、ドメイン/サブ集団シフトのテスト、敵対的サンプル攻撃、ハイパーパラメータ摂動と進み、ノイズ注入などの修復を試みます。
修復後も分布外データでの性能が実質ランダムに近い水準にとどまる、という結果を正直に報告しているのが誠実です。
10章 XGBoost によるバイアスのテストと修正
前処理(リウェイング)、中間処理(正則化)、後処理(棄却オプション)、モデル選択という4つの緩和アプローチを実際に適用し、結果を比較表で並べます。
後処理では、AIR を 0.9 以上に改善しつつ F1 値の低下を約6%に抑える、といった具体的なトレードオフが示されます。「公平性と精度のトレードオフ」が抽象論ではなく数字で提示されるので、非常に納得感があります。
11章 XGBoost のレッドチーム演習
自分のモデルを自分で攻撃する章です。
- モデル抽出攻撃(代理モデルの構築)
- 敵対的サンプル攻撃(スコアを 0.256 → 0.064 まで低下させる入力の作成)
- メンバーシップ推論攻撃
- データ汚染
- バックドア(スコアリングコードへの細工)
ここで面白いのは、制約付きモデルの方が抽出攻撃に対して脆弱だったという結果です。制約なしモデルの代理モデルは R² が 0.6 台にとどまったのに対し、制約付きモデルでは 0.9 台に達しました。
透明性と安定性を持つ制約付きモデルは、外部から挙動を推測しやすくもある。防御策が別の攻撃面を作るという構図で、セキュリティ設計における典型的なトレードオフです。
第Ⅲ部:12章 高リスクの機械学習で成功する方法
技術書としては珍しく、最終章がほぼ社会技術的な話です。
データ科学的な手法というアンチパターン
著者が名付けた「データ科学的な手法(data scientific method)」というアンチパターンの記述が秀逸でした。
- プロジェクトで数百万ドルの利益が得られると仮定する
- GPU を導入し、Python をインストールする
- インターネットやビジネスプロセスの副産物から、不正確で偏りのあるデータを収集する
- 確証バイアスに屈する
- 収集したデータで研究し、仮説を立てる(=どの変数とアルゴリズムを使うか決める)
- 仮説を立てたのと本質的に同じデータで、仮説を検証する
- ゆるやかな相関にも適合できる学習アルゴリズムを使って検証する
- 結果が「良好」に見えるまで仮説を修正し続ける
- 再現性には特に配慮せず、「すべてうまくいくだろう」と結論づける
耳が痛い、と感じる人は多いのではないでしょうか。私も心当たりがあります。
科学的手法への置き換え
著者が代わりに提案するのは、次の流れです。
- 先行実験や文献調査に基づき、経験的・理論的裏付けのある直感を立てる
- 仮説を記録する(GitHub リポジトリのような公開された場所に置く)
- 実験計画法などを用いて、仮説検証に適したデータを収集する
- 機械学習システムが処置群に対して意図した効果を持つという仮説を検証する
- CEM や FLAME で観察データから対照群・処置群を構築するか、対照実験を設計する
- 処置群における統計的に有意な効果を検定する
- 再現する
ここでのポイントは、仮説の対象が「XGBoost が LightGBM より優れている」ではなく、「このシステムが現実世界でどのような意図された結果をもたらすか」であるべきだ、という主張です。
技術選定の仮説ではなく、成果の仮説を立てる。この視点の転換は、機械学習に限らずあらゆる設計判断に応用できると思います。
発表された結果と主張の評価
Medium、Substack、Quora、LinkedIn、X などは査読を経た出版物ではない、という当然の指摘から始まります。arXiv のプレプリントも原則として査読を受けていません。
著者は「本書自体も技術レビューは受けているが正式な査読は受けていない」と明記した上で、だからこそ NIST AI RMF のような外部基準に準拠させたのだ、と説明しています。
自分の主張の限界を明示するこの態度は、書き手として見習いたい部分です。
その他の論点
- 多様なチームの重要性 — 実装過程で生じるバイアスは、開発者の属性と相関するという研究結果が引用されています
- 外部規格の適用 — FRB の MRM 監督指針、NIST AI RMF、EU AI Act の附属書、ISO 標準の使い分け
- 常識的なリスク軽減
MRM 監督指針から抽出された教訓が、そのままエンジニアリング組織論として通用します。
- 文化が支配する(組織文化がリスク管理を尊重していなければ、仕組みは形骸化する)
- リスクマネジメントはトップから始まる
- 文書化は基本的なリスクマネジメントである
- テストは独立した重要な機能であるべき(テスターには開発を停止する権限を)
- リスクマネジメントに従事することにインセンティブを与えるべき
「テスターに開発を止める権限を与える」という点は、多くの組織で実現できていないのではないでしょうか。
設計・アーキテクチャの観点から得たもの
機械学習の本ですが、システム設計の本として読んでも得るものが多い一冊でした。
1. 集約指標を疑う設計
8章のセグメントエラー分析が示すとおり、全体の指標は局所的な破綻を隠します。これは機械学習に限りません。平均レイテンシが良好でも、特定条件下で致命的に遅い、というのはよくある話です。
指標は必ず分解して見る仕組みを、設計段階で組み込む。この原則を再確認しました。
2. 制約は精度を犠牲にするだけではない
単調制約を課した XGBoost が、検証セットで制約なしモデルとほぼ同等の性能を出す。この結果は、「制約=性能の犠牲」という素朴な理解を修正してくれます。
ドメイン知識に基づく制約は、汎化性能への寄与とデバッグ容易性という二重の利益をもたらします。型システムやアーキテクチャ上の制約についても、同じ構図があると思います。
3. 透明性はトレードオフを伴う
11章で示された「制約付きモデルの方が抽出攻撃に脆弱」という結果は、透明性という価値が無条件の善ではないことを示しています。
説明可能にすることは、攻撃者にとっても説明可能にすることでもある。設計上の意思決定は、常に何かとのトレードオフです。
4. 標準へのマッピングという文書化手法
各章を NIST AI RMF のサブカテゴリに対応づけるクロスウォーク表の手法は、そのまま設計ドキュメントに転用できます。
「この設計判断は、どの外部基準のどの項目に対応するのか」を明示できれば、レビューの議論は主観の応酬から抜け出せます。
気になった点
- 前提ライブラリのバージョン — pandas 1.3系を前提としているため、そのままでは動かないコードもあります。手を動かす場合は環境を合わせるか、適宜読み替える必要があります
- 範囲の限定 — 生成AI や LLM を扱わないのは意図的な選択ですが、今この分野に関心がある読者にとっては物足りなさもあります。ただし本書のフレームワーク自体は生成AI にも応用可能であり、著者もそう述べています
- 法規制は米国中心 — EU AI Act は扱われますが、日本の状況に読み替える作業は読者側に委ねられます
こんな人におすすめ
- 機械学習を実際に本番投入している/これからする立場のエンジニア
- モデルの精度は出せるが、それをどう検証・監視すべきか整理できていない人
- セキュリティの観点から機械学習システムを見たい人
- 設計におけるリスク管理の考え方を、体系的に学び直したい人
- 「責任あるAI」という言葉を、抽象論ではなく具体的な手順として理解したい人
逆に、機械学習アルゴリズムそのものを学びたい入門者には向きません。本書は「モデルは作れる」ことを前提としています。
まとめ
本書の主張を一文にまとめるなら、次のようになります。
テストデータで良い性能を出すことと、現実世界で意図した効果を発揮することは、まったく別の問題である。
「素早く動いて破壊せよ」というアプローチが通用しない領域が、確実に広がっています。EU AI Act は2024年8月に発効し、2026年8月から段階的に施行されます。規制は待ってくれません。
そして本書が繰り返し強調するのは、この課題が技術だけでは解けないということです。文化、プロセス、チーム構成、インセンティブ設計。それらすべてが揃って初めて、高リスク領域の機械学習は成立します。
機械学習を扱っていなくても、「自分の作っているシステムが失敗したとき、誰がどう困るのか」を考えたことがある人には、読む価値のある一冊だと思います。
参考
- Machine Learning for High-Risk Applications(原著)
- NIST AI Risk Management Framework
- EU AI Act
- SR 11-7 Guidance on Model Risk Management