機械学習を用いたシステムの分析・統計的な評価
背景
機械学習を用いたシステムの信頼性・安全性を検証するためにはデータセットが必要となる。データセットの品質に偏りがあり、ノイズが入っているような低品質のデータセットに対する精度は低くなることがある。そのため、 高品質のデータセットと低品質のデータセットが混在している場合、機械学習を用いたシステムを一律に評価しても妥当性が不明瞭になるという問題がある。そのようにデータセットの品質にばらつきがある場合でも、妥当性のある評価することを目的とする。Dataset Fault Tree Analysis for Systematic Evaluation of Machine Learning Systems[1]ではDataset Fault Tree Analysisという手法を用いて安全分析からテストまでを系統的に実施し、データセットの品質にばらつきがある状態でも、機械学習を用いたシステムに対して妥当性のある評価している。本記事ではDataset Fault Tree Analysisについて説明する。
Dataset Fault Tree Analysis
Dataset Fault Tree Analysisとは機械学習システムを系統的に分析・評価する手法である。これは誤認識が発生する要因をもとにデータセットを故障木として構築することで、系統的な分析を行うことができる。また、標本に対する誤認識率をテストで求め、そこから母集団の誤認識を推定することで、統計的な評価を行うことができる。故障木の葉として表されている部分の認識率を求めることで、故障木の中間部分や根の認識率も求められる。評価対象のシステムに対してx%以上の割合で真の認識率がy%以上であることを保証できる。
Dataset Fault Tree Analysisを行うにあたって、まずはデータセットと認識率を扱うために拡張した故障木を作成する。その故障木はFault Tree for datasetsと呼ばれる。Fault Tree for datasetsは根のノードから中間ノード、葉のノードに分割されていく。根のノードをトップイベント、中間ノードを抽象イベント、葉のノードを基本イベントとする。各イベントには誤認識が発生しうる故障状態のデータセットが該当する。例えば、Fig. 1のような故障木が考えられる。画像の数字を認識する機械学習のシステムがあるとする。そのようなシステムでは画像にドットが付与されたり、画像の数字の部分が欠けていたりすると、誤認識が発生しうる。画像にドットが付与された状態を基本イベントの「ドット追加」、画像からドットが欠けている状態を基本イベントの「ドット欠け」として表現している。トップイベントの「汚れ」は「ドット追加」か「ドット欠け」が発生した状態で、「ドット追加」や「ドット欠け」より抽象度の高い故障状態を表している。
次にFault Tree for datasetsを作成するために必要な故障率と誤認識率、基本誤認識率について説明する。データセット全体をU、故障が発生したデータセットをD、誤認識が発生したデータセットをEとする。それぞれのデータセットの関係はFig. 2に表した。Uには正常なデータと故障が発生したデータの両方が含まれている。また、DとEにはE ⊆ D とういう関係がある。故障率はD / U、誤認識はE / U、基本誤認識率はE / Dで表すことができる。また、イベントxに対する故障率をσpf(x)、イベントxに対する誤認識率をσpe(x)、イベントxに対する基本誤認識率をσpe(x)とすると、これらは以下のような関係になる。
基本誤認識率は故障が発生した状態における認識率で、実際に標本に対してテストをすることで求められる。
Fig. 3にFault Tree for datasetsの例を示した。基本イベントとして基本イベントc、基本イベントd、基本イベントeがある。抽象イベントbは基本イベントcと基本イベントdをANDゲートで接続し、トップイベントaは抽象イベントbと基本イベントeをORゲートで接続している。基本イベントcと基本イベントd、基本イベントeに対してテストすることで、それぞれの基本誤認識を求める。そして、その基本誤認識と故障率から誤認識率を求めることができる。次に基本イベントの故障率と誤認識率を用いてトップイベントaや抽象イベントbの故障率と誤認識率も求めることができる。
イベントをORゲートで接続するか、ANDゲートで接続するかによって上位のイベント(トップイベント、もしくは抽象イベント)の故障率や誤認識率の求め方が異なる。まずは故障率の求め方を示す。上位のイベントをFE、下位のイベントをnとし、FEはいくつかのnをゲートで接続しているものとする。
次に誤認識率の求め方を示す。
Fig. 3 の抽象イベント b は基本イベント c と基本イベント d を AND ゲートで接続されて いるので、n = F E(AND(n1,··· ,n𝑚)) の場合の式を用いて、故障率と誤認識率を求める。 また、トップイベント a は抽象イベント b と基本イベント e を OR ゲートで接続されて おり、抽象イベント b と基本イベント e に重なりがないものとして、n = F E(OR(n1,··· , n𝑚)) ∧ ∀i, j(1 ≤ i, j ≤ m ∧ i ≠ j).D(n𝑖 ) ∩ D(n𝑗 ) = ∅ の場合の式を用いて、故障率と 誤認識率を求める。
次は基本イベントに対するテスト方法について記載する。1つの基本イベントにおいて も故障が発生した状態はかなり多くのパターンがあることが考えられる。例えば、画像の 文字にドットが付加されたような故障を再現しようとする場合、ドットの数や位置、色な どの組み合わせ分のパターンが存在する。すべてのパターン対してテストを行うことは現実的ではない。そこで標本として故障が発生した状態のデータを作成し、その標本に対し て意図通りに認識できたかをチェックし、基本誤認識率を求める。標本のデータを作成する際は母集団から独立かつ一様であることに注意しなければならない。それぞれのイベン トに対して期待する認識率を設定しておき、テスト結果から推定した認識率が期待する認 識率を上回っている場合、テストをパスした状態といえる。
最後に標本に対するテストから得られた結果から母集団の認識率を推定する方法につい て記載する。ベルヌーイ試行に基づいた区間推定を用いる。ベルヌーイ試行はAとBのど ちらかしか起こらない試行のことであり、標本の画像の認識がベルヌーイ試行に該当する。 標本の画像を認識する際は正しく認識するか、誤って認識するかのどちらかしか起こらな い。母集団の認識率を推定するためにはテス トに必要な標本数とテストをパスするために必要な正解数を求めておく必要がある。これ らは Chernoff-Hoeffding bound [2]によって求めることができる。テストに必要な標本数 nは以下の式で求めることができる。𝜖は誤差、𝛿は信頼係数である。
また、テストをパスするために必要な正解数 a は以下の式で求めることができる。peは 期待する認識率である。
例えば、𝛿を 0.1、𝜖を 0.05、期待する認識率を 0.8 とすると、テストに必要な標本数は 600、テストをパスするために必要な正解数は 510 となる。標本に対してテストして、正 しく認識できたものの合計がテストをパスするために必要な正解数以上であれば、テストをパスし、90%以上の割合で真の認識率が80%以上であることを保証できる。正しく認識できたものの合計がテストをパスするために必要な正解数より小さい場合、90%以上の 確率で真の認識率が 80%より小さいという訳ではなく、保留状態となる。それぞれのイベントに対するテストの結果から、安全性の分析を行うことができる。
補足
大学院で行った実験では自動運転用の画像から車両や歩行者を検出するシステムに対して、Dataset Fault Tree Analysisを適用した。その際にFault Tree for datasetsを作成するために、日本自動車工業会の自動運転の安全性評価フレームワーク Ver1.0 [3]を参考にした。自動運転の安全性評価フレームワーク Ver1.0は自動運転技術の安全性を評価するための ガイドラインであり、安全の論理的な網羅性・実行性・透明性を具備した安全論証体系・ 安全性評価手法・安全性判断手法がまとめられている。このようなガイドラインがない場合は Fault Tree for datasets を作成することは困難である。その場合、安全 分析を行い、ボトムアップに故障が発生する要因を洗い出すところから始める必要がある。 FMEA(Failure Mode and Effect Analysis)や HAZOP (Hazard and Operability Studies)といった手法で故障を分析し、その後で Fault Tree for datasets を作成すること になるだろう。
参考
- Toshiaki Aoki, Daisuke Kawakami, Nobuo Chida, Takashi Tomita: Dataset Fault Tree Analysis for Systematic Evaluation of Machine Learning Systems. PRDC 2020: 100–109
- W. Hoeffding: Probability inequalities for sums of bounded random variables, Journal of the American Statistical Association, vol. 58, no. 301, pp. 13–30, 1963.
- 日本自動車工業会. 自動運転の安全性評価フレームワーク Ver1.0. Retrieved from https://www.jama.or.jp/safe/automated_driving/pdf/framework.pdf