(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-31
(45)【発行日】2024-11-11
(54)【発明の名称】機械学習モデル誤り検出
(51)【国際特許分類】
G06N 5/045 20230101AFI20241101BHJP
【FI】
G06N5/045
(21)【出願番号】P 2022564593
(86)(22)【出願日】2021-05-18
(86)【国際出願番号】 IB2021054267
(87)【国際公開番号】W WO2021240300
(87)【国際公開日】2021-12-02
【審査請求日】2023-10-26
(32)【優先日】2020-05-29
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】リュウ、ジェ
(72)【発明者】
【氏名】グオ、ユファン
(72)【発明者】
【氏名】マハムッド、ジャラール
(72)【発明者】
【氏名】アッキラジュ、ラマ カリヤニ
【審査官】山本 俊介
(56)【参考文献】
【文献】米国特許出願公開第2019/0325333(US,A1)
【文献】米国特許出願公開第2019/0122135(US,A1)
【文献】国際公開第2019/130974(WO,A1)
【文献】特開2004-86896(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
ユーザに対する機械学習ベース・モデルの誤った予測を修正する方法であって、前記方法が、
前記機械学習ベース・モデルに対する、前記機械学習ベース・モデルの説明可能特徴量の大局レベル重要度の大局レベル重要度大きさ値を、前記機械学習ベース・モデルの第1の予測に基づいて決定すること、
前記機械学習ベース・モデルに対する、前記機械学習ベース・モデルの前記説明可能特徴量の前記大局レベル重要度の大局レベル重要度方向ラベルを、前記機械学習ベース・モデルの前記第1の予測に基づいて決定すること、ならびに
前記ユーザに提示するための情報を、前記機械学習ベース・モデルの第2の予測、前記大局レベル重要度大きさ値および前記大局レベル重要度方向ラベルに基づいて生成すること
を含む方法。
【請求項2】
前記ユーザに提示するための前記情報を生成することが、前記大局レベル重要度方向ラベルの誤り評価を受け取ることを含む、請求項1に記載の方法。
【請求項3】
前記誤った予測を、前記大局レベル重要度方向ラベル、前記大局レベル重要度方向ラベルの前記誤り評価、および前記機械学習ベース・モデルの予測クラスに対する、前記機械学習ベース・モデルの前記説明可能特徴量の局所レベル重要度に基づいて修正することをさらに含む、請求項2に記載の方法。
【請求項4】
前記大局レベル重要度方向ラベルの前記誤り評価を受け取ることが、前記大局レベル重要度方向ラベルの人間による誤り評価を受け取ることを含む、請求項3に記載の方法。
【請求項5】
機械学習ベース・モデルの誤った予測をユーザに警告する方法であって、前記方法が、
前記機械学習ベース・モデルを第1の入力データセットに対して実行して、一対のベースライン予測を前記機械学習ベース・モデルによって生成し、前記機械学習ベース・モデルの予測クラスに対する、前記機械学習ベース・モデルの第1の説明可能特徴量の局所レベル重要度を決定すること、
前記機械学習ベース・モデルに対する、前記機械学習ベース・モデルの前記第1の説明可能特徴量の大局レベル重要度を、前記機械学習ベース・モデルの前記第1の説明可能特徴量の前記局所レベル重要度に基づいて決定すること、
前記機械学習ベース・モデルを第2の入力データセットに対して実行して、新たな予測を前記機械学習ベース・モデルによって生成すること、
前記新たな予測に対する誤り指定を、前記機械学習ベース・モデルの前記第1の説明可能特徴量の前記局所レベル重要度および前記機械学習ベース・モデルの前記第1の説明可能特徴量の前記大局レベル重要度に基づいて決定すること、ならびに
前記ユーザに提示するために、前記新たな予測および前記新たな予測に対する前記誤り指定の指示を通信すること
を含む方法。
【請求項6】
前記機械学習ベース・モデルの第2の説明可能特徴量に対する前記機械学習ベース・モデルの前記第1の説明可能特徴量のランクを、大局レベル重要度大きさ値に基づいて決定すること、
前記機械学習ベース・モデルの前記第1の説明可能特徴量を、前記機械学習ベース・モデルの前記第1の説明可能特徴量の前記ランクに基づいて通信すること、
大局レベル重要度方向ラベルを通信すること、
前記機械学習ベース・モデルの前記第1の説明可能特徴量の情報を受け取ること、および
前記機械学習ベース・モデルの前記第1の説明可能特徴量によって前記新たな予測に誘導された誤りを正規化したものとして、前記新たな予測の局所的誤りスコアを計算すること
をさらに含み、
前記機械学習ベース・モデルの前記第1の説明可能特徴量の前記大局レベル重要度が、前記大局レベル重要度大きさ値および前記大局レベル重要度方向ラベルを含み、
人間の評価によれば前記大局レベル重要度方向ラベルが誤りであり、
前記新たな予測に対する前記誤り指定を決定することが、それぞれの新たな予測に対する前記誤り指定を、前記新たな予測に対する前記局所的誤りスコアがしきい値よりも大きいかどうかに基づいて決定することを含む、
請求項5に記載の方法。
【請求項7】
前記機械学習ベース・モデルを前記第1の入力データセットに対して実行して、前記一対のベースライン予測を前記機械学習ベース・モデルによって生成し、前記機械学習ベース・モデルの前記予測クラスに対する、前記機械学習ベース・モデルの前記第1の説明可能特徴量の前記局所レベル重要度を決定することが、データ摂動プロセスを使用して、前記一対のベースライン予測を前記機械学習ベース・モデルによって生成し、前記機械学習ベース・モデルの前記予測クラスに対する、前記機械学習ベース・モデルの前記第1の説明可能特徴量の前記局所レベル重要度を決定することを含む、請求項6に記載の方法。
【請求項8】
前記データ摂動プロセスを使用して、前記一対のベースライン予測を前記機械学習ベース・モデルによって生成し、前記機械学習ベース・モデルの前記予測クラスに対する、前記機械学習ベース・モデルの前記第1の説明可能特徴量の前記局所レベル重要度を決定することが、
【数1】
を計算することを含み、
上式で、jは、前記第1の説明可能特徴量を表し、
上式で、d
i、i∈{0,1,...,N}は、前記第1の入力データセットの中の第1のデータ・インスタンスを表し、
上式で、d
iは、前記第1の説明可能特徴量jを含み、
上式で、
【数2】
は、前記第1の説明可能特徴量jを除く前記第1のデータ・インスタンスd
iの全てを表し、
上式で、k∈{0,1,...,K}は、前記機械学習ベース・モデルの対応する予測クラスを表し、
上式で、P(y=k|d
i)は、前記機械学習ベース・モデルを前記第1のデータ・インスタンスd
iに対して実行することにより前記機械学習ベース・モデルによって生成された、前記機械学習ベース・モデルの前記対応する予測クラスkについての第1の予測確率を表し、
上式で、
【数3】
は、前記機械学習ベース・モデルを
【数4】
に対して実行することにより前記機械学習ベース・モデルによって生成された、前記機械学習ベース・モデルの前記対応する予測クラスkについての第2の予測確率を表し、
上式で、
【数5】
は、前記第1のデータ・インスタンスd
iに対する、前記対応する予測クラスkに関連した前記第1の説明可能特徴量jの前記局所レベル重要度を表す、
請求項7に記載の方法。
【請求項9】
前記機械学習ベース・モデルに対する、前記機械学習ベース・モデルの前記第1の説明可能特徴量の前記大局レベル重要度を、前記機械学習ベース・モデルの前記第1の説明可能特徴量の前記局所レベル重要度に基づいて決定することが、
【数6】
を計算することを含み、
上式で、Nは、前記第1の入力データセットの中の一組のデータ・インスタンスの基数を表し、
上式で、前記一組のデータ・インスタンスの中のそれぞれのデータ・インスタンスは前記第1の説明可能特徴量を含み、
上式で、k
*は、前記第1の説明可能特徴量の前記大局レベル重要度の前記大局レベル重要度方向ラベルを表す、
請求項8に記載の方法。
【請求項10】
前記機械学習ベース・モデルに対する、前記機械学習ベース・モデルの前記第1の説明可能特徴量の前記大局レベル重要度を、前記機械学習ベース・モデルの前記第1の説明可能特徴量の前記局所レベル重要度に基づいて決定することが、
【数7】
を計算することを含み、
上式で、
【数8】
は、前記機械学習ベース・モデルによって生成された、前記第1の説明可能特徴量の前記大局レベル重要度の前記大局レベル重要度方向ラベルに関連した第3の予測確率の大きさを表し、
上式で、
【数9】
は、前記第1の説明可能特徴量の前記大局レベル重要度の前記大局レベル重要度大きさ値を表す、
請求項9に記載の方法。
【請求項11】
前記新たな予測の前記局所的誤りスコアを計算することが、
【数10】
を計算することを含み、
上式で、
【数11】
は、前記機械学習ベース・モデルを、前記第2の入力データセットの中の第2のデータ・インスタンスに対して実行することにより前記機械学習ベース・モデルによって生成された予測確率に対する、対応するそれぞれの第1の説明可能特徴量jの貢献度を表し、
上式で、前記人間の評価によれば、一組の大局レベル重要度方向ラベルの中のそれぞれの大局レベル重要度方向ラベルが誤りであり、
上式で、mは、前記一組の大局レベル重要度方向ラベルの基数を表し、
上式で、
【数12】
は、前記機械学習ベース・モデルを、前記第2の入力データセットの中の前記第2のデータ・インスタンスに対して実行することにより前記機械学習ベース・モデルによって生成された前記予測確率に対する、対応するそれぞれの第2の説明可能特徴量iの貢献度を表し、
上式で、前記対応するそれぞれの第2の説明可能特徴量iの貢献度方向は、前記新たな予測と整合しており、
上式で、nは、一組の説明可能特徴量の基数を表し、
上式で、前記一組の説明可能特徴量の中のそれぞれの説明可能特徴量の貢献度方向は、前記新たな予測と整合している、
請求項10に記載の方法。
【請求項12】
ユーザに対する機械学習ベース・モデルの誤った予測を修正するシステムであって、前記システムが、
その中に命令を有するメモリと、
前記メモリと通信する少なくとも1つのプロセッサと
を備え、前記少なくとも1つのプロセッサが、前記命令を実行して、
前記機械学習ベース・モデルに対する、前記機械学習ベース・モデルの説明可能特徴量の大局レベル重要度の大局レベル重要度大きさ値を、前記機械学習ベース・モデルの第1の予測に基づいて決定し、
前記機械学習ベース・モデルに対する、前記機械学習ベース・モデルの前記説明可能特徴量の前記大局レベル重要度の大局レベル重要度方向ラベルを、前記機械学習ベース・モデルの前記第1の予測に基づいて決定し、
前記ユーザに提示するための情報を、前記機械学習ベース・モデルの第2の予測、前記大局レベル重要度大きさ値および前記大局レベル重要度方向ラベルに基づいて生成する
ように構成された、システム。
【請求項13】
前記少なくとも1つのプロセッサがさらに、前記命令を実行して、
前記大局レベル重要度方向ラベルの誤り評価を受け取り、
前記ユーザに提示するための前記情報を前記誤り評価に基づいて生成する
ように構成された、請求項12に記載のシステム。
【請求項14】
前記少なくとも1つのプロセッサがさらに、前記命令を実行して、前記誤った予測を、前記大局レベル重要度方向ラベル、前記大局レベル重要度方向ラベルの前記誤り評価、および前記機械学習ベース・モデルの予測クラスに対する、前記機械学習ベース・モデルの前記説明可能特徴量の局所レベル重要度に基づいて修正するように構成された、請求項13に記載のシステム。
【請求項15】
前記少なくとも1つのプロセッサがさらに、前記命令を実行して、前記大局レベル重要度方向ラベルの人間による誤り評価を受け取るように構成された、請求項14に記載のシステム。
【請求項16】
機械学習ベース・モデルの誤った予測をユーザに警告するシステムであって、前記システムが、
その中に命令を有するメモリと、
前記メモリと通信する少なくとも1つのプロセッサと
を備え、前記少なくとも1つのプロセッサが、前記命令を実行して、
前記機械学習ベース・モデルを第1の入力データセットに対して実行して、一対のベースライン予測を前記機械学習ベース・モデルによって生成し、前記機械学習ベース・モデルの予測クラスに対する、前記機械学習ベース・モデルの第1の説明可能特徴量の局所レベル重要度を決定し、
前記機械学習ベース・モデルに対する、前記機械学習ベース・モデルの前記第1の説明可能特徴量の大局レベル重要度を、前記機械学習ベース・モデルの前記第1の説明可能特徴量の前記局所レベル重要度に基づいて決定し、
前記機械学習ベース・モデルを第2の入力データセットに対して実行して、新たな予測を前記機械学習ベース・モデルによって生成し、
前記新たな予測に対する誤り指定を、前記機械学習ベース・モデルの前記第1の説明可能特徴量の前記局所レベル重要度および前記機械学習ベース・モデルの前記第1の説明可能特徴量の前記大局レベル重要度に基づいて決定し、
前記ユーザに提示するために、前記新たな予測および前記新たな予測に対する前記誤り指定の指示を通信する
ように構成された、システム。
【請求項17】
前記少なくとも1つのプロセッサがさらに、前記命令を実行して、
前記機械学習ベース・モデルの第2の説明可能特徴量に対する前記機械学習ベース・モデルの前記第1の説明可能特徴量のランクを、大局レベル重要度大きさ値に基づいて決定し、
前記機械学習ベース・モデルの前記第1の説明可能特徴量を、前記機械学習ベース・モデルの前記第1の説明可能特徴量の前記ランクに基づいて通信し、
大局レベル重要度方向ラベルを通信し、
前記機械学習ベース・モデルの前記第1の説明可能特徴量の情報を受け取り、
前記機械学習ベース・モデルの前記第1の説明可能特徴量によって前記新たな予測に誘導された誤りを正規化したものとして、前記新たな予測の局所的誤りスコアを計算し、
それぞれの新たな予測に対する前記誤り指定を、前記新たな予測に対する前記局所的誤りスコアがしきい値よりも大きいかどうかに基づいて決定する
ように構成されており、
前記機械学習ベース・モデルの前記第1の説明可能特徴量の前記大局レベル重要度が、前記大局レベル重要度大きさ値および前記大局レベル重要度方向ラベルを含み、
前記大局レベル重要度方向ラベルが誤りと識別された、
請求項16に記載のシステム。
【請求項18】
前記少なくとも1つのプロセッサがさらに、前記命令を実行して、データ摂動プロセスを使用して、前記一対のベースライン予測を前記機械学習ベース・モデルによって生成し、前記機械学習ベース・モデルの前記予測クラスに対する、前記機械学習ベース・モデルの前記第1の説明可能特徴量の前記局所レベル重要度を決定するように構成された、請求項17に記載のシステム。
【請求項19】
前記少なくとも1つのプロセッサがさらに、前記命令を実行して、
【数13】
を計算するように構成されており、
上式で、jは、前記第1の説明可能特徴量を表し、
上式で、d
i、i∈{0,1,...,N}は、前記第1の入力データセットの中の第1のデータ・インスタンスを表し、
上式で、d
iは、前記第1の説明可能特徴量jを含み、
上式で、
【数14】
は、前記第1の説明可能特徴量jを除く前記第1のデータ・インスタンスd
iの全てを表し、
上式で、k∈{0,1,...,K}は、前記機械学習ベース・モデルの対応する予測クラスを表し、
上式で、P(y=k|d
i)は、前記機械学習ベース・モデルを前記第1のデータ・インスタンスd
iに対して実行することにより前記機械学習ベース・モデルによって生成された、前記機械学習ベース・モデルの前記対応する予測クラスkについての第1の予測確率を表し、
上式で、
【数15】
は、前記機械学習ベース・モデルを
【数16】
に対して実行することにより前記機械学習ベース・モデルによって生成された、前記機械学習ベース・モデルの前記対応する予測クラスkについての第2の予測確率を表し、
上式で、
【数17】
は、前記第1のデータ・インスタンスd
iに対する、前記対応する予測クラスkに関連した前記第1の説明可能特徴量jの前記局所レベル重要度を表す、
請求項18に記載のシステム。
【請求項20】
前記少なくとも1つのプロセッサがさらに、前記命令を実行して、
【数18】
を計算するように構成されており、
上式で、Nは、前記第1の入力データセットの中の一組のデータ・インスタンスの基数を表し、
上式で、前記一組のデータ・インスタンスの中のそれぞれのデータ・インスタンスは前記第1の説明可能特徴量を含み、
上式で、k
*は、前記第1の説明可能特徴量の前記大局レベル重要度の前記大局レベル重要度方向ラベルを表す、
請求項19に記載のシステム。
【請求項21】
前記少なくとも1つのプロセッサがさらに、前記命令を実行して、
【数19】
を計算するように構成されており、
上式で、
【数20】
は、前記機械学習ベース・モデルによって生成された、前記第1の説明可能特徴量の前記大局レベル重要度の前記大局レベル重要度方向ラベルに関連した第3の予測確率の大きさを表し、
上式で、
【数21】
は、前記第1の説明可能特徴量の前記大局レベル重要度の前記大局レベル重要度大きさ値を表す、
請求項20に記載のシステム。
【請求項22】
前記少なくとも1つのプロセッサがさらに、前記命令を実行して、
【数22】
を計算するように構成されており、
上式で、
【数23】
は、前記機械学習ベース・モデルを、前記第2の入力データセットの中の第2のデータ・インスタンスに対して実行することにより前記機械学習ベース・モデルによって生成された予測確率に対する、対応するそれぞれの第1の説明可能特徴量jの貢献度を表し、
上式で、人間の評価によれば、一組の大局レベル重要度方向ラベルの中のそれぞれの大局レベル重要度方向ラベルが誤りであり、
上式で、mは、前記一組の大局レベル重要度方向ラベルの基数を表し、
上式で、
【数24】
は、前記機械学習ベース・モデルを、前記第2の入力データセットの中の前記第2のデータ・インスタンスに対して実行することにより前記機械学習ベース・モデルによって生成された前記予測確率に対する、対応するそれぞれの第2の説明可能特徴量iの貢献度を表し、
上式で、前記対応するそれぞれの第2の説明可能特徴量iの貢献度方向は、前記新たな予測と整合しており、
上式で、nは、一組の説明可能特徴量の基数を表し、
上式で、前記一組の説明可能特徴量の中のそれぞれの説明可能特徴量の貢献度方向は、前記新たな予測と整合している、
請求項21に記載のシステム。
【請求項23】
機械学習ベース・モデルの誤った予測をユーザに警告するコンピュータ・プログラムであって、少なくとも1つのプロセッサに、請求項5ないし11のいずれか一項に記載の方法を実行させる、コンピュータ・プログラム。
【請求項24】
ユーザに対する機械学習ベース・モデルの誤った予測を修正するコンピュータ・プログラムであって、少なくとも1つのプロセッサに、請求項1ないし4のいずれか一項に記載の方法を実行させる、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は一般に人工知能の分野に関し、より詳細には、機械学習モデルの正確さを向上させることに関する。
【背景技術】
【0002】
知識および技能を取得および適用する機械のさまざまな能力は人工知能(「AI」)として類別されている。機械学習はAIの一形態とみなされている。機械学習は、コンピュータ・システムを使用可能にするアルゴリズムおよび統計モデルを使用して、明示の命令に基づいてではなく、主にデータ・パターンおよび関連する推論に基づいてタスクを実行している。一部の機械学習モデルは、分類もしくは他の予測タスクまたはそれらの組合せを実行している。そのようなモデルがいつどのように誤ったのかを見抜く実行可能な洞察を提供することが課題となっている。
【発明の概要】
【0003】
ユーザに対する機械学習ベース・モデルの誤った予測を修正する方法が開示されている。この方法は、機械学習ベース・モデルに対する、機械学習ベース・モデルの説明可能特徴量(explainable feature)の大局レベル重要度(global-level importance)の大局レベル重要度大きさ値(global-level importance magnitude value)を、機械学習ベース・モデルの第1の予測に基づいて決定することを含む。この方法はさらに、機械学習ベース・モデルに対する、機械学習ベース・モデルの説明可能特徴量の大局レベル重要度の大局レベル重要度方向ラベル(global-level importance direction label)を、機械学習ベース・モデルの第1の予測に基づいて決定することを含む。この方法はさらに、ユーザに提示するための情報(communication)を、機械学習ベース・モデルの第2の予測、大局レベル重要度大きさ値および大局レベル重要度方向ラベルに基づいて生成することを含む。
【0004】
機械学習ベース・モデルの誤った予測をユーザに警告する方法も開示されている。この方法は、機械学習ベース・モデルを第1の入力データセットに対して実行して、一対のベースライン予測を機械学習ベース・モデルによって生成し、機械学習ベース・モデルの予測クラスに対する、機械学習ベース・モデルの第1の説明可能特徴量の局所レベル重要度(local-level importance)を決定することを含む。この方法はさらに、入力データを受け取ることを含む。この方法はさらに、機械学習ベース・モデルに対する、機械学習ベース・モデルの第1の説明可能特徴量の大局レベル重要度を、機械学習ベース・モデルの第1の説明可能特徴量の局所レベル重要度に基づいて決定することを含む。この方法はさらに、機械学習ベース・モデルを第2の入力データセットに対して実行して、新たな予測を機械学習ベース・モデルによって生成することを含む。この方法はさらに、新たな予測に対する誤り指定(erroneousness designation)を、機械学習ベース・モデルの第1の説明可能特徴量の局所レベル重要度および機械学習ベース・モデルの第1の説明可能特徴量の大局レベル重要度に基づいて決定することを含む。この方法はさらに、ユーザに提示するために、新たな予測および新たな予測に対する誤り指定の指示を通信することを含む。
【0005】
ユーザに対する機械学習ベース・モデルの誤った予測を修正するシステムも開示されている。このシステムは、その中に命令を有するメモリと、メモリと通信する少なくとも1つのプロセッサとを含む。この少なくとも1つのプロセッサは、これらの命令を実行して、機械学習ベース・モデルに対する、機械学習ベース・モデルの説明可能特徴量の大局レベル重要度の大局レベル重要度大きさ値を、機械学習ベース・モデルの第1の予測に基づいて決定するように構成されている。この少なくとも1つのプロセッサはさらに、これらの命令を実行して、機械学習ベース・モデルに対する、機械学習ベース・モデルの説明可能特徴量の大局レベル重要度の大局レベル重要度方向ラベルを、機械学習ベース・モデルの第1の予測に基づいて決定するように構成されている。この少なくとも1つのプロセッサはさらに、これらの命令を実行して、ユーザに提示するための情報を、機械学習ベース・モデルの第2の予測、大局レベル重要度大きさ値および大局レベル重要度方向ラベルに基づいて生成するように構成されている。
【0006】
機械学習ベース・モデルの誤った予測をユーザに警告するシステムも開示されている。このシステムは、その中に命令を有するメモリと、メモリと通信する少なくとも1つのプロセッサとを含む。この少なくとも1つのプロセッサは、これらの命令を実行して、機械学習ベース・モデルを第1の入力データセットに対して実行して、一対のベースライン予測を機械学習ベース・モデルによって生成し、機械学習ベース・モデルの予測クラスに対する、機械学習ベース・モデルの第1の説明可能特徴量の局所レベル重要度を決定するように構成されている。この少なくとも1つのプロセッサはさらに、これらの命令を実行して、機械学習ベース・モデルに対する、機械学習ベース・モデルの第1の説明可能特徴量の大局レベル重要度を、機械学習ベース・モデルの第1の説明可能特徴量の局所レベル重要度に基づいて決定するように構成されている。この少なくとも1つのプロセッサはさらに、これらの命令を実行して、機械学習ベース・モデルを第2の入力データセットに対して実行して、新たな予測を機械学習ベース・モデルによって生成するように構成されている。この少なくとも1つのプロセッサはさらに、これらの命令を実行して、新たな予測に対する誤り指定を、機械学習ベース・モデルの第1の説明可能特徴量の局所レベル重要度および機械学習ベース・モデルの第1の説明可能特徴量の大局レベル重要度に基づいて決定するように構成されている。この少なくとも1つのプロセッサはさらに、これらの命令を実行して、ユーザに提示するために、新たな予測および新たな予測に対する誤り指定の指示を通信するように構成されている。
【0007】
機械学習ベース・モデルの誤った予測をユーザに警告するコンピュータ・プログラム製品も開示されている。このコンピュータ・プログラム製品は、プログラム命令が実装されたコンピュータ可読ストレージ媒体を含む。これらのプログラム命令は、機械学習ベース・モデルを第1の入力データセットに対して実行して、一対のベースライン予測を機械学習ベース・モデルによって生成し、機械学習ベース・モデルの予測クラスに対する、機械学習ベース・モデルの第1の説明可能特徴量の局所レベル重要度を決定することを少なくとも1つのプロセッサに実行させるように、その少なくとも1つのプロセッサによって実行可能である。これらのプログラム命令はさらに、機械学習ベース・モデルに対する、機械学習ベース・モデルの第1の説明可能特徴量の大局レベル重要度を、機械学習ベース・モデルの第1の説明可能特徴量の局所レベル重要度に基づいて決定することを少なくとも1つのプロセッサに実行させるように、その少なくとも1つのプロセッサによって実行可能である。これらのプログラム命令はさらに、機械学習ベース・モデルを第2の入力データセットに対して実行して、新たな予測を機械学習ベース・モデルによって生成することを少なくとも1つのプロセッサに実行させるように、その少なくとも1つのプロセッサによって実行可能である。これらのプログラム命令はさらに、新たな予測に対する誤り指定を、機械学習ベース・モデルの第1の説明可能特徴量の局所レベル重要度および機械学習ベース・モデルの第1の説明可能特徴量の大局レベル重要度に基づいて決定することを少なくとも1つのプロセッサに実行させるように、その少なくとも1つのプロセッサによって実行可能である。これらのプログラム命令はさらに、ユーザに提示するために、新たな予測および新たな予測に対する誤り指定の指示を通信することを少なくとも1つのプロセッサに実行させるように、その少なくとも1つのプロセッサによって実行可能である。
【0008】
次に、本開示のより完全な理解のため、添付図面および詳細な説明に関連して書かれた以下の短い説明を参照する。添付図面および詳細な説明において、同じ参照符号は同じ部分を表している。
【図面の簡単な説明】
【0009】
【
図1】本開示の態様による、例示的な仮説心理分類モデル(hypothetical example sentiment classification model)(図示せず)のLIME解析によって生成された例示的な局所レベル特徴量貢献度または重要度を示す表である。
【
図2】本開示の態様による機械学習予測システムのブロック図である。
【
図3】本開示の態様による、いくつかの事例において、例えば「underwhelming」などのユニグラム(unigram)説明可能特徴量に対して、大局レベル重要度大きさおよび方向をどのように計算することができるのかを示すデータ・フロー図である。
【
図4】本開示の態様による機械学習予測プロセスの流れ図である。
【
図5】本開示の態様によるデータ処理システムのハードウェア・アーキテクチャのブロック図である。
【発明を実施するための形態】
【0010】
これらの図は例示だけが目的であり、これらの図が、異なる実施形態を実施することができる環境、アーキテクチャ、設計またはプロセスに関する限定を主張または暗示することは意図されていない。
【0011】
以下では、1つまたは複数の実施形態の例示的な実施態様が提供されるが、開示されるシステム、コンピュータ・プログラム製品もしくは方法またはこれらの組合せは、現在知られているかどうかまたは存在しているどうかを問わない任意の数の技術を使用して実施することができることを始めに理解しておくべきである。本開示は、本明細書に図示および記載された例示的な設計および実施態様を含む、以下で説明する例示的な実施態様、図面および技術に限定されるものではないが、添付の請求項の範囲内および等価物の全範囲内で変更することができる。
【0012】
本明細書の開示および請求項で使用されているとき、用語「含む」および「備える」(ならびにそれらの変化形)は、オープンエンド形式で使用されており、したがって、「~を含むが、それらだけに限定されない」ことを意味すると解釈されるべきである。特段の記載がない限り、この文書の全体を通じて「または」は相互排他性を要求せず、文脈からそうでないことが明らかである場合を除き、単数形の「a」、「an」および「the」は複数の形態も含むことが意図されている。
【0013】
本明細書で言及されているとき、「モジュール」または「ユニット」(およびそれらの変化形)は、特定の機能を実行するように特に構成されていることがある、電気回路、プロセッサおよびメモリなどの1つまたは複数のハードウェアまたは電気構成要素を含む。このメモリは、限定はされないがコンピュータ実行可能命令、機械コードおよび他のさまざまな形態のデータなどのデータを記憶する揮発性メモリまたは不揮発性メモリを含むことがある。モジュールまたはユニットは、このようなデータを使用して、1つまたは複数のタスクを実行するための1つまたは複数の命令を実行するように構成されていることがある。ある種の事例では、モジュールまたはユニットが、特定のタスクを実行するように構成された特定の一組の機能、ソフトウェア命令または回路を指すこともある。例えば、モジュールまたはユニットは、限定はされないが、データ・アクセス・オブジェクト、サービス構成要素、ユーザ・インタフェース構成要素、アプリケーション・プログラミング・インタフェース(「API」)構成要素などのソフトウェア構成要素;電気回路、プロセッサおよびメモリなどのハードウェア構成要素;またはこれらの組合せを含むことがある。本明細書で言及されているとき、コンピュータ実行可能命令は、限定はされないが機械コード、アセンブリ・コード、および任意のプログラミング言語で書かれた高水準プログラミング・コードを含む任意の形態をとることがある。
【0014】
さらに、本明細書で使用されているとき、用語「通信する」(およびその変化形)は、通信リンク上でデータもしくは情報を受信することもしくは送信することまたはその両方を意味する。通信リンクは、有線リンクと無線リンクの両方を含むことがあり、直接リンクを含むことがあり、あるいは1つもしくは複数の通信ネットワークまたは限定はされないがルータ、ファイアウォール、サーバおよびスイッチなどの1つもしくは複数のネットワーク・デバイスを通る多数のリンクを含むことがある。この通信ネットワークは、任意のタイプの有線または無線ネットワークを含むことができる。このネットワークは、私設ネットワークもしくはインターネットなどの公衆ネットワークまたはその両方を含むことができる。さらに、いくつかの実施形態では、通信するという用語がさらに、システムのさまざまな構成要素間の内部通信、またはキーボードもしくはディスプレイ・デバイスなどの外部入力/出力デバイスとの内部通信、あるいはその両方を含むことがある。
【0015】
本明細書で使用されているとき、「説明可能特徴量」(およびその変化形)は、人間が理解できるデータ表現を意味する。対応するそれぞれの実際の機械学習モデルは埋め込み(embedding)で構築されることがあるにも関わらず、テキスト・データに関する直観的な説明可能特徴量は、単語(もしくは他のユニグラム)または句である。画像に関して、可能な説明可能特徴量はスーパーピクセル(superpixel)であることができるが、対応するそれぞれのモデルはピクセル・レベルの特徴量を使用して訓練されるであろう。
【0016】
本明細書で使用されているとき、「局所レベル説明可能性」、「局所的説明可能性」、「局所レベル」、「局所的」など(およびそれらの変化形)は、対応するそれぞれの機械学習モデルが単一の事例に対して特定の予測を出力した理由を正当化するために使用される解釈を指す。いくつかの実施形態において、本開示の態様は、ローカル・インタープリタブル・モデル-アグノスチック・エクスプラネーション(Local Interpretable Model-Agnostic Explanation)(「LIME」)技術を使用して、局所レベル説明可能性を決定する。LIMEは、機械学習モデルへの所与のデータ入力の説明可能特徴量を摂動させ、その結果生じる機械学習モデルの予測確率の対応する変化を記録することによって機能する。摂動させたデータ入力および対応するそれぞれの予測出力に基づいて、LIMEは直線回帰を使用して、説明可能特徴量の重要度に相対的な重みを割り当てる。
【0017】
図1は、本開示の態様による、例示的な仮説心理分類モデル(図示せず)のLIME解析によって生成された例示的な局所レベル特徴量貢献度または重要度を示す表100である。図示の例では、2(a)の「Panera gives me hiccups.」という文に対するモデルの予測が「ポジティブ」である。ユニグラム特徴量「panera」は、このポジティブ予測に0.576の大きさでポジティブに貢献しており、一方、「hiccups」は、このポジティブ予測に0.159の大きさでネガティブに貢献している。これらの局所レベル特徴量貢献度を観察することにより、このモデルは、語「panera」をポジティブ極性の有意な指示子とみなすことによって、したがってこのネガティブ文にポジティブ・ラベルを割り当てるようにモデルを導くことによって、予測誤りを提供すると判定されることがあることを理解すべきである。本開示のさまざまな実施形態は、LIME解析を使用して、機械学習モデルの説明可能特徴量の局所レベル重要度を決定することができる。しかしながら、他の実施形態は、他のいくつかの適当な局所レベル判定可能性技術のうちの任意の技術を使用することができることも理解すべきである。局所レベル解釈を提供する適当な代替手法の非限定的な例には、シャープレイ・アディティブ・エクスプラネーションズ(Shapley Additive exPlanations)(「SHAP」)およびブラック・ボックス・エクスプラネーションズ・スルー・トランスパレント・アプローキシメーションズ(Black Box Explanations through Transparent Approximations)(「BETA」)が含まれる。
【0018】
本明細書で使用されているとき、用語「大局レベル説明可能性」、「大局的説明可能性」、「大局レベル」、「大局的」など(およびこれらの変化形)は、全体のデータセットの個々のデータ・インスタンス(data instance)からなされた予測に対する説明可能特徴量の影響とは対照的に、説明可能特徴量が、全部のまたは全体の入力データセットに関して、対応するそれぞれの機械学習モデルの予測にどのような影響を及ぼすのかに関する。いくつかのケースでは、1つの機械学習モデルが、数百万のデータ・インスタンスに対して訓練されていることがあり、一方、人間は、局所的説明に基づくはるかに限られた数の入力を用いてラベリングすることしかできないことがある。大局レベル説明可能性は、個人が、詳細なインスタンス・レベル予測を知ることなしに機械学習モデルのより全般的な理解を達成することを可能にすることがあり、その意味で、大局的説明可能性は、より少ない人間労力に対してより多くの純化された知識を引き出すのに役立つことがあることを理解すべきである。
【0019】
本開示の態様は、機械学習モデルの1つまたは複数の誤りを検出するシステムを提供する。事前訓練済みブラックボックス機械学習モデル(「機械学習ベース・モデル」または「ベース・モデル」)および第1の入力データセットが与えられると、このシステムは、データ摂動プロセス(data perturbation process)を使用して機械学習ベース・モデルを第1の入力データセットに対して実行して、ベースライン予測を機械学習ベース・モデルによって生成し、ベースライン予測の各々について、機械学習ベース・モデルのそれぞれの予測クラスに対する、機械学習ベース・モデルの説明可能特徴量の局所レベル重要度を決定する。局所レベル重要度の各々は、機械学習ベース・モデルの対応するそれぞれの予測クラスについて、その対応するそれぞれの説明可能特徴量を含む第1の入力に対して機械学習ベース・モデルを実行することにより機械学習ベース・モデルによって生成された第1の予測確率と、その対応するそれぞれの説明可能特徴量を除く第2の入力に対して機械学習ベース・モデルを実行することにより機械学習ベース・モデルによって生成された第2の予測確率との差に対応する。このシステムは、機械学習ベース・モデルの説明可能特徴量の局所レベル重要度を集約して、全体の機械学習ベース・モデルに対する説明可能特徴量の大局レベル重要度を決定する。対応するそれぞれの説明可能特徴量のそれぞれの大局レベル重要度は、大きさ値(「大局レベル重要度大きさ値」)および方向ラベル(「大局レベル重要度方向ラベル」)を含む。大局レベル重要度大きさ値は、機械学習ベース・モデルの予測クラスの中で、対応するそれぞれの説明可能特徴量の重要度の相対的に最も大きな大きさに対応し、大局レベル重要度方向ラベルは、その大きさ値に関連した機械学習ベース・モデルの予測クラスに対応する。このシステムは、説明可能特徴量を、説明可能特徴量の対応するそれぞれの大局レベル重要度大きさ値に従ってランク付けし、説明可能特徴量のうちの最高位にランク付けされた説明可能特徴量のうちの1つまたは複数を通信し、(1人または複人の人間評価者に提示するために、)説明可能特徴量のうちの最高位にランク付けされた説明可能特徴量のそのような1つまたは複数の各々の対応するそれぞれの大局レベル重要度方向ラベルを通信する。このシステムは、対応するそれぞれの総意人間評価によれば誤った大局レベル重要度方向を有する、説明可能特徴量のうちの最高位にランク付けされたそのような説明可能特徴量のうちの1つまたは複数の各々の情報を受け取る。このシステムはさらに第2の入力データセットを受け取る。このシステムは、機械学習ベース・モデルを第2の入力データセットに対して実行して、1つまたは複数の新たな予測を機械学習ベース・モデルによって生成する。このシステムは、対応するそれぞれの総意人間評価によれば対応するそれぞれの誤った大局レベル重要度方向を有する、説明可能特徴量のうちの最高位にランク付けされた説明可能特徴量によってそれぞれの新たな予測に誘導された蓄積した誤りを正規化したものとして、それぞれの新たな予測の局所的誤りスコアを計算する。このシステムは、新たな予測の各々に対する対応するそれぞれの誤り指定(例えば「問題なし」または「誤りの疑いなし」とは対照的な「問題あり」または「誤りの疑いあり」)を、その新たな予測の対応するそれぞれの局所的誤りスコアがしきい値よりも大きいかどうかに基づいて決定する。いくつかの実施形態では、このシステムが、(1人もしくは数人のシステム開発者または1人もしくは数人の他のユーザに提示するために、)それぞれの新たな予測およびその新たな予測に対する対応するそれぞれの誤り指定の指示を通信する。この1人もしくは数人のシステム開発者または1人もしくは数人の他のユーザはさらに、1つもしくは複数の問題のある新たな予測を解析すること、または機械学習ベース・モデルの関連データもしくは他の特性を解析すること、あるいはその両方を解析することができ、機械学習ベース・モデルを修正すること、ならびに/または1つもしくは複数の他の改善措置および/もしくは修正措置をとることができることを理解すべきである。いくつかの実施形態では、このシステムが、(1人または数人のユーザに提示するために、)1つまたは複数の修正された予測を通信する。そのようなそれぞれの修正された予測は、1つまたは複数の新たな予測のうちの対応するそれぞれの新たな予測およびその新たな予測に対する誤り指定に基づく。より具体的には、新たな予測に対する誤り指定が「問題あり」または「誤りの疑いあり」であるとき、対応するそれぞれの修正された予測は、その新たな予測の逆である。反対に、新たな予測に対する誤り指定が「問題なし」または「誤りの疑いなし」であるとき、対応するそれぞれの修正された予測はその新たな予測と同じである。
【0020】
図2は、本開示の態様による機械学習予測システム200のブロック図である。機械学習予測システム200は、本開示の態様による機械学習予測プロセス400を実施するように構成されている(
図2に機械学習予測プロセス400自体は明示されていない。
図4を参照されたい)。機械学習予測システム200は局所レベル重要度生成モジュール212を含む。局所レベル重要度生成モジュール212は、機械学習ベース・モデル216および第1の入力データセット220の情報を受け取るように構成されている。機械学習ベース・モデル216は、心理解析、意図予測(intent prediction)、画像分類などのタスクのための事前訓練済み分類モデル、またはブラックボックスとして処理することができる他の事前訓練済み機械学習モデルとすることができることを理解すべきである。機械学習ベース・モデル216は、ロジスティック回帰、サポートベクター・マシーン(「SVM」)、ランダム・フォレスト、組合せニューラル・ネットワーク(「CNN」)、再帰型ニューラル・ネットワーク(「RNN」)、ならびに/または他の1つもしくは複数のタイプの機械学習および/もしくは深層学習モデルを含むことができることも理解すべきである。局所レベル重要度生成モジュール212はさらに、説明可能特徴量jを含むそれぞれのデータ・インスタンスd
i、i∈{0,1,...,N}からそれぞれの個々の説明可能特徴量jを1度に1つずつマスクすることによって、第1の入力データセット220の全てのデータ・インスタンスに対して摂動ベースのLIME解析を局所レベルで実行するように構成されており、機械学習ベース・モデル216のそれぞれのクラス・ラベルk∈{0,1,...,K}に関連した機械学習ベース・モデル216の予測確率の絶対変化を、
【数1】
として計算するように構成されている。
上式で、P(y=k|d
i)は、説明可能特徴量jを含む機械学習ベース・モデル216の予測確率を表し、
【数2】
は、説明可能特徴量jを含まない機械学習ベース・モデル216の予測確率を表し、
【数3】
は、データ・インスタンスd
iに対する、クラスkに関連した説明可能特徴量jの局所的重要度を表す。
【0021】
局所レベル重要度生成モジュール212はさらに、結果として生じる一組の
【数4】
を、局所レベル重要度224として通信するように構成されている。いくつかの実施形態では、局所レベル重要度生成モジュール212が、データ処理システム500のようなデータ処理システムの対応する1つまたは複数を含むことができる(
図2にデータ処理システム500自体は明示されていない。
図5を参照されたい)。
【0022】
機械学習予測システム200はさらに大局レベル重要度生成モジュール228を含む。大局レベル重要度生成モジュール228は、局所レベル重要度生成モジュール212に通信可能に結合されている。大局レベル重要度生成モジュール228は、局所レベル重要度224の情報を受け取るように構成されている。大局レベル重要度生成モジュール228はさらに、それぞれの説明可能特徴量jを含む全てのN個のデータ・インスタンスd
iについて、全てのN個のデータ・インスタンスd
iに対する説明可能特徴量jの局所レベル重要度を、
【数5】
を計算することによって大局的レベルで集約するように構成されている。
上式で、k
*は、最大平均確率変化を有するクラス・ラベルを示し、説明可能特徴量jの大局レベル重要度の方向を表し、
【数6】
は、それぞれのデータ・インスタンスd
iに対する、それぞれのクラスkに関連した説明可能特徴量jの局所的重要度を表す。大局レベル重要度生成モジュール228はさらに、それぞれの説明可能特徴量jの大局レベル重要度の関連する大きさを、
【数7】
として計算するように構成されている。
上式で、関連する
【数8】
は大局レベル重要度大きさを表す。
【0023】
図3は、本開示の態様による、いくつかの事例において、ユニグラム説明可能特徴量、例えば「underwhelming」に対して、大局レベル重要度大きさおよび方向をどのようにして計算することができるのかを示すデータ・フロー
図300である。この大局レベル重要度測定値は、局所レベル重要度の集約と見ることができることを理解すべきであり、根底にある仮定は、1つの特徴量を除くことによる予測確率の変化が大きい場合には、その特徴量の重要度は大きく、1つの特徴量を除去することによる予測確率の変化が小さい場合には、その特徴量の重要度は小さいということである。
【0024】
再び
図2を参照すると、大局レベル重要度生成モジュール228はさらに、結果として生じる一組のk
*を、対応するそれぞれの大局レベル重要度方向232として通信し、結果として生じる一組の関連する
【数9】
を、対応するそれぞれの大局レベル重要度大きさ236として通信するように構成されている。いくつかの実施形態では、大局レベル重要度生成モジュール228が、データ処理システム500のようなデータ処理システムの対応する1つまたは複数を含むことができる(
図2にデータ処理システム500自体は明示されていない。
図5を参照されたい)。
【0025】
機械学習予測システム200はさらに説明可能特徴量ランク付けモジュール240を含む。説明可能特徴量ランク付けモジュール240は、大局レベル重要度生成モジュール228に通信可能に結合されている。説明可能特徴量ランク付けモジュール240は、大局レベル重要度方向232および大局レベル重要度大きさ236の情報を受け取るように構成されている。説明可能特徴量ランク付けモジュール240はさらに、説明可能特徴量jの対応するそれぞれの大局レベル重要度大きさ236に従って説明可能特徴量jを降順でランク付けするように構成されている。説明可能特徴量ランク付けモジュール240はさらに、1人または数人の人間評価者252に最終的に提示するために、説明可能特徴量jのうちの最高位にランク付けされたそのような説明可能特徴量jのうちの1つまたは複数のT個の説明可能特徴量j、およびそれらの対応するそれぞれの大局レベル重要度方向232をそれぞれ、T個の最高位にランク付けされた説明可能特徴量244およびT個の大局レベル重要度方向248として通信するように構成されている。いくつかの実施形態では、説明可能特徴量ランク付けモジュール240が、データ処理システム500のようなデータ処理システムの対応する1つまたは複数を含むことができる(
図2にデータ処理システム500自体は明示されていない。
図5を参照されたい)。
【0026】
人間評価者252は、専門家、オンライン・クラウド・ワーカ(online crowd worker)、または、T個の最高位にランク付けされた説明可能特徴量244のうち、T個の大局レベル重要度方向248の対応するそれぞれの大局レベル重要度方向248の任意の1つまたは複数が、それらの大局レベル重要度方向248がそうであるはずであると人間評価者252が考えるものではない、説明可能特徴量244を識別することができる他者、あるいはこれらの組合せを含むことができる。例えば、そのような評価タスクは、T個の大局レベル重要度方向248の対応するそれぞれの大局レベル重要度方向248が正しいと思うのか否かを尋ねられたときに、人間評価者252が、T個の最高位にランク付けされた説明可能特徴量244の各々および対応するそれぞれのT個の大局レベル重要度方向248の各々に対してイエスまたはノー(例えば心理解析タスクの場合にはポジティブまたはネガティブ)の判断を下すことを含むことができる。例示的なタスク質問は、評価者が返答として「ノー」を選ぶことが予想される、「「panera」という単語は「ポジティブ」な心理極性の単語であるか?」という質問であることがある。人間評価者252の総意は、T個の最高位にランク付けされた説明可能特徴量244のうち、1つまたは複数のE個の説明可能特徴量244が、問題があるかまたは正しくない(すなわち、それらの大局レベル重要度方向248がそうであるはずであると人間評価者252の総意が考えるものではない)T個の大局レベル重要度方向248のうちの対応するそれぞれの大局レベル重要度方向248を有すると判定することがある。後にさらに説明するように、このE個の問題のある説明可能特徴量260の対応する識別を機械学習予測システム200によって使用することができる。
【0027】
機械学習予測システム200はさらに新たな予測生成モジュール264を含む。新たな予測生成モジュール264は、機械学習ベース・モデル216および第2の入力データセット268の情報を受け取るように構成されている。新たな予測生成モジュール264はさらに、機械学習ベース・モデル216を第2の入力データセット268に対して実行して、新たな予測272を、第2の入力データセット268に基づいて機械学習ベース・モデル216によって生成するように構成されている。新たな予測生成モジュール264はさらに、新たな予測272を通信するように構成されている。いくつかの実施形態では、新たな予測生成モジュール264が、データ処理システム500のようなデータ処理システムの対応する1つまたは複数を含むことができる(
図2にデータ処理システム500自体は明示されていない。
図5を参照されたい)。
【0028】
機械学習予測システム200はさらに局所的誤りスコア生成モジュール276を含む。局所的誤りスコア生成モジュール276は、局所レベル重要度生成モジュール212、大局レベル重要度生成モジュール228および新たな予測生成モジュール264に通信可能に結合されている。局所的誤りスコア生成モジュール276は、局所レベル重要度224の情報、大局レベル重要度方向232の情報、新たな予測272の情報、およびE個の問題のある説明可能特徴量260の識別の情報を受け取るように構成されている。T個の最高位にランク付けされた説明可能特徴量244が、ラベルのないインスタンスに対する問題のある予測を識別するのに役立つことがある場合があるとはいえ、事例によっては、個々のインスタンス・レベルで、E個の問題を含む説明可能特徴量260の識別によって識別された問題のある説明可能特徴量だけに基づいて誤り発生のフラグを立てることが、いくぶん信頼できないことがあることを理解すべきである。例えば、
図1に示されているように、「panera」が「ポジティブ」と誤って学習されていることに気づくことは、文2(a)の誤った予測を正確に識別するのに役立ちうるが、文2(b)に対する誤った影響は、大局的レベルで正確に学習されている可能性がある他のポジティブ特徴量「good」の存在によって偽装される。再び
図2を再び参照すると、問題のある予測をより正確に判定するため、局所的誤りスコア生成モジュール276はさらに、局所レベルに対する大局的な誤った特徴量の相対的な影響を考慮するために、局所的誤りスコアeと呼ばれる測定メトリックを計算するように構成されている。より詳細には、局所的誤りスコア生成モジュール276は、新たな予測272の各々の局所的誤りスコアeを、E個の問題のある説明可能特徴量260の識別によって識別された問題のある説明可能特徴量によって新たな予測272の各々に誘導された蓄積した誤り貢献度を正規化したものとして、下式のように計算するように構成されている。
【数10】
上式で、
【数11】
は、特定のインスタンスに対する誤った説明可能特徴量jの局所的貢献度を表し、mは、大局的観点から識別された誤った特徴量の総数を示し、
【数12】
は、説明可能特徴量iの局所的貢献度を表し、その説明可能特徴量iの大局レベル重要度方向は、新たな予測272の対応するそれぞれの方向と同じであり、nは、ポジティブに貢献した説明可能特徴量の総数を表す。例えば、
図1を参照すると、文2(a)は、文2(b)のスコア(0.502)よりもはるかに高い局所的誤りスコア(0.926)を導き出すことが分かる。それぞれの局所的誤りスコアeは、-∞から1の間の値を有することを理解すべきである。
【0029】
再び
図2を参照すると、局所的誤りスコア生成モジュール276はさらに、局所的誤りスコアeの各々を、新たな予測272のうちの対応するそれぞれの新たな予測272に関連づけ、結果として生じる一組の予測をeスコア付き予測280として通信するように構成されている。いくつかの実施形態では、局所的誤り得点生成モジュール276が、データ処理システム500のようなデータ処理システムの対応する1つまたは複数を含むことができる(
図2にデータ処理システム500自体は明示されていない。
図5を参照されたい)。
【0030】
機械学習予測システム200はさらに出力論理モジュール284を含む。出力論理モジュール284は、局所的誤りスコア生成モジュール276に通信可能に結合されている。出力論理モジュール284は、eスコア付き予測280の情報を受け取るように構成されている。出力論理モジュール284はさらに、eスコア付き予測280の各々に対する(したがって関連する新たな予測272の各々に対する)対応するそれぞれの誤り指定を、スコア付き予測280のうちのその1つのeスコア付き予測280の対応するそれぞれの局所的誤りスコアeが、予め定められたしきい値τよりも大きいかどうかに基づいて決定するように構成されている。例えば、いくつかの実施形態では、出力論理モジュール284が、予め定められたしきい値τよりも大きな局所的誤りスコアeを有するeスコア付き予測280の各々(したがって関連する新たな予測272の各々)を、「問題あり」としてまたは「問題のある新たな予測」として指定するように構成されている。出力論理モジュール284はさらに、対応するそれぞれのeスコア付き予測280の各々に対する対応するそれぞれの修正された新たな予測288を、対応するそれぞれのeスコア付き予測280のうちのその1つのeスコア付き予測280が、予め定められたしきい値τよりも大きいかどうかに基づいて自動的に生成するように構成されている。例えば、eスコア付き予測280のうちの特定の1つのeスコア付き予測280が「ノー」または「ネガティブ」であり、eスコア付き予測280のうちのその1つのeスコア付き予測280の局所的誤りスコアeが、予め定められたしきい値τよりも大きいとき、出力論理モジュール284は、修正された新たな予測288のうちの対応する1つの修正された新たな予測288として、「イエス」または「ポジティブ」予測を自動的に生成することができる。反対に、eスコア付き予測280のうちの特定の1つのeスコア付き予測280が「イエス」または「ポジティブ」であり、eスコア付き予測280のうちのその1つのeスコア付き予測280の局所的誤りスコアeが、予め定められたしきい値τよりも大きいとき、出力論理モジュール284は、修正された新たな予測288のうちの対応する1つの修正された新たな予測288として、「ノー」または「ネガティブ」予測を自動的に生成することができる。出力論理モジュール284は、eスコア付き予測280のうちの対応するそれぞれのeスコア付き予測280が予め定められたしきい値τを超えていない修正された新たな予測288の各々について、修正された新たな予測288のうちのその1つの修正された新たな予測288を、新たな予測272の対応するそれぞれの新たな予測272と同じにするように構成されている。
【0031】
出力論理モジュール284はさらに、修正された新たな予測288を通信するように構成されている。出力論理モジュール284はさらに、予め定められたしきい値τよりも大きな対応するそれぞれの局所的誤りスコアeを有するeスコア付き予測280はどれでも(したがって関連する新たな予測272はどれでも)、1つまたは複数の対応するそれぞれの問題のある新たな予測292からなる対応する一組の問題のある新たな予測292として通信するように構成されている。いくつかの実施形態では、出力論理モジュール284が、データ処理システム500のようなデータ処理システムの対応する1つまたは複数を含むことができる(
図2にデータ処理システム500自体は明示されていない。
図5を参照されたい)。
【0032】
図4は、本開示の態様による機械学習予測プロセス400の流れ図である。いくつかの事例では、機械学習予測システム200の1つもしくは複数の構成要素によって、ならびに/または本明細書に記載されたその他のシステム、構成要素、方法および/もしくはプロセスのうちの1つもしくは複数によって、機械学習予測プロセス400の1つまたは複数のステップを実行することができる。説明を明瞭にするため、機械学習予測プロセス400の以下の説明が、このようなシステム、構成要素、方法もしくはプロセスまたはこれらの組合せのうちの1つまたは複数に関することがある。それにもかかわらず、機械学習予測プロセス400、または機械学習予測プロセス400の特定のステップのうちの1つもしくは複数のステップ、あるいはその両方は、適当なシステム、構成要素、方法もしくはプロセスまたはこれらの組合せによって実行することもできることを理解すべきである。機械学習予測プロセス400は、本明細書に記載された他の方法もしくはプロセスまたはその両方と同時にまたは実質的に同時に実行することができることも理解すべきである。
【0033】
ステップ412で、機械学習予測プロセス400は機械学習ベース・モデルを受け取る。これに応じて、いくつかの事例では、局所レベル重要度生成モジュール212もしくは新たな予測生成モジュール264またはその両方が、機械学習ベース・モデル216の情報を受け取ることができる。ステップ412から、機械学習予測プロセス400はステップ418に進む(ステップ418に続く)。
【0034】
ステップ418で、機械学習予測プロセス400は第1の入力データセットを受け取る。これに応じて、いくつかの事例では、局所レベル重要度生成モジュール212が、第1の入力データセット220の情報を受け取ることができる。ステップ418から、機械学習予測プロセス400はステップ424に進む(ステップ424に続く)。
【0035】
ステップ424で、機械学習予測プロセス400は、データ摂動プロセスを使用して機械学習ベース・モデルを第1の入力データセットに対して実行して、ベースライン予測を機械学習ベース・モデルによって生成し、それぞれのベースライン予測について、機械学習ベース・モデルのそれぞれの予測クラスに対する、機械学習ベース・モデルの説明可能特徴量の局所レベル重要度を決定する。これに応じて、いくつかの事例では、局所レベル重要度生成モジュール212が、LIMEデータ摂動技術を使用して機械学習ベース・モデル216を第1の入力データセット220に対して実行して、局所レベル重要度224を決定することができる。ステップ424から、機械学習予測プロセス400はステップ430に進む(ステップ430に続く)。
【0036】
ステップ430で、機械学習予測プロセス400は、機械学習ベース・モデルの説明可能特徴量の局所レベル重要度を集約して、全体の機械学習ベース・モデルに対する説明可能特徴量の大局レベル重要度を決定する。これに応じて、いくつかの事例では、大局レベル重要度生成モジュール228が、局所レベル重要度224を使用して、大局レベル重要度方向232および大局レベル重要度大きさ236を決定することができる。ステップ430から、機械学習予測プロセス400はステップ436に進む(ステップ436に続く)。
【0037】
ステップ436で、機械学習予測プロセス400は、説明可能特徴量を、説明可能特徴量の対応するそれぞれの大局レベル重要度大きさ値に従ってランク付けする。これに応じて、いくつかの事例では、説明可能特徴量ランク付けモジュール240が、対応するそれぞれの大局レベル重要度大きさ236に従って説明可能特徴量jを降順でランク付けすることができる。ステップ436から、機械学習予測プロセス400はステップ442に進む(ステップ442に続く)。
【0038】
ステップ442で、機械学習予測プロセス400は、説明可能特徴量のうちの最高位にランク付けされた説明可能特徴量のうちの1つまたは複数を通信し、説明可能特徴量のうちの最高位にランク付けされたそのような説明可能特徴量の各々の対応するそれぞれの大局レベル重要度方向ラベルを通信する。これに応じて、いくつかの事例では、説明可能特徴量ランク付けモジュール240が、1人または数人の人間評価者252に最終的に提示するために、説明可能特徴量jのうちの最高位にランク付けされたそのような説明可能特徴量のうちの1つまたは複数、およびそれらの説明可能特徴量の対応するそれぞれの大局レベル重要度方向232を、それぞれT個の最高位にランク付けされた説明可能特徴量244およびT個の大局レベル重要度方向248として通信することができる。ステップ442から、機械学習予測プロセス400はステップ448に進む(ステップ448に続く)。
【0039】
ステップ448で、機械学習予測プロセス400は、1つまたは複数の総意人間評価によれば誤った大局レベル重要度方向を有する、説明可能特徴量のうちの最高位にランク付けされた説明可能特徴量のうちの1つまたは複数の各々の情報を受け取る。これに応じて、いくつかの事例では、局所的誤りスコア生成モジュール276が、E個の問題のある説明可能特徴量260の識別の情報を受け取ることができる。ステップ448から、機械学習予測プロセス400はステップ454に進む(ステップ454に続く)。
【0040】
ステップ454で、機械学習予測プロセス400は、第2の入力データセットを受け取る。これに応じて、いくつかの事例では、新たな予測生成モジュール264が、第2の入力データセット268の情報を受け取ることができる。ステップ545から、機械学習予測プロセス400はステップ460に進む(ステップ460に続く)。
【0041】
ステップ460で、機械学習予測プロセス400は、機械学習ベース・モデルを第2の入力データセットに対して実行して、1つまたは複数の新たな予測を機械学習ベース・モデルによって生成する。これに応じて、いくつかの事例では、新たな予測生成モジュール264が、機械学習ベース・モデル216を第2の入力データセット268に対して実行して、新たな予測272を生成することができる。ステップ460から、機械学習予測プロセス400はステップ466に進む(ステップ466に続く)。
【0042】
ステップ466で、機械学習予測プロセス400は、対応するそれぞれの総意人間評価によれば対応するそれぞれの誤った大局レベル重要度方向を有する、説明可能特徴量のうちの最高位にランク付けされた説明可能特徴量によってそれぞれの新たな予測に誘導された蓄積した誤りを正規化したものとして、機械学習ベース・モデルの新たな予測の各々の局所的誤りスコアを計算する。これに応じて、いくつかの事例では、局所的誤りスコア生成モジュール276が、新たな予測272の各々の局所的誤りスコアeを、E個の問題のある説明可能特徴量260の識別によって識別された問題のある説明可能特徴量によって新たな予測272の各々に誘導された蓄積した誤り貢献度を正規化したものとして計算することができる。ステップ466から、機械学習予測プロセス400はステップ472に進む(ステップ472に続く)。
【0043】
ステップ472で、機械学習予測プロセス400は、機械学習ベース・モデルの新たな予測の各々に対する対応するそれぞれの誤り指定を、その新たな予測の対応するそれぞれの局所的誤りスコアがしきい値よりも大きいかどうかに基づいて決定する。これに応じて、いくつかの事例では、出力論理モジュール284が、eスコア付き予測280の各々(したがって関連する新たな予測272の各々)に対する対応するそれぞれの誤り指定を、eスコア付き予測280のうちのその1つのeスコア付き予測280の対応するそれぞれの局所的誤りスコアeが、予め定められたしきい値τよりも大きいかどうかに基づいて決定することができる。ステップ472から、機械学習予測プロセス400はステップ478に進む(ステップ478に続く)。
【0044】
ステップ478で、機械学習予測プロセス400は、機械学習ベース・モデルの新たな予測の各々およびその新たな予測に対する対応するそれぞれの誤り指定の指示を通信し、もしくは対応するそれぞれの修正された予測を通信し、またはその両方を通信する。これに応じて、いくつかの事例では、出力論理モジュール284が、修正された新たな予測288を通信することができ、もしくは1つまたは複数の対応するそれぞれの問題のある新たな予測292を通信することができ、またはその両方を通信することができる。
【0045】
図5は、本開示の態様によるデータ処理システム500のハードウェア・アーキテクチャのブロック図である。いくつかの実施形態では、データ処理システム500の対応する1つまたは複数を使用して、本明細書に記載されたシステムもしくは構成要素またはその両方(例えば機械学習予測システム200またはその1つもしくは複数の構成要素あるいはその両方)のうちの1つまたは複数を実施することができる。さらに、機械学習予測プロセス400の1つもしくは複数のステップを実行するため、ならびに/または本明細書に記載された他の方法および/もしくはプロセスの1つもしくは複数のステップを実行するために1つまたは複数の命令を記憶および実行するように、データ処理システム500を構成することができる。
【0046】
データ処理システム500は、ノース・ブリッジおよびメモリ・コントローラ・ハブ(「NB/MCH」)506ならびにサウス・ブリッジおよび入力/出力(「I/O」)コントローラ・ハブ(「SB/ICH」)510を含むハブ・アーキテクチャを使用する。NB/MCH506には、プロセッサ502、主メモリ504およびグラフィックス・プロセッサ508が接続されている。グラフィックス・プロセッサ508は、アクセラレーテッド・グラフィックス・ポート(accelerated graphics port)(AGP)を通してNB/MCH506に接続されていてもよい。任意のタイプの通信ファブリックまたはアーキテクチャを使用して、バス532またはバス534などのコンピュータ・バスを実施することができ、この通信ファブリックまたはアーキテクチャは、通信ファブリックまたはアーキテクチャに取り付けられた異なる構成要素またはデバイス間のデータの転送を提供する。
【0047】
SB/ICH510にはネットワーク・アダプタ516が接続している。SB/ICH510には、バス532およびバス534を通して、オーディオ・アダプタ530、キーボードおよびマウス・アダプタ522、モデム524、リードオンリー・メモリ(「ROM」)526、ハード・ディスク・ドライブ(「HDD」)512、コンパクト・ディスク・リードオンリー・メモリ(「CD-ROM」)ドライブ514、ユニバーサル・シリアル・バス(「USB」)ポートおよび他の通信ポート518、ならびにペリフェラル・コンポーネント・インターコネクト/ペリフェラル・コンポーネント・インターコネクト・エクスプレス(peripheral component interconnect/peripheral component interconnectexpress)(「PCI/PCIe」)デバイス520が接続している。PCI/PCIeデバイスは、例えばイーサネット(R)・アダプタ、アドイン・カード、およびノートブック・コンピュータ用のパーソナル・コンピューティング(「PC」)カードを含むことができる。PCIはカード・バス・コントローラを使用するが、PCIeは使用しない。ROM526は例えばフラッシュ基本入出力システム(「BIOS」)を含むことができる。モデム524またはネットワーク・アダプタ516を使用して、ネットワーク上でデータを送受信することができる
【0048】
HDD512およびCD-ROMドライブ514は、バス534を通してSB/ICH510に接続している。HDD512およびCD-ROMドライブ514は例えば、インテグレーテッド・ドライブ・エレクトロニクス(「IDE」)またはシリアル・アドバンスト・テクノロジ・アタッチメント(「SATA」)インタフェースを使用することができる。いくつかの実施形態では、HDD512の代わりに、限定はされないが固体状態ドライブ(「SSD」)を含む他の形態のデータ・ストレージ・デバイスを使用することができる。SB/ICH510にはスーパーI/O(「SIO」)デバイス528が接続されていてもよい。SIOデバイス528は、データ処理システム500のプリンタ・ポートを制御すること、ファンを制御すること、もしくは小さな発光ダイオード(「LED」)を制御すること、またはこれらの組合せなど、SB/ICH510に対する要求がそれほど高くない制御機能を実行するのを助けるように構成されたチップをマザーボード上に含むことができる。
【0049】
データ処理システム500は単一のプロセッサ502を含むこと、または複数のプロセッサ502を含むことができる。さらに、プロセッサ502は多数のコアを有することができる。いくつかの実施形態では、データ処理システム500が、数百または数千のプロセッサ・コアを含む多数のプロセッサ502を使用することができる。いくつかの実施形態では、調整された一組の計算を並列に実行するようにプロセッサ502を構成することができる。
【0050】
プロセッサ502を使用してデータ処理システム500上でオペレーティング・システムが実行される。このオペレーティング・システムは、データ処理システム500内のさまざまな構成要素の制御を調整および提供する。オペレーティング・システムとともにさまざまなアプリケーションおよびサービスを実行することができる。オペレーティング・システム、アプリケーションおよび他のデータのための命令は、HDD512の1つまたは複数などのストレージ・デバイス上に位置し、プロセッサ502によって実行するために主メモリ504へロードすることができる。いくつかの実施形態では、1つまたは複数の外部デバイス上に追加の命令またはデータを記憶することができる。例示的な実施形態のための本明細書に記載されたプロセスは、プロセッサ502が、コンピュータが使用可能なプログラム・コードを使用して実行することができ、このコンピュータが使用可能なプログラム・コードは、例えば主メモリ504、ROM526などのメモリまたは1つもしくは複数の周辺デバイスに位置することができる。
【0051】
本発明は、インテグレーションの可能な任意の技術的詳細レベルにおいて、システム、方法もしくはコンピュータ・プログラム製品、またはこれらの組合せであることがある。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読ストレージ媒体を含むことがある。
【0052】
このコンピュータ可読ストレージ媒体は、命令実行デバイスが使用するための命令を保持および記憶することができる有形のデバイスとすることができる。このコンピュータ可読ストレージ媒体は例えば、限定はされないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイスまたはこれらの適当な組合せとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストは、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、リードオンリー・メモリ(ROM)、消去可能なプログラマブル・リードオンリー・メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リードオンリー・メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピー(R)・ディスク、機械的にコード化されたデバイス、例えばパンチカードまたはその上に命令が記録された溝の中の一段高くなった構造体、およびこれらの適当な組合せを含む。本明細書で使用されるとき、コンピュータ可読ストレージ媒体は、それ自体が一過性の信号、例えば電波もしくは他の自由に伝搬する電磁波、ウェーブガイドもしくは他の伝送体内を伝搬する電磁波(例えば光ファイバ・ケーブル内を通る光パルス)、または電線を通して伝送される電気信号であると解釈されるべきではない。
【0053】
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から対応するそれぞれのコンピューティング/処理デバイスにダウンロードすることができ、またはネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークもしくは無線ネットワークまたはこれらの組合せを介して外部コンピュータもしくは外部ストレージ・デバイスにダウンロードすることができる。このネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータもしくはエッジ・サーバ、またはこれらの組合せを含むことができる。それぞれのコンピューティング/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インタフェースは、コンピュータ可読プログラム命令をネットワークから受信し、それらのコンピュータ可読プログラム命令を、対応するそれぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に記憶するために転送する。
【0054】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データもしくは集積回路用のコンフィギュレーション・データであってもよく、またはSmalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同種のプログラミング言語などの手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれた、ソース・コードもしくはオブジェクト・コードであってもよい。このコンピュータ可読プログラム命令は、全体がユーザのコンピュータ上で実行されてもよく、一部がユーザのコンピュータ上で実行されてもよく、独立型ソフトウェア・パッケージとして実行されてもよく、一部がユーザのコンピュータ上で、一部がリモート・コンピュータ上で実行されてもよく、または全体がリモート・コンピュータもしくはリモート・サーバ上で実行されてもよい。上記の最後のシナリオでは、リモート・コンピュータが、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、またはこの接続が、外部コンピュータに対して(例えばインターネット・サービス・プロバイダを使用してインターネットを介して)実施されてもよい。本開示の態様によれば、本発明の態様を実施するために、例えばプログラム可能論理回路、フィールドプログラマブル・ゲート・アレイ(FPGA)またはプログラム可能論理アレイ(PLA)を含む電子回路が、このコンピュータ可読プログラム命令の状態情報を利用してその電子回路をパーソナライズすることにより、このコンピュータ可読プログラム命令を実行してもよい。
【0055】
本明細書では、本発明の態様が、本発明の実施形態による方法、装置(システム)およびコンピュータ・プログラム製品の流れ図もしくはブロック図またはその両方の図を参照して説明される。それらの流れ図もしくはブロック図またはその両方の図のそれぞれのブロック、およびそれらの流れ図もしくはブロック図またはその両方の図のブロックの組合せは、コンピュータ可読プログラム命令によって実施することができることが理解される。
【0056】
これらのコンピュータ可読プログラム命令は、汎用コンピュータもしくは専用コンピュータのプロセッサ、または機械を形成する他のプログラム可能データ処理装置のプロセッサに、それらのコンピュータのプロセッサまたは他のプログラム可能データ処理装置のプロセッサによって実行されるこれらの命令が、これらの流れ図もしくはブロック図またはその両方の図のブロックに指定された機能/操作を実施する手段を生成するような態様で、提供することができる。これらのコンピュータ可読プログラム命令はさらに、特定の方式で機能するようにコンピュータ、プログラム可能データ処理装置もしくは他のデバイスまたはこれらの組合せに指図することができるコンピュータ可読ストレージ媒体に、その中に命令が記憶されたコンピュータ可読ストレージ媒体が、これらの流れ図もしくはブロック図またはその両方の図のブロックに指定された機能/操作の態様を実施する命令を含む製品を含むような態様で、記憶することができる。
【0057】
これらのコンピュータ可読プログラム命令はさらに、コンピュータ、他のプログラム可能装置または他のデバイス上で一連の動作ステップを実行させて、コンピュータによって実施される方法を生み出すために、このコンピュータ、他のプログラム可能データ処理装置または他のデバイス上に、このコンピュータ、他のプログラム可能装置または他のデバイス上で実施されるこれらの命令が、これらの流れ図もしくはブロック図またはその両方の図のブロックに指定された機能/操作を実施するような態様で、ロードすることができる。
【0058】
添付図中の流れ図およびブロック図は、本発明のさまざまな実施形態によるシステム、方法およびコンピュータ・プログラム製品の可能な実施態様のアーキテクチャ、機能および動作を示す。この点に関して、それらの流れ図またはブロック図のそれぞれのブロックは、指定された論理機能を実施する1つまたは複数の実行可能命令を含む、命令のモジュール、セグメントまたは部分を表すことがある。いくつかの代替実施態様では、ブロックに示された機能を、図に示された順序とは異なる順序で実行することができる。例えば、連続して示された2つのブロックが、実際は、1ステップとして実施されること、同時に、実質的に同時に、時間的に部分的にもしくは完全に重なって実行されること、または、含まれる機能によってはそれらのブロックが時に逆の順序で実行されることもある。それらのブロック図もしくは流れ図またはその両方の図のそれぞれのブロック、ならびにそれらのブロック図もしくは流れ図またはその両方の図のブロックの組合せを、指定された機能もしくは操作を実行しまたは専用ハードウェアとコンピュータ命令の組合せを実施するハードウェアベースの専用システムによって実施することができることにも留意すべきである。
【0059】
本発明のさまざまな実施形態の以上の説明は例示のために示したものであり、以上の説明が網羅的であること、または、以上の説明が、開示された実施形態だけに限定されることは意図されていない。当業者には、記載された実施形態の範囲および思想を逸脱しない多くの変更および変形が明らかとなろう。さらに、本明細書に記載された方法のステップは、適当な任意の順序で実行することができ、または適切な場合には同時に実行することもできる。本明細書で使用した用語は、実施形態の原理、実用的用途、もしくは市販されている技術にはない技術的改善点を最もよく説明するように、または本明細書に開示された実施形態を当業者が理解できるように選択した。