(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-02
(45)【発行日】2024-05-14
(54)【発明の名称】データ・ラベル検証
(51)【国際特許分類】
G06N 20/00 20190101AFI20240507BHJP
G06F 18/214 20230101ALI20240507BHJP
G06F 18/10 20230101ALI20240507BHJP
【FI】
G06N20/00 130
G06F18/214
G06F18/10
(21)【出願番号】P 2022529634
(86)(22)【出願日】2020-11-25
(86)【国際出願番号】 EP2020083281
(87)【国際公開番号】W WO2021105157
(87)【国際公開日】2021-06-03
【審査請求日】2023-04-24
(32)【優先日】2019-11-26
(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)【発明者】
【氏名】ルステンベルガー、パトリック
(72)【発明者】
【氏名】メスターハジー、デイヴィッド
(72)【発明者】
【氏名】ラヴィッツァ、ステファン
(72)【発明者】
【氏名】スロットケ、エリック
【審査官】大倉 崚吾
(56)【参考文献】
【文献】国際公開第2019/215780(WO,A1)
【文献】米国特許出願公開第2012/0215727(US,A1)
【文献】特開2010-272053(JP,A)
【文献】特開2015-087903(JP,A)
【文献】PARK, Minseop et al.,"MxML: Mixture of Meta-Learners for Few-Shot Classification",arXiv [online],2019年04月11日,p. 1-12,[2024年04月11日検索],インターネット<URL:https://arxiv.org/abs/1904.05658v1>,1904.05658v1
【文献】植木一也 ほか,"大量のアノテーション誤りを含む学習データを用いた画像検索",第22回 画像センシングシンポジウム SSII2016,2016年,SO1-IS1-05
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 18/00-18/40
(57)【特許請求の範囲】
【請求項1】
データセットのレコードのラベルを検証するためのコンピュータ実装方法であって、前記レコードが、サンプル・データと、複数のラベルのうちの関連するラベルとを含み、
1つまたは複数のプロセッサにより、前記データセットを、選択されたラベルに関するレコードを含むトレーニング・データセットと、前記選択されたラベルおよび前記複数のラベルのうちのすべての他のラベルに関するサンプル・データを有するレコードを含む推論データセットとに分割することと、
1つまたは複数のプロセッサにより、前記トレーニング・データセットを複数の学習器トレーニング・データセットに分割することであって、
ある学習器トレーニング・データセットが、前記選択されたラベルに関する少なくとも1つのサンプルを含む、前記分割することと、
1つまたは複数のプロセッサにより、複数のラベル特有の少数ショット学習器をトレーニングすることであって、前記少数ショット学習器が、前記複数の学習器トレーニング・データセットのうちの1つでトレーニングされる、前記トレーニングすることと、
1つまたは複数のプロセッサにより、複数のトレーニング済みのラベル特有の少数ショット学習器によって前記推論データセットに関する推論を実施して、予測ラベル出力値の複数のセットを生成することと
を含む方法。
【請求項2】
1つまたは複数のプロセッサにより、予測ラベル出力値の前記セットのうちの各セット内の前記予測ラベル出力値を集約し、それによって前記複数の前記ラベル特有の少数ショット学習器のそれぞれについてそれぞれのスコア値を生成することであって、前記それぞれのスコア値が、予測される選択されたラベルの変動性を反映する、前記生成することと、
少なくとも事前定義された数のスコア値が事前定義された変動性しきい値未満であると判定したことに応答して、1つまたは複数のプロセッサにより、前記選択されたラベルに関して前記データセットが検証されたと判定することと
をさらに含む、請求項1に記載の方法。
【請求項3】
前記少数ショット学習器のうちの少なくとも1つがワン・ショット学習器である、請求項1または2に記載の方法。
【請求項4】
前記少数ショット学習器のうちの少なくとも1つがベイズ少数ショット学習アルゴリズムを使用している、請求項1ないし3の一項に記載の方法。
【請求項5】
1つまたは複数のプロセッサにより、前記選択されたラベルに関する前記データセットの前記レコードで、前記複数のラベル特有の少数ショット学習器のうちの1つをトレーニングすること
をさらに含む、請求項1ないし4の一項に記載の方法。
【請求項6】
前記複数のラベル特有の少数ショット学習器のそれぞれが、前記選択されたラベルに関するデータ・サンプルで事前トレーニングされている、請求項1ないし5の一項に記載の方法。
【請求項7】
前記複数の学習器トレーニング・データセットのいずれも、信頼度しきい値レベルより上の信頼度レベルとならないと判定したことに応答して、1つまたは複数のプロセッサにより、前記データセットを、第2の選択されたラベルに関するレコードを含む第2のトレーニング・データセットと、前記第2の選択されたラベルおよび前記複数のラベルのうちのすべての他のラベルに関するサンプル・データを有するレコードを含む第2の推論データセットとに分割すること
をさらに含む、請求項1ないし6の一項に記載の方法。
【請求項8】
1つまたは複数のプロセッサにより、測定される結果の改善が事前定義されたしきい値未満となるまで、ある反復サイクルから次の反復サイクルに前記複数の学習器トレーニング・データセットの数を増加させること
をさらに含む、請求項1ないし7の一項に記載の方法。
【請求項9】
1つまたは複数のプロセッサにより、次の反復サイクルについて前記関連するラベルの高い信頼度レベルとなる前記複数の学習器トレーニング・データセットのうちの学習器トレーニング・データセットによって前記トレーニング・データセットを低減すること
をさらに含む、請求項1ないし8の一項に記載の方法。
【請求項10】
前記複数のラベル特有の少数ショット学習器のそれぞれが、fit-to-labelクラスおよびnot-fit-to-labelクラスを含む2つのクラスの分類のために適合される、請求項1ないし9の一項に記載の方法。
【請求項11】
前記データセットを、レコードを含むトレーニング・データセットと推論データセットとに分割することが、
1つまたは複数のプロセッサにより、それぞれの関連するラベルの既知の信頼度レベルに従って前記サンプル・データをソートすることと、
1つまたは複数のプロセッサにより、前記トレーニング・データセットについてのサンプル・データの部分を、前記部分の前記サンプル・データが前記データセットの残りの部分よりも、関連するラベルの高い信頼度レベルを有するように選択することと
をさらに含む、請求項1ないし10の一項に記載の方法。
【請求項12】
前記データセット内の関連する信頼度レベルを有するレコードを決定する時に、1つまたは複数のプロセッサにより、それぞれのレコードを前記トレーニング・データセットに追加すること
さらに含む、請求項1ないし11の一項に記載の方法。
【請求項13】
コンピュータにデータセットのレコードのラベルを検証させるためのコンピュータ・プログラムであり、実行されることで前記コンピュータに請求項1ないし12の一項に記載の方法を実行させるコンピュータ・プログラム。
【請求項14】
コンピュータにデータセットのレコードのラベルを検証
させるための
コンピュータ・プログラムであって、前記レコードが、サンプル・データと、複数のラベルのうちの関連するラベルとを含み、前記
コンピュータ・プログラムは実行されることで前記コンピュータに、
前記データセットを、選択されたラベルに関するレコードを含むトレーニング・データセットと、前記選択されたラベルおよび前記複数のラベルのうちのすべての他のラベルに関するサンプル・データを有するレコードを含む推論データセットとに分割
させることと、
前記トレーニング・データセットを複数の学習器トレーニング・データセットに分割
させることであり、
ある学習器トレーニング・データセットが、前記選択されたラベルに関する少なくとも1つのサンプルを含む、前記分割
させることと、
複数のラベル特有の少数ショット学習器をトレーニングさせることであり、前記少数ショット学習器が、前記複数の学習器トレーニング・データセットのうちの1つでトレーニングされる、前記トレーニング
させることと、
複数のトレーニング済みのラベル特有の少数ショット学習器によって前記推論データセットに関する推論を実施
させ、予測ラベル出力値の複数のセットを生成させることと
を
実行させるコンピュータ・プログラム。
【請求項15】
データセットのレコードのラベルを検証するためのコンピュータ・システムであって、前記レコードが、サンプル・データと、複数のラベルのうちの関連するラベルとを含み、
前記コンピュータ・システムが、
1つまたは複数のコンピュータ・プロセッサと、
1つまたは複数のコンピュータ可読記憶媒体と、
前記コンピュータ可読記憶媒体上に記憶された
コンピュータ・プログラムとを備え、
前記コンピュータ・プログラムの命令に応じて、前記1つまたは複数のプロセッサのうちの少なくとも1つのプロセッサが、
前記データセットを、選択されたラベルに関するレコードを含むトレーニング・データセットと、前記選択されたラベルおよび前記複数のラベルのうちのすべての他のラベルに関するサンプル・データを有するレコードを含む推論データセットとに分割する
ことと、
前記トレーニング・データセットを複数の学習器トレーニング・データセットに分割する
ことであって、学習器トレーニング・データセットが、前記選択されたラベルに関する少なくとも1つのサンプルを含む、前記分割する
ことと、
複数のラベル特有の少数ショット学習器をトレーニングする
ことであって、前記少数ショット学習器が、前記複数の学習器トレーニング・データセットのうちの1つでトレーニングされる、前記トレーニングする
ことと、
複数のトレーニング済みのラベル特有の少数ショット学習器によって前記推論データセットに関する推論を実施して、予測ラベル出力値の複数のセットを生成する
ことと
を
実行するコンピュータ・システム。
【請求項16】
前記少なくとも1つのプロセッサが、前記コンピュータ可読記憶媒体上に記憶された、
予測ラベル出力値の前記セットのうちの各セット内の前記予測ラベル出力値を集約し、それによって前記複数の前記ラベル特有の少数ショット学習器のそれぞれについてそれぞれのスコア値を生成することであって、前記それぞれのスコア値が、予測される選択されたラベルの変動性を反映する、前記生成することと、
少なくとも事前定義された数のスコア値が事前定義された変動性しきい値未満であると判定したことに応答して、前記選択されたラベルに関して前記データセットが検証されたと判定することと
を
さらに実行する、請求項
15に記載のコンピュータ・システム。
【請求項17】
前記少数ショット学習器のうちの少なくとも1つがワン・ショット学習器である、請求項
15または16に記載のコンピュータ・システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般にはデータセットのラベル品質に関し、より詳細には、ラベル付きデータセットのレコードのラベルを検証することに関する。
【背景技術】
【0002】
人工知能(AI)および機械学習(ML)は、どんな規模の企業でも、あらゆる垂直的産業において注目の的となっている。ユーザはML技術を用いてさらに多くの経験を得ているが、アルゴリズムのトレーニングは、依然として非常に時間がかかる作業である。重労働の一分野は、良好なトレーニング・データ、すなわち教師あり学習のための正しくラベル付けされたデータを提供することである。したがって、誤ってラベル付けされたデータは、機械学習分野の広範な適用および方法にとって問題である。機械学習分類器の性能は主に、トレーニングおよび検証のために使用されるデータ・ラベルの品質に依存する。一般には、データセットのためのラベルを得るには人間の監視が必要とされる。したがって、ラベル付けプロセスは、a)時間がかかり、b)誤り(誤ラベル)を含む可能性が高い。それでも、ラベル付け誤りがヒューマンエラーを通じて生じ得るだけではなく、いくつかの文献で述べられているように、ラベル付け誤りがデータを収集することに固有の部分であり得ることに留意されたい。
【0003】
誤ってラベル付けされたデータはMLモデル性能に直接的に影響を及ぼすので、誤ってラベル付けされたデータを検出して訂正することは、企業ユーザにとって大きな関心事である。データセットが大きくなると、手作業でラベルを検証するプロセスは時間的に実現可能ではなく、誤ってラベル付けされたデータの自動検出が必要となる。
【0004】
AI革新の次の波は、教師あり学習と教師なし学習の間のどこかにある方法を使用してトレーニングされたディープ・ラーニング・モデルによって促進される可能性が高い。コンピュータ・サイエンティストおよびエンジニアは、いくつかのそのような学習方法を探究しており、そのうちのいくつかは、ラベル付きデータの減少、データ・ボリュームの減少、および人間の介入の減少という3重の危険を示し得る。それらの中で、「ワン・ショット学習」が教師なし学習に最も近い。ワン・ショット学習は、大部分の人間の学習が1つまたは2つだけの例を受け取ったときに行われるという前提に基づく。
【0005】
ワン・ショットまたは少数ショット学習は一般に、まだ直面していない新しい状況または物体への、以前に学習した概念の「高速転送」に基づく。これは、それぞれのモデルでの明確な規則セットであるハード・コーディングを通じて、あるいはベイズの手法での事前分布を利用することによって達成され得る。したがって、この概念は、共有される一般化可能な概念による学習を促進することに基づく。
【0006】
広範なクラスについて特徴的な概念が学習されると、概念は、(独立したラベルによって識別される)不可視カテゴリを認識し、または例分離を、利用可能なカテゴリのいずれにも特徴的ではないものとすることを可能にする必要があり得る。
【0007】
ここで提案される概念の一般的な文脈に属する文書の一部は、WO2018/226492A1明細書を含む。この文書は、更新後ディープ・ニューラル・ネットワークがトレーニング・データに関してベース・ディープ・ニューラル・ネットワークに対する性能の劣化がないように、ベース・ディープ・ニューラル・ネットワークを構造的に変更して更新後ディープ・ニューラル・ネットワークを作成することによってトレーニング済みベース・ディープ・ニューラル・ネットワークを改善するのに役立つ方法およびコンピュータ・システムを開示する。
【0008】
さらに、米国特許第8,331,657号明細書は、認識プロセスでのアクティブ・モデルとして複数のモデルが選択され得るようにパターン認識システム内の分類器モジュール内の複数のモデル間のリンケージを電子的に作成することと、複数のリンク・モデルのうちの少なくとも1つのモデルと、複数のリンク・モデルのうちの少なくとも第2のモデルとの間の帰無仮説を電子的に作成することと、帰無仮説を受け入れ、または拒絶するための証拠を電子的に蓄積することと、電子的に蓄積した証拠の一部をパターン分類器モジュールに送ることとを含むコンピュータ実装パターン認識方法を開示する。しかしながら、これまでの既知の手法のほとんどはラベル付きデータに依拠する。
【0009】
したがって、転移学習、強化学習、およびワン・ショット学習を介して、教師あり学習から完全に教師なしの学習への途上で、正しくラベル付けされたデータについての要件は依然として高い。したがって、本発明の実施形態は、ラベル付きデータの品質を向上させる方法を提案する。
【発明の概要】
【0010】
本発明の態様は、データセットのレコードのラベルを検証するための方法、コンピュータ・プログラム製品、およびシステムを開示する。レコードは、サンプル・データと、複数のラベルのうちの関連するラベルとを含む。方法は、1つまたは複数のプロセッサが、データセットを、選択されたラベルに関するレコードを含むトレーニング・データセットと、選択されたラベルおよび複数のラベルのうちのすべての他のラベルに関するサンプル・データを有するレコードを含む推論データセットとに分割することを含む。方法は、1つまたは複数のプロセッサがトレーニング・データセットを複数の学習器トレーニング・データセットに分割することをさらに含む。学習器トレーニング・データセットは、選択されたラベルに関する少なくとも1つのサンプルを含む。方法は、1つまたは複数のプロセッサが複数のラベル特有の少数ショット学習器をトレーニングすることをさらに含む。少数ショット学習器は、複数の学習器トレーニング・データセットのうちの1つでトレーニングされる。方法は、1つまたは複数のプロセッサが、複数のトレーニング済みのラベル特有の少数ショット学習器によって推論データセットに関する推論を実施して、予測ラベル出力値の複数のセットを生成することをさらに含む。
【0011】
別の実施形態では、方法は、1つまたは複数のプロセッサが予測ラベル出力値のセットのうちの各セット内の予測ラベル出力値を集約し、それによって複数のラベル特有の少数ショット学習器のそれぞれについてそれぞれのスコア値を生成し、それぞれのスコア値が、予測される選択されたラベルの変動性を反映することをさらに含む。少なくとも事前定義された数のスコア値が事前定義された変動性しきい値未満であると判定したことに応答して、方法は、1つまたは複数のプロセッサが、選択されたラベルに関してデータセットが検証されたと判定することをさらに含む。
【0012】
本発明の追加の態様では、コンピュータ・プログラム製品は、1つまたは複数のコンピュータ可読記憶媒体と、1つまたは複数のコンピュータ可読記憶媒体上に記憶されたプログラム命令とを含み、プログラム命令は、データセットを、選択されたラベルに関するレコードを含むトレーニング・データセットと、選択されたラベルおよび複数のラベルのうちのすべての他のラベルに関するサンプル・データを有するレコードを含む推論データセットとに分割するためのプログラム命令を含む。コンピュータ・プログラム製品は、トレーニング・データセットを複数の学習器トレーニング・データセットに分割することを含むプログラム命令をさらに含む。学習器トレーニング・データセットは、選択されたラベルに関する少なくとも1つのサンプルを含む。コンピュータ・プログラム製品は、複数のラベル特有の少数ショット学習器をトレーニングするためのプログラム命令をさらに含む。少数ショット学習器は、複数の学習器トレーニング・データセットのうちの1つでトレーニングされる。コンピュータ・プログラム製品は、複数のトレーニング済みのラベル特有の少数ショット学習器によって推論データセットに関する推論を実施して、予測ラベル出力値の複数のセットを生成するためのプログラム命令をさらに含む。
【0013】
別の実施形態では、コンピュータ・プログラム製品は、予測ラベル出力値のセットのうちの各セット内の予測ラベル出力値を集約し、それによって複数のラベル特有の少数ショット学習器のそれぞれについてそれぞれのスコア値を生成するためのプログラム命令をさらに含み、それぞれのスコア値は、予測される選択されたラベルの変動性を反映する。少なくとも事前定義された数のスコア値が事前定義された変動性しきい値未満であると判定したことに応答して、コンピュータ・プログラム製品は、選択されたラベルに関してデータセットが検証されたと判定するためのプログラム命令をさらに含む。
【0014】
本発明の追加の態様では、コンピュータ・システムは、1つまたは複数のコンピュータ・プロセッサと、1つまたは複数のコンピュータ可読記憶媒体と、1つまたは複数のプロセッサのうちの少なくとも1つによる実行のための、コンピュータ可読記憶媒体上に記憶されたプログラム命令とを備え、プログラム命令は、データセットを、選択されたラベルに関するレコードを含むトレーニング・データセットと、選択されたラベルおよび複数のラベルのうちのすべての他のラベルに関するサンプル・データを有するレコードを含む推論データセットとに分割するためのプログラム命令を含む。コンピュータ・システムは、トレーニング・データセットを複数の学習器トレーニング・データセットに分割するためのプログラム命令をさらに含む。学習器トレーニング・データセットは、選択されたラベルに関する少なくとも1つのサンプルを含む。コンピュータ・システムは、複数のラベル特有の少数ショットをトレーニングするためのプログラム命令をさらに含む。少数ショット学習器は、複数の学習器トレーニング・データセットのうちの1つでトレーニングされる。コンピュータ・システムは、複数のトレーニング済みのラベル特有の少数ショット学習器によって推論データセットに関する推論を実施して、予測ラベル出力値の複数のセットを生成するためのプログラム命令をさらに含む。
【0015】
別の実施形態では、コンピュータ・システムは、予測ラベル出力値のセットのうちの各セット内の予測ラベル出力値を集約し、それによって複数のラベル特有の少数ショット学習器のそれぞれについてそれぞれのスコア値を生成するためのプログラム命令をさらに含み、それぞれのスコア値は、予測される選択されたラベルの変動性を反映する。少なくとも事前定義された数のスコア値が事前定義された変動性しきい値未満であると判定したことに応答して、コンピュータ・システムは、選択されたラベルに関してデータセットが検証されたと判定するためのプログラム命令をさらに含む。
【0016】
データセットのレコードのラベルを検証するための提案されるコンピュータ実装方法は、複数の利点、技術的効果、寄与、または改善、あるいはその組合せをもたらし得る。
【0017】
本発明の様々な態様は、ラベル・ノイズの比率が高過ぎる場合に性能劣化を受ける誤ってラベル付けされたサンプルを検出するための既存の提案の問題を首尾よく克服し得る。具体的には、ラベル誤りについてチェックすべき同一のデータセット(のサブサンプル)に関してトレーニングされたアンサンブル分類器が、トレーニングされる品質データに依存し得る。グラウンド・トルースが知られている、またはラベルが高い信頼度で知られている例に関してトレーニングされたワン・ショットまたは少数ショット学習モジュールは、前述の性能限界の傾向はなく、したがって誤ってラベル付けされたデータ例を首尾よく検出するための自動化された解決策を提供する。これは、ラベル付きのデータと共に作業するときに(すなわち、ラベル・データの正しさを保証するために)一般に重要である。
【0018】
したがって、提案される手法は、難しい条件(たとえば、高程度の誤ラベル)下であっても著しくかつ確実に、機械学習のためのラベル付きデータのラベル品質を自動的に向上させ得る。
【図面の簡単な説明】
【0019】
【
図1】本発明の一実施形態による、データセットのレコードのラベルを検証するための本発明のコンピュータ実装方法の一実施形態のブロック図である。
【
図2】本発明の一実施形態による、ここで提案される方法のよりピクトグラフ形式のブロック図である。
【
図3】本発明の一実施形態による、提案される方法を適用することについての実際の例の一連の行列を示す図である。
【
図4】本発明の一実施形態による、
図3で使用されるのと同一の例に関連する一連の行列を示す図である。
【
図5】本発明の一実施形態による、
図3および
図4で使用されるのと同一の例に関連する一連の行列を示す図である。
【
図6】本発明の一実施形態による、データセットのレコードのラベルを検証するためのラベル検証システムの一実施形態を示す図である。
【
図7】本発明の一実施形態による、
図6によるラベル検証システムを備えるコンピューティング・システムの一実施形態を示す図である。
【発明を実施するための形態】
【0020】
本発明の実施形態が相異なる主題を参照して説明されることに留意されたい。具体的には、いくつかの実施形態が方法型クレームを参照して説明されるのに対して、他の実施形態は、装置型クレームを参照して説明される。しかしながら、上記および以下の説明から、別段に通知されない限り、あるタイプの主題に属する特徴の任意の組合せに加えて、相異なる主題に関する特徴の間、具体的には方法型クレームの特徴と、装置型クレームの特徴との間の任意の組合せも本文書内で開示されると見なされることが当業者には理解されよう。
【0021】
上記で定義された態様、および本発明の別の態様は、以下で説明される実施形態の例から明らかとなり、実施形態の例を参照して説明されるが、本発明は実施形態の例には限定されない。本発明の好ましい実施形態が、単に例として、以下の図面を参照して説明される。
【0022】
この文書の文脈では、以下の規約、用語、または表現、あるいはその組合せが使用され得る。
【0023】
「機械学習」(ML)という用語は、明示的な命令を使用せずに、その代わりにパターンおよび推論を利用して特定のタスクを効果的に実施するためにコンピュータ・システムが使用し得る複数のアルゴリズムおよび統計モデルを表し得る。アルゴリズムの挙動は手続き的には実施されない。MLは人工知能(AI)のサブセットと理解される。MLアルゴリズムは、タスクを実施するように明示的にプログラムされることなく予測または決定を行うために、「トレーニング・データ」と呼ばれるサンプル・データに基づいて数学的モデルを構築する。MLについての典型的な実装は(ディープ)ニューラル・ネットワークに基づき得る。
【0024】
「推論」という用語は、新しい情報に対する、トレーニングされた機械学習システムのプロセスを表し得る。たとえば、推論プロセスの結果は、既知のデータについての分類器のクラスへの予測または分類として表され得る。
【0025】
「ベイズ推論」という用語は、より多くの証拠または情報が利用可能になるときに仮説についての確率を更新するためにベイズの定理が使用される統計的推論の方法を表し得る。ベイズ推論は、統計、特に数理統計の重要な技術である。ベイズ更新は、データのシーケンスの動的解析で特に重要である。ワン・ショットまたは少数ショット学習器が「ベイズ推論」モデルを使用して実装され得る。それによって、ベイズ推論は、事前確率と、観測されたデータについての統計モデルから導出された「公算関数」という2つの前件の結果として事後確率を導出する。ベイズ推論は、ベイズの定理に従って事後確率を計算する。
【0026】
「データセット」という用語は、機械学習モデルをトレーニングするために使用され得るデータを含む複数のレコードを表し得る。ネット・トレーニング・データに加えて、各レコードは、ネット・データを記述すべきラベルも含み得る。たとえば、物体のイメージはネット・トレーニング・データと理解され得、関連するラベルがイメージの内容を記述する。追加の例では、街路上のシーンが自動車を示し得、したがってラベルは「自動車」であり得る。しかしながら、同一のシーンに対して他のラベルも使用され得る(たとえば、「信号機」、「歩行者」、「街路」、「歩道」、「交差点」など)。その物体もシーンのイメージ内に示され得るからである。
【0027】
「ワン・ショットまたは少数ショット学習」という用語は一般に、まだ直面していない物体の新しい状況に対する、以前に学習した概念の「高速転送」に基づき得る。ワン・ショットまたは少数ショット学習は、それぞれのモデルでの明確なルートのハート・コーディングを通じて、あるいはベイズの手法での事前分布を利用することによって達成され得る。したがって、この概念は、共有される一般化された概念による学習を促進することに基づく。言い換えれば、ワン・ショット学習器は、コンピュータ・ビジョンでしばしば見い出される、物体分類問題解決器である。ほとんどの機械学習ベースの物体分類アルゴリズムは、数百または数千のサンプル/イメージおよび非常に大規模なデータセットに関するトレーニングを必要とするのに対して、ワン・ショット学習(または少数ショット学習)は、1つまたは数個だけのトレーニング・サンプル/イメージから物体カテゴリについての情報を学習することを目的とする。
【0028】
広範なクラスについての特徴的な概念を学習した後は、まだ見ていないカテゴリを認識し(たとえば、独立したラベルを区別し)なければならず、または利用可能なカテゴリのいずれについても特徴的ではない例の分離を可能にしなければならないことがある。
【0029】
以下では、図の詳細な説明が与えられる。図のすべての命令は概略的なものである。まず、データセットのレコードのラベルを検証するための本発明のコンピュータ実装方法の一実施形態のブロック図が与えられる。その後で、別の実施形態、ならびにデータセットのレコードのラベルを検証するためのデータ・ラベル検証システムの実施形態が説明される。
【0030】
図1は、データセットのレコードのラベルを検証するためのコンピュータ実装方法100の例示的実施形態のブロック図を示し、レコードは、サンプル・データと、複数のラベルのうちの少なくとも1つの関連するラベルとを含む(たとえば、レコードはラベルu、w、v、x、y、zを有し得る)。方法100は、ステップ102で、データセットを、1つの選択されたラベルに関する(すなわち、「猫」などのyラベルを有する)レコードを含むトレーニング・データセットと、選択されたラベル(すなわち、ラベル「y」)および複数のラベルのうちのすべての他のラベル(すなわち、上記の例ではラベルu、w、v、x、y、z)に関するサンプル・データを有するレコードを含む推論データセットとに分割することを含む。
【0031】
方法100はまた、ステップ104で、トレーニング・データセットを(ランダムに、または別の事前定義された手法に従って)複数の学習器トレーニング・データセットに分割することを含む。学習器データセットはそれぞれ、選択された(関連する)ラベルに関する少なくとも1つのサンプルを含み得る。次いで、方法100は、ステップ106で、複数の学習器トレーニング・データセットのうちの1つで複数のラベル特有の少数ショット学習器をトレーニングすることを含む。例示的実施形態では、学習器として実装される分類器は、前述の例に従って、良好ラベルyまたは不良ラベルyという2つの出力クラスを有する分類器である。
【0032】
さらに、方法100は、ステップ110で、複数のトレーニング済みのラベル特有の少数ショット学習器によって推論データセット(すなわち、通常は完全な推論データセット)に関する推論を実施することを含む。様々な実施形態では、推論を実施した結果、予測ラベル出力値の複数のセット(すなわち、各少数ショット学習器について1つのセットであり、これは、直接的な1対1関係のために、各学習器トレーニング・データセットについて1つのセットと同等である)が得られ得る。
【0033】
さらに、方法100は、ステップ112で、予測ラベル出力値のセットのうちの各セット内の予測ラベル出力値を集約することを含む。それによって、本発明の実施形態は、複数のラベル特有の少数ショット学習器のそれぞれについてそれぞれのスコア値を求め、提供し得る。それぞれのスコア値は、予測される選択されたラベルの変動性を反映する。変動性はまた、ラベリングノイズとしても理解され得る。
【0034】
さらに、方法100は、ステップ114で、少なくとも事前定義された数(または事前定義された割合)のスコア値が事前定義された変動性しきい値未満である場合、選択されたラベル(すなわち、ラベル「y」(たとえば「猫」))に関してデータセットが検証されたと判定することを含む。さらに、低い数のスコア値は、レコードのラベルおよび関連するサブデータが良好な品質であることを表し得る。
【0035】
図2は、本発明の一実施形態による、提案される方法のピクトグラフ形式であるブロック
図200を示す。
【0036】
元のデータセット202が、推論データセット204ならびにトレーニング・データの2つの部分に分割され、トレーニング・データは、具体的には学習器トレーニング・データセット206にランダムに(または別のアルゴリズムに従って)再び分割される。追加の実施形態では、選択されたラベル(たとえば、ラベル「y」)が、データセットのレコードのための潜在的な複数のラベルから選択され得る。しかしながら、他の実施形態では、レコードは複数のラベルには対応しない。たとえば、単純な動物のイメージを分類/ラベル付けしなければならない場合、イメージは1つのラベル(たとえば、「猫」、「犬」、...「イルカ」など)に対応し得る。
【0037】
次いで本発明の実施形態は、学習器トレーニング・データセットを使用して、ラベル特有の(すなわち、ここではラベル「y」についての)学習器208(すなわち、分類器)をトレーニングし得る。学習器トレーニング・データセットは、選ばれた「y」ラベルに従って分類するように、別の独立したデータセットで事前トレーニングされている。
【0038】
学習器トレーニング・データセット206の各レコードの結果、(たとえば、出現中に)予測または予測ラベル出力値(「良好ラベル」または「不良ラベル」についての信頼度レベル)が得られ得る。したがって、学習器トレーニング・データセット206が大文字F個のレコードを含む場合、やはり求められる信頼度レベル値が生成される。
【0039】
次に本発明の実施形態は、(たとえば、別のアルゴリズムに従って平均値または期待値を求めることによって)予測ラベル出力値を集約し、その結果、統合された予測ラベル出力値のベクトル210が得られる。一例では、ベクトルの1次元は1つの学習器トレーニング・データセット206を表し得る。しきい値基準が満たされる場合(212)、関連する元のデータセット202が検証されたと見なされ得る。たとえば、学習器トレーニング・データセット(得られるベクトルの次元)の少なくとも事前定義された数の以前に求められたスコア値が事前定義された「正しいラベル」しきい値未満であるかどうかに基づいて。
【0040】
図3は、本発明の一実施形態による、提案される方法100を適用することについての実際の例の一連の行列300を示す。行列302は初期データセット(すなわち、元のデータセット)を表す。第1のステップでは、検証すべきラベル(たとえば、「y」)が選ばれる。選ばれたラベルは、元のデータセット内の、場合によっては複数のラベルのいずれかであり得る。ラベルは、ラベル「猫」を有するイメージ4および6の周りの例示的な黒いボックスによって表され得る。
【0041】
第2のステップでは、正のラベル「y」(すなわち、「猫」)を有する行列302のサブセットからのM個の個々のドロー(置換なし)が行われ、それがサブセットA306と命名され得る。(ラベルyを有しても有さなくても)行列304の残りの部分は、参照、推論データセットの検証と見なされ、サブセットA1+B、308とも呼ばれる。
【0042】
次いで、ワン・ショットまたは少数ショット学習器を使用することによって前述のトレーニングが実施され、その結果、M個のトレーニング済みモデル310(たとえば、L1、L2、L3、L4、および潜在的にはさらに多くのモデル)が得られる。第4のステップでは、以前にトレーニングされたM個の分類器(すなわち、ワン・ショットまたは少数ショット学習器)がサブセットA1+B、308のサンプルに対して使用され、それにより、A1+B、308内の各モデルおよび各サンプルについての予測ラベルが得られる。
【0043】
第5のステップでは、A1+B、308内のあらゆるサンプルについての分類結果値(すなわち、予測ラベル出力値)が集約される(たとえば、平均値)。観測される主なメトリックは予測ラベル(低い信頼度に対応する多種多様な有効性)であり、予測ラベルはラベル・エントロピーとしても構築され得る。次いで、第6のステップは、サブセットA1+B、308についてしきい値基準が合格したかどうかを判定する(たとえば、
図2、212と比較)。行列312は前述のプロセスの例示的結果を示す。行列312の左端の2つの列は行列308(A1+B、308)に対応する。「平均」列および「std」列((標準偏差)は集約の結果を表す。
【0044】
基準として、予測値(P valu, Ha>50%)が右から第2の列に示される。分類は以下の信号機アルゴリズムに従って進行し得る。
【数1】
前述の部分プロセスは第1の反復(i=1)として理解され得る。第2の反復が
図4に示されている。
【0045】
図4は、本発明の一実施形態による、第2の反復(i=2)の間に
図3で使用される例に関連する一連の行列400を示す。
【0046】
yラベルとして、行列404からわかるように、最適化プロセスについて再び「猫」が使用される。この場合も、トレーニング・データセット(A-A2、406)および干渉データセット(A2+B、408への分割が行われ、例示的学習器の他のモデル410 L1’、L2’、L3’、L4’が得られる。
【0047】
行列412は、
図3および
図4の前述のプロセスの得られる行列を示す。
図3の上記で同一の終了基準、ならびに信号機スキーマについての条件を使用して、P val=0.876を有する、行列の下端から第2の行は「不合格」とマークされる。
【0048】
提案される方法の追加のステップでは、本発明の実施形態は、追加の反復(i=3、4、5、...)を実施し得る。すべてのサンプルが「猫」または「猫ではない」と分類された場合、プロセスは、
図5に示される次のラベルに移動し得る。
【0049】
図5は、本発明の一実施形態による、
図3および
図4で使用されるのと同一の例の一連の行列500を示す。しかしながら、
図5では、ラベルy「犬」が選ばれる(行列504)。
図3および
図4の上記で説明した例を考えると、行列502ラベル「犬」が選ばれ、トレーニング・データセット506A-A1が推論データセットB+A1、508から分離され、その結果、やはり相異なるモデル510L1、L2、L3、L4が得られる。前述のように、集約された予測ラベル出力値の得られる行列の評価が進行する。
【0050】
完全性のために、
図6は、本発明の一実施形態による、データセットのレコードのラベルを検証するためのデータ・ラベル検証システムのシステム600のブロック図を示す。様々な実施形態では、システム600は、本発明の実施形態による、方法100(
図1)の処理を実施するように動作するモジュールおよび構成要素を含む。
【0051】
さらに、レコードは、サンプル・データと、複数のラベルのうちの関連するラベルとを含む。システム600は、選択されたラベルに関するレコードを含むトレーニング・データセットと、選択されたラベルおよび複数のラベルのうちのすべての他のラベルに関するサンプル・データを有するレコードを含む推論データセットとに分割するように適合された分割ユニット602を備える。それによって、分割ユニット602はまた、トレーニング・データセットを複数の学習器トレーニング・データセットにランダムに分割するように適合され、複数の学習器トレーニング・データセットは、選択されたラベルに関するそれぞれの少なくとも1つのサンプルを含む。
【0052】
システム600はまた、複数のラベル特有の少数ショット学習器606をトレーニングするように適合されたトレーニング・モジュール604を備え、少数ショット学習器606のそれぞれは、複数の学習器トレーニング・データセットのうちの1つでトレーニングされる。システム600はまた、複数のトレーニング済みのラベル特有の少数ショット学習器606によって推論データセットに関する推論を実施して、その結果、予測ラベル出力値の複数のセットを得るように適合された推論ユニット608を含む。
【0053】
さらに、システム600は、予測ラベル出力値のセットのうちの各セット内の予測ラベル出力値を集約し、それによって(関連する特定の学習器トレーニング・データセットに対応する)複数のラベル特有の少数ショット学習器のそれぞれについてそれぞれのスコア値を提供するように適合されたアグリゲーション・モジュール610を備える。したがって、それぞれのスコア値は、予測される選択されたラベルの変動性を反映し、少なくとも事前定義された数のスコア値が事前定義された変動性しきい値未満である場合、選択されたラベルに関してデータセットが検証されたと判定するように適合された判定モジュール612。
【0054】
本発明の実施形態は、プラットフォームがプログラム・コードを記憶または実行あるいはその両方を行うのに適しているかの如何に関わらず、ほぼ任意のタイプのコンピュータと共に実装され得る。
図7は、一例として、提案される方法に関するプログラム・コードを実行するのに適したコンピューティング・システム700を示す。
【0055】
コンピューティング・システム700は、適切なコンピュータ・システムの一例に過ぎず、コンピュータ・システム700を実装することができ、またはコンピュータ・システム700が前述の機能のいずれかを実施することができ、あるいはその両方であるかどうかに関わらず、本明細書で説明される発明の実施形態の使用または機能の範囲に関する何らかの限定を示唆するものではない。コンピュータ・システム700では、多数の他の汎用または専用コンピューティング・システム環境または構成と共に動作可能である構成要素がある。コンピュータ・システム/サーバ700と共に使用するのに適していることがある周知のコンピューティング・システム、環境、または構成、あるいはその組合せの例には、限定はしないが、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セット・トップ・ボックス、プログラマブル・コンシューマ・エレクトロニクス、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および上記のシステムまたはデバイスのいずれかを含む分散型クラウド・コンピューティング環境などが含まれる。コンピュータ・システム/サーバ700は、コンピュータ・システム700によって実行中の、プログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な文脈で説明され得る。一般に、プログラム・モジュールは、特定のタスクを実施し、または特定の抽象データ・タイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含み得る。コンピュータ・システム/サーバ700は、通信ネットワークを通じてリンクされるリモート処理デバイスによってタスクが実施される分散型クラウド・コンピューティング環境で実施され得る。分散型クラウド・コンピューティング環境では、プログラム・モジュールは、メモリ記憶デバイスを含む、ローカル・コンピュータ・システム記憶媒体とリモート・コンピュータ・システム記憶媒体の両方に配置され得る。
【0056】
図に示されるように、コンピュータ・システム/サーバ700が汎用コンピューティング・デバイスの形態で示されている。コンピュータ・システム/サーバ700の構成要素には、限定はしないが、1つまたは複数のプロセッサ702と、システム・メモリ704と、システム・メモリ704を含む様々なシステム構成要素をプロセッサ702に結合するバス・システム706とが含まれ得る。バス・システム706は、メモリ・バスまたはメモリ・コントローラ、周辺バス、アクセラレーテッド・グラフィックス・ポート、および様々なバス・アーキテクチャのいずれかを使用するプロセッサまたはローカル・バスを含むいくつかのタイプのバス構造のいずれかの1つまたは複数を表す。限定ではなく例として、そのようなアーキテクチャには、Industry Standard Architecture (ISA)バス、Micro Channel Architecture (MCA)バス、Enhanced ISA (EISA)バス、Video Electronics Standards Association (VESA)ローカル・バス、およびPeripheral Component Interconnects (PCI)バスが含まれる。コンピュータ・システム/サーバ700は通常、様々なコンピュータ・システム可読媒体を含む。そのような媒体は、コンピュータ・システム/サーバ700によってアクセス可能である任意の入手可能な媒体であり得、そのような媒体には、揮発性媒体と不揮発性媒体、取外し可能媒体と取外し不能媒体の両方が含まれる。
【0057】
システム・メモリ704は、ランダム・アクセス・メモリ(RAM)708またはキャッシュ・メモリ710あるいはその両方などの、揮発性メモリの形態のコンピュータ・システム可読媒体を含み得る。コンピュータ・システム/サーバ700は、他の取外し可能/取外し不能な揮発性/不揮発性コンピュータ・システム記憶媒体をさらに含み得る。単に例として、取外し不能な不揮発性磁気媒体(図示しておらず、通常は「ハード・ドライブ」と呼ばれる)から読み取り、それに書き込むための記憶システム712が設けられ得る。図示していないが、取外し可能な不揮発性磁気ディスク(たとえば、「フロッピィ・ディスク」)から読み取り、それに書き込むための磁気ディスク・ドライブ、およびCD-ROM、DVD-ROM、または他の光媒体などの取外し可能な不揮発性光ディスクから読み取り、それに書き込むための光ディスク・ドライブが設けられ得る。そのような場合、それぞれは、1つまたは複数のデータ媒体インターフェースによってバス706に接続され得る。以下でさらに図示され、説明されるように、メモリ704は、本発明の実施形態の機能を実施するように構成されるプログラム・モジュールのセット(たとえば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含み得る。
【0058】
限定ではなく例として、プログラム・モジュール716のセット(少なくとも1つ)を有するプログラム/ユーティリティ、ならびにオペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データが、メモリ704内に格納され得る。オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データのそれぞれ、またはそれらの何らかの組合せは、ネットワーキング環境の実装を含み得る。プログラム・モジュール716は一般に、本明細書で説明される、本発明の実施形態の機能または方法あるいはその両方を実施する。
【0059】
コンピュータ・システム/サーバ700はまた、キーボード、ポインティング・デバイスなどの1つまたは複数の外部デバイス718、ディスプレイ720など、ユーザがコンピュータ・システム/サーバ700と対話することを可能にする1つまたは複数のデバイス、またはコンピュータ・システム/サーバ700が1つまたは複数の他のコンピューティング・デバイスと通信することを可能にする任意のデバイス(たとえば、ネットワーク・カード、モデムなど)、あるいはその組合せと通信し得る。そのような通信は、入力/出力(I/O)インターフェース714を介して行われ得る。さらに、コンピュータ・システム/サーバ700は、ネットワーク・アダプタ722を介して、ローカル・エリア・ネットワーク(LAN)、一般の広域ネットワーク(WAN)、または公衆ネットワーク(たとえば、インターネット)、あるいはその組合せなどの1つまたは複数のネットワークと通信し得る。図示されるように、ネットワーク・アダプタ722は、バス706を介してコンピュータ・システム/サーバ700の他の構成要素と通信し得る。図示していないが、他のハードウェア・構成要素またはソフトウェア構成要素あるいはその両方が、コンピュータ・システム/サーバ700と共に使用され得ることを理解されたい。限定はしないが、例には、マイクロコード、デバイス・ドライバ、冗長処理装置、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、データ・アーカイブ記憶システムなどが含まれる。
【0060】
さらに、データセットのレコードのラベルを検証するためのデータ・ラベル検証システム600が、バス・システム706に接続され得る。
【0061】
例示のために本発明の様々な実施形態の説明が提示されたが、説明は網羅的なものではなく、開示される実施形態に限定されないものとする。説明された実施形態の範囲および思想から逸脱することなく、多くの修正形態および変形形態が当業者には明らかとなるであろう。本明細書で使用される用語は、実施形態の原理、市場で見出される技術に勝る実際の応用もしくは技術的改良を最良に説明するように、または本明細書で開示される実施形態を当業者が理解することを可能にするように選ばれたものである。
【0062】
本発明は、システム、方法、またはコンピュータ・プログラム製品、あるいはその組合せとして実施され得る。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令を有する1つまたは複数のコンピュータ可読記憶媒体を含み得る。
【0063】
媒体は、伝播媒体用の電子的、磁気的、光学的、電磁的、赤外線式、または半導体システムであり得る。コンピュータ可読媒体の例には、半導体またはソリッド・ステート・メモリ、磁気テープ、取外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、読取り専用メモリ(ROM)、硬質磁気ディスク、および光ディスクが含まれ得る。光ディスクの現在の例には、コンパクト・ディスク読取り専用メモリ(CD-ROM)、コンパクト・ディスク読取り/書込み(CD-R/W)、DVD、およびBlu-Ray-Diskが含まれる。
【0064】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用される命令を保持および記憶し得る有形デバイスであり得る。コンピュータ可読記憶媒体は、たとえば、限定はしないが、電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、または上記の任意の適切な組合せであり得る。コンピュータ可読記憶媒体のより具体的な例の非網羅的リストには、以下が含まれる:ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読取り専用メモリ(ROM)、消去可能プログラマブル読取り専用メモリ(EPROMまたはフラッシュ・メモリ)、静的ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読取り専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピィ・ディスク、パンチ・カード、または命令が記録された溝の中の隆起構造などの機械的に符号化されたデバイス、および上記の任意の適切な組合せ。本明細書では、コンピュータ可読記憶媒体は、電波または他の自由に伝播する電磁波、導波路または他の伝送媒体を通じて伝播する電磁波(たとえば、光ファイバ・ケーブルを通る光パルス)、またはワイヤを通じて伝送される電気信号など、本質的に一時的信号であると解釈されるべきではない。
【0065】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、あるいはネットワーク、たとえばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク、もしくはワイヤレス・ネットワーク、またはその組合せを介して外部コンピュータまたは外部記憶デバイスにダウンロードされ得る。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを含み得る。各コンピューティング/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体内に記憶するためにコンピュータ可読プログラム命令を転送する。
【0066】
本発明の動作を実施するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械語命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、あるいはSmalltalk(R)、C++などのオブジェクト指向プログラミング言語と、「C」プログラミング言語または類似のプログラミング言語などの従来の手続型プログラミング言語とを含む1つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードまたはオブジェクト・コードのどちらかであり得る。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、スタンド・アロン・ソフトウェア・パッケージとして部分的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上、かつ部分的にリモート・コンピュータ上で、または完全にリモート・コンピュータまたはサーバ上で実行され得る。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続され得、あるいは(たとえば、インターネット・サービス・プロバイダを使用して、インターネットを通じて)外部コンピュータに接続が行われ得る。いくつかの実施形態では、たとえば、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル論理アレイ(PLA)を含む電子回路が、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用することによってコンピュータ可読プログラム命令を実行して、電子回路を個別設定し得る。
【0067】
本発明の態様が、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照しながら本明細書で説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方のブロックの組合せが、コンピュータ可読プログラム命令によって実装され得ることを理解されよう。
【0068】
こうしたコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行される命令により、フローチャートまたはブロック図の1つまたは複数のブロックで指定される機能/動作を実装するための手段を生み出すように、汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに与えられ、マシンが作り出され得る。こうしたコンピュータ可読プログラム命令はまた、命令を記憶するコンピュータ可読記憶媒体がフローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで指定される機能/動作の態様を実装する命令を含む製品を含むように、コンピュータ、プログラム可能データ処理装置、または他のデバイス、あるいはその組合せに特定の方式で機能するように指示し得るコンピュータ可読記憶媒体内に記憶され得る。
【0069】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラム可能装置、または別のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックで指定される機能/動作を実装するように、コンピュータ、他のプログラム可能データ処理装置、または別のデバイス上にロードされ、コンピュータ、他のプログラム可能装置、または他のデバイス上で一連の動作ステップを実施させて、コンピュータ実装プロセスが生成され得る。
【0070】
図中のフローチャートまたはブロック図あるいはその両方は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、およびオペレーションを示す。この点で、フローチャートまたはブロック図の各ブロックは、指定の論理的機能を実装するための1つまたは複数の実行可能命令を含む命令のモジュール、セグメント、または部分を表し得る。いくつかの代替の実装では、ブロック内に記載の機能は、図に記載されている以外の順序で行われ得る。たとえば、連続して示される2つのブロックは、実際にはほぼ同時に実行され得、またはブロックは、関係する機能に応じて、時には逆の順序で実行され得る。ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方のブロックの組合せが、指定の機能または動作を実施し、あるいは専用ハードウェアおよびコンピュータ命令の組合せを実施する専用ハードウェア・ベースのシステムによって実装され得ることにも留意されよう。
【0071】
明細書で使用される用語は、特定の実施形態を説明するためのものに過ぎず、本発明を限定するものではない。本明細書では、単数形「a」、「an」、および「the」は、文脈が別段に明確に示すのでない限り、複数形も含むものとする。本明細書では、「備える(comprises)」または「備えている(comprising)」あるいはその両方という用語は、明記された特徴、完全体、ステップ、動作、要素、または構成要素、あるいはその組合せの存在を指定するが、1つまたは複数の他の特徴、完全体、ステップ、動作、要素、構成要素、またはそのグループ、あるいはその組合せの存在または追加を除外しないことをさらに理解されよう。
【0072】
以下の特許請求の範囲のすべての手段またはステップおよび機能要素の対応する構造、材料、動作、および均等物は、具体的に特許請求されるように、他の特許請求される要素と組み合わせて機能を実施するための任意の構造、材料、または動作を含むものとする。本発明の説明は、例示および説明のために提示されたものであり、網羅的なものではなく、開示された形態の発明に限定されないものとする。本発明の範囲および思想から逸脱することなく、多くの修正形態および変形形態が当業者には明らかとなるであろう。実施形態は、本発明の原理および実際の応用を最良に説明するため、および企図される特定の用途に適するような、様々な修正を伴う様々な実施形態について当業者が本発明を理解することを可能にするために選ばれ、説明される。