(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-30
(45)【発行日】2024-05-10
(54)【発明の名称】サンプル分析の方法、電子装置、コンピュータ可読記憶媒体、及びコンピュータプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20240501BHJP
G06V 10/70 20220101ALI20240501BHJP
G06N 20/00 20190101ALI20240501BHJP
【FI】
G06T7/00 350B
G06V10/70
G06N20/00 130
【外国語出願】
(21)【出願番号】P 2022145976
(22)【出願日】2022-09-14
【審査請求日】2023-01-13
(31)【優先権主張番号】202111075280.9
(32)【優先日】2021-09-14
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103894
【氏名又は名称】家入 健
(72)【発明者】
【氏名】チュアン リー
(72)【発明者】
【氏名】ジャン ニー
【審査官】笠田 和宏
(56)【参考文献】
【文献】特開2021-111279(JP,A)
【文献】特開2019-008574(JP,A)
【文献】国際公開第2020/054028(WO,A1)
【文献】Diego Ortego,外4名,Towards Robust Learning with Different Label Noise Distributions,2020 25th International Conference on Pattern Recognition (ICPR),2021年01月10日,pp. 7020-7027
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G06V 10/70
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
関連付けられたアノテーションデータを有するサンプルセットを取得することと、
対象モデルを用いて前記サンプルセットを処理することによって、前記サンプルセットに対する予測データと、前記予測データの信頼度とを決定することと、
前記予測データと前記アノテーションデータとの比較に基づいて、前記対象モデルの精度を決定することと、
誤ってアノテーションされた可能性がある候補サンプルを、前記精度と前記信頼度に基づいて前記サンプルセットの中から決定することと、
を含
み、
前記候補サンプルを前記サンプルセットの中から決定することは、
前記精度と、前記サンプルセットの数とに基づいて、対象数を決定することと、
前記信頼度に基づいて前記サンプルセットの中から前記対象数の前記候補サンプルを決定することと、
を含む、
サンプル分析の方法。
【請求項2】
前記サンプルセットと前記アノテーションデータを用いて前記対象モデルに学習させる、
請求項1に記載の方法。
【請求項3】
前記サンプルセットと前記アノテーションデータを用いて前記対象モデルに学習させることによって、前記サンプルセットを第1サンプルサブセットと第2サンプルサブセットに分割することと、
半教師あり学習に基づいて、前記第2サンプルサブセットのアノテーションデータを考慮せずに、前記第1サンプルサブセットのアノテーションデータと、前記第2サンプルサブセットとを用いて前記対象モデルに再学習させることと、
に基づいて、前記対象モデルに学習させる、
請求項1に記載の方法。
【請求項4】
前記サンプルセットと前記アノテーションデータを用いて前記対象モデルに学習させることによって、前記サンプルセットを第1サンプルサブセットと第2サンプルサブセットに分割することは、
前記サンプルセットと前記アノテーションデータを用いて前記対象モデルに学習させることによって、前記サンプルセットに関連付けられた不確実性メトリックを決定することと、
前記不確実性メトリックに基づいて、前記サンプルセットを前記第1サンプルサブセットと前記第2サンプルサブセットに分割することと、
を含む、
請求項3に記載の方法。
【請求項5】
前記サンプルセットと前記アノテーションデータを用いて前記対象モデルに学習させることによって、前記サンプルセットを第1サンプルサブセットと第2サンプルサブセットに分割することは、
前記サンプルセットと前記アノテーションデータを用いて前記対象モデルに学習させることによって、前記サンプルセットに関連付けられた学習損失を決定することと、
前記サンプルセットに関連付けられた学習損失を、分類器を用いて処理し、前記サンプルセットを前記第1サンプルサブセットと前記第2サンプルサブセットに分割することと、
を含む、
請求項3に記載の方法。
【請求項6】
前記アノテーションデータは、前記サンプルセットに関連付けられた対象カテゴリのラベル、タスクカテゴリのラベル、行動カテゴリのラベルのうちの少なくとも1つを含む、
請求項1に記載の方法。
【請求項7】
前記サンプルセットは複数の画像サンプルを含み、
前記アノテーションデータは画像サンプルの分類ラベルを示す、
請求項1に記載の方法。
【請求項8】
前記サンプルセットのサンプルは、少なくとも1つのオブジェクトを含み、
前記アノテーションデータは、前記少なくとも1つのオブジェクトについてのアノテーション情報を含む、
請求項1に記載の方法。
【請求項9】
前記信頼度は、前記予測データと、対応する前記アノテーションデータとの差に基づいて決定される、
請求項1に記載の方法。
【請求項10】
前記候補サンプルが誤ってアノテーションされた可能性があることを示すために、前記候補サンプルに関連付けられたサンプル情報を提供することをさらに含む、
請求項1に記載の方法。
【請求項11】
前記候補サンプルについてのフィードバック情報を取得することと、
前記フィードバック情報に基づいて前記候補サンプルのアノテーションデータを更新することと、
をさらに含む、
請求項1に記載の方法。
【請求項12】
少なくとも1つのプロセッサーと、
前記少なくとも1つのプロセッサーに結合され、前記少なくとも1つのプロセッサーによって実行されるための命令を格納する少なくとも1つのメモリと
を備え、
前記命令が前記少なくとも1つのプロセッサーによって実行された場合、請求項1~
11のいずれか1項に記載の方法を実行する、
電子装置。
【請求項13】
請求項1~
11のいずれか1項に記載の方法を実行するためのコンピュータ可読プログラム命令が格納された、
コンピュータ可読記憶媒体。
【請求項14】
請求項1~
11のいずれか1項に記載の方法を実行するためのコンピュータ可読プログラム命令を含む、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の実施形態は、人工知能の分野に関し、より具体的には、サンプル分析に用いられる方法、電子装置、記憶媒体、及びコンピュータプログラム製品に関する。
【背景技術】
【0002】
コンピュータ技術の絶え間ない発展に伴い、機械学習モデルは人々の生活の各方面で広く応用されている。機械学習モデルの学習プロセスでは、学習データが機械学習モデルの性能を直接左右する。例えば、画像分類モデルでは、正確な分類アノテーション情報が、高品質な画像分析モデルを得るための基礎となっている。そのため、より正確な機械学習モデルを得るために、サンプルデータの質の向上が期待されている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本開示の実施形態は、サンプル分析に用いられる解決手段を提供する。
【課題を解決するための手段】
【0004】
本開示の第1の態様では、サンプル分析に用いられる方法が提供される。当該方法は、関連付けられたアノテーションデータを有するサンプルセットを取得することと、対象モデルを用いてサンプルセットを処理することによって、サンプルセットに対する予測データと、予測データの信頼度とを決定することと、予測データとアノテーションデータとの比較に基づいて対象モデルの精度を決定することと、誤ってアノテーションされた可能性がある候補サンプルを、精度と信頼度に基づいてサンプルセットの中から決定することと、を含む。
【0005】
本開示の第2の態様では、電子装置が提供される。当該デバイスは、少なくとも1つのプロセッサーと、当該少なくとも1つのプロセッサーに結合され、当該少なくとも1つのプロセッサーによって実行されるための命令を格納する少なくとも1つのメモリとを備える。当該命令は、当該少なくとも1つのプロセッサーによって実行されると、当該デバイスに動作を実行させる。当該動作は、関連付けられたアノテーションデータを有するサンプルセットを取得することと、対象モデルを用いてサンプルセットを処理することによって、サンプルセットに対する予測データと、予測データの信頼度とを決定することと、予測データとアノテーションデータとの比較に基づいて対象モデルの精度を決定することと、誤ってアノテーションされた可能性がある候補サンプルを、精度と信頼度に基づいてサンプルセットの中から決定することと、を備える。
【0006】
本開示の第3の態様では、コンピュータ可読記憶媒体が提供される。当該コンピュータ可読記憶媒体には、コンピュータ可読プログラム命令が格納され、当該コンピュータ可読プログラム命令は、第1の態様で説明した方法を実行するためのものである。
【0007】
本開示の第4の態様では、コンピュータプログラム製品が提供される。当該コンピュータプログラム製品は、コンピュータ可読プログラム命令を含み、当該コンピュータ可読プログラム命令は、第1の態様で説明した方法を実行するためのものである。
【0008】
発明の概要部分は、概念に対する選択を簡略化して提示するためのものである。これらについては、以下の実施形態においてさらに説明を行う。発明の概要部分の記述は、本開示の重要又は必要な特徴を標記することを意図したものではなく、本開示の範囲を限定することも意図していない。
【図面の簡単な説明】
【0009】
図面に基づいて本開示の例示的な実施形態をさらに詳細に説明することで、本開示の上述及びその他の目的、特徴及び利点が、より明らかになるはずである。本開示の例示的な実施形態において、同一の参照符号は基本的に、同一の要素を示す。
【0010】
【
図1】本開示の実施形態を実行可能な環境の模式図を示す。
【
図2】本開示の実施形態にかかる、誤ったアノテーションデータを分析するプロセスの模式図を示す。
【
図3】本開示の実施形態にかかる、異常分布サンプルを分析するプロセスの模式図を示す。
【
図4】本開示の実施形態にかかる、干渉サンプルを分析するプロセスの模式図を示す。
【
図5】本開示の実施形態にかかる負の影響のサンプルを分析するプロセスのフローチャートを示す。
【
図6】本開示の内容を実施するための実施形態の例示的デバイスの概略的なブロック図を示す。
【発明を実施するための形態】
【0011】
以下、図面を参照しつつ、本開示の好ましい実施形態についてより詳細に説明する。図には本開示の好ましい実施形態が示されているが、理解すべき点として、本開示は様々な形式で実現することが可能であり、ここに記載された実施形態に限定されるべきではない。むしろ、これらの実施形態を提供するのは、本開示をより徹底した完全なものにし、本開示の範囲を当業者に全体的に伝えられるようにするためである。
【0012】
本明細書で使用される用語「含む(備える)」及びその変形は、「・・・を含むが、これらに限定されない」という開放的な「含む」を表す。特に明記されていない限り、用語「又は」は、「及び/又は」を表す。用語「・・・に基づいて」は、「少なくとも部分的に基づく」ことを表す。用語「1つの例示的実施形態」及び「1つの実施形態」は、「少なくとも1つの例示的実施形態」を表す。用語「別の実施形態」は、「少なくとも1つの別の実施形態」を表す。用語「第1」、「第2」等は、異なるか又は同一の対象を示すことができる。以下の文中ではさらに、その他の明確な定義及び暗黙の定義が含まれる可能性がある。
【0013】
上述したように、コンピュータ技術の絶え間ない発展に伴い、機械学習モデルは人々の生活の各方面で広く応用されている。機械学習モデルの学習プロセスでは、学習データが機械学習モデルの性能を直接左右する。
【0014】
しかし、学習データについて、一部の低品質な学習サンプルがモデルの性能に大きな影響を与える可能性がある。低品質サンプルの典型的なタイプは、誤ってアノテーションされたサンプルである。このような誤ってアノテーションされたサンプルは、誤ったアノテーションデータを有する。いくつかのモデル学習では通常、手動でのアノテーションの結果に依存して学習データセットを構築しており、このような手動でのアノテーションの結果には、アノテーションが誤っている可能性がある。例えば、画像分類のタスクでは、一部のサンプルに対し、誤った分類アノテーションが付される可能性があり、これは画像分類モデルの精度に直接影響する。
【0015】
低品質サンプルの別の典型的タイプは、異常分布サンプルである。異常分布サンプルとは、サンプルセットのうちの学習用の正常サンプルとの差異が大きいサンプルを指す。例えば、ここでも画像分類モデルを例に挙げると、例えば猫の品種を判定するために猫の画像を分類するように画像分類モデルに学習させるとする。学習用画像サンプルに他の種類の動物の画像が含まれている場合、このような画像サンプルは異常分布サンプルとみなすことができる。学習データセットに含まれる異常分布サンプルも同様に、機械学習モデルの性能に影響を与える可能性がある。
【0016】
低品質サンプルのさらに別の典型的タイプは、干渉サンプルである。干渉サンプルとは、人工的又は非人工的に生成された干渉ノイズが正常サンプルに付加されたサンプルを指す。例えば、ここでも画像分類モデルを例に挙げると、例えば猫の品種を判定するために猫の画像を分類するように画像分類モデルに学習させるとする。学習用画像サンプルに、例えばぼかし処理が施された猫の画像が含まれている場合、こうした画像サンプルは干渉サンプルとみなすことができる。学習データセットに含まれる一部の干渉サンプルは、機械学習モデルの学習に負の影響を与える可能性があり、負の影響の干渉サンプルとも称される。
【0017】
また、前記低品質の学習データ/サンプルは、モデル学習の性能を向上させないデータであり得る。
【0018】
本開示の実施形態によれば、サンプル分析に用いられる解決手段が提供される。この解決手段では、まず、関連付けられたアノテーションデータを有するサンプルセットを取得し、対象モデルを用いてサンプルセットを処理することによって、サンプルセットに対する予測データと、予測データの信頼度とを決定する。さらに、予測データとアノテーションデータとの比較に基づいて対象モデルの精度を決定し、誤ってアノテーションされた可能性がある候補サンプルを、精度と信頼度に基づいてサンプルセットの中から決定する。このような方法により、本開示の実施形態は、誤ってアノテーションされた可能性があるサンプルを、サンプルセットの中から、より効果的に選別することができる。
[例示的環境]
【0019】
以下、図面を参照しながら本開示の実施形態について具体的に説明する。
図1は、本開示の複数の実施形態を実現可能な例示的環境100の模式図を示す。
図1に示すように、当該例示的な環境100は、本開示の様々な実現にかかるサンプル分析プロセスを実施するために使用することができる分析デバイス120を含む。
【0020】
図1に示すように、分析デバイス120は、サンプルセット110を取得してもよい。いくつかの実施形態において、サンプルセット110は、機械学習モデル(対象モデルとも称される)に学習させるための複数の学習サンプルを含んでもよい。このような学習サンプルは、任意の適切なタイプであってもよく、その例示には、画像サンプル、テキストサンプル、オーディオサンプル、ビデオサンプル、又は他のタイプのサンプル等が含まれるが、これらに限定されない。当該サンプルセット又はサンプルは、取得された処理すべきデータセット又はデータであってもよい。
【0021】
本開示において、対象モデルは、画像分類、対象検出、音声認識、機械翻訳、コンテンツフィルタリング等の各種タスクを実行するために設計されてもよい。対象モデルの例示には、各種のディープニューラルネットワーク(DNN)、畳み込みニューラルネットワーク(CNN:Convolutional neural network)、サポートベクターマシン(SVM:support vector machine)、決定木、ランダムフォレストモデル等が含まれるが、これらに限定されない。本開示の実現において、予測モデルは、「機械学習モデル」と称されてもよい。以下では、「予測モデル」、「ニューラルネットワーク」、「学習モデル」、「学習ネットワーク」、「モデル」及び「ネットワーク」という用語を互換的に使用してもよい。
【0022】
いくつかの実施形態において、分析デバイス120は、サンプルセット110を用いて対象モデルに学習させるプロセスに基づいて、サンプルセットに含まれる低品質サンプル130を決定してもよい。このような低品質サンプル130は例えば、上述した誤ってアノテーションされたサンプル、異常分布サンプル、又はモデルに負の影響を与える干渉(corrupted)サンプルのうちの1つ又は複数を含んでもよい。
【0023】
いくつかの実施形態において、サンプルセット110の低品質サンプル130は、正常サンプル140を取得するために排除されてもよい。このような正常サンプル140は、例えば、対象モデルに再度学習させるため、又は他のモデルに学習させるために用いられ、その結果、より良い性能のモデルが得られる。別の実施形態では、サンプルセット110の低品質サンプル130を認識し、さらに処理して高品質サンプルに変換し、さらに、この高品質サンプルと前記正常サンプル140を用いて機械学習モデルに学習させてもよい。
[誤ってアノテーションされたサンプルの分析]
【0024】
以下では、誤ってアノテーションされたサンプルを低品質サンプルの例示とする。
図2は、本開示の実施形態にかかる、誤ってアノテーションされたサンプルを分析するプロセスの模式
図200を示す。
図2に示すように、サンプルセット110は、対応するアノテーションデータ210を有してもよい。いくつかの実施形態において、アノテーションデータは、サンプルセットに関連付けられた対象カテゴリのラベル、タスクカテゴリのラベル、行動カテゴリのラベルのうち少なくとも1つを含む。
【0025】
上述したように、このようなアノテーションデータ210は、手動でのアノテーション、モデルによる自動アノテーション、又は他の適切な方式によって生成されてもよい。このようなアノテーションデータ210には、いくつかの可能な理由により、部分的な誤りが存在する可能性がある。
【0026】
いくつかの実施形態において、アノテーションデータ210は、対象モデル220によって実行されるタスクのタイプに応じて、異なる形式を示してもよい。いくつかの実施形態において、対象モデル220は、入力サンプルに対して分類タスクを実行するために用いられてもよい。これに対応して、アノテーションデータ210は、サンプルセット110の各サンプルに対する分類アノテーションを含んでもよい。
図2に示すモデルの具体的な構造は例示にすぎず、本開示に対する限定を意図するものではないことを理解されたい。
【0027】
例えば、アノテーションデータ210は、画像サンプルセットに対する分類アノテーション、ビデオサンプルセットに対する分類アノテーション、テキストサンプルセットに対する分類アノテーション、音声サンプルセットに対する分類アノテーション、又は他のタイプのサンプルセットに対する分類アノテーションであってもよい。
【0028】
いくつかの実施形態において、対象モデル220は、入力サンプルに対する回帰タスクを実行するために用いられてもよい。例えば、対象モデル220は、入力画像サンプルの特定のオブジェクトの境界(例えば、画像に含まれる猫の境界ピクセル)を出力するために用いられてもよい。これに対応して、アノテーションデータ210は例えば、境界ピクセルのアノテーション位置を含んでもよい。
【0029】
図2に示すように、分析デバイス120は、対象モデル220を用いてサンプルセット110を処理することによって、サンプルセット110に対する予測データと、予測データに対応する信頼度230とを決定してもよい。
【0030】
いくつかの実施形態において、信頼度230は、対象モデル220によって出力された予測データの信頼性の程度を表すために用いられてもよい。いくつかの実施形態において、信頼度230は、例えば、不一致によるベイズ的能動学習(BALD:Bayesian Active Learning by Disagreement)のメトリックのような、対象モデル220によって決定された、予測データに関連付けられた不確実性メトリックを含んでもよい。不確実性メトリックによって表される不確実性が大きいほど、予測データの信頼性の程度が低くなることを理解されたい。
【0031】
いくつかの実施形態において、信頼度230は例えば、予測データとアノテーションデータとの差に基づいて決定されてもよい。具体的に、信頼度230は、対象モデル220がサンプルセット110及びアノテーションデータ210による学習を完了した後に出力した損失メトリックをさらに含んでもよい。損失メトリックは例えば、予測データとアノテーションデータとの差異を保証してもよい。このような損失メトリックは例えば、相応のサンプルに対応する損失関数の値によって表されてもよい。いくつかの実施形態において、損失関数の値が大きいほど、予測データの信頼性の程度が低いことを表す。
【0032】
さらに、
図2に示すように、分析デバイス120は、予測データとアノテーションデータ210との比較に基づいて、対象モデル220の精度240を決定してもよい。精度240は、アノテーションデータが予測データとマッチするサンプルが、サンプルセット110に占める割合によって決定されてもよい。例えば、サンプルセット110が100個のサンプルを含み、対象モデル220が出力した予測データがアノテーションデータとマッチするサンプルが80個である場合、精度は、20%と決定されてもよい。
【0033】
予測データとアノテーションデータがマッチすることは、対象モデル220が実行するタスクのタイプに応じて異なる意味を有してもよい。分類タスクを例に挙げると、予測データとアノテーションデータがマッチすることは、対象モデル220が出力した分類ラベルが、分類アノテーションと同じであると表すことを意味している。
【0034】
回帰タスクの場合、予測データとアノテーションデータがマッチすることは、予測データとアノテーションデータとの差の大きさに基づいて決定されてもよい。例えば、画像内の特定のオブジェクトの境界を出力する回帰タスクを例に挙げると、分析デバイス120は、予測データに含まれる1セットの画素点の位置と、アノテーションデータに含まれる1セットの画素点の位置との距離に基づいて、予測データがアノテーションデータとマッチするか否かを判定してもよい。
【0035】
例えば、距離が所定の閾値を超えた場合、予測データがアノテーションデータとマッチしないと認定してもよい。そうでなければ、予測データがアノテーションデータとマッチすると認定してもよい。
【0036】
さらに、
図2に示すように、分析デバイス120は、信頼度230及び精度240に基づいて、サンプルセットから候補サンプル(すなわち、低品質サンプル130)を決定してもよい。このような候補サンプルは例えば、誤ったアノテーションデータの可能性があると決定されてもよい。
【0037】
いくつかの実施形態において、分析デバイス120は、精度240と、サンプルセット110の数とに基づいて、対象数を決定してもよい。例えば、引き続き先ほどの例を用いると、サンプルセット110が100個のサンプルを含み、精度が20%と決定された場合、分析デバイス120は、対象数を20個であると決定してもよい。
【0038】
いくつかの実施形態において、分析デバイス120は、信頼度230に基づいて、サンプルセット110のどのサンプルを候補サンプルとして決定すべきかを決定してもよい。例示として、分析デバイス120は、実行した予測結果の信頼性の程度を、信頼度230に基づいて低い方から高い方に順序付けし、その中から、精度240に従って決定された対象数のサンプルを、誤ったアノテーションデータを有する可能性がある候補サンプルとして選択してもよい。
【0039】
このような方法に基づき、本開示の実施形態は、アノテーションデータの精度に関する先験的知識(現実には、通常このような先験的知識は取得できない)に頼ることなく、期待した数により適合した候補サンプルを選択することが可能である。その結果、選択された候補サンプルの数と、誤ってアノテーションされたサンプルの真の数との差異が過度に大きくなることを避けることができる。
【0040】
いくつかの実施形態において、候補サンプルを決定した後、分析デバイス120は、前記候補サンプルに関連付けられたサンプル情報を提供してもよい。サンプル情報は例えば、前記候補サンプルが、誤ったアノテーションデータを有する可能性を示す情報を含んでもよい。例えば、分析デバイス120は、誤ったアノテーションデータを有するサンプルの認識情報を出力して、このようなサンプルが、誤ったアノテーションデータを有する可能性があることを提示してもよい。さらに、分析デバイス120は、候補サンプルの初期アノテーションデータ及び予測アノテーションデータを出力してもよい。
【0041】
いくつかの実施形態において、分析デバイス120はさらに、他の学習データに依存することなく、サンプルセット110のみを用いて対象モデル220に学習させてもよい。すなわち、対象モデル220がサンプルセット110で学習する前には、対象モデル220は、例えば、比較的低い性能を有する初期化された状態であってもよい。
【0042】
いくつかの実施形態において、分析デバイス120は、当該サンプルセット110を用いて、対象モデル220に1回学習させてもよい。ここでいう1回学習させるとは、サンプルセット110が前記対象モデルに入力された後に、モデルが自動的に学習し、学習プロセスに人手を要しないことを指す。従来の方法では、手動でサンプルの一部を選択して初歩的な学習を行わせ、初歩的な学習をしたモデルを用いて他のサンプルを予測し、その後、手動での選択、学習及び予測のステップを繰り返すが、こうした従来の方法と比べると、人的コストと時間を大幅に削減することができる。
【0043】
サンプルセット110のみを用いて対象モデル220に直接学習させ、候補サンプルを選択できるように、分析デバイス120は、誤ったアノテーション情報を有するサンプルが対象モデル220の学習プロセスに与える影響を低減するために、適切な学習方法で対象モデル220に学習させてもよい。
【0044】
いくつかの実施形態において、分析デバイス120は、サンプルセット110及びアノテーションデータ210を用いて対象モデル220に学習させることによって、サンプルセット110を第1サンプルサブセットと第2サンプルサブセットに分割してもよい。具体的に、分析デバイス120は、対象モデル220の学習プロセスに関する学習パラメータに基づいて、サンプルセット110を第1サンプルサブセットと第2サンプルサブセットに自動的に分割してもよい。このような第1サンプルサブセットは、例えば、対象モデル220の学習に役立つサンプルを含むように決定されてもよく、一方、第2サンプルサブセットは、モデル220の学習に干渉する可能性があるサンプルとして決定されてもよい。
【0045】
いくつかの実施形態において、分析デバイス120は、サンプルセット110とアノテーションデータ210を用いて対象モデルに学習させることによって、サンプルセット110に関連付けられた不確実性メトリックを決定してもよい。さらに、分析デバイス120は、決定された不確実性メトリックに基づいて、サンプルセット110を第1サンプルサブセットと第2サンプルサブセットに分割してもよい。
【0046】
いくつかの実施形態において、分析デバイス120は例えば、不確実性メトリックと閾値との比較に従って、不確実性メトリックが閾値未満のサンプルを第1サンプルサブセットとして決定し、不確実性メトリックが閾値以上のサンプルを第2サンプルサブセットとして決定してもよい。
【0047】
いくつかの実施形態において、分析デバイス120は、サンプルセット110とアノテーションデータ210を用いて対象モデル220に学習させることによって、サンプルセット110に関連付けられた学習損失を決定してもよい。さらに、分析デバイス120は、サンプルセット110に関連付けられた学習損失を、分類器を用いて処理し、サンプルセット110を第1サンプルサブセットと第2サンプルサブセットに分割してもよい。
【0048】
いくつかの実施形態において、分析デバイス120は例えば、各サンプルに対応する損失関数の値を、学習損失として決定してもよい。さらに、分析デバイス120は例えば、ガウス混合モデルGMMを分類器として用い、学習損失に従ってサンプルセット110を第1サンプルサブセットと第2サンプルサブセットに分割してもよい。
【0049】
さらに、第1サンプルサブセットと第2サンプルサブセットの分割が完了した後、分析デバイス120はさらに半教師あり学習法を用いて、第2サンプルサブセットのアノテーションデータを考慮せずに、第1サンプルサブセットのアノテーションデータと、第2サンプルサブセットとに基づいて対象モデルに再学習させてもよい。
【0050】
このような方法により、本開示の実施形態は、サンプルセット以外の他の学習データに依存せずに、誤ったアノテーション情報を有する可能性のあるサンプルのサンプルセット自体のみに基づいて対象モデルに学習させ、さらには、誤ったアノテーション情報を有する可能性のある候補サンプルを得ることができる。
【0051】
以下、画像サンプルセットをサンプルセット110の例として、誤った画像分類アノテーションを有する可能性のある候補画像サンプルを、画像分類モデルを用いて選択するプロセスについて説明する。これは例示にすぎず、上述したように任意の他の適切なタイプのサンプルセット及び/又は対象モデルも、上述のサンプル分析プロセスに適用できることを理解されたい。
【0052】
画像アノテーションプロセスでは、アノテーター、又はアノテーションデータを用いてモデルに学習させるトレーナーがいずれも、
図1で示された分析デバイスを導入して、画像分類アノテーションの品質を判定することができる。
【0053】
いくつかの実施形態において、分類アノテーションでは、画像サンプルセット内の各画像サンプルにおける1つ又は複数の画像領域に対して分類アノテーションを行ってもよい。例えば、アノテーターは、画像サンプル内で動物に対応する複数の領域に、動物のカテゴリに対応する分類ラベルを手動でアノテーションしなければならない可能性がある。
【0054】
いくつかの実施形態において、分析デバイス120は、このようなアノテーションデータ及び対応する画像サンプルセットを取得してもよい。対象モデルへの入力用サンプルセットとして画像サンプルセットを直接用いるのとは異なり、分析デバイス120は、アノテーション対象の1セットの画像領域に対応する複数のサブ画像を抽出して、複数のサブ画像のサイズを調整して、対象モデルの学習用のサンプルセット110を取得してもよい。
【0055】
対象モデルの入力画像は通常、対応するサイズ要件があるため、分析デバイス120は、対象モデルが処理しやすいように、複数のサブ画像のサイズを対象モデルの要件のサイズに調整してもよい。
【0056】
複数のサブ画像を要件のサイズに統一した後、分析デバイス120は、上述したプロセスに基づいて、複数のサブ画像から、誤ってアノテーションされた可能性のあるサブ画像を決定してもよい。さらに、分析デバイス120は、例えばトレーナーからアノテーターへのフィードバックとして、或いは、アノテーターから特定のアノテーションスタッフへの品質検査のフィードバックとして、サブ画像に対応するオリジナル画像のサンプルを提供してもよい。
【0057】
このような方法に基づいて、本開示の実施形態は、アノテーション情報付きの複数の画像サンプルの中から、誤ったアノテーション情報を有する可能性のある領域(アノテーションフレームとも称する)を効果的に選別することができ、それによって、アノテーターによるアノテーション品質の改善、又はトレーナーによるモデル性能の改善を支援することができる。
[異常分布サンプルの分析]
【0058】
以下では、異常分布サンプルを低品質サンプルの例示とし、
図3を参照しながら異常分布サンプルの分析プロセスを説明する。
図3は、本開示のいくつかの実施形態にかかる、異常分布サンプルを分析するプロセスの模式
図300を示す。サンプルセット110は例えば、複数のサンプルを含んでもよく、その中には、上述した異常分布サンプルが存在する可能性がある。
【0059】
いくつかの実施形態において、サンプルセット110は、対応するアノテーションデータ310を有してもよく、このようなアノテーションデータ310は例えば、サンプルセット110の各サンプルに対する分類ラベルを含んでもよい。
【0060】
図3に示すように、分析デバイス120は、サンプルセット110とアノテーションデータ310を用いて対象モデル320に学習させてもよい。このような対象モデル320は例えば、入力サンプルの分類情報を決定するための分類モデルであってもよい。
図3に示すモデルの具体的な構造は例示にすぎず、本開示に対する限定を意図するものではないことを理解されたい。
【0061】
対象モデル320が学習を完了した後、対象モデル320は、サンプルセット110に関連付けられた複数の分類に対応する特徴分布330を出力してもよい。例えば、サンプルセット110は、猫及び犬を分類する対象モデル320に学習させるための画像サンプルを含んでもよい。これに対応して、特徴分布330は、「猫」という分類に対応する特徴分布と、「犬」という分類に対応する特徴分布とを含んでもよい。
【0062】
いくつかの実施形態において、分析デバイス120は、以下の式に基づいて、分類に対応する特徴分布を決定してもよい。
【数1】
ここで、N
cは分類ラベルcを有するサンプルの数を表し、x
iはサンプルセット110におけるサンプルを表し、y
iはサンプルに対応するアノテーションデータを表し、f( )は対象モデル320のsoftmax層の1つ前のニューラル分類器の処理プロセスを示す。
【0063】
さらに、
図3に示すように、分析デバイス120は、サンプルセット110の各サンプルの特徴と特徴分布330との分布の差340を決定してもよい。例示として、分析デバイス120は例えば、サンプルの特徴と特徴分布330との間のマハラノビス距離(Mahalanobis Distance)を次のように算出してもよい。
【数2】
【0064】
さらに、分析デバイス120は、分布の差340に基づいて、サンプルセット110の異常分布サンプルを低品質サンプル130として決定してもよい。分析デバイス120は、さらに、サンプルセット110から低品質サンプル130をフィルタリングして正常サンプル140を取得し、対象モデル320又は他のモデルの学習又は再学習のために用いてもよい。
【0065】
いくつかの実施形態において、分析デバイス120は例えば、分布の差340と所定の閾値との比較に基づいて、差が所定の閾値よりも大きなサンプルを、異常分布サンプルとして決定してもよい。例えば、分析デバイス120は、式(2)に基づいて決定されたマハラノビス距離と、距離の閾値とを比較することにより、異常分布サンプルを選別してもよい。
【0066】
図3に示す異常分布サンプルを選別するプロセスは、例えば、所定回数、又はいかなる異常分布サンプルも出力されなくなるまで繰り返し実行されてもよいことを理解されたい。具体的には、次の繰り返しのプロセスで、前の繰り返しで決定された正常サンプル140を、対象モデル320に学習させるサンプルセットとしてさらに用いて、
図3で論じたプロセスを継続してもよい。
【0067】
上述した方法に基づいて、本開示の実施形態は、高品質の学習データを用いて対象モデルに事前に学習させることに依存せずに、対象のサンプルセット110の学習プロセスのみを利用して、潜在の異常分布サンプルを選別することができる。こうして、学習データのクリーンさに対する要件を軽減し、それによって方法の普遍性を高めることができる。
[干渉サンプルの分析]
【0068】
以下では、負の影響の干渉サンプルを低品質サンプルの例示とし、
図4を参照しながら干渉サンプルの分析プロセスを説明する。
図4は、本開示のいくつかの実施形態にかかる、負の影響の干渉サンプルを分析するプロセスの模式
図400を示す。サンプルセット110は例えば、複数のサンプルを含んでもよく、その中には、上述した負の影響の干渉サンプルが存在する可能性がある。
【0069】
いくつかの実施形態において、分析デバイス120は、サンプルセット110を用いて対象モデル420に学習させてもよい。対象モデル420が教師あり学習モデルである場合、対象モデル420の学習は、サンプル110に対応するアノテーションデータを必要とする可能性がある。逆に、対象モデル420が教師なし学習モデルである場合、アノテーションデータは必須ではない可能性がある。
図4に示すモデルの具体的な構造は例示にすぎず、本開示に対する限定を意図するものではないことを理解されたい。
【0070】
図4に示すように、対象モデル420はさらに検証サンプルセット410を含んでもよく、検証サンプルセット410のサンプルは、対象モデル420の学習に正の影響を有するサンプルとして決定されてもよい。
【0071】
図4に示すように、分析デバイス120は、サンプルセット110の各サンプルが対象モデル420の学習プロセスに及ぼす影響の程度と、検証サンプルセット410が対象モデル420の学習プロセスに及ぼす影響の程度との間の影響類似度430を決定してもよい。
【0072】
いくつかの実施形態において、分析デバイス120は、複数の繰り返しの後に、サンプルに関連付けられた損失関数の値の変化の大きさを決定してもよい。例えば、分析デバイス120は、以下のプロセスに基づいて、サンプルセット110のサンプルzと検証サンプルセットz’との間の影響類似度を決定してもよい。
【数3】
ここで、tは学習の繰り返し回数を表し、w
tはt回の繰り返しにおけるモデルパラメータを表し、lは損失関数を表し、zはサンプルセット110のサンプルを表し、z’は検証サンプルセット410を表す。この方法により、分析デバイス120は、式(3)に基づいてサンプルセット110の各サンプルと、検証サンプルセット410との間の影響類似度430を算出してもよい。
【0073】
いくつかの実施形態において、式(3)をさらに簡略化して式(4)としてもよく、すなわち、勾配の変化の積に変換してもよい。
【数4】
ここで、η
iは、対象モデル420の学習率を表す。
【0074】
いくつかの実施形態において、分析デバイス120はさらに、影響類似度430に基づいて、サンプルセット110の中から負の影響の干渉サンプルを決定し、低品質サンプル130としてもよい。例示として、分析デバイス120は、例えば先験的知識に基づいてサンプルセット110の中から複数の干渉サンプルを決定し、複数の干渉サンプルの影響類似度430を閾値と比較する。例えば、影響類似度430が閾値より小さいサンプルを、負の影響の干渉サンプルとして決定してもよい。
【0075】
いくつかの実施形態において、比較的大きい影響類似度430は、当該サンプルが対象モデル420に及ぼす影響と、検証サンプルセット410が対象モデル420に及ぼす影響との間の類似度が比較的大きいことを表す。検証サンプルセット410は対象モデル420に正の影響を与えるものである。したがって、比較的小さい影響類似度430は、当該サンプルの対象モデル420への影響が負の影響である可能性があることを示すことができる。特定の干渉サンプルは、対象モデル420の学習に正の影響を及ぼすことができるため、このような方法に基づいて、本開示の実施形態は、モデルに負の影響をもたらす負の影響の干渉サンプルを、さらに選別することが可能である。
【0076】
いくつかの実施形態において、分析デバイス120はさらに、潜在の負の影響の干渉サンプルをサンプルセットから排除して正常サンプルを取得し、対象モデル420又は他のモデルの学習又は再学習のために用いてもよい。
【0077】
上述した方法に基づいて、本開示の実施形態は、高品質の学習データを用いて対象モデルに事前に学習させることに依存せずに、サンプルセットの学習プロセスのみを利用して、潜在の負の影響の干渉サンプルを選別することができる。こうして、学習データのクリーンさに対する要件を軽減し、それによって方法の普遍性を高めることができる。
[例示的プロセス]
【0078】
図5は、本開示のいくつかの実施形態にかかる、サンプル分析に用いられるプロセス500のフローチャートを示す。プロセス500は、
図1の分析デバイス120によって実現することができる。
【0079】
図5に示すように、ブロック510において、分析デバイス120はサンプルセットを取得する。サンプルセットは、関連付けられたアノテーションデータを有する。ブロック520において、分析デバイス120は、対象モデルを用いてサンプルセットを処理することによって、サンプルセットに対する予測データと、予測データの信頼度とを決定する。ブロック530において、分析デバイス120は、予測データとアノテーションデータとの比較に基づいて、対象モデルの精度を決定する。ブロック540において、分析デバイス120は、誤ってアノテーションされた可能性がある候補サンプルを、精度と信頼度に基づいてサンプルセットの中から決定する。候補サンプルは、誤ったアノテーションデータの可能性があるとマークされる。
【0080】
いくつかの実施形態において、対象モデルは、サンプルセットとアノテーションデータを用いて学習する。
【0081】
いくつかの実施形態において、対象モデルは、サンプルセットとアノテーションデータを用いて対象モデルに学習させることによって、サンプルセットを第1サンプルサブセットと第2サンプルサブセットに分割するプロセスと、半教師あり学習に基づいて、第2サンプルサブセットのアノテーションデータを考慮せずに、第1サンプルサブセットのアノテーションデータと、第2サンプルサブセットとを用いて対象モデルに再学習させるプロセスと、に基づいて学習する。
【0082】
いくつかの実施形態において、サンプルセットとアノテーションデータを用いて対象モデルに学習させることによって、サンプルセットを第1サンプルサブセットと第2サンプルサブセットに分割することは、サンプルセットとアノテーションデータを用いて対象モデルに学習させることによって、サンプルセットに関連付けられた不確実性メトリックを決定することと、不確実性メトリックに基づいて、サンプルセットを第1サンプルサブセットと第2サンプルサブセットに分割することと、を備える。
【0083】
いくつかの実施形態において、サンプルセットとアノテーションデータを用いて対象モデルに学習させることによって、サンプルセットを第1サンプルサブセットと第2サンプルサブセットに分割することは、サンプルセットとアノテーションデータを用いて対象モデルに学習させることによって、サンプルセットに関連付けられた学習損失を決定することと、サンプルセットに関連付けられた学習損失を、分類器を用いて処理し、サンプルセットを第1サンプルサブセットと第2サンプルサブセットに分割することと、を備える。
【0084】
いくつかの実施形態において、サンプルセットの中から候補サンプルを決定することは、精度と、サンプルセットの数とに基づいて、対象数を決定することと、信頼度に基づいてサンプルセットの中から対象数の候補サンプルを決定することと、を備える。
【0085】
いくつかの実施形態において、アノテーションデータは、サンプルセットに関連付けられた対象カテゴリのラベル、タスクカテゴリのラベル、行動カテゴリのラベルのうち少なくとも1つを含む。
【0086】
いくつかの実施形態において、サンプルセットは複数の画像サンプルを含み、アノテーションデータは画像サンプルの分類ラベルを示す。
【0087】
いくつかの実施形態において、サンプルセットのサンプルは、少なくとも1つのオブジェクトを含み、アノテーションデータは、少なくとも1つのオブジェクトに対するアノテーション情報を含む。
【0088】
いくつかの実施形態において、信頼度は、予測データと、対応するアノテーションデータとの差に基づいて決定される。
【0089】
いくつかの実施形態において、方法はさらに、候補サンプルが誤ってアノテーションされた可能性があることを示すために、候補サンプルに関連付けられたサンプル情報を提供することを備える。
【0090】
いくつかの実施形態において、方法はさらに、候補サンプルについてのフィードバック情報を取得することと、フィードバック情報に基づいて候補サンプルのアノテーションデータを更新することと、を備える。
[例示的デバイス]
【0091】
図6は、本開示の内容の実施形態を実施可能な例示的デバイス600の概略的なブロック図を示す。例えば、
図1に示す分析デバイス120は、デバイス600によって実現してもよい。図に示すように、デバイス600は、中央プロセッサー(CPU)601を備える。CPU601は、リードオンリーメモリ(ROM)602に格納されたコンピュータプログラムの命令、又は記憶ユニット608からランダムアクセスメモリ(RAM)603にロードされたコンピュータプログラムの命令に基づき、各種の適切な動作及び処理を実行してもよい。RAM603にはさらに、デバイス600の操作に必要な各種プログラム及びデータを格納してもよい。CPU601、ROM602及びRAM603はバス604を介して互いに接続されている。入力/出力(I/O)インタフェース605もバス604に接続されている。
【0092】
デバイス600における複数のコンポーネントは、I/Oインタフェース605に接続されている。複数のコンポーネントには、キーボード、マウス等の入力ユニット606、様々な種類のディスプレイ、スピーカ等の出力ユニット607、磁気ディスク、光ディスク等の記憶ユニット608、及びネットワークインタフェースカード、モデム、無線通信送受信機等の通信ユニット609が含まれる。通信ユニット609によって、デバイス600は、インターネットのようなコンピュータネットワーク及び/又は各種電信ネットワークを介して、他のデバイスと情報/データを交換することができる。
【0093】
上述した各プロセス及び処理、例えばプロセス500は、プロセッサー601により実行してもよい。例えば、いくつかの実施形態において、プロセス500は、コンピュータソフトウェアプログラムとして実現されてもよく、記憶ユニット608のようなマシン可読媒体に有形記憶されている。いくつかの実施形態において、コンピュータプログラムの一部又は全部は、ROM602及び/又は通信ユニット609を経由してデバイス600にロード及び/又はインストールされてもよい。コンピュータプログラムがRAM603にロードされCPU601により実行されると、上述したプロセス500の1つ又は複数の動作を実行してもよい。
【0094】
本開示は、方法、装置、システム及び/又はコンピュータプログラム製品であり得る。コンピュータプログラム製品は、本開示の各態様を実行するためのコンピュータ可読プログラム命令が格納されたコンピュータ可読記憶媒体を備えてもよい。
【0095】
コンピュータ可読記憶媒体は、命令実行デバイスにより使用される命令を保持し格納することができる有形デバイスであり得る。コンピュータ可読記憶媒体は例えば、電気記憶装置、磁気記憶装置、光記憶装置、電磁気記憶装置、半導体記憶装置又は上述の任意の適切な組合せであり得るが、これらに限られない。コンピュータ可読記憶媒体のより具体的な例として(全てではない)、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去・書き込み可能なリードオンリーメモリ(EPROM又はフラッシュメモリ)、スタティックRAM(SRAM:Static Random Access Memory)、携帯型コンパクトディスクリードオンリーメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリースティック、フロッピーディスク、機械的エンコーダディスク、例えば命令が格納されているパンチカード又は溝内の突起構造、及び上述の任意の適切な組合せが含まれる。ここで使用されるコンピュータ可読記憶媒体は、例えば無線電波若しくは他の自由伝播する電磁波、導波若しくは他の送信媒体を介して伝播する電磁波(例えば、光ケーブルを介する光パルス)、又は電線で送信される電気信号のような、瞬時の信号そのものであるとは解釈されない。
【0096】
ここで説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から各計算/処理デバイスにダウンロードしてもよく、又は、ネットワーク、例えばインターネット、ローカルエリアネットワーク、ワイドエリアネットワーク及び/若しくは無線ネットワークを介して外部のコンピュータ若しくは外部記憶装置にダウンロードしてもよい。ネットワークは、銅線送信ケーブル、光ケーブル送信、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ及び/又はエッジサーバを含んでもよい。各計算/処理デバイスにおけるネットワークインタフェースカード又はネットワークインタフェースは、コンピュータ可読プログラム命令をネットワークから受信し、当該コンピュータ可読プログラム命令を転送し、各計算/処理デバイスのコンピュータ可読記憶媒体に格納されるようにする。
【0097】
本開示の操作を実行するためのコンピュータプログラム命令は、アセンブラ指示文、命令セットアーキテクチャ(ISA:Instruction Set Architecture)命令、機械語命令、機械関連命令、マイクロコード、ファームウェア命令、状態設定データ、又は、1種類若しくは複数種類のプログラミング言語の任意の組合せで記述されたソースコード若しくは対象コードであり得る。前記プログラミング言語は、Smalltalk、C++等のオブジェクト指向のプログラミング言語、及び、「C」言語又は類似のプログラミング語言のような一般的なプロセス式プログラミング言語を含む。コンピュータ可読プログラム命令は、全てユーザコンピュータ上で実行してもよいし、部分的にユーザコンピュータ上で実行してもよいし、1つの独立したソフトウェアパッケージとして実行してもよいし、ユーザコンピュータ上で部分的に実行するとともにリモートコンピュータ上で部分的に実行してもよいし、或いは、全てリモートコンピュータ又はサーバ上で実行してもよい。リモートコンピュータにかかる状況において、リモートコンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意の種類のネットワークを介して、ユーザコンピュータに接続してもよく、又は、外部のコンピュータに接続してもよい(例えばインターネットサービスプロバイダを利用しインターネットを介して接続する)。いくつかの実施形態において、コンピュータ可読プログラム命令のステータス情報を利用して、例えばプログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)又はプログラマブルロジックアレイ(PLA)のような電子回路をパーソナライズすることができる。当該電子回路は、コンピュータ可読プログラム命令を実行することで、本開示の各態様を実現してもよい。
【0098】
本開示は、システム、方法、及び/又はコンピュータプログラム製品として実現してもよい。本開示がシステムとして実現される場合、文中に記載されているコンポーネントは、単一のデバイスで実装できることに加えて、クラウドコンピューティングアーキテクチャとして実装することができる。クラウドコンピューティング環境では、これらのコンポーネントはリモート配置してもよく、本開示に記載されている機能を実現するために協働してもよい。クラウドコンピューティングは、コンピューティング、ソフトウェア、データアクセス及びストレージサービスを提供してもよい。こうしたサービスを提供するシステム又はハードウェアの物理的な場所や設定は、エンドユーザが知る必要はない。クラウドコンピューティングでは、適切なプロトコルを使用して、ワイドエリアネットワーク(インターネット等)を介してサービスを提供してもよい。例えば、クラウドコンピューティングプロバイダは、ワイドエリアネットワークを介してアプリケーションを提供する。それらには、ブラウザ又はその他の任意のコンピューティング・コンポーネントを介してアクセスしてもよい。クラウドコンピューティングのコンポーネント及び対応データは、リモートのサーバに保存されてもよい。クラウドコンピューティング環境のコンピューティングリソースは、リモートのデータセンターに集約してもよいし、こうしたコンピューティングリソースを分散させてもよい。クラウドインフラは、ユーザにとっては単一のアクセスポイントとして提示されていても、共有データセンターを通じてサービスを提供してもよい。したがって、文中で説明した様々な機能は、クラウドコンピューティングアーキテクチャを使用して、リモートのサービスプロバイダから提供してもよい。任意で、通常のサーバから提供してもよいし、クライアント端末に直接又はその他の方法でインストールしてもよい。また、本開示はコンピュータプログラム製品として実現してもよい。当該コンピュータプログラム製品は、本開示の各態様を実行するためのコンピュータ可読プログラム命令が格納されたコンピュータ可読記憶媒体を備えてもよい。
【0099】
ここでは、本開示の実施形態にかかる方法、装置(システム)及びコンピュータプログラム製品のフローチャート及び/又はブロック図を参照して、本開示の各態様を説明した。理解すべき点として、フローチャート及び/又はブロック図の各ブロック並びにフローチャート及び/又はブロック図の各ブロックの組合せは、いずれも、コンピュータ可読プログラム命令により実現可能である。
【0100】
これらのコンピュータ可読プログラム命令は、汎用コンピュータ、専用コンピュータ又は他のプログラミング可能なデータ処理装置のプロセッサーに提供されて、マシンを生成してもよく、これらの命令がコンピュータ又は他のプログラミング可能なデータ処理装置のプロセッサーにより実行された場合、フローチャート及び/又はブロック図の1つ又は複数のブロックで規定された機能/動作を実現する装置が生成される。これらのコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体に格納されてもよい。これらの命令によって、コンピュータ、プログラミング可能なデータ処理装置及び/又はその他のデバイスは特定の方法で動作を行う。したがって、命令が格納されているコンピュータ可読媒体は、フローチャート及び/又はブロック図の1つ又は複数のブロックで規定された機能/動作を実現する各態様の命令が含まれている製品を含む。
【0101】
コンピュータ可読プログラム命令を、コンピュータ、他のプログラミング可能なデータ処理装置又は他のデバイスにロードして、コンピュータ、他のプログラミング可能なデータ処理装置又は他のデバイス上で一連の操作ステップを実行させ、コンピュータが実現するプロセスを生成してもよい。こうすることで、コンピュータ、他のプログラミング可能なデータ処理装置又は他のデバイスで実行される命令に、フローチャート及び/又はブロック図の1つ又は複数のブロックで規定された機能/動作を実現させる。
【0102】
図中のフローチャート及びブロック図は、本開示の複数の実施形態にかかるシステム、方法、コンピュータプログラム製品の実現可能なアーキテクチャ、機能及び操作を表している。この点において、フローチャート又はブロック図の各ブロックは、1つのモジュール、プログラムセグメント又は命令の一部を示すことができ、前記モジュール、プログラムセグメント又は命令の一部は、規定されたロジック機能を実現するための1つ又は複数の実行可能な命令を含む。代替としてのいくつかの実現形態において、ブロック内に表記された機能は、図中の表記と異なる順序で発生してもよい。例えば、2つの連続するブロックは実際には基本的に並行して実行されてもよいし、場合によっては反対の順序で実行されてもよい。これは、関係する機能によって定められる。また、注意すべき点として、ブロック図及び/又はフローチャートの各ブロック、並びにブロック図及び/又はフローチャートのブロックの組合せは、規定された機能又は動作を実行する、ハードウェアに基づく専用システムで実現してもよいし、或いは、専用のハードウェアとコンピュータ命令との組合せにより実現してもよい。
【0103】
以上、本開示の各実施形態を説明したが、上述した説明は、例示的なもので、全て網羅したものではなく、開示された各実施形態に限定されない。説明した各実施形態の範囲及び精神から逸脱しない状況において、当業者が多数の修正及び変更を行うことができることは明らかである。ここで使用された用語は、各実施形態の原理、実際の応用又は市場での技術改良について最適な説明を行うこと、又は当業者に本明細書で開示された各実施形態を理解してもらうことを意図して、選択したものである。