IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特開2022-177829コンピュータ実施方法、システム、およびコンピュータプログラム(AIシステムの訓練のための説明の活用)
<>
  • 特開-コンピュータ実施方法、システム、およびコンピュータプログラム(AIシステムの訓練のための説明の活用) 図1
  • 特開-コンピュータ実施方法、システム、およびコンピュータプログラム(AIシステムの訓練のための説明の活用) 図2
  • 特開-コンピュータ実施方法、システム、およびコンピュータプログラム(AIシステムの訓練のための説明の活用) 図3
  • 特開-コンピュータ実施方法、システム、およびコンピュータプログラム(AIシステムの訓練のための説明の活用) 図4
  • 特開-コンピュータ実施方法、システム、およびコンピュータプログラム(AIシステムの訓練のための説明の活用) 図5
  • 特開-コンピュータ実施方法、システム、およびコンピュータプログラム(AIシステムの訓練のための説明の活用) 図6
  • 特開-コンピュータ実施方法、システム、およびコンピュータプログラム(AIシステムの訓練のための説明の活用) 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022177829
(43)【公開日】2022-12-01
(54)【発明の名称】コンピュータ実施方法、システム、およびコンピュータプログラム(AIシステムの訓練のための説明の活用)
(51)【国際特許分類】
   G06N 3/08 20060101AFI20221124BHJP
   G06N 20/00 20190101ALI20221124BHJP
【FI】
G06N3/08
G06N20/00 160
【審査請求】未請求
【請求項の数】25
【出願形態】OL
(21)【出願番号】P 2022081062
(22)【出願日】2022-05-17
(31)【優先権主張番号】17/323,364
(32)【優先日】2021-05-18
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【弁理士】
【氏名又は名称】片岡 忠彦
(74)【復代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】リゴッティ マティヤ
(72)【発明者】
【氏名】ミルクソビクチャシュ クリストフ アドリアン
(72)【発明者】
【氏名】スコットン パウロ
(72)【発明者】
【氏名】グシュウィンド トーマス
(72)【発明者】
【氏名】マロッシ アデルモクリスティアノイノセンサ
(72)【発明者】
【氏名】フリック トーマス
(72)【発明者】
【氏名】ジャニツキ フィリプ ミハル
(57)【要約】      (修正有)
【課題】人工知能システムのブラックボックス的な機能を説明するための現在の手法における制限を克服し、予測の基礎となる理由を生成することによって、推奨/予測が人間によって理解可能又は解釈可能であるような方法及び関連するシステムを提供する。
【解決手段】コンピュータ実施方法は、訓練されていない機械学習モデルを提供する段階と、訓練入力データ要素を含む機械学習モデルのための訓練データを提供する段階と、を含む。訓練入力データ要素の各々は、期待される予測値を表す予測ラベル及び概念ラベルに関連し、概念ラベルは、訓練入力データ要素が与えられた場合に、期待される予測ラベルが期待される理由に関連する。方法はさらに、機械学習モデルの教師あり訓練中に、予測パラメータ値並びに概念パラメータ値を同時に更新し、それによって説明する機械学習モデルを構築する段階を含む。
【選択図】図1
【特許請求の範囲】
【請求項1】
説明する機械学習モデルを訓練するためのコンピュータ実施方法であって、
1つまたは複数のプロセッサによって、訓練されていない機械学習モデルを提供する段階と、
前記1つまたは複数のプロセッサによって、訓練入力データ要素を含む前記機械学習モデルのための訓練データを提供する段階であって、前記訓練入力データ要素の各々は、期待される予測値を表す予測ラベルおよび概念ラベルに関連し、前記概念ラベルは、前記訓練入力データ要素が与えられた場合に、前記期待される予測ラベルが期待される理由に関連する、段階と、
前記1つまたは複数のプロセッサによって、前記機械学習モデルの教師あり訓練中に、予測パラメータ値および概念パラメータ値を同時に更新し、それにより前記説明する機械学習モデルを構築する段階と
を備える、コンピュータ実施方法。
【請求項2】
前記機械学習モデルは、人工ニューラルネットワーク、ディープニューラルネットワーク、畳み込みニューラルネットワーク、リカレントニューラルネットワーク、トランスフォーマベースのニューラルネットワーク、ベクトルサポートマシン、ルールベースのニューラルネットワーク、決定木、およびグラフニューラルネットワークからなる群から選択された1つである、請求項1に記載のコンピュータ実施方法。
【請求項3】
前記機械学習モデルは、ニューラルネットワークであり、前記機械学習モデルの出力値は、複数のクラス値および複数の概念値を含む、請求項1に記載のコンピュータ実施方法。
【請求項4】
前記機械学習モデルはニューラルネットワークであり、前記ニューラルネットワークの少なくとも一部の全損失関数LはL=f(L,L)であり、Lは前記期待される予測値に関する予測損失関数成分に対応し、Lは前記概念ラベルに関する概念損失関数成分に対応し、fはLおよびLの関数に対応する、請求項1に記載のコンピュータ実施方法。
【請求項5】
前記訓練中に、前記全損失関数Lの値および前記期待される予測値に関する前記予測損失関数成分が最小化される、請求項4に記載のコンピュータ実施方法。
【請求項6】
前記機械学習モデルはニューラルネットワークであり、訓練後の前記ニューラルネットワークの動作フェーズ中に、入力データ値の各セットに対して、前記機械学習モデルは、それぞれのクラス信頼値を有するクラス値およびそれぞれの概念信頼値を有する関連する概念値を予測する、請求項1に記載のコンピュータ実施方法。
【請求項7】
所与の予測クラスに対して、全ての関連する予測概念値が出力される、請求項6に記載のコンピュータ実施方法。
【請求項8】
所与の予測クラスに対して、所定の概念閾値より上または下の値を有する、または所定の概念閾値範囲の間の値を有する全ての関連する予測概念値が出力される、請求項6に記載のコンピュータ実施方法。
【請求項9】
前記訓練入力データ要素の各々は、複数の概念ラベルに関連する、請求項1から8のいずれか一項に記載のコンピュータ実施方法。
【請求項10】
前記機械学習モデルは、層ノードおよび隣接する層ノード間の重み付けされたリンクを含む複数の層を含むニューラルネットワークであり、前記複数の層のうちの少なくとも1つは概念層であり、前記概念層の前記層ノードの少なくとも一部は、概念値の出力ノードを表す概念ノードである、請求項1に記載のコンピュータ実施方法。
【請求項11】
単一の概念を表す前記概念ノードは、複数のニューラルネットワークノードにわたって分散される、請求項10に記載のコンピュータ実施方法。
【請求項12】
前記1つまたは複数のプロセッサによって、予測クラス値または予測概念値に対する訂正を受信する段階と、
前記1つまたは複数のプロセッサによって、複数の前記訂正を集約する段階と、
前記1つまたは複数のプロセッサによって、前記機械学習モデルのための新しい訓練データとして前記複数の訂正を使用する段階と
をさらに備える、請求項1から8のいずれか一項に記載のコンピュータ実施方法。
【請求項13】
説明する機械学習モデルを訓練するための機械学習コンピュータシステムであって、
1つまたは複数のコンピュータプロセッサと、
1つまたは複数のコンピュータ可読記憶媒体と、
前記1つまたは複数のコンピュータプロセッサのうちの少なくとも1つによる実行のために、前記1つまたは複数のコンピュータ可読記憶媒体に集合的に格納されたプログラム命令であって、前記格納されたプログラム命令は、
訓練されていない機械学習モデルを提供するプログラム命令と、
訓練入力データ要素を含む前記機械学習モデルのための訓練データを提供するプログラム命令であって、前記訓練入力データ要素の各々は、期待される予測値を表す予測ラベルおよび概念ラベルに関連し、前記概念ラベルは、前記訓練入力データ要素が与えられた場合に、前記期待される予測ラベルが期待される理由に関連する、プログラム命令と、
前記機械学習モデルの教師あり訓練中に、予測パラメータ値および概念パラメータ値を同時に更新し、それにより前記説明する機械学習モデルを構築するプラグラム命令と
を含む、格納されたプログラム命令と
を備える、システム。
【請求項14】
前記機械学習モデルは、人工ニューラルネットワーク、ディープニューラルネットワーク、畳み込みニューラルネットワーク、リカレントニューラルネットワーク、トランスフォーマベースのニューラルネットワーク、ベクトルサポートマシン、ルールベースのニューラルネットワーク、決定木、およびグラフニューラルネットワークからなる群から選択された1つである、請求項13に記載の機械学習コンピュータシステム。
【請求項15】
前記機械学習モデルは、ニューラルネットワークであり、前記機械学習モデルの出力値は、複数のクラス値および複数の概念値を含む、請求項13に記載の機械学習コンピュータシステム。
【請求項16】
前記機械学習モデルはニューラルネットワークであり、前記ニューラルネットワークの少なくとも一部の全損失関数LはL=f(L,L)であり、Lは前記期待される予測値に関する予測損失関数成分に対応し、Lは前記概念ラベルに関する概念損失関数成分に対応し、fはLおよびLの関数に対応する、請求項13に記載の機械学習コンピュータシステム。
【請求項17】
前記訓練中に、前記全損失関数Lの値および前記期待される予測値に関する前記予測損失関数成分が最小化される、請求項16に記載の機械学習コンピュータシステム。
【請求項18】
前記機械学習モデルはニューラルネットワークであり、訓練後の前記ニューラルネットワークの動作フェーズ中に、入力データ値の各セットに対して、前記機械学習モデルは、それぞれのクラス信頼値を有するクラス値およびそれぞれの概念信頼値を有する関連する概念値を予測する、請求項13に記載の機械学習コンピュータシステム。
【請求項19】
所与の予測クラスに対して、全ての関連する予測概念値が出力される、請求項18に記載の機械学習コンピュータシステム。
【請求項20】
所与の予測クラスに対して、所定の概念閾値より上または下の値を有する、または所定の概念閾値範囲の間の値を有する全ての関連する予測概念値が出力される、請求項18に記載の機械学習コンピュータシステム。
【請求項21】
前記訓練入力データ要素の各々は、複数の概念ラベルに関連する、請求項13から20のいずれか一項に記載の機械学習コンピュータシステム。
【請求項22】
前記機械学習モデルは、層ノードおよび隣接する層ノード間の重み付けされたリンクを含む複数の層を含むニューラルネットワークであり、前記複数の層のうちの少なくとも1つは概念層であり、前記概念層の前記層ノードの少なくとも一部は、概念値の出力ノードを表す概念ノードである、請求項13に記載の機械学習コンピュータシステム。
【請求項23】
単一の概念を表す前記概念ノードは、複数のニューラルネットワークノードにわたって分散される、請求項22に記載の機械学習コンピュータシステム。
【請求項24】
予測クラス値または予測概念値に対する訂正を受信するプログラム命令と、
複数の前記訂正を集約するプログラム命令と、
前記機械学習モデルのための新しい訓練データとして前記複数の訂正を使用するプログラム命令と
をさらに備える請求項13から20のいずれか一項に記載の機械学習コンピュータシステム。
【請求項25】
説明する機械学習モデルを訓練するためのコンピュータプログラムであって、コンピュータに、
訓練されていない機械学習モデルを提供する手順と、
訓練入力データ要素を含む前記機械学習モデルのための訓練データを提供する手順であって、前記訓練入力データ要素の各々は、期待される予測値を表す予測ラベルおよび概念ラベルに関連し、前記概念ラベルは、前記訓練入力データ要素が与えられた場合に、前記期待される予測ラベルが期待される理由に関連する、手順と、
前記機械学習モデルの教師あり訓練中に、予測パラメータ値および概念パラメータ値を同時に更新し、それにより前記説明する機械学習モデルを構築する手順と
を実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概して、人工知能のための方法に関し、より具体的には、説明する機械学習(ML)モデルを訓練するためのコンピュータ実施方法に関する。本発明はさらに、機械学習コンピュータシステムおよび説明する機械学習モデルを訓練するためのコンピュータプログラム製品に関する。
【背景技術】
【0002】
人工知能(AI)システムはここ数年で主流となり、企業アプリケーションにコンポーネントとして導入されてきた。このようなコンピュータ実施方法および機械学習コンピュータシステムは、多種多様な業界や応用分野で使用されている。多くの場合、基礎となるMLモデルは、入力データと所望の出力データのペアからなる注釈付きデータが大量に使用される教師ありモードで訓練される。訓練は、出力を取得するためにネットワークを通じて各入力を精緻化することによって進行する。そして、生成された出力は、所望の出力データと比較され、生成された出力と所望の出力データとの間の差から損失関数値が生成され、典型的には、逆伝播を使用して機械学習モデルの要素にフィードバックされる。
【0003】
しかし、そのように訓練されたMLモデルの機能は、やや決定論的ではあるが、それは明らかに手続き型プログラミングの結果ではない。それゆえ、動作または予測フェーズにおける機械学習モデルの出力は、モデルが訓練されたデータに大きく依存する。したがって、同一アーキテクチャおよび同一ハイパーパラメータを有する2つの人工知能システムが、使用される訓練データセットに応じて、全く異なる予測値を生成し得る。それゆえ、人工知能システムは、AIシステムが予測に至る方法が透明でないため、ブラックボックスと見なされることが多い。これは、そのようなシステムを信頼し、依拠することにためらいがある理由の1つである。さらに、銀行や保険業界のような規制された業界では、機関は、なぜ特定の決定(例えば、クレジットラインの拒否)が行われたのかについて論拠を提供できる必要がある。決定がAIシステムの予測に基づいている場合、これは困難になる。
【0004】
したがって、AIシステムによって行われる特定の予測に対して、理由や論拠を生成する試みも行われてきた。しかし、現在までのところ、そのような予測に対して生成された根拠は(例えば、予測が行われた後に人工的に生成されたという事実のため)限られた成功しか収めていない。
【0005】
機械学習モデルを訓練する方法に関連するいくつかの開示がある。米国特許出願公開第2020/0912904A1号は、情報の注釈に基づく分類のための技術を開示している。一例では、システムは、訓練データおよび複数の画像に基づいて畳み込みニューラルネットワークを訓練する。複数の画像はまた、複数のマスク、複数の画像レベルラベル、もしくはバウンディングボックス、またはその組み合わせにも関連付けられている。システムはまた、複数のマスクに基づく第1の損失関数、複数の画像レベルラベルに基づく第2の損失関数、およびバウンディングボックスに基づく第3の損失関数を生成する。その結果、システムは、畳み込みニューラルネットワーク(CNN)に基づいて入力画像の分類ラベルを予測する。
【0006】
さらに、Guilia ViloneとLuca Longoによる「説明可能な人工知能:系統的レビュー」と題された出版物は、自動化された意思決定の使用の権利と義務を定めたEU(欧州連合)の一般データ保護規則(GDPR)の第22条に照らして、説明可能なAI(XAI)の重要性を強調している。注目すべきことに、Guilia Longoの出版物は、特に法的、財政的、精神的、または身体的に個人に悪影響を及ぼす可能性がある場合に、モデルよって自動的に使用される干渉の説明を取得し、関連する推奨に対峙し異論を唱える権利を個人に与えることにより、説明の権利を導入している。しかし、現在利用可能なシステムは、予測の理由を与えることに関して、限られた機能しか持たない。
【0007】
したがって、人工知能システムの多かれ少なかれブラックボックス的な機能を説明するための現在の手法におけるこれらの制限を克服し、予測の基礎となる理由を生成することによっても、推奨/予測が人間によって理解可能または解釈可能であるような方法および関連するシステムを提供することが大いに求められている。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】米国特許出願公開第2020/0912904号明細書
【非特許文献】
【0009】
【非特許文献1】Guilia Vilone、およびLuca Longo著「説明可能な人工知能:系統的レビュー」
【発明の概要】
【発明が解決しようとする課題】
【0010】
人工知能システムの多かれ少なかれブラックボックス的な機能を説明するための現在の手法におけるこれらの制限を克服し、予測の基礎となる理由を生成することによっても、推奨/予測が人間によって理解可能または解釈可能であるような方法および関連するシステムを提供することが大いに求められている。
【課題を解決するための手段】
【0011】
本発明の実施形態は、説明する機械学習モデルを訓練するためのコンピュータ実施方法、機械学習コンピュータシステム、およびコンピュータプログラム製品を開示する。
【0012】
説明する機械学習モデルを訓練するためのコンピュータ実施方法は、訓練されていない機械学習モデルを提供し、訓練入力データを含む機械学習モデルのための訓練データを提供するように構成された1つまたは複数のプロセッサを含み得る。これにより、訓練入力データ要素の各々は、期待される予測値を表す予測ラベルおよび概念ラベルに関連し得、概念ラベルは、訓練入力データ要素が与えられた場合に、その期待される予測ラベルが期待され得る理由に関連し得る。さらに、コンピュータ実施方法は、機械学習モデルの教師あり訓練中に、予測パラメータ値および概念パラメータ値を同時に更新することを含み得、それにより、説明する機械学習モデルを構築する。
【0013】
一実施形態では、説明する機械学習モデルを訓練するための機械学習コンピュータシステムを提供し得る。システムは、プロセッサおよびメモリを含み得、メモリは、プロセッサと通信可能に結合され、メモリは、実行されると、プロセッサが、訓練されていない機械学習モデルを提供し、訓練入力データを含む機械学習モデルのための訓練データを提供することを可能にするプログラムコード部分を格納し得る。これにより、訓練入力データ要素の各々は、期待される予測値を表す予測ラベルおよび概念ラベルに関連し得、概念ラベルは、訓練入力データ要素が与えられた場合に、その期待される予測ラベルが期待される理由に関連し得る。さらに、プログラムコード部分は、プロセッサが、機械学習モデルの教師あり訓練中に、予測パラメータ値および概念パラメータ値を同時に更新することを可能にし得、それにより、説明する機械学習モデルを構築する。
【0014】
説明する機械学習モデルを訓練するためのコンピュータ実施方法は、複数の利点、技術的効果、貢献、もしくは改善、またはその組み合わせを提供し得る。
【0015】
例えば、本明細書に記載される実施形態は、既存の説明可能なAI技術の現在の限界を克服する。既存の説明可能なAIシステムにおいて、説明も提供する手法は、基礎となる予測エンジンに関して、アドオンおよび後付けと言えるかもしれない。説明するコンポーネントは、それぞれの機械学習モデルのアーキテクチャに直接組み込まれていない。
【0016】
これに対して、本明細書に記載される実施形態の訓練データは、データのトリプレットを含む。つまり、訓練データ要素(すなわち画像)および典型的に利用可能な期待される予測出力値(すなわち注釈)に加え、少なくとも1つの概念ラベルが、既存の訓練データ要素およびそれぞれの期待される予測出力値に使用される。したがって、教師あり学習手法では、訓練データのセットは、特定の期待される結果(すなわち予測値そのもの)のための1つまたは複数の関連する理由(または、言い換えれば、概念)によって強化される。
【0017】
特定の期待される結果を達成する1つの方法は、(ニューラルネットワークが基礎となる機械学習モデルとして使用される場合)概念層を使用することであり、その場合、ニューラルネットワークの特定のノードが概念、したがって、入力データの特定の予測または分類の理由、を表すために選択される。しかし、これは人工ニューラルネットワークに限定されるものではなく、多種多様な異なる人工知能システムやアーキテクチャに適用され得る。
【0018】
別の実施形態では、従来のAIシステムと比較した場合、より小さい訓練データのセットを使用して同じ結果を達成し得る。言い換えると、機械学習モデルの予測は、解釈可能な概念層と、これが特定分野の専門家によって解釈可能な機能的方法でモデルの出力に関連し得るという事実のおかげで、人間が解釈可能な概念まで遡り得る。これにより、予測の追加出力として概念層によって表される概念は、場合によっては組み合わせて、分類のために人間に説明を提供し得る基本オブジェクトを表し得る。その結果、モデルは、ファイル分類を関連する基本概念と関連付けることによって、その予測の説明を提供することができ得る。
【0019】
さらに、訓練中、典型的には、教師あり学習のための訓練データを定義し、分類タスクを定義する入出力ペアに加えて、訓練のために追加的に使用される概念値を特権情報として解釈することができる。そのため、既知の特権情報を使用した学習(LUPI)フレームワークによれば、説明によってモデルのサンプル効率と精度が向上し得る。すなわち、説明により、訓練サンプルの数を大幅に削減しながら、競合レベルの精度(またはそれ以上)で機械学習モデルを訓練することができ得る。これにより、MLシステムの訓練中および動作/予測フェーズ中に、利用可能なコンピューティングリソース、記憶容量、もしくはネットワーク帯域幅、またはその組み合わせを、より良く、より効率的に使用することができ得る。これはまた、注釈付き訓練データを作成することに伴う手作業を削減し得、それにより、訓練データのラベルもしくは注釈、またはその両方を作成するためのスタッフの負担および時間を削減し得る。
【0020】
さらに、従属概念もまた、本明細書に記載される実施形態によって対処され得る。例えば、ある概念Bが別の概念Aに依存している場合、この依存関係もまた、本明細書で説明する機械学習モデルで表し得る。例えば、ニューラルネットワークでは、概念Aを、概念Bを表す層よりも前の層に配置することによって、この依存関係をエンコードし得る。したがって、機械学習モデルは、この依存関係を明示的に学習する必要はなく、このことは、より小さな訓練セットが学習に使用され得る理由を説明し得る。したがって、そのような依存関係を正しく定義することによって、この新しい手法は、概念間の論理的帰結、つまり、概念A→概念B→結果も表すことを可能にし得る。
【0021】
以下では、本発明の概念の追加的な実施形態(方法およびシステムに適用可能)を説明する。
【0022】
コンピュータ実施方法の例示的な実施形態によれば、機械学習モデルは、人工ニューラルネットワーク、ディープニューラルネットワーク、畳み込みニューラルネットワーク、リカレントニューラルネットワーク、トランスフォーマベースのニューラルネットワーク、ベクトルサポートマシン、ルールベースのニューラルネットワーク、グラフニューラルネットワーク、および決定木のうちの1つから選択し得る。したがって、多くの異なる機械学習モデルが、本明細書に記載される実施形態によってサポートされ得る。さらに、ニューラルネットワークを使用する実施は、ニューラルネットワークの固有の特性により、他のバージョンの機械学習モデルよりも人気があることになり得る。
【0023】
一実施形態では、機械学習モデルは、ニューラルネットワークであり得、機械学習モデルの出力値は、複数のクラス値および1つまたは複数の概念値を含み得る。したがって、関連する機械学習システムが、1つのクラスのみを出力する場合であっても、システムは複数の概念値を出力してもよい。ここで、概念値が、上位クラスとしてあるクラスを出力する理由として解釈される場合(例えば、関連する予測確率値が最も高いため)、説明可能なMLモデルまたはシステムは、特定の予測に対する一連の理由を並行して提供し得る。
【0024】
コンピュータ実施方法の例示的な実施形態によれば、機械学習モデルは、ニューラルネットワークであり得、ニューラルネットワークの少なくとも一部(特に概念層の前の部分)に対する全損失関数Lは、次のように表し得る。
L=f(L,L
ここにおいて、Lは期待される予測値に関する損失関数成分に対応し得、Lは概念ラベルに関する損失関数成分に対応し得、「f」は変数LおよびLの一般関数を表し得る。一実施形態では、関数は、2つの損失関数成分LおよびLの追加であってもよい。このような複合損失関数が概念層の前の部分に対してのみ機能し得る理由は、概念層(ニューラルネットワークの場合)が、ニューラルネットワークの分類出力に対する出力層と同じではないという事実により得る。その代わりに、概念層は、ニューラルネットワークの隠れ層の一部として、または隠れ層の間に配置され得る。
【0025】
別の例示的な実施形態によれば、訓練中に、全損失関数L(特に、順伝播型モデルにおける概念層の前の部分)の値、および期待される予測値に関連する損失関数成分L(特に、順伝播型モデルにおける概念層の後の部分)を最小化し得る。したがって、説明するAIシステムの利点の概念を達成するために、ニューラルネットワーク訓練の一般的な概念を修正することはできるが、全体的に置き換えることはできない。
【0026】
別の例示的な実施形態によれば、機械学習モデルは、ニューラルネットワークであり得、訓練後(すなわち、推論フェーズ)のニューラルネットワークの動作フェーズ(すなわち、予測または推論フェーズ)中に、入力データ値の各セット(特に、各入力テンソル)に対して、機械学習モデルは、それぞれのクラス信頼値を有するクラス値(すなわち、分類)、およびそれぞれの概念信頼値を有する関連する概念値を予測し得る。それゆえ、ニューラルネットワークシステムの一般的な概念(すなわち、コスト予測および関連する信頼値の確率)は機能し続け得る一方で、概念値出力の追加的なアイデアを上に追加、すなわち、ニューラルネットワークの層およびノードに織り込み得る。それゆえ、基礎となる理由、すなわち概念値は、全ての予測プロセスの不可欠な部分となり得るが、一般的なニューラルネットワークの人工的に追加された追加機能として実現されておらず、今後も実現されない。同様の概念は、非CNN機械学習モデルに対して定式化し得る。
【0027】
別の例示的な実施形態によれば、関連する予測概念値の全て(またはサブセット)が、特に予測と共に出力される。したがって、信頼値を有するクラスを予測するための分類システムとして用いられるニューラルネットワークは、同時に、複数の関連する概念値、すなわち予測クラスの理由とともに出力し得る。言い換えれば、MLシステムの特定の推奨に関するいくつかの理由が、特定の分類の根拠に影響を及ぼし得る。
【0028】
別の例示的な実施形態によれば、所与の予測クラスに対して、所定の概念閾値より上または下の値を有する、または所定の概念閾値範囲間の値を有する関連する予測された概念値のみが、予測クラスとともに出力され得る。このような手法は、機械学習モデルからの「理由ノイズ」を減らすのに役立ち得る。それゆえ、過剰な説明の過剰な解釈が生じ得ないように、あまり多くの理由/概念が分類値出力と共に出力されないことがあり得る。概念信頼値は、所定の概念閾値と比較するために使用され得る。
【0029】
さらに、別の設定も可能である。予測値に対して3つの概念A、B、Cがあり得、概念値は、0.1、0.5、0.9の概念信頼値を有すると想定し得る。上で提案された閾値のアイデアでは、概念Aは、その概念信頼値が閾値を下回り得るため、出力されないかもしれない。しかし、概念Cは、その概念信頼値が閾値を超え得るため、出力されるかもしれない。概念Bは決定的ではないかもしれない。したがって、概念Aが存在せず、概念Cが出力として提示される理由は、ユーザにとって貴重な情報(すなわち説明)にもなる。提案された本発明の概念は、そのような構成も可能にし得る。
【0030】
一実施形態によれば、訓練入力データ要素の各々は、複数の概念ラベルに関連し得る。この手法は、所与の予測クラスに対して複数の概念を生成するというアイデアを反映し得る。言い換えると、予測された推奨に対して、いくつかの理由(すなわち概念)が役割を果たし得る。
【0031】
一実施形態によれば、機械学習モデルは、層ノードおよび隣接する層ノード間の重み付けされたリンクを含む(入力層、複数の隠れ層、および出力層を含む)複数の層を備えるニューラルネットワークであり得、ニューラルネットワークの複数の層のうちの少なくとも1つは概念層であり得る。これにより、概念層の層ノードの少なくとも一部は、概念値の出力ノードを表す概念ノードであり得る。それゆえ、概念ノードは、概念出力のためのものであり得、ニューラルネットワークの最後の層の出力層は、分類出力のためのものであり得る。
【0032】
これにより、概念層は、ニューラルネットワークの入力層から離れた任意の層(またはその一部)によって表し得る。例外的な場合にのみ、概念層は、ニューラルネットワークの出力層の一部、すなわち順伝播型モデルの最後の層であり得る。もしそうであれば、このタイプのニューラルネットワークは退化した形と言えるかもしれない。
【0033】
一実施形態によれば、単一の概念を表すノードは、複数のニューラルネットワークノードにわたって分散され得る。例えば、1つの概念出力を表すノードをニューラルネットワークのN層内に配置し得る一方、別の概念出力をN+1層内のノードで表し得ることが可能であり得る。特定の概念を表すための特定のノードの指定は、損失関数の出力、およびニューロンネットワークの選択されたノードおよび選択された(特に隠れ)層へのその供給によって反映され得る。
【0034】
一実施形態によれば、コンピュータ実施方法は、(特に人間の教師から)予測クラス値もしくは1つまたは複数の予測概念値、またはその両方に対する訂正を受信すること、(特に動作または予測フェーズ中に)複数のそのような訂正を集約し、機械学習モデルのための新しい訓練データとして訂正を使用することも含み得る。これにより、さらなる訓練セッションのための訓練データは、機械学習モデルの動作フェーズ中に、副作用として生成され得る。さらなるオプションは、ニューラルネットワークの機能もまた動作フェーズ中に更新され得るということであり得る。
【0035】
さらに、実施形態は、コンピュータまたは任意の命令実行システムによって、またはそれに関連して使用するためのプログラムコードを提供する、コンピュータ使用可能またはコンピュータ可読媒体からアクセス可能な、関連するコンピュータプログラム製品の形態をとり得る。この説明のために、コンピュータ使用可能またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによって、またはそれに関連して、使用するためにプログラムを格納し、伝達し、伝播し、または輸送する手段を含み得る任意の装置であり得る。
【0036】
本発明の実施形態は、異なる主題を参照して説明されていることに留意されたい。特に、いくつかの実施形態は、コンピュータ実施方法タイプの請求項を参照して説明され、一方、他の実施形態は、装置タイプの請求項を参照して説明される。しかし、当業者は、上記および以下の説明から、別段の通知がない限り、1つのタイプの主題に属する特徴の任意の組み合わせに加えて、異なる主題に関連する特徴間の組み合わせ、特にコンピュータ実施方法タイプの請求項の特徴と装置タイプの請求項の特徴との間の任意の組み合わせも、本書内で開示されていると考えられることを理解するであろう。
【図面の簡単な説明】
【0037】
図1】本発明の一実施形態に係る、説明する機械学習(ML)モデルの訓練のためのコンピュータ実施方法のブロック図を示す。
【0038】
図2】本発明の一実施形態に係る、MLモデルの修正された訓練のブロック図を示す。
【0039】
図3】本発明の一実施形態に係る、動作フェーズ中の訓練されたMLモデルのブロック図を示す。
【0040】
図4】本発明の一実施形態に係る、インフラ監視の分野における実施例のブロック図を示す。
【0041】
図5】本発明の一実施形態に係る、概念層のアイデアを例示するニューラルネットワークのブロック図を示す。
【0042】
図6】本発明の一実施形態に係る、説明する機械学習モデルの訓練のための本発明の機械学習システムのブロック図を示す。
【0043】
図7】本発明の一実施形態に係る、図6によるシステムを含むコンピューティングシステムを示す。
【発明を実施するための形態】
【0044】
この説明との関連で、以下の慣用句、用語、もしくは表現、またはその組み合わせが使用され得る。
【0045】
「説明する機械学習モデル」という用語は、入力データに基づいて予測を行うように適合された機械学習システムのための機械学習モデルを指し得る。典型的には、機械学習モデルは、注釈付き訓練データ、すなわち、入力データ要素と関連する期待される出力データ、すなわち予測出力、とのペアで訓練し得る。これに加えて、各訓練データ要素およびその尊重され期待される出力データ(注釈または正解)に関する1つまたは複数の概念値もまた、MLモデルの訓練データの一部である。したがって、機械学習モデルは、予測フェーズ中、入力データに基づいた出力値だけでなく、ある予測値を予測する理由として解釈され得る関連する概念も予測することを可能とされ得る。したがって、MLモデルは、特定の推奨に対する理由も出力し得る。
【0046】
「訓練されていない機械学習モデル」という用語は、「裸の」機械学習モデルを指し得る。(教師あり訓練手法中に注釈付き訓練データを使用する)訓練中、予測パラメータ値および概念パラメータ値が調整される。これにより、(特に、MLモデルがニューラルネットワークの場合)予測パラメータ値および概念パラメータ値は、ニューラルネットワークの特定のノードの活性化関数のためのパラメータ、およびニューラルネットワークの異なる層のノード間の接続のための重み値に関連し得る。ニューラルネットワーク以外の機械学習モデルの場合、対応するパラメータ設定は、例えば決定木の調整など、それぞれのMLモデルの訓練フェーズ中に発生し得る。
【0047】
「訓練データ」という用語は、ここでは、訓練データ要素(例えば、画像)、期待される予測値を表すラベル値、および概念層のノードによって出力される期待される概念値を含む少なくともトリプレットを指し得る。それゆえ、入力データ要素の1つの注釈、すなわち1つの期待される予測値に対して、複数の異なる概念値が存在し得る。
【0048】
「予測ラベル」(より正確には、予測ラベル値)という用語は、MLモデルの訓練フェーズの注釈値を指し得る。
【0049】
「期待される予測値」という用語は、ニューラルネットワークの出力層のノード(またはその複数)の値を指し得る。特定の期待される予測値は、ニューラルネットワークの訓練のための各データ要素に対する注釈として使用し得る。
【0050】
「概念ラベル」(より正確には、概念ラベル値)という用語は、MLモデルの訓練フェーズの注釈値を指し得る。それゆえ、概念ラベルは、予測フェーズ中のMLモデルの期待される出力値として予測ラベルのアイデアを反映し得る。
【0051】
「教師あり訓練」という用語は、逆伝播のための損失関数の出力値を最小化するための基礎となるMLモデルの期待される出力値を表す注釈データと共に訓練データ要素を使用してMLモデルを訓練するという既知のアイデアを指し得る。
【0052】
「予測パラメータ値」という用語は、MLモデルの内部パラメータの値を記述する変数(機械学習モデルのハイパーパラメータまたはその一部と表記されることもある)を指し得る。ニューラルネットワークの場合、これは、ニューラルネットワークの特定のノードの活性化関数のパラメータのタイプおよび値、もしくはニューラルネットワークのある層のノードから別の層のノードへの接続/リンクの重み値、またはその両方を含み得る。
【0053】
「概念パラメータ値」という用語は、今説明された予測パラメータ値に対応する値を指し得る。ここでも、(ニューラルネットワークがMLモデルの基礎となるアーキテクチャである場合)概念パラメータ値は、特定のノードの活性化関数のパラメータ、およびMLモデルの異なる層のノード間のリンクの重み値に関連し得る。
【0054】
「ニューラルネットワーク」という用語は、「思考プロセス」を促進するために天然のニューロンおよびシナプスを用いて、哺乳類の脳の機能を模倣する人工ノードのネットワークの既知の概念を指し得る。ニューラルネットワークは、人工ニューラルネットワークノードの入力層、複数の隠れ層、および出力層を備え得る。
【0055】
「出力値」という用語は、ニューラルネットワークの出力層の特定のノードにおける値を指し得る。典型的には、出力値と平行して最も高い信頼値を有する特定のクラスに関連付けられたノードは、予測クラスを表し得る。ニューラルネットワークの出力層の予測(すなわち、クラス)の特定の出力値に関する概念値の出力値についても、類似の概念を用い得る。
【0056】
「クラス値」という用語は、特定の予測クラスに関するニューラルネットワークの出力層のノードの出力値を指し得る。
【0057】
「概念値」という用語は、特定の概念に関するニューラルネットワークの概念層のノードの出力値を指し得る。
【0058】
「全損失関数」という用語は、ニューラルネットワークの教師あり訓練中の、期待される予測値に関する損失関数と期待される概念値の損失関数成分との組み合わせを指し得る。単純な形では、全損失関数は部分損失関数の和であり得る。しかし、組み合わせのために他の関数も使用し得る。
【0059】
「動作フェーズ」という用語は、機械学習モデルとその基礎となる人工知能システムとの予測フェーズを指し得る。
【0060】
以下、図面の詳細な説明を行う。図中の全ての命令は模式的である。最初に、本発明の説明する機械学習モデルの訓練のためのコンピュータ実施方法の一実施形態のブロック図を示す。その後、さらなる実施形態、および説明する機械学習モデルの訓練のための機械学習システムの実施形態についても説明する。
【0061】
図1は、本発明の一実施形態に係る、説明する機械学習モデルの訓練のためのコンピュータ実施方法100のブロック図を示す。コンピュータ実施方法100は、訓練されていない機械学習モデルを提供すること102を含む。例えば、訓練されていない機械学習モデルは、人工ニューラルネットワーク(ANN)、畳み込みニューラルネットワーク(CNN)、ディープニューラルネットワーク(DNN、多数の隠れ層を含む)を含んでもよく、これらは全て、ノードおよび選択されたノード間のリンクを含む。さらに、決定木システムおよびルールベースシステムが、敵対的生成ネットワーク(GAN)、回帰型ニューラルネットワーク(RNN)、領域ベースニューラルネットワーク(R-CNN)として使用されてもよく、他のタイプの機械学習モデルが使用されてもよい。
【0062】
一実施形態では、コンピュータ実施方法100は、訓練入力データを含む機械学習モデルのための訓練データを提供すること104を含み、訓練入力データ要素の各々は、期待される予測値、例えば、期待されるクラスを表す(いわゆる正解データを表す)予測ラベル、および少なくとも1つの概念ラベルに関連する。これにより、概念ラベルは、訓練入力データ要素が与えられた場合に、期待される予測ラベルが期待される理由に関連する。
【0063】
一実施形態では、コンピュータ実施方法100は、機械学習モデルの教師あり訓練中に、予測パラメータ値および概念パラメータ値を同時に更新すること106を含み、それにより、説明する機械学習モデルを構築する。これにより、パラメータ値は、異なる層の異なるノード間のリンクの重み値およびニューラルネットワーク、または別のタイプのMLモデルの構造、決定木がMLモデルとして使用される場合の再配置決定木などに関連し得る。
【0064】
図2は、本発明の一実施形態に係る、MLモデルの修正された訓練のブロック図200を示す。
【0065】
一実施形態では、機械学習モデル202に訓練データ206を供給して、損失関数204の値を最小化する。訓練中、損失関数の値は、MLモデル202の全ての層の関数に逆伝播される。入力訓練データ要素208の予測ラベルまたは注釈210を比較することにより、損失関数の値を最小化することができる。これにより、典型的には、MLモデル202の重み係数値または他のパラメータが調整される。そして、そのようなMLモデル202は、(干渉、動作フェーズの予測中)順伝播手法で動作させてもよく、これは、MLモデル202の入力層に送られた値が、MLモデル202のアーキテクチャまたは層を通して段階的に伝播されることを意味する。MLモデル202がニューラルネットワークである場合、隠れ層のノードの出力値は、リンクへの個々の重み付け係数を用いて、ニューラルネットワークの次の層のノードに入力される。
【0066】
一実施形態では、ここで提案される本発明の概念の具体的な特徴は、追加の訓練データ、つまり概念ラベル212データに見ることができる。訓練データ要素208と予測ラベル210の各ペアに対して、少なくとも1つの追加の概念ラベル212が存在し、特定の予測ラベル210が所与の訓練データ要素に対して期待される理由として理解され得る。
【0067】
言い換えると、典型的な教師あり学習訓練は、入力と出力のペアを提供することによって行われるのに対して、ここで提案する「学習における説明のフレームワーク」は、入力と説明と出力のトリプレット(すなわち、入力と概念と出力)を使用する。通常通り、入力はMLモデルに提供され、所望の訓練出力との違いが出力損失関数の値を決定する出力ニューロンのアクティベーションを計算する。さらに、解釈可能な概念ニューロンの対応するアクティベーション(以下の図5を比較)を、提供された所望の説明と比較することができ、得られた差が説明損失関数の値を決定する。そして、出力損失と期待損失から取得された結合損失関数の反復最小化によって訓練が進む。そして、期待損失はMLモデルの容量を制約する正則化項として解釈できる。重要なことに、そのような正則化損失は、概念ニューロンの層の解釈可能な性質のおかげで、最終出力を決定するために有用な関連する専門知識を反映するように構成される。
【0068】
図3は、本発明の一実施形態に係る、動作フェーズ中の訓練されたMLモデル302のブロック図300を示す。
【0069】
一実施形態では、訓練されたMLモデル302への入力データの結果として予測クラス値を出力するだけである代わりに(潜在的に、予測クラス値に対する信頼値の他に)、訓練されたMLモデル302はまた、所与の予測クラス値304に対する少なくとも1つの予測概念値306を出力する。それゆえ、説明可能なAIの概念によれば、各予測クラスに対して、訓練されたMLモデル302は、予測クラスが入力データセット308の結果である理由(すなわち、少なくとも1つの関連する概念)も提供する。
【0070】
図4は、本発明の一実施形態に係る、インフラ監視の分野における実施例のブロック図を示す。
【0071】
一実施形態では、画像が、カメラを装備した無人機(例えば、UAV無人航空機)によって、建物の表面、橋、道路、および風力エネルギー発生器の柱などのインフラコンポーネント(図示せず)の視点から撮影され得る。カメラによって撮影された画像データは、訓練されたニューラルネットワーク402に供給され得る(図3の訓練されたMLモデル302と比較)。訓練されたニューラルネットワーク402が解釈可能な概念層404を備えていない場合、受信された画像の予測出力は、任意の入力画像を、その画像が表面の亀裂414または同様の問題領域を示す場合、問題領域を示しているものと分類する。したがって、従来のニューラルネットワークは、なぜ入力画像における特定の欠陥が、画像を重大な損傷を含んでいるものと分類する理由となるのかを示す。
【0072】
しかし、画像注釈405で訓練データに注釈を付けるだけの代わりに、各訓練データ要素(例えば、画像)の訓練データはまた、ここではインフラコンポーネントのセメント亀裂406の画像412の特定の幅の概念に関連し得る1つまたは複数の人間が解釈可能な概念を含む。亀裂406の幅の概念は、インフラコンポーネントの画像が深刻な損傷を示すものとして分類される理由を表す。解釈可能な概念層404を有するニューラルネットワーク402は、入力画像が分類408「重度」に分類されるという分類、および理由410、すなわちセメント亀裂の幅、を表す概念を出力する。
【0073】
信頼閾値が特定の閾値を超えることが厳密に要求されないことを例示する別の態様は、以下のように、x%の確率(すなわち、信頼閾値)で錆がある場合、メンテナンスが必要とされる。しかし、概念値が概念閾値以下であっても、概念が存在しないことを示すので、説明を形成するために使用される可能性がある。それゆえ、この特定のスポットは、錆や亀裂を確認することができないので、メンテナンスを必要とする可能性は低い。
【0074】
図5は、本発明の一実施形態に係る、概念層のアイデアを例示するニューラルネットワークのブロック図を示す。
【0075】
一実施形態では、ニューラルネットワークの典型的な要素は、入力層502、隠れ層504、および出力層506として示されており、隠れ層504は複数の隠れ層を含み得る。層の各々は、複数の(円で表されている)ノードを含む。ニューラルネットワーク(ディープニューラルネットワーク)には、何十、何百、さらには何千という隠れ層が存在し得る。入力が画像である場合、入力層におけるノードの数は、画像のピクセルの数に対応し得る。出力層506のノードは塗りつぶされた黒点として示され、一方、ニューラルネットワークの外部に出力を提供しない他のノードは白丸として示されている。
【0076】
しかし、層の1つは、概念層508の出力ノードを表す黒い塗りつぶしの円も含む。概念層508の黒でマークされたノードの出力値は、出力層506からの所与の予測出力値に関連する1つまたは複数の概念に関連付けられた出力値である。
【0077】
概念ノードは、層中に分散されていてもよく、すなわち、それらは互いに並んでいる必要はないことにも留意されたい。さらに、それらは隠れ層のうちの2つ以上にわたって分散されていてもよい。ニューラルネットワークの退化した形では、それらは出力層の一部であることもある。
【0078】
図6は、本発明の一実施形態に係る、説明する機械学習モデルの訓練のための本発明の機械学習システム600のブロック図を示す。
【0079】
一実施形態では、システム600は、プロセッサ602およびメモリ604を含み、メモリ604は、プロセッサ602に通信可能に結合され、メモリ604は、実行されると、プロセッサ602が、訓練されていない機械学習モデルを使用する(すなわち、具体的にはMLモデル606を提供する)こと、および訓練入力データを含む機械学習モデルのための訓練データを使用する(すなわち、具体的には提供ユニット608を使用して提供する)ことを可能にするプログラムコード部分を格納する。これにより、訓練入力データ要素の各々は、期待される予測値を表す予測ラベルおよび概念ラベルに関連し、概念ラベルは、訓練入力データ要素が与えられた場合に期待される予測ラベルが期待される理由に関連する。
【0080】
一実施形態では、システム600はまた、プログラムコードを実行して、機械学習モデルの教師あり訓練中に、予測パラメータ値および概念パラメータ値を同時に(具体的には更新モジュール610を使用して)更新することによって適合され、それにより、説明する機械学習モデルを構築する。
【0081】
一実施形態では、全ての機能ユニット、モジュール、および機能ブロックは、選択された一対一方式で信号またはメッセージの交換のために互いに通信可能に結合され得る。あるいは、機能ユニット、モジュール、および機能ブロック(つまり、プロセッサ602、メモリ604、MLモデル606、訓練データの提供ユニット608、および更新モジュール610)は、選択的信号またはメッセージ交換のためにシステム内部バスシステム612にリンクすることができる。
【0082】
本発明の実施形態は、プラットフォームがプログラムコードを格納もしくは実行、またはその両方を行うのに適しているかに関係なく、実質的に任意のタイプのコンピュータと共に実施され得る。図7は、一例として、提案された方法に関連するプログラムコードを実行するのに適したコンピューティングシステム700を示す。
【0083】
図7は、本発明の一実施形態に係る、図6によるシステム700を含むコンピューティングシステムを示す。
【0084】
一実施形態では、コンピューティングシステム700は、適切なコンピュータシステムの一例に過ぎず、本明細書に記載される本発明の実施形態の使用範囲または機能に関する制限を示唆することを意図しない。とにかく、コンピュータシステム700は、実施されることができ、もしくは上記の機能のいずれかを実行することができ、またその両方である。コンピュータシステム700には、多数の他の汎用または特殊目的のコンピューティングシステム環境または構成と共に動作可能なコンポーネントが存在する。コンピュータシステム/サーバ700と共に使用するのに適切であり得る周知のコンピューティングシステム、環境、もしくは構成、またはその組み合わせの例は、パーソナルコンピュータシステム、サーバコンピュータシステム、シンクライアント、シッククライアント、手持ち式またはラップトップのデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電化製品、ネットワークPC、ミニコンピュータシステム、メインフレームコンピュータシステム、および上述のシステムまたはデバイスのいずれかを含む分散クラウドコンピューティング環境などを含むが、これらに限定されない。コンピュータシステム/サーバ700は、コンピュータシステム700によって実行されるプログラムモジュールなどのコンピュータシステム実行可能命令との一般的な関係において説明され得る。一般に、プログラムモジュールは、特定のタスクを実行したり、特定の抽象データタイプを実装したりするルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含み得る。コンピュータシステム/サーバ700は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散クラウドコンピューティング環境で実施され得る。分散クラウドコンピューティング環境では、プログラムモジュールは、メモリ記憶デバイスを含むローカルコンピュータシステム記憶媒体およびリモートコンピュータシステム記憶媒体の両方に配置され得る。
【0085】
図7に示すように、コンピュータシステム/サーバ700は、汎用コンピューティングデバイスの形態で示されている。コンピュータシステム/サーバ700のコンポーネントは、1つまたは複数のプロセッサまたは処理ユニット702、システムメモリ704、およびシステムメモリ704を含む様々なシステムコンポーネントを処理ユニット702に結合するバス706を含み得るが、これらに限定されない。バス706は、メモリバスやメモリコントローラ、周辺バス、加速グラフィックスポート、および様々なバスアーキテクチャのいずれかを使用するプロセッサやローカルバスを含む、いくつかのタイプのバス構造のいずれかの1つまたは複数を表す。例として、限定するものではないが、そのようなアーキテクチャは、業界標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオ電子標準協会(VESA)ローカルバス、および周辺コンポーネント相互接続(PCI)バスを含む。コンピュータシステム/サーバ700は、典型的には、様々なコンピュータシステム可読媒体を含む。このような媒体は、コンピュータシステム/サーバ700によってアクセス可能な任意の利用可能な媒体であってもよく、揮発性および不揮発性媒体、取り外し可能および取り外し不可能媒体の両方を含む。
【0086】
一実施形態では、システムメモリ704は、ランダムアクセスメモリ(RAM)708もしくはキャッシュメモリ710、またはその両方などの揮発性メモリの形態のコンピュータシステム可読媒体を含み得る。コンピュータシステム/サーバ700は、さらに、他の取り外し可能/取り外し不可能、揮発性/不揮発性コンピュータシステム記憶媒体を含み得る。例としてのみであるが、ストレージシステム712は、取り外し不可能な不揮発性磁気媒体(図示せず、一般に「ハードドライブ」と呼ばれる)から読み出したり、それに書き込んだりするために提供され得る。図示されていないが、取り外し可能な不揮発性磁気ディスク(例えば、「フロッピーディスク」)から読み出したり、それに書き込んだりするための磁気ディスクドライブ、およびCD-ROM、DVD-ROM、または他の光学媒体などの取り外し可能な不揮発性光ディスクから読み出したり、それに書き込んだりするための光ディスクドライブが設けられ得る。このような場合、各々は、1つまたは複数のデータ媒体インターフェースによってバス706に接続することができる。以下にさらに図示および説明されるように、メモリ704は、本発明の実施形態の機能を実行するように構成されたプログラムモジュールのセット(例えば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含み得る。
【0087】
一実施形態では、プログラムモジュール716のセット(少なくとも1つ)を有するプログラム/ユーティリティは、オペレーティングシステム、1つまたは複数のアプリケーションプログラム、他のプログラムモジュール、およびプログラムデータと同様に、例として、限定するものではなく、メモリ704に格納することができる。オペレーティングシステム、1つまたは複数のアプリケーションプログラム、他のプログラムモジュール、およびプログラムデータの各々、またはそれらの組み合わせは、ネットワーキング環境の実装を含み得る。プログラムモジュール716は、概して、本明細書で説明するように、本発明の実施形態の機能もしくは手順、またはその両方を実行する。
【0088】
一実施形態では、コンピュータシステム/サーバ700はまた、キーボード、ポインティングデバイス、ディスプレイ720などの1つまたは複数の外部デバイス718、ユーザがコンピュータシステム/サーバ700とやりとりすることを可能にする1つまたは複数のデバイス、もしくはコンピュータシステム/サーバ700が1つまたは複数の他のコンピューティングデバイスと通信することを可能にする任意のデバイス(例えば、ネットワークカード、モデムなど)、またはその組み合わせと通信し得る。このような通信は、入出力(I/O)インターフェース714を介して行うことができる。さらに、コンピュータシステム/サーバ700は、ネットワークアダプタ722を介して、ローカルエリアネットワーク(LAN)、一般的なワイドエリアネットワーク(WAN)、もしくはパブリックネットワーク(例えば、インターネット)、またはその組み合わせなどの1つまたは複数のネットワークと通信し得る。図示されるように、ネットワークアダプタ722は、バス706を介してコンピュータシステム/サーバ700の他のコンポーネントと通信し得る。図示されていないが、他のハードウェアコンポーネントもしくはソフトウェアコンポーネント、またはその両方(例えば、マイクロコード、デバイスドライバ、冗長処理ユニット、外部ディスクドライブアレイ、RAIDシステム、テープドライブ、およびデータアーカイブ記憶システム)をコンピュータシステム/サーバ700と共に使用することができることを理解されたい。
【0089】
さらに、説明する機械学習モデルの訓練のための機械学習システム600をバス706システムに接続し得る。
【0090】
本発明の様々な実施形態の記載は、例示の目的で提示されてきたが、網羅的であること、または開示された実施形態に限定されることを意図していない。記載された実施形態の範囲および精神から逸脱することなく、多くの修正および変形が当業者には明らかであろう。本明細書で使用される術語は、実施形態の原理、市場で見出される技術に対する実際の適用または技術的改善を最もよく説明するため、または当技術分野の通常のスキルを有する他の人が本明細書に開示される実施形態を理解できるようにするために選択された。
【0091】
本発明は、システム、方法、もしくはコンピュータプログラム製品、またはその組み合わせとして具体化し得る。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読記憶媒体を含み得る。
【0092】
媒体は、伝搬媒体用の電子、磁気、光学、電磁、赤外線、または半導体システムであり得る。コンピュータ可読媒体の例は、半導体または固体メモリ、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、硬質磁気ディスク、および光ディスクを含み得る。光ディスクの現在の例は、コンパクトディスク読み取り専用メモリ(CD-ROM)、コンパクトディスク読み取り/書き込み(CD-R/W)、DVD、およびブルーレイディスクを含む。
【0093】
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のために命令を保持および格納することができる有形のデバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子記憶デバイス、磁気記憶デバイス、光学記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、またはこれらの任意の適切な組み合わせであり得るが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の網羅的でないリストは、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラム可能読み取り専用メモリ(EPROMまたはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、パンチカードのような機械的にエンコードされたデバイスまたは命令がその上に記録された溝内の隆起構造体、およびこれらの任意の適切な組み合わせを含む。本明細書で使用されるコンピュータ可読記憶媒体は、電波やその他の自由に伝搬する電磁波、導波管やその他の伝送媒体(例えば、光ファイバーケーブルを通過する光パルス)を伝搬する電磁波、またはワイヤーを通って伝送される電気信号などの一時的な信号そのものであると解釈してはならない。
【0094】
本明細書に記載されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスへ、またはネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、もしくはワイヤレスネットワーク、またはその組み合わせを介して、外部コンピュータまたは外部記憶デバイスへダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、もしくはエッジサーバ、またはその組み合わせを含み得る。各コンピューティング/処理デバイス内のネットワークアダプタカードまたはネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に格納するためにコンピュータ可読プログラム命令を転送する。
【0095】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk(登録商標)、C++などのオブジェクト指向プログラミング言語、およびCプログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組み合わせで書かれたソースコードまたはオブジェクトコードのいずれかであってもよい。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、スタンドアロンソフトウェアパッケージとして部分的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、部分的にリモートコンピュータ上で、または完全にリモートコンピュータまたはサーバ上で実行してもよい。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されていてもよく、または外部コンピュータに(例えば、インターネットサービスプロバイダを使用するインターネットを介して)接続されていてもよい。いくつかの実施形態では、例えば、プログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブル論理アレイ(PLA)を含む電子回路は、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用して、電子回路をパーソナライズすることにより、コンピュータ可読プログラム命令を実行してもよい。
【0096】
本発明の態様は、本発明の実施形態に係るコンピュータ実施方法、装置(システム)、およびコンピュータプログラム製品のフローチャート図もしくはブロック図、またはその両方を参照して、本明細書で説明される。フローチャート図もしくはブロック図、またはその両方の各ブロック、およびフローチャート図もしくはブロック図、またはその両方におけるブロックの組み合わせは、コンピュータ可読プログラム命令によって実施することができることは理解されよう。
【0097】
これらのコンピュータ可読プログラム命令は、汎用コンピュータ、特殊用途コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供され、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートもしくはブロック図、またはその両方の1つまたは複数のブロックで指定された機能/行為を実施するための手段を生成するような機械を生成してもよい。これらのコンピュータ可読プログラム命令はまた、コンピュータ、プログラム可能なデータ処理装置、もしくは他のデバイス、またはその組み合わせに特定の方法で機能するように指示することができるコンピュータ可読記憶媒体に格納されていてもよく、それにより、その中に格納された命令を有するコンピュータ可読記憶媒体は、フローチャートもしくはブロック図、またはその両方の1つまたは複数のブロックで指定された機能/行為の態様を実施する命令を含む製造品を含む。
【0098】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイスにロードされて、一連の動作段階をコンピュータ、他のプログラム可能な装置、または他のデバイス上で実行させて、コンピュータ実施プロセスを生成してもよく、それにより、コンピュータ、他のプログラム可能な装置、または他のデバイス上で実行される命令は、フローチャートもしくはブロック図、またはその両方の1つまたは複数のブロックで指定された機能/行為を実施する。
【0099】
図中のフローチャートもしくはブロック図、またはその両方は、本発明の様々な実施形態に係るシステム、方法、およびコンピュータプログラム製品の可能な実施のアーキテクチャ、機能、および動作を例示する。これに関して、フローチャートまたはブロック図における各ブロックは、指定された論理機能を実施するための1つまたは複数の実行可能な命令を含む、命令のモジュール、セグメント、または部分を表し得る。いくつかの代替的な実施では、ブロックに記載された機能は、図に記載された順序以外で発生してもよい。例えば、連続して示される2つのブロックは、実際には、実質的に同時に実行されてもよく、または、関連する機能に依存して、逆の順序で実行されることがあってもよい。また、ブロック図もしくはフローチャート図、またはその両方の各ブロック、およびブロック図もしくはフローチャート図、またはその両方のブロックの組合せは、指定された機能を実行する、または特定の目的のハードウェアおよびコンピュータ命令の組合せを行動または実行する特殊目的ハードウェアベースシステムによって実施することができることに留意されたい。
【0100】
本明細書で使用される術語は、特定の実施形態のみを説明するためのものであり、本発明を制限することを意図するものではない。本明細書において使用されるように、単数形a、an、およびtheは、文脈が明らかに他のことを示さない限り、複数形も含むことを意図する。さらに、本明細書中で使用される場合、含むもしくは含みという用語またはその両方は、記載された特徴、整数、段階、動作、要素、もしくはコンポーネント、またはその組み合わせの存在を特定するが、1つまたは複数の他の特徴、整数、段階、動作、要素、コンポーネント、もしくはそれらのグループ、またはその組み合わせの存在または追加を排除しないことが理解されよう。
【0101】
以下の請求項における全ての手段または段階プラス機能要素の対応する構造、材料、作用、および均等物は、具体的に請求項に記載されているように、請求項に記載された他の要素と組み合わせて機能を実行するための任意の構造、材料、または作用を含むことを意図している。本発明の記載は、例示および説明の目的で提示されたが、網羅的であること、または開示された形態の発明に限定することを意図していない。本発明の範囲および精神から逸脱することなく、多くの修正および変形が当業者には明らかであろう。実施形態は、本発明の原理および実際の適用を最もよく説明し、当業者が、意図される特定の使用に適するように、様々な修正を伴う様々な実施形態について本発明を理解できるようにするために選択され、説明されている。
図1
図2
図3
図4
図5
図6
図7