(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-19
(45)【発行日】2024-06-27
(54)【発明の名称】サンプル一致度評価による能動学習
(51)【国際特許分類】
G06N 3/091 20230101AFI20240620BHJP
G06N 20/00 20190101ALI20240620BHJP
【FI】
G06N3/091
G06N20/00 130
【外国語出願】
(21)【出願番号】P 2023094205
(22)【出願日】2023-06-07
(62)【分割の表示】P 2022511319の分割
【原出願日】2020-08-21
【審査請求日】2023-07-04
(32)【優先日】2019-08-22
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ヂャン,ズーヂャオ
(72)【発明者】
【氏名】フィスター,トマス・ジョン
(72)【発明者】
【氏名】アリク,セルカン・オマー
(72)【発明者】
【氏名】ガオ,ミンフェイ
【審査官】多賀 実
(56)【参考文献】
【文献】特開2009-217348(JP,A)
【文献】Melanie Ducoffe et al.,"Adversarial Active Learning for Deep Networks: a Margin Based Approach",arXiv.org [online],arXiv:1802.09841v1,Cornell University,2018年,[検索日 2023.05.01], インターネット:<URL: https://arxiv.org/abs/1802.09841v1>
【文献】皆川 雅俊 ほか,「画像列を用いた物体認識へのActive Learningの適用」,SSII2013 第19回 画像センシングシンポジウム 講演論文集 [CD-ROM],画像センシング技術研究会,2013年06月12日,pp.IS2-12-1~IS2-12-6
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
方法であって、
ラベル付けされていない訓練サンプルのセットを取得することと、
前記ラベル付けされていない訓練サンプルのセット内の各特定のラベル付けされていない訓練サンプルごとに、
機械学習モデルおよび前記特定のラベル付けされていない訓練サンプルを用いて、対応する第1の予測を生成することと、
前記機械学習モデルおよび修正されたラベル付けされていない訓練サンプルを用いて、対応する第2の予測を生成することとを含み、前記修正されたラベル付けされていない訓練サンプルは、前記特定のラベル付けされていない訓練サンプルに基づいており、さらに、前記ラベル付けされていない訓練サンプルのセット内の各特定のラベル付けされていない訓練サンプルごとに、
前記対応する第1の予測と前記対応する第2の予測との間の対応する差を求めることを含み、前記方法はさらに、
前記対応する差に基づいて、前記ラベル付けされていない訓練サンプルのセットのサブセットを選択することと、
前記ラベル付けされていない訓練サンプルのセットの前記サブセット内の各特定のラベル付けされていない訓練サンプルごとに、
前記特定のラベル付けされていない訓練サンプルについて対応するグラウンドトゥルースラベルを取得することと、
前記対応するグラウンドトゥルースラベルと対にされた前記特定のラベル付けされていない訓練サンプルに基づいて、対応するラベル付けされた訓練サンプルを生成することととを含み、前記方法はさらに、
前記対応するラベル付けされた訓練サンプルを用いて前記機械学習モデルを訓練することを含む、方法。
【請求項2】
前記ラベル付けされていない訓練サンプルのセットの前記サブセットにおけるラベル付けされていない訓練サンプルの数は、前記ラベル付けされていない訓練サンプルのセットのカーディナリティ未満である、請求項1に記載の方法。
【請求項3】
前記対応する差に基づいて、前記ラベル付けされていない訓練サンプルのセットの前記サブセットを選択することは、しきい値を満たす対応する差を有するラベル付けされていない訓練サンプルを選択することを含む、請求項1または2に記載の方法。
【請求項4】
前記対応する差に基づいて、前記ラベル付けされていない訓練サンプルのセットの前記サブセットを選択することは、最大の対応する差を有するしきい値数の前記ラベル付けされていない訓練サンプルを選択することを含む、請求項1または2に記載の方法。
【請求項5】
初期能動学習サイクル中に、
前記ラベル付けされていない訓練サンプルのセットから、ラベル付けされていない訓練サンプルのランダムなセットを選択することと、
前記ラベル付けされていない訓練サンプルのランダムなセット内の各特定のラベル付けされていない訓練サンプルごとに、対応するグラウンドトゥルースラベルを取得することと、
前記ラベル付けされていない訓練サンプルのランダムなセットおよび前記対応するグラウンドトゥルースラベルを用いて前記機械学習モデルを訓練することとをさらに含む、請求項1~4のいずれか1項に記載の方法。
【請求項6】
前記初期能動学習サイクル中に、
前記ラベル付けされていない訓練サンプルのセットから、ラベル付けされていない訓練サンプルの候補セットを特定することをさらに含み、前記ラベル付けされていない訓練サンプルの候補セットのカーディナリティは、前記ラベル付けされていない訓練サンプルのセットのカーディナリティ未満であり、さらに、
前記ラベル付けされていない訓練サンプルの候補セット内の前記ラベル付けされていない訓練サンプルに対して前記機械学習モデルを用いて生成された予測ラベルの分布と、グラウンドトゥルースラベルの分布との間の、第1の交差エントロピーを求めることと、
前記ラベル付けされていない訓練サンプルのセット内の前記ラベル付けされていない訓練サンプルに対して前記機械学習モデルを用いて生成された予測ラベルの分布と、グラウンドトゥルースラベルの分布との間の、第2の交差エントロピーを求めることと、
前記第1の交差エントロピーは前記第2の交差エントロピー以上であると判断することと、
前記第1の交差エントロピーが前記第2の交差エントロピー以上であると判断することに基づいて、前記ラベル付けされていない訓練サンプルの候補セットを、前記機械学習モデルを初期訓練するための開始サイズとして、選択することとを含む、請求項5に記載の方法。
【請求項7】
前記ラベル付けされていない訓練サンプルのセットから、前記ラベル付けされていない訓練サンプルの候補セットを特定することは、前記ラベル付けされていない訓練サンプルのセットのうちの、各々のラベル付けされていない訓練サンプルごとに、前記対応する差を求めることを含む、請求項6に記載の方法。
【請求項8】
前記第1の交差エントロピーが前記第2の交差エントロピー未満である場合、
前記ラベル付けされていない訓練サンプルのセットから、ラベル付けされていない訓練サンプルの拡大されたセットをランダムに選択することと、
前記ラベル付けされていない訓練サンプルの候補セットを、前記ラベル付けされていない訓練サンプルのセットからランダムに選択した前記ラベル付けされていない訓練サンプルの拡大されたセットを含むように、更新することと、
前記ラベル付けされていない訓練サンプルのセットを、前記ラベル付けされていない訓練サンプルのセットのうちの前記ラベル付けされていない訓練サンプルの拡大されたセットから、各々のラベル付けされていない訓練サンプルを取り除くことにより、更新することと、
直後の能動学習サイクル中に、
前記ラベル付けされていない訓練サンプルの前記更新した候補セット内の前記ラベル付けされていない訓練サンプルについて、前記機械学習モデルを用いて生成された、予測ラベルの分布と、グラウンドトゥルースラベルの分布との間の、第1の交差エントロピーを求めることと、
前記ラベル付けされていない訓練サンプルの前記更新した候補セット内の前記ラベル付けされていない訓練サンプルについて、前記機械学習モデルを用いて生成された、予測ラベルの分布と、グラウンドトゥルースラベルの分布との間の、第2の交差エントロピーを求めることと、
前記第1の交差エントロピーは前記第2の交差エントロピー以上であると判断することと、
前記第1の交差エントロピーが前記第2の交差エントロピー以上であると判断することに基づいて、前記ラベル付けされていない訓練サンプルの前記更新された候補セットのサイズを、前記機械学習モデルを初期訓練するための開始サイズとして、選択することとをさらに含む、請求項7に記載の方法。
【請求項9】
前記機械学習モデルは、畳み込みニューラルネットワークを含む、請求項1~8のいずれか1項に記載の方法。
【請求項10】
前記対応する第1の予測と前記対応する第2の予測との間の前記対応する差は、前記対応する第1の予測と前記対応する第2の予測との間の相違を表す、請求項1~9のいずれか1項に記載の方法。
【請求項11】
システムであって、
データ処理ハードウェアと、
前記データ処理ハードウェアと通信するメモリハードウェアとを備え、前記メモリハードウェアは、前記データ処理ハードウェアによって実行されると前記データ処理ハードウェアに動作を実行させる命令を格納し、前記動作は、
ラベル付けされていない訓練サンプルのセットを取得することと、
前記ラベル付けされていない訓練サンプルのセット内の各特定のラベル付けされていない訓練サンプルごとに、
機械学習モデルおよび前記特定のラベル付けされていない訓練サンプルを用いて、対応する第1の予測を生成することと、
前記機械学習モデルおよび修正されたラベル付けされていない訓練サンプルを用いて、対応する第2の予測を生成することとを含み、前記修正されたラベル付けされていない訓練サンプルは、前記特定のラベル付けされていない訓練サンプルに基づいており、さらに、前記ラベル付けされていない訓練サンプルのセット内の各特定のラベル付けされていない訓練サンプルごとに、
前記対応する第1の予測と前記対応する第2の予測との間の対応する差を求めることを含み、前記動作はさらに、
前記対応する差に基づいて、前記ラベル付けされていない訓練サンプルのセットのサブセットを選択することと、
前記ラベル付けされていない訓練サンプルのセットの前記サブセット内の各特定のラベル付けされていない訓練サンプルごとに、
前記特定のラベル付けされていない訓練サンプルについて対応するグラウンドトゥルースラベルを取得することと、
前記対応するグラウンドトゥルースラベルと対にされた前記特定のラベル付けされていない訓練サンプルに基づいて、対応するラベル付けされた訓練サンプルを生成することととを含み、前記動作はさらに、
前記対応するラベル付けされた訓練サンプルを用いて前記機械学習モデルを訓練することを含む、システム。
【請求項12】
前記ラベル付けされていない訓練サンプルのセットの前記サブセットにおけるラベル付けされていない訓練サンプルの数は、前記ラベル付けされていない訓練サンプルのセットのカーディナリティ未満である、請求項11に記載のシステム。
【請求項13】
前記対応する差に基づいて、前記ラベル付けされていない訓練サンプルのセットの前記サブセットを選択することは、しきい値を満たす対応する差を有するラベル付けされていない訓練サンプルを選択することを含む、請求項11または12に記載のシステム。
【請求項14】
前記対応する差に基づいて、前記ラベル付けされていない訓練サンプルのセットの前記サブセットを選択することは、最大の対応する差を有するしきい値数の前記ラベル付けされていない訓練サンプルを選択することを含む、請求項11または12に記載のシステム。
【請求項15】
前記動作は、初期能動学習サイクル中に、
前記ラベル付けされていない訓練サンプルのセットから、ラベル付けされていない訓練サンプルのランダムなセットを選択することと、
前記ラベル付けされていない訓練サンプルのランダムなセット内の各特定のラベル付けされていない訓練サンプルごとに、対応するグラウンドトゥルースラベルを取得することと、
前記ラベル付けされていない訓練サンプルのランダムなセットおよび前記対応するグラウンドトゥルースラベルを用いて前記機械学習モデルを訓練することとをさらに含む、請求項11~14のいずれか1項に記載のシステム。
【請求項16】
前記動作は、前記初期能動学習サイクル中に、
前記ラベル付けされていない訓練サンプルのセットから、ラベル付けされていない訓練サンプルの候補セットを特定することをさらに含み、前記ラベル付けされていない訓練サンプルの候補セットのカーディナリティは、前記ラベル付けされていない訓練サンプルのセットのカーディナリティ未満であり、さらに、
前記ラベル付けされていない訓練サンプルの候補セット内の前記ラベル付けされていない訓練サンプルに対して前記機械学習モデルを用いて生成された予測ラベルの分布と、グラウンドトゥルースラベルの分布との間の、第1の交差エントロピーを求めることと、
前記ラベル付けされていない訓練サンプルのセット内の前記ラベル付けされていない訓練サンプルに対して前記機械学習モデルを用いて生成された予測ラベルの分布と、グラウンドトゥルースラベルの分布との間の、第2の交差エントロピーを求めることと、
前記第1の交差エントロピーは前記第2の交差エントロピー以上であると判断することと、
前記第1の交差エントロピーが前記第2の交差エントロピー以上であると判断することに基づいて、前記ラベル付けされていない訓練サンプルの候補セットを、前記機械学習モデルを初期訓練するための開始サイズとして、選択することとを含む、請求項15に記載のシステム。
【請求項17】
前記ラベル付けされていない訓練サンプルのセットから、前記ラベル付けされていない訓練サンプルの候補セットを特定することは、前記ラベル付けされていない訓練サンプルのセットのうちの、各々のラベル付けされていない訓練サンプルごとに、前記対応する差を求めることを含む、請求項16に記載のシステム。
【請求項18】
前記第1の交差エントロピーが前記第2の交差エントロピー未満である場合、
前記ラベル付けされていない訓練サンプルのセットから、ラベル付けされていない訓練サンプルの拡大されたセットをランダムに選択することと、
前記ラベル付けされていない訓練サンプルの候補セットを、前記ラベル付けされていない訓練サンプルのセットからランダムに選択した前記ラベル付けされていない訓練サンプルの拡大されたセットを含むように、更新することと、
前記ラベル付けされていない訓練サンプルのセットを、前記ラベル付けされていない訓練サンプルのセットのうちの前記ラベル付けされていない訓練サンプルの拡大されたセットから、各々のラベル付けされていない訓練サンプルを取り除くことにより、更新することと、
直後の能動学習サイクル中に、
前記ラベル付けされていない訓練サンプルの前記更新した候補セット内の前記ラベル付けされていない訓練サンプルについて、前記機械学習モデルを用いて生成された、予測ラベルの分布と、グラウンドトゥルースラベルの分布との間の、第1の交差エントロピーを求めることと、
前記ラベル付けされていない訓練サンプルの前記更新した候補セット内の前記ラベル付けされていない訓練サンプルについて、前記機械学習モデルを用いて生成された、予測ラベルの分布と、グラウンドトゥルースラベルの分布との間の、第2の交差エントロピーを求めることと、
前記第1の交差エントロピーは前記第2の交差エントロピー以上であると判断することと、
前記第1の交差エントロピーが前記第2の交差エントロピー以上であると判断することに基づいて、前記ラベル付けされていない訓練サンプルの前記更新された候補セットのサイズを、前記機械学習モデルを初期訓練するための開始サイズとして、選択することとをさらに含む、請求項17に記載のシステム。
【請求項19】
前記機械学習モデルは、畳み込みニューラルネットワークを含む、請求項11~18のいずれか1項に記載のシステム。
【請求項20】
前記対応する第1の予測と前記対応する第2の予測との間の前記対応する差は、前記対応する第1の予測と前記対応する第2の予測との間の相違を表す、請求項11~19のいずれか1項に記載のシステム。
【請求項21】
データ処理ハードウエアに請求項1~10のいずれか1項に記載の方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、サンプル一致度評価を使用する能動学習のような能動学習に関する。
【背景技術】
【0002】
背景
一般的に、教師あり機械学習モデルは、正確に結果を予測するために、ラベル付けされた訓練データを大量に必要とする。しかしながら、ラベル付けされていないデータを大量に取得するのは簡単なことが多いものの、データをラベル付けすることは往々にして非常に難しい。すなわち、膨大な量のデータをラベル付けすることは、全く不可能ではないにしても、法外に費用がかかることが多い。そのような訳で、能動学習は、最も影響が大きい(すなわち精度の上昇が最も大きい)であろうデータのみについてモデルを訓練するために、ラベル付けされていないデータに優先順位を付けることが可能な、普及しているタイプの機械学習である。典型的に、能動学習アルゴリズムは、先ず、ラベル付けされたデータの小さなサブセットについて訓練され、次に、能動的に教師にクエリし、ラベル付けされていない訓練サンプルを選択してラベル付けする。ラベル付けされていない訓練サンプルを選択するプロセスは、活発に研究されている分野である。
【発明の概要】
【0003】
概要
本開示のある局面は、サンプル一致度評価による能動学習の方法を提供する。この方法は、データ処理ハードウェアが、ラベル付けされていない訓練サンプルのセットを取得するステップを含む。複数の能動学習サイクルのうちの各能動学習サイクル中に、ラベル付けされていない訓練サンプルのセット内の各々のラベル付けされていない訓練サンプルごとに、この方法は、データ処理ハードウェアが、ラベル付けされていない訓練サンプルを摂動させて拡張訓練サンプルを生成するステップを含む。この方法はまた、データ処理ハードウェアが、ラベル付けされていない訓練サンプルと拡張訓練サンプルとを入力として受けるように構成された機械学習モデルを用いて、ラベル付けされていない訓練サンプルの予測ラベルと、拡張訓練サンプルの予測ラベルとを生成するステップと、データ処理ハードウェアが、ラベル付けされていない訓練サンプルの不一致度値を決定するステップとを含む。不一致度値は、ラベル付けされていない訓練サンプルの予測ラベルと拡張訓練サンプルの予測ラベルとの間の相違を表す。この方法はまた、データ処理ハードウェアが、不一致度値に基づいて、ラベル付けされていない訓練サンプルのセット内のラベル付けされていない訓練サンプルを降順でソートするステップと、データ処理ハードウェアが、ラベル付けされていない訓練サンプルのセット内の、ソートしたラベル付けされていない訓練サンプルから選択された、しきい値数のラベル付けされていない訓練サンプルのうちの、各々のラベル付けされていない訓練サンプルごとに、グラウンドトゥルースラベルを取得するステップとを含む。この方法は、データ処理ハードウェアが、ラベル付けされた訓練サンプルの現在のセットを選択するステップを含む。ラベル付けされた訓練サンプルの現在のセットは、ラベル付けされていない訓練サンプルのセット内の、ソートしたラベル付けされていない訓練サンプルから選択された、しきい値数のラベル付けされていない訓練サンプルのうちの、各々のラベル付けされていない訓練サンプルを、対応する取得したグラウンドトゥルースラベルと対にしたものを含む。この方法はまた、データ処理ハードウェアが、ラベル付けされた訓練サンプルの現在のセットと、ラベル付けされていない訓練サンプルのセットのうちのラベル付けされていない訓練サンプルの適切なサブセットとを用いて、機械学習モデルを訓練するステップを含む。
【0004】
本開示の実装形態は以下の任意の特徴のうちの1つ以上を含み得る。いくつかの実装形
態において、しきい値数のラベル付けされていない訓練サンプルは、ラベル付けされていない訓練サンプルのセットのカーディナリティ未満である。しきい値数のラベル付けされていない訓練サンプルのうちの、各々のラベル付けされていない訓練サンプルの不一致度値は、ラベル付けされていない訓練サンプルのセット内の、ソートしたラベル付けされていない訓練サンプルから選択されない、各々のラベル付けされていない訓練サンプルの不一致度値よりも大きくてもよい。
【0005】
任意で、この方法は、データ処理ハードウェアが、ラベル付けされていない訓練サンプルのセットから、しきい値数のラベル付けされていない訓練サンプルを取り除くことにより、ラベル付けされていない訓練サンプルのセットから、ラベル付けされていない訓練サンプルの適切なサブセットを取得するステップをさらに含む。この方法は、データ処理ハードウェアが、ラベル付けされていない訓練サンプルのセット内の、ソートしたラベル付けされていない訓練サンプルから、最初のM個のラベル付けされていない訓練サンプルを、しきい値数のラベル付けされていない訓練サンプルとして、選択するステップをさらに含み得る。
【0006】
いくつかの例において、この方法は、初期能動学習サイクル中に、データ処理ハードウェアが、ラベル付けされていない訓練サンプルのセットから、ラベル付けされていない訓練サンプルのランダムなセットを、ランダムに選択するステップと、データ処理ハードウェアが、ラベル付けされていない訓練サンプルのランダムなセット内の、各々のラベル付けされていない訓練サンプルごとに、対応するグラウンドトゥルースラベルを取得するステップとをさらに含む。この方法はまた、データ処理ハードウェアが、ラベル付けされていない訓練サンプルのランダムなセットと、対応するグラウンドトゥルースラベルとを用いて、機械学習モデルを訓練するステップをさらに含み得る。この例は、初期能動学習サイクル中に、データ処理ハードウェアが、ラベル付けされていない訓練サンプルのセットから、ラベル付けされていない訓練サンプルの候補セットを特定するステップを含み得る。ラベル付けされていない訓練サンプルの候補セットのカーディナリティは、ラベル付けされていない訓練サンプルのセットのカーディナリティ未満であってもよい。この方法はまた、データ処理ハードウェアが、ラベル付けされていない訓練サンプルの候補セット内のラベル付けされていない訓練サンプルに対して機械学習モデルを用いて生成された予測ラベルの分布と、グラウンドトゥルースラベルの分布との間の、第1の交差エントロピーを求めるステップと、データ処理ハードウェアが、ラベル付けされていない訓練サンプルのセット内のラベル付けされていない訓練サンプルに対して機械学習モデルを用いて生成された予測ラベルの分布と、グラウンドトゥルースラベルの分布との間の、第2の交差エントロピーを求めるステップとをさらに含み得る。この方法はまた、データ処理ハードウェアが、第1の交差エントロピーは第2の交差エントロピー以上か否かを判断するステップと、第1の交差エントロピーが第2の交差エントロピー以上である場合、データ処理ハードウェアが、ラベル付けされていない訓練サンプルの候補セットを、機械学習モデルを初期訓練するための開始サイズとして、選択するステップとを含み得る。ラベル付けされていない訓練サンプルのセットから、ラベル付けされていない訓練サンプルの候補セットを特定するステップは、いくつかの実装形態において、ラベル付けされていない訓練サンプルのセットのうちの、各々のラベル付けされていない訓練サンプルごとに、不一致度値を決定するステップを含む。
【0007】
いくつかの実装形態において、この方法は、第1の交差エントロピーが第2の交差エントロピー未満である場合、データ処理ハードウェアが、ラベル付けされていない訓練サンプルのセットから、ラベル付けされていない訓練サンプルの拡大されたセットをランダムに選択するステップと、データ処理ハードウェアが、ラベル付けされていない訓練サンプルの候補セットを、ラベル付けされていない訓練サンプルのセットからランダムに選択したラベル付けされていない訓練サンプルの拡大されたセットを含むように、更新するステ
ップとをさらに含み得る。この方法はまた、データ処理ハードウェアが、ラベル付けされていない訓練サンプルのセットを、ラベル付けされていない訓練サンプルのセットのうちのラベル付けされていない訓練サンプルの拡大されたセットから、各々のラベル付けされていない訓練サンプルを取り除くことにより、更新するステップを含み得る。直後の能動学習サイクル中に、この方法はまた、データ処理ハードウェアが、ラベル付けされていない訓練サンプルの更新した候補セット内のラベル付けされていない訓練サンプルについて、機械学習モデルを用いて生成された、予測ラベルの分布と、グラウンドトゥルースラベルの分布との間の、第1の交差エントロピーを求めるステップと、データ処理ハードウェアが、ラベル付けされていない訓練サンプルの更新した候補セット内のラベル付けされていない訓練サンプルについて、機械学習モデルを使用して生成された、予測ラベルの分布と、グラウンドトゥルースラベルの分布との間の、第2の交差エントロピーを求めるステップとをさらに含み得る。この方法はまた、データ処理ハードウェアが、第1の交差エントロピーは第2の交差エントロピー以上か否かを判断するステップをさらに含み得る。第1の交差エントロピーが第2の交差エントロピー以上である場合、この方法は、データ処理ハードウェアが、ラベル付けされていない訓練サンプルの更新された候補セットを、機械学習モデルを初期訓練するための開始サイズとして、選択するステップをさらに含み得る。いくつかの例において、機械学習モデルは畳み込みニューラルネットワークを含む。
【0008】
本開示の別の局面は、データ処理ハードウェアと、データ処理ハードウェアと通信するメモリハードウェアとを提供する。メモリハードウェアは、データ処理ハードウェアによって実行されるとデータ処理ハードウェアに動作を実行させる命令を格納する。動作は、ラベル付けされていない訓練サンプルのセットを取得することを含む。複数の能動学習サイクルのうちの各能動学習サイクル中に、ラベル付けされていない訓練サンプルのセット内の各々のラベル付けされていない訓練サンプルごとに、動作は、ラベル付けされていない訓練サンプルを摂動させて拡張訓練サンプルを生成することを含む。動作はまた、ラベル付けされていない訓練サンプルと拡張訓練サンプルとを入力として受けるように構成された機械学習モデルを用いて、ラベル付けされていない訓練サンプルの予測ラベルと、拡張訓練サンプルの予測ラベルとを生成することと、ラベル付けされていない訓練サンプルの不一致度値を決定することとを含む。不一致度値は、ラベル付けされていない訓練サンプルの予測ラベルと拡張訓練サンプルの予測ラベルとの間の相違を表す。動作はまた、不一致度値に基づいて、ラベル付けされていない訓練サンプルのセット内のラベル付けされていない訓練サンプルを降順でソートすることと、ラベル付けされていない訓練サンプルのセット内の、ソートしたラベル付けされていない訓練サンプルから選択された、しきい値数のラベル付けされていない訓練サンプルのうちの、各々のラベル付けされていない訓練サンプルごとに、グラウンドトゥルースラベルを取得することとを含む。動作は、ラベル付けされた訓練サンプルの現在のセットを選択することを含む。ラベル付けされた訓練サンプルの現在のセットは、ラベル付けされていない訓練サンプルのセット内の、ソートしたラベル付けされていない訓練サンプルから選択された、しきい値数のラベル付けされていない訓練サンプルのうちの、各々のラベル付けされていない訓練サンプルを、対応する取得したグラウンドトゥルースラベルと対にしたものを含む。動作はまた、ラベル付けされた訓練サンプルの現在のセットと、ラベル付けされていない訓練サンプルのセットのうちのラベル付けされていない訓練サンプルの適切なサブセットとを用いて、機械学習モデルを訓練することを含む。
【0009】
この局面は、以下の任意の特徴のうちの1つ以上を含み得る。いくつかの実装形態において、しきい値数のラベル付けされていない訓練サンプルは、ラベル付けされていない訓練サンプル(112U)のセットのカーディナリティ未満である。しきい値数のラベル付けされていない訓練サンプルのうちの、各々のラベル付けされていない訓練サンプルの不一致度値は、ラベル付けされていない訓練サンプルのセット内の、ソートしたラベル付けされていない訓練サンプルから選択されない、各々のラベル付けされていない訓練サンプ
ルの不一致度値よりも大きくてもよい。
【0010】
任意で、動作は、ラベル付けされていない訓練サンプルのセットから、しきい値数のラベル付けされていない訓練サンプルを取り除くことにより、ラベル付けされていない訓練サンプルのセットから、ラベル付けされていない訓練サンプルの適切なサブセットを取得することをさらに含む。動作はまた、ラベル付けされていない訓練サンプルのセット内の、ソートしたラベル付けされていない訓練サンプルから、最初のM個のラベル付けされていない訓練サンプルを、しきい値数のラベル付けされていない訓練サンプルとして、選択することをさらに含み得る。
【0011】
いくつかの例において、動作は、初期能動学習サイクル中に、ラベル付けされていない訓練サンプルのセットから、ラベル付けされていない訓練サンプルのランダムなセットを、ランダムに選択することと、ラベル付けされていない訓練サンプルのランダムなセット内の、各々のラベル付けされていない訓練サンプルごとに、対応するグラウンドトゥルースラベルを取得することとをさらに含む。動作はまた、ラベル付けされていない訓練サンプルのランダムなセットと、対応するグラウンドトゥルースラベルとを用いて、機械学習モデルを訓練することをさらに含み得る。この例は、初期能動学習サイクル中に、ラベル付けされていない訓練サンプルのセットから、ラベル付けされていない訓練サンプルの候補セットを特定することを含み得る。ラベル付けされていない訓練サンプルの候補セットのカーディナリティは、ラベル付けされていない訓練サンプルのセットのカーディナリティ未満でああってもよい。動作はまた、ラベル付けされていない訓練サンプルの候補セット内のラベル付けされていない訓練サンプルに対して機械学習モデルを用いて生成された予測ラベルの分布と、グラウンドトゥルースラベルの分布との間の、第1の交差エントロピーを求めることと、ラベル付けされていない訓練サンプルのセット内のラベル付けされていない訓練サンプルに対して機械学習モデルを用いて生成された予測ラベルの分布と、グラウンドトゥルースラベルの分布との間の、第2の交差エントロピーを求めることとをさらに含み得る。動作はまた、第1の交差エントロピーは第2の交差エントロピー以上か否かを判断することと、第1の交差エントロピーが第2の交差エントロピー以上である場合、ラベル付けされていない訓練サンプルの候補セットを、機械学習モデルを初期訓練するための開始サイズとして、選択することとを含み得る。ラベル付けされていない訓練サンプルのセットから、ラベル付けされていない訓練サンプルの候補セットを特定することは、いくつかの実装形態において、ラベル付けされていない訓練サンプルのセットのうちの、各々のラベル付けされていない訓練サンプルごとに、不一致度値を決定することを含む。
【0012】
いくつかの実装形態において、動作は、第1の交差エントロピーが第2の交差エントロピー未満である場合、ラベル付けされていない訓練サンプルのセットから、ラベル付けされていない訓練サンプルの拡大されたセットをランダムに選択することと、ラベル付けされていない訓練サンプルの候補セットを、ラベル付けされていない訓練サンプルのセットからランダムに選択したラベル付けされていない訓練サンプルの拡大されたセットを含むように、更新することとをさらに含み得る。動作はまた、ラベル付けされていない訓練サンプルのセットを、ラベル付けされていない訓練サンプルのセットのうちのラベル付けされていない訓練サンプルの拡大されたセットから、各々のラベル付けされていない訓練サンプルを取り除くことにより、更新することをさらに含み得る。直後の能動学習サイクル中に、動作はまた、ラベル付けされていない訓練サンプルの更新した候補セット内のラベル付けされていない訓練サンプルについて、機械学習モデルを用いて生成された、予測ラベルの分布と、グラウンドトゥルースラベルの分布との間の、第1の交差エントロピーを求めることと、ラベル付けされていない訓練サンプルの更新した候補セット内のラベル付けされていない訓練サンプルについて、機械学習モデルを使用して生成された、予測ラベルの分布と、グラウンドトゥルースラベルの分布との間の、第2の交差エントロピーを求
めることとをさらに含み得る。第1の交差エントロピーは第2の交差エントロピー以上か否かを判断することをさらに含み得る。第1の交差エントロピーが第2の交差エントロピー以上である場合、動作はまた、ラベル付けされていない訓練サンプルの更新された候補セットを、機械学習モデルを初期訓練するための開始サイズとして、選択することをさらに含み得る。いくつかの例において、機械学習モデルは畳み込みニューラルネットワークを含む。
【0013】
本開示の1つ以上の実装形態の詳細は、添付の図面および以下の説明に記載されている。その他の局面、特徴、および利点は、上記説明および図面から、ならびに請求項から明らかになるであろう。
【図面の簡単な説明】
【0014】
【
図1】能動学習モデルを訓練するためのシステムの一例の概略図である。
【
図2】
図1のシステムの構成要素の例の概略図である。
【
図3A】ラベル付けされた訓練サンプルの初期開始サイズを決定するための構成要素の概略図である。
【
図3B】ラベル付けされた訓練サンプルの初期開始サイズを決定するための構成要素の概略図である。
【
図3C】ラベル付けされた訓練サンプルの初期開始サイズを決定するための構成要素の概略図である。
【
図4】サンプル一致度評価による能動学習の方法の動作の構成の一例のフローチャートを示す図である。
【
図5】本明細書に記載のシステムおよび方法を実現するために使用し得るコンピューティングデバイスの一例の概略図である。
【0015】
各種図面において同様の参照符号は同様の要素を示す。
【発明を実施するための形態】
【0016】
詳細な説明
膨大な量のデータの獲得がより低コストにかつより簡単になるのに伴って、機械学習の進歩は、大量のデータに対して深層学習法を用いるモデルの訓練に利用されている。しかしながら、これは新たな課題を提起する、というのも、典型的にデータはラベル付けされていないので、教師あり学習または半教師あり学習モデルに使用される前にラベル付けを必要とするからである。従来、訓練データをラベル付けするのは人間のオペレータである。たとえば、画像データのフレームを用いて物体検出を実行するモデルのために訓練サンプルを準備する場合、熟練したアノテータ(たとえば訓練された人間)が歩行者の周りにバウンディングボックスを描くことによって画像データのフレームにラベル付けすることができる。データの量が膨大である場合、手作業でデータのラベル付けをすることは、良くても高コスト、最悪の場合は不可能である。
【0017】
データラベル付け問題に対する、よくあるアプローチの1つは、能動学習である。能動学習において、モデルは、ラベル付けされていない訓練サンプルのセットから、訓練サンプルのサブセットを事前対応的に選択し、「オラクル(登録商標)」に、たとえば選択されたサンプルを正確にラベル付けする(すなわち「グラウンドトゥルース(ground truth)ラベル」)ことができる熟練したアノテータまたはその他任意のエンティティに、サブセットのラベル付けを要求することができる。すなわち、能動学習モジュールは、訓練中、動的にクエリすることにより、訓練対象のサンプルを能動的に選択する。能動学習は、データのラベル付けのオーバーヘッドを大幅に減じつつ、それと同時に、ラベル付けされた訓練サンプルが実質的に少ない状態で精度を高める可能性がある。
【0018】
ターゲットモデルを改善するのに役立つサンプルを選択するために、選択方法は、典型的に、ターゲットモデルの出力および/または中間特徴に依存して、ラベル付けされていないサンプルを測定する。たとえば、ある方法は、出力のエントロピーを用いて不確実性を測定することがある。別の方法は、選択されたサンプルが広範囲の多様性をカバーすることを保証することがある。もう1つの方法は、予測された損失を使用して、最も価値のあるサンプルを選択しようとすることがある。しかしながら、これらの方法はすべて、ラベル付けの予算が少ない場合、畳み込みニューラルネットワーク(CNN)への適用に苦労する。なぜなら、典型的に、正確なCNNモデルには、ラベル付けされたデータの大きなセットが必要だからである。
【0019】
本明細書の実装形態は、追加のラベル付けコストを導入することなくモデル(たとえばCNNモデル)を訓練する能動学習モデル訓練部に向けられている。訓練部は、ラベル付けされていないデータを用いて、訓練されたモデルの品質を改善しつつ、ラベル付けされたサンプルの数を少なく保つ。訓練部は、あるサンプルと、同じサンプルを有意に歪ませたものとの間で、モデルの決定が一致していなければならない(すなわち予測の一致)、という仮定に基づいている。
【0020】
図1を参照して、いくつかの実装形態において、一例としてのシステム100は処理システム10を含む。処理システム10は、固定されたもしくはスケーラブル/弾力的な計算リソース12(たとえばデータ処理ハードウェア)および/または記憶リソース14(たとえばメモリハードウェア)を有する、単一のコンピュータであってもよく、複数のコンピュータであってもよく、または分散型システム(たとえばクラウド環境)であってもよい。処理システム10は、能動学習モデル訓練部110を実行する。モデル訓練部110は、ターゲットモデル130(たとえば機械学習モデル)を訓練することで、入力データに基づいて予測を行う。たとえば、モデル訓練部110は、畳み込みニューラルネットワーク(CNN)を訓練する。モデル訓練部110は、ラベル付けされていない訓練サンプル112、112Uのセットについて、ターゲットモデル130を訓練する。ラベル付けされていない訓練サンプルは、ターゲットモデル130に対する正しい結果のアノテーションまたはその他の表示を含まないデータを意味し、このようなアノテーションを含むラベル付けされたデータとは異なる。たとえば、音声データを文書化するように訓練されるターゲットモデル130のためのラベル付けされたデータは、この音声データと、対応する、この音声データを正確に文書化したものとを含む。同じターゲットモデル130のためのラベル付けされていないデータは、この音声データを、文書化されたものなしで含む。ターゲットモデル130は、ラベル付けされたデータを用い、訓練サンプルに基づいて予測を行い、その後、この予測を、グラウンドトゥルースとして機能するラベルと比較することにより、この予測がどれほど正確かを簡単に判断することができる。一方、このようなフィードバックは、ラベル付けされていないデータでは得られない。
【0021】
ラベル付けされていない訓練サンプル112Uは、ターゲットモデル130がその予測を行うために必要な、いかなるデータも表し得る。たとえば、ラベル付けされていない訓練データは、画像データのフレーム(たとえば物体検出もしくは分類などの場合)、音声データのフレーム(たとえば文書化もしくは音声認識などの場合)、および/またはテキスト(たとえば自然言語分類などの場合)を含み得る。ラベル付けされていない訓練サンプル112Uは、処理システム10に(たとえばメモリハードウェア14内に)格納されてもよく、または、別のエンティティからネットワークもしくはその他の通信チャネルを通して受信されてもよい。
【0022】
モデル訓練部110はサンプル摂動部120を含む。サンプル摂動部120は、ラベル付けされていない訓練サンプル112Uのセット内の各々のラベル付けされていない訓練サンプル112Uを受け、各々のラベル付けされていない訓練サンプル112Uを摂動さ
せて、対応する拡張訓練サンプル112、112Aを生成する。すなわち、サンプル摂動部120は、各々のラベル付けされていない訓練サンプル112Uに、小さいが意味のある変化を導入する。たとえば、サンプル摂動部120は、予め定められた量またはランダムな量だけ値を増加または減少させて、元のラベル付けされていない訓練サンプル112Uと対応する拡張された(すなわち摂動させた)訓練サンプル112Aとを含む、一対の訓練サンプル112を生成する。別の例として、ラベル付けされていない訓練サンプル112Uが画像データのフレームを含む場合、サンプル摂動部120は、画像の回転、画像の反転、画像のトリミングなどを行ってもよい。サンプル摂動部120は、データを摂動させる任意の他の従来の手段を使用してもよい。
【0023】
以下でより詳細に説明するように、ターゲットモデル130(すなわち能動学習モデル訓練部110が訓練している機械学習モデル)は、最初に、ラベル付けされた訓練サンプル112、112Lおよび/またはラベル付けされていない訓練サンプル112Uの小さなセットについて訓練される。こうして、おおよその初期予測能力が直ちにターゲットモデル130に与えられる。この最小限訓練されたターゲットモデル130は、各々のラベル付けされていない訓練サンプル112Uごとに、ラベル付けされていない訓練サンプル112Uと対応する拡張訓練サンプル112Aとを受ける。ターゲットモデル130は、ラベル付けされていない訓練サンプル112Uを用いて、予測ラベル132、132PUを生成する。予測ラベル132PUは、ラベル付けされていない訓練サンプル112Uとこの時点までのこのモデルの訓練とに基づくターゲットモデルの予測を表す。ターゲットモデル130は、拡張訓練サンプル112Aを用いて、別の予測ラベル132、132PAを生成する。予測ラベル132PAは、拡張訓練サンプル112Aとこの時点までのこのモデルの訓練とに基づくターゲットモデルの予測を表す。なお、ターゲットモデル130は、典型的には、ラベル付けされていない訓練サンプル112Uおよび拡張訓練サンプル112Aの両方を同時に処理するように構成されておらず、代わりに、それらを連続的に(いずれかの順序で)処理して、第1に、第1の予測ラベル132Pを、ラベル付けされていない訓練サンプル112Uまたは拡張訓練サンプル112Aのいずれか一方を用いて生成し、第2に、第2の予測ラベル132Pを、ラベル付けされていない訓練サンプル112Uまたは拡張訓練サンプル112Aのうちの他方を用いて生成する。
【0024】
能動学習モデル訓練部110は不一致度決定部140を含む。不一致度決定部140は、ラベル付けされていない訓練サンプル112Uのセット内の各々のラベル付けされていない訓練サンプル112Uごとの一対のサンプル112ごとに、両方の予測132PU、132PAを受ける。不一致度決定部140は、ラベル付けされていない訓練サンプル112Uの予測ラベル132PUと、拡張訓練サンプル112Aの予測ラベル132PAとの間の相違を表す不一致度値142を決定する。すなわち、大きな不一致度値142は、ターゲットモデル130が収束するときに、ラベル付けされていない訓練サンプル112Uが大きな教師なし損失を生じさせることを示す。逆に、小さな不一致度値142は、ターゲットモデル130が収束するときに、ラベル付けされていない訓練サンプル112Uが、小さな教師なし損失を生じさせることを示す。いくつかの例において、予測ラベル132PU、132PA間の相違が大きいほど、対応付けられる不一致度値142は大きくなる。
【0025】
サンプル選択部150は、ラベル付けされていない訓練サンプル112Uの各々に対応付けられた不一致度値142を受ける。サンプル選択部は、不一致度値142に基づいて、ラベル付けされていない訓練サンプル112Uを降順でソートし、ソートしたラベル付けされていない訓練サンプル112Uからラベル付けされていない訓練サンプル112UTの現在のセットを選択する。すなわち、サンプル選択部150は、それぞれの不一致度値142に基づいて、しきい値数のラベル付けされていない訓練サンプル112UTを選択して、ラベル付けされていない訓練サンプル112UTの現在のセットを形成する。サ
ンプル選択部150は、各々のラベル付けされていない訓練サンプル112UTごとに、グラウンドトゥルースラベル132Gを取得する。グラウンドトゥルースラベル132Gは、別のソースによって経験的に決定されたラベルである。いくつかの実装形態において、オラクル160は、ラベル付けされていない訓練サンプル112UTのグラウンドトゥルースラベル132Gを決定する。任意でオラクル160が人間のアノテータまたは他の人間のエージェントであってもよい。
【0026】
サンプル選択部150は、選択したラベル付けされていない訓練サンプル112UTをオラクル160に送ってもよい。オラクル160は、ラベル付けされていない訓練サンプル112UTを受けたことに応じて、各々のラベル付けされていない訓練サンプル112UTごとに、対応付けられるグラウンドトゥルースラベル132Gを決定するか、そうでなければ取得する。グラウンドトゥルースラベル132Gと組み合わされたラベル付けされていない訓練サンプル112UTは、ラベル付けされた訓練サンプル112Lを形成し、他のラベル付けされた訓練サンプル112L(たとえばモデル訓練部110がターゲットモデル130を最初に訓練するために使用した、ラベル付けされた訓練サンプル112L)とともに、格納されてもよい。すなわち、モデル訓練部110は、対応するグラウンドトゥルースラベル132Gと対にされた選択されたラベル付けされていない訓練サンプル110UTを含む、ラベル付けされた訓練サンプル112Lの現在のセットを選択することができる。
【0027】
モデル訓練部110は、ラベル付けされた訓練サンプル112Lの現在のセット(すなわち選択されたラベル付けされていない訓練サンプル112UTおよび対応するグラウンドトゥルースラベル132G)を用いて、ターゲットモデル130を訓練(たとえば再訓練または微調整)する。いくつかの実装形態において、モデル訓練部110は、ラベル付けされた訓練サンプル112Lの現在のセットと、ラベル付けされていない訓練サンプル112Uのセットのうちのラベル付けされていない訓練サンプルの適切なサブセット112UPとを使用して、ターゲットモデル130を訓練する。ラベル付けされていない訓練サンプルの適切なサブセット112UPは、ラベル付けされていない訓練サンプル112UTのいずれかのセット(すなわち、対応するグラウンドトゥルースラベル132Gを得るために選択された、ラベル付けされていない訓練サンプル112U)の一部ではない、各々のラベル付けされていない訓練サンプル112Uを含み得る。言い換えると、モデル訓練部110は、ラベル付けされていない訓練サンプル112Uのセットからしきい値数のラベル付けされていない訓練サンプル112UTを取り除くことにより、ラベル付けされていない訓練サンプル112Uのセットからラベル付けされていない訓練サンプルの適切なサブセット112UPを取得してもよい。
【0028】
また、モデル訓練部110は、以前にラベル付けされた任意の訓練サンプル112L(すなわち初期ラベルからの、または以前の能動学習サイクルからのもの)を、訓練に含めてもよい。したがって、モデル訓練部110は、半教師あり学習により、すべてのラベル付けされた訓練サンプル112L(すなわち以前にラベル付けされた任意の訓練サンプル112Lに加えて、ラベル付けされた訓練サンプル110Lの現在のセット)および残りのすべてのラベル付けされていない訓練サンプル112U(すなわちラベル付けされていない訓練サンプル112Uのセットから、選択されたラベル付けされていない訓練サンプル112UTを差し引いたもの)について、ターゲットモデル130を訓練してもよい。すなわち、いくつかの例において、能動学習モデル訓練部110は、ラベル付けされていない訓練サンプル112Uおよびラベル付けされた訓練サンプル112Lのすべてを用いて、ターゲットモデル130を完全に再訓練する。他の例において、能動学習モデル訓練部は、新たに取得されたラベル付けされた訓練サンプル112Lのみを用いて、ターゲットモデル130を漸増的に再訓練する。本明細書で使用される、ターゲットモデル130の訓練は、ターゲットモデル130を最初から完全に再訓練すること、または、追加の訓
練を行うことによる、ターゲットモデル130の何らかの形態の再訓練/微調整を意味し得る(パラメータ変更を伴うまたは伴わない、たとえば、1つ以上の層の重みの凍結、学習速度の調整などによるもの)。
【0029】
モデル訓練部110は、任意の数の能動学習サイクルに対して、プロセス(すなわち、ラベル付けされていない訓練サンプル112Uを摂動させ、不一致度値142を決定し、ラベル付けされていない訓練サンプル112UTを選択し、グラウンドトゥルースラベル132Gを取得することなど)を繰り返してもよい。たとえば、能動学習モデル訓練部110は、予め定められたサイクル数にわたって、またはターゲットモデル130がしきい値有効性に達するまで、またはラベル付け予算が満たされるまで、ターゲットモデル130の訓練を繰り返す(その後ラベル付けされた訓練サンプル112Lのセットが増大)。このようにして、モデル訓練部110は、ターゲットモデル130を訓練するのに十分なサンプル数になるまで、ラベル付けされた訓練サンプル112Lの数を徐々に増加させる。
【0030】
次に
図2を参照して、いくつかの例において、しきい値数のラベル付けされていない訓練サンプル110U
Tのうちの、各々のラベル付けされていない訓練サンプル112Uの不一致度値142は、ラベル付けされていない訓練サンプル112Uのセット内のソートしたラベル付けされていない訓練サンプル112Uから選択されていない、各々のラベル付けされていない訓練サンプル112Uの不一致度値142よりも大きい。この例において、概略
図200は、不一致度決定部140が、不一致度値142、142a~142nを、不一致度が最も大きい値142a(すなわち最高不一致度値142)から不一致度が最も小さい値142n(すなわち最低不一致度値)までソートすることを示す。各不一致度値142は、対応するラベル付けされていない訓練サンプル112U、112Ua~nを有する。ここで、最大不一致度値142aは、ラベル付けされていない訓練サンプル112Uaに対応し、最小不一致度値142nは、ラベル付けされていない訓練サンプル112Unに対応する。この例において、サンプル選択部150は、ラベル付けされていない訓練サンプル112U
Tの現在のセットとして、5つの最大不一致度値142を有する5つのラベル付けされていない訓練サンプル112Uを選択する。5というのは具体例にすぎずサンプル選択部150は任意の数のラベル付けされていない訓練サンプル112Uを選択し得ることが理解される。そのため、しきい値数のラベル付けされていない訓練サンプル112U
Tは、ラベル付けされていない訓練サンプル112Uのセットのカーディナリティ(cardinality)未満であってもよい。いくつかの実装形態において、サンプル
選択部150は、ラベル付けされていない訓練サンプル112Uのセット内の、ソートしたラベル付けされていない訓練サンプル112Uから、最初のM個(たとえば5、10、50など)のラベル付けされていない訓練サンプル112Uを、しきい値数の訓練サンプル112U
Tとして、選択する。
【0031】
選択されたラベル付けされていない訓練サンプル112Uは、対応するグラウンドトゥルースラベル132Gを取り出すために、オラクル160に送られる。引続きこの例において、オラクル160は、5つのラベル付けされていない訓練サンプル112UTの各々について、対応するグラウンドトゥルースラベル132Gを決定する。モデル訓練部110は、これらの5つのラベル付けされた訓練サンプル112L(すなわちラベル付けされていない訓練サンプル112Uおよびグラウンドトゥルースラベル132Gの5つの対応するペア)を用いて、ターゲットモデル130を訓練または再訓練または微調整してもよい。
【0032】
次に
図3A~
図3Cを参照して、いくつかの例において、モデル訓練部110は、初期能動学習サイクル(すなわち第1の能動学習サイクル)中に、未訓練のターゲットモデル130の初期訓練を提供する。概略
図300a(
図3A)に示されるように、いくつかの
実装形態において、初期セット選択部310は、ラベル付けされていない訓練サンプル112Uのセットから、ラベル付けされていない訓練サンプルのランダムなセット112U
Rをランダムに選択する。初期セット選択部310はまた、ラベル付けされていない訓練サンプルのランダムなセット112U
R内の各々のラベル付けされていない訓練サンプル112U
Rごとに、対応するグラウンドトゥルースラベル132G
Rを取得する。モデル訓練部110は、ラベル付けされていない訓練サンプルのランダムなセット112U
Rおよび対応するグラウンドトゥルースラベル132G
R(ラベル付けされた訓練サンプル112L
Rのセットを形成する)を使用して、機械学習モデル130を訓練してもよい。すなわち、いくつかの実装形態において、ターゲットモデル130が任意の訓練を受ける前に、モデル訓練部110は、(セット全体に対して)ラベル付けされていない訓練サンプル112U
Rの小さなセットをランダムに選択し、対応するグラウンドトゥルースラベル132G
Rを取得して、ターゲットモデル130の初期訓練を提供する。
【0033】
ラベル付けされていない訓練サンプルのランダムなセット112U
Rはランダムでありかつ小さいので、ターゲットモデル130の訓練は不十分である可能性が高い。ラベル付けされた訓練サンプル112Lの初期セットをさらに改良してターゲットモデルの初期訓練を行うために、モデル訓練部110は、ラベル付けされていない訓練サンプル112Uのセット(たとえば50個のサンプル、100個のサンプルなど)から、ラベル付けされていない訓練サンプルの候補セット112U
Cを特定してもよい。訓練サンプルの候補セット112U
Cのカーディナリティは、ラベル付けされていない訓練サンプル112Uのセットのカーディナリティ未満であってもよい。たとえば、
図3Bの概略
図300bに示されるように、初期セット選択部310は、ターゲットモデル130からの予測ラベル132P
Uに基づく不一致度決定部140からの不一致度値142を受け、各々のラベル付けされていない訓練サンプル112Uの不一致度値142に基づいて、ラベル付けされていない訓練サンプルの候補セット112U
Cを選択してもよい。すなわち、モデル訓練部110は、ラベル付けされていない訓練サンプル112Uのセットの各々のラベル付けされていない訓練サンプル112Uについての不一致度値142を決定することにより、ラベル付けされていない訓練サンプルの候補セット112U
Cを特定する。任意で、ラベル付けされていない訓練サンプルの候補セット112U
Cは、対応する、最大の不一致度値142を有するラベル付けされていない訓練サンプル112Uのセット内のラベル付けされていない訓練サンプル112Uの2分の1を含む。
【0034】
初期セット選択部310は、対応するグラウンドトゥルースラベル132GCを受けた後に、グラウンドトゥルースラベル132Gの分布と、ラベル付けされていない訓練サンプルの候補セット112UC内の訓練サンプルに対して機械学習モデル130を使用して生成された予測ラベル132PUの分布との間の、第1の交差エントロピー320を求めてもよい。また、初期セット選択部310は、グラウンドトゥルースラベル132Gの分布と、ラベル付けされていない訓練サンプル112Uのセット内の訓練サンプルに対する機械学習モデル130によって生成された予測ラベル132PUの分布との間の、第2の交差エントロピー330を求めてもよい。すなわち、第1の交差エントロピー320は、候補セット112UCについての実際のラベル分布と候補セット112UCについての予測されたラベル分布との間にあり、第2の交差エントロピー330は、第1の交差エントロピー320と同じ、候補セット112UCについての実際のラベル分布と、ラベル付けされていない訓練サンプル112Uのセット全体についての予測されたラベル分布との間にある。交差エントロピーは、一般的に、2つの分布間の差の計算であると考えることができる。
【0035】
次に
図3Cおよび決定木300cを参照して、いくつかの実装形態において、初期セット選択部310は、ステップ350において、第1の交差エントロピー320が第2の交差エントロピー330以上か否かを判断する。このシナリオにおいて、実際のラベル分布
と、候補セット112U
Cの予測ラベル分布との間の差は、実際のラベル分布と、ラベル付けされていない訓練サンプル112Uのセット全体の予測ラベル分布との間の差以上である。候補セット112U
Cが、最大の不一致度値142に少なくとも一部基づいて選択される場合(すなわちモデル訓練部110が、ラベル付けされていない訓練サンプル112Uのセットのうちの各々のラベル付けされていない訓練サンプル112Uごとに不一致度値142を決定する)、モデル訓練部110は、モデル130がそれについて最も不確かであるラベル付けされていない訓練サンプル112Uを選択しており(すなわちデータ分布から遠く離れている傾向があるサンプル112U)、したがってより優れた性能を示す。
【0036】
このように示されているので、第1の交差エントロピー320が第2の交差エントロピー330以上である場合、ステップ360において、初期セット選択部310は、ラベル付けされていない訓練サンプルの候補セット112U
Cを、ラベル付けされた訓練サンプル112Lの現在のセットの開始サイズとして、選択してもよい。ターゲットモデル130が最初に訓練されると、モデル訓練部110は、上述したように(
図1および
図2)、その後の能動学習サイクルを続けることができる。
【0037】
第1の交差エントロピー320が第2の交差エントロピー330未満である場合(すなわちターゲットモデル130が低性能であることを示す)、現在の候補セット112UCは、ターゲットモデル130の初期訓練には不十分である。この例において、初期セット選択部310は、ステップ370において、訓練サンプル112Uのラベル付けされていないセットから、訓練サンプルの拡大されたセット112UEをランダムに選択する。ステップ380において、初期セット選択部310は、ラベル付けされていない訓練サンプルの候補セット112UCを更新することにより、ラベル付けされていない訓練サンプル112Uのセットからランダムに選択された、訓練サンプルの拡大されたセット112UEを含むようにする。いくつかの例において、初期セット選択部310は、訓練サンプルのラベル付けされていないセット112Uからの訓練サンプルの拡大されたセット112USから各訓練サンプルを取り除くことにより、訓練サンプル112Uのラベル付けされていないセットを更新する。これは、ラベル付けされていない訓練サンプル112Uが重複していないことを保証する。
【0038】
直後の能動学習サイクル(すなわち次の能動学習サイクル)中、ステップ390において、初期セット選択部310は、更新された候補セット112UCを用いて、以前のステップの各々を繰り返してもよい。たとえば、初期セット選択部310は、グラウンドトゥルースラベル132Gの分布と、ラベル付けされていない訓練サンプルの更新された候補セット112UC内の訓練サンプルに対して機械学習モデル130を使用して生成された予測ラベル132Pの分布との間の、第1の交差エントロピー320を求める。また、初期セット選択部310は、グラウンドトゥルースラベル132Gの分布と、ラベル付けされていない訓練サンプルの更新された候補セット112UC内の訓練サンプルに対して機械学習モデル130を使用して生成された予測ラベル132Pの分布との間の、第2の交差エントロピー330を求める。初期セット選択部310は、第1の交差エントロピー320が第2の交差エントロピー330以上であるか否かを再び判断する。第1の交差エントロピー320が第2の交差エントロピー330以上である場合、初期セット選択部は、機械学習モデル130を初期訓練するための開始サイズとして、ラベル付けされていない訓練サンプルの更新された候補セット112UCを選択する。第1の交差エントロピー320が第2の交差エントロピー330未満である場合、初期セット選択部310は、引続き、第1の交差エントロピー320が第2の交差エントロピー330以上になる(すなわちターゲットモデル130の性能が十分であることを示す)まで、候補セット112UCを繰り返し拡大してもよい。
【0039】
図4は、サンプル一致度評価による能動学習の方法400の動作の具体例としての構成のフローチャートである。方法400は、ステップ402において、データ処理ハードウェア12が、ラベル付けされていない訓練サンプル112Uのセットを取得することを含む。複数の能動学習サイクルのうちの各サイクル中、ラベル付けされていない訓練サンプル112Uのセット内の各々のラベル付けされていない訓練サンプル112Uごとに、方法400は、ステップ404において、データ処理ハードウェア12が、ラベル付けされていない訓練サンプル112Uを摂動させて、拡張訓練サンプル112Aを生成することを含む。ステップ406において、方法400は、データ処理ハードウェア12が、ラベル付けされていない訓練サンプル112Uおよび拡張訓練サンプル112Aを入力として受けるように構成された機械学習モデル130を使用して、ラベル付けされていない訓練サンプル112Uの予測ラベル132P
Uと、拡張訓練サンプル112Aの予測ラベル132P
Aとを生成することを含む。
【0040】
ステップ408において、方法400は、データ処理ハードウェア12が、ラベル付けされていない訓練サンプル112Uについて、不一致度値142を決定することを含む。不一致度値142は、ラベル付けされていない訓練サンプル112Uの予測ラベル132PUと、拡張訓練サンプル112Aの予測ラベル132PAとの間の相違を表す。方法400は、ステップ410において、データ処理ハードウェア12が、ラベル付けされていない訓練サンプル112Uのセット内のラベル付けされていない訓練サンプル112Uを、不一致度値142に基づいて降順でソートすることを含む。
【0041】
ステップ412において、方法400は、データ処理ハードウェア12が、ラベル付けされていない訓練サンプル112Uのセット内のソートしたラベル付けされていない訓練サンプル112Uから選択されたしきい値数のラベル付けされていない訓練サンプル112UTのうちの各々のラベル付けされていない訓練サンプル112Uごとに、グラウンドトゥルースラベル132Gを取得することを含む。方法400は、ステップ414において、データ処理ハードウェア12が、ラベル付けされた訓練サンプル112Lの現在のセットを選択することを含み、ラベル付けされた訓練サンプル112Lの現在のセットは、対応する、取得したグラウンドトゥルースラベル132Gと対にされた、ラベル付けされていない訓練サンプル112Uのセット内のソートしたラベル付けされていない訓練サンプル112Uから選択されたしきい値数のラベル付けされていない訓練サンプル112UT内の、各々のラベル付けされていない訓練サンプル112Uを含む。ステップ416において、方法400は、データ処理ハードウェア12が、ラベル付けされた訓練サンプル112Lの現在のセットと、ラベル付けされていない訓練サンプル112Uのセットからのラベル付けされていない訓練サンプルの適切なサブセット112UPとを使用して、機械学習モデル130を訓練することを含む。
【0042】
このように、モデル訓練部110は、ラベル付けの総コスト(たとえば計算リソースの費用、人間のアノテーション時間の消費など)を増加させる(および場合によっては減少させる)ことなく、他のラベル付けされていない訓練サンプル112Uの性能改善と比較して性能改善の可能性が高い、ラベル付けされていない訓練サンプル112Uを特定することができる。また、モデル訓練部110は、ラベル付けされたデータサンプル112Lの大きなセットから開始することに起因するオーバーヘッドを回避する費用効率が高い手法を使用することにより、ラベル付けされた訓練例112Lの初期または開始セットの適切なサイズを決定し、限られた数のラベル付けされた訓練サンプル112Lを用いて(すなわち従来の技術との比較)最適なモデル性能も保証する。
【0043】
図5は、本明細書に記載のシステムおよび方法を実現するために使用し得る一例としてのコンピューティングデバイス500の概略図である。コンピューティングデバイス500は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタ
ント、サーバ、ブレードサーバ、メインフレーム、およびその他の適切なコンピュータ等の、各種形態のデジタルコンピュータを表わすことを意図している。ここに示されている構成要素、それらの接続および関係、ならびにそれらの機能は、具体例を意図しているだけであって、本明細書において記載および/またはクレームされている発明の実装を限定することを意図している訳ではない。
【0044】
コンピューティングデバイス500は、プロセッサ510と、メモリ520と、記憶装置530と、メモリ520および高速拡張ポート550に接続する高速インターフェイス/コントローラ540と、低速バス570および記憶装置530に接続する低速インターフェイス/コントローラ560とを含む。構成要素510、520、530、540、550、および560の各々は、各種バスを用いて相互接続され、共通のマザーボード上に実装されてもよく、または必要に応じて他の方法で実装されてもよい。プロセッサ510は、コンピューティングデバイス500内で実行するために命令を処理することができ、命令は、高速インターフェイス540に結合されたディスプレイ580等の外部入出力装置上のグラフィカルユーザインターフェイス(GUI)のためのグラフィック情報を表示するためにメモリ520内または記憶装置530上に格納された命令を含む。他の実装形態において、複数のメモリおよび複数のタイプのメモリとともに、複数のプロセッサおよび/または複数のバスが必要に応じて使用されてもよい。また、複数のコンピューティングデバイス500が接続されてもよく、各デバイスは(たとえばサーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)必要な動作の一部を提供する。
【0045】
メモリ520は、コンピューティングデバイス500内で情報を非一時的に格納する。メモリ520は、コンピュータ読取可能媒体、揮発性メモリユニット、または不揮発性メモリユニットであってもよい。非一時的なメモリ520は、コンピューティングデバイス500が使用するプログラム(たとえば命令のシーケンス)またはデータ(たとえばプログラム状態情報)を一時的または永続的に格納するために使用される物理デバイスであってもよい。不揮発性メモリの例は、フラッシュメモリおよび読出専用メモリ(ROM)/プログラマブル読出専用メモリ(PROM)/消去可能プログラマブル読出専用メモリ(EPROM)/電子的消去可能プログラマブル読出専用メモリ(EEPROM)(たとえば典型的にはブートプログラム等のファームウェアに使用される)を含むが、これらに限定されない。揮発性メモリの例は、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、およびディスクまたはテープを含むが、これらに限定されない。
【0046】
記憶装置530は、コンピューティングデバイス500に大容量記憶を提供することができる。いくつかの実装形態において、記憶装置530はコンピュータ読取可能媒体である。各種の異なる実装形態において、記憶装置530は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくはその他同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくはその他の構成におけるデバイスを含むデバイスのアレイであってもよい。その他の実装形態では、コンピュータプログラムプロダクトが情報キャリアにおいて有形に実現される。コンピュータプログラムプロダクトは、実行されたときに上記方法のような方法を1つ以上実行する命令を含む。情報キャリアは、メモリ520、記憶装置530、またはプロセッサ510上のメモリ等のコンピュータまたはマシン読取可能媒体である。
【0047】
高速コントローラ540はコンピューティングデバイス500について帯域幅を多用する動作を管理し、低速コントローラ560はより少ない帯域幅を使用する動作を管理する
。このような機能の割り当ては例示にすぎない。いくつかの実装形態において、高速コントローラ540は、メモリ520およびディスプレイ580に(たとえばグラフィックスプロセッサまたはアクセラレータを通して)結合され、かつ、さまざまな拡張カード(図示せず)を受け入れることができる高速拡張ポート550に結合されている。いくつかの実装形態において、低速コントローラ560は、記憶装置530および低速拡張ポート590に結合されている。さまざまな通信ポート(たとえばUSB、ブルートゥース(登録商標)、イーサネット(登録商標)、ワイヤレスイーサネット)を含み得る低速拡張ポート590は、キーボード、ポインティングデバイス、スキャナ等の1つ以上の入出力デバイス、またはスイッチもしくはルータ等のネットワーキングデバイスに、たとえばネットワークアダプタを通して結合されてもよい。
【0048】
コンピューティングデバイス500は、図に示されるように、いくつかの異なる形態で実現することができる。たとえば、標準的なサーバ500aとして実現されてもよく、またはそのようなサーバ500aのグループ内で複数実現されてもよく、またはラップトップコンピュータ500bとして実現されてもよく、またはラックサーバシステム500cの一部として実現されてもよい。
【0049】
本明細書に記載されているシステムおよび技術のさまざまな実装形態は、デジタル電子および/または光学回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合わせで実現することができる。これらのさまざまな実装形態は、プログラム可能なシステム上で実行可能および/または翻訳可能な1つ以上のコンピュータプログラムにおける実装形態を含み得るものであり、上記プログラム可能なシステムは、記憶システムからデータおよび命令を受信し記憶システムにデータおよび命令を送信するように結合された専用または汎用であってもよい少なくとも1つのプログラム可能なプロセッサと、少なくとも1つの入力装置と、少なくとも1つの出力装置とを含む。
【0050】
ソフトウェアアプリケーション(すなわちソフトウェアリソース)は、コンピューティングデバイスにタスクを実行させるコンピュータソフトウェアを意味する場合がある。いくつかの例において、ソフトウェアアプリケーションを、「アプリケーション」、「アプリ」、または「プログラム」と呼ぶ場合がある。アプリケーションの例は、システム診断アプリケーション、システム管理アプリケーション、システムメンテナンスアプリケーション、ワードプロセッシングアプリケーション、スプレッドシートアプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲームアプリケーションを含むが、これらに限定されない。
【0051】
(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られている)これらのコンピュータプログラムは、プログラム可能なプロセッサのための機械命令を含み、ハイレベルの手続き型プログラミング言語および/またはオブジェクト指向プログラミング言語で実現されてもよく、および/またはアセンブリ言語/機械言語で実現されてもよい。本明細書で使用される「機械読取可能な媒体」および「コンピュータ読取可能な媒体」という用語は、機械命令を機械読取可能な信号として受信する機械読取可能な媒体を含む、機械命令および/またはデータをプログラム可能なプロセッサに提供するために使用される任意のコンピュータプログラムプロダクト、非一時的なコンピュータ読取可能媒体、装置および/またはデバイス(たとえば磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を意味する。「機械読取可能な信号」という用語は、機械命令および/またはデータをプログラム可能なプロセッサに提供するために使用される任意の信号を意味する。
【0052】
本明細書に記載のプロセスおよび論理フローは、1つ以上のコンピュータプログラムを実行することで入力データに対して動作し出力を生成することにより機能を果たす、データ処理ハードウェアとも呼ばれる1つ以上のプログラム可能なプロセッサによって実行することができる。プロセスおよび論理フローは、専用ロジック回路たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行することもできる。コンピュータプログラムの実行に適したプロセッサは、例として、汎用および専用双方のマイクロプロセッサ、ならびに任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般的に、プロセッサは、読出専用メモリまたはランダムアクセスメモリまたはこれらの双方から命令およびデータを受ける。コンピュータの不可欠な要素は、命令を実行するためのプロセッサと、命令およびデータを格納するための1つ以上のメモリデバイスとである。一般的に、コンピュータは、データを格納するための1つ以上の大容量記憶装置、たとえば磁気ディスク、光磁気ディスク、または光ディスクも含む、または、データを受けるためもしくはデータを伝送するためもしくはこれら双方のために上記大容量記憶装置に作動的に結合される。しかしながら、コンピュータはそのような装置を有している必要はない。コンピュータプログラム命令およびデータを格納するのに適したコンピュータ読取可能媒体は、すべての形態の不揮発性メモリ、媒体およびメモリデバイスを含み、これらは、例として、半導体メモリデバイス、たとえばEPROM、EEPROM、およびフラッシュメモリデバイスや、磁気ディスク、たとえば内部ハードディスクまたはリムーバブルディスクや、光磁気ディスクや、CD ROMおよびDVD-ROMディスクを含む。プロセッサおよびメモリは、専用論理回路が補充されてもよくまたは専用論理回路に組み込まれてもよい。
【0053】
ユーザとの対話を提供するために、本開示の1つ以上の局面をディスプレイデバイスを有するコンピュータ上で実現してもよく、ディスプレイデバイスは、情報をユーザに対して表示するための、たとえばCRT(陰極線管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーンであり、コンピュータはまた、任意でキーボードおよびポインティングデバイス、たとえばマウスまたはトラックボールを有し、それによってユーザは入力をコンピュータに与えることができる。ユーザとの対話を提供するために他の種類のデバイスも使用することができ、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば視覚フィードバック、聴覚フィードバックまたは触覚フィードバックであってもよく、ユーザからの入力は、音響入力、音声入力または触覚入力を含む任意の形態で受けることができる。加えて、コンピュータは、ユーザが使用するデバイスに文書を送信しこのデバイスから文書を受信することにより、たとえば、ユーザのクライアントデバイス上のウェブブラウザに、このウェブブラウザから受けた要求に応じてウェブページを送信することにより、ユーザとの対話を行ってもよい。
【0054】
いくつかの実装形態について説明した。それでもやはり、本開示の精神および範囲から逸脱することなくさまざまな修正を行い得ることが理解されるであろう。よってその他の実装形態は以下の請求項の範囲に含まれる。