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

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

▶ グーグル インコーポレイテッドの特許一覧

<>
  • 特許-強化学習を用いたデータ評価 図1
  • 特許-強化学習を用いたデータ評価 図2
  • 特許-強化学習を用いたデータ評価 図3
  • 特許-強化学習を用いたデータ評価 図4
  • 特許-強化学習を用いたデータ評価 図5
  • 特許-強化学習を用いたデータ評価 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-01
(45)【発行日】2024-07-09
(54)【発明の名称】強化学習を用いたデータ評価
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240702BHJP
   G06N 3/092 20230101ALI20240702BHJP
【FI】
G06N20/00
G06N3/092
【請求項の数】 11
【外国語出願】
(21)【出願番号】P 2023094084
(22)【出願日】2023-06-07
(62)【分割の表示】P 2022517883の分割
【原出願日】2020-09-19
(65)【公開番号】P2023116621
(43)【公開日】2023-08-22
【審査請求日】2023-06-16
(31)【優先権主張番号】62/903,448
(32)【優先日】2019-09-20
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】アリク,セルジャン・オメール
(72)【発明者】
【氏名】ユン,ジンソン
(72)【発明者】
【氏名】フィスター,トマス・ジョン
【審査官】福西 章人
(56)【参考文献】
【文献】米国特許出願公開第2019/0188566(US,A1)
【文献】特表2019-525329(JP,A)
【文献】特開平9-91430(JP,A)
【文献】YAO, Jiangchao et al.,Deep Learning from Noisy Image Labels with Quality Embedding,arXiv [オンライン],2017年11月02日,p.1-12,インターネット:URL<https://arxiv.org/pdf/1711.00583v1.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 18/00-18/40
(57)【特許請求の範囲】
【請求項1】
データ処理ハードウェアによって実行される方法であって、前記方法は前記データ処理ハードウェアに動作を実行させ、前記動作は、
訓練サンプルのバッチを取得することと、
前記訓練サンプルのバッチ内の特定の訓練サンプルごとに、データ値推定器モデルと前記特定の訓練サンプルとを用いて、機械学習モデルを訓練するために使用されるときの前記特定の訓練サンプルの対応する予測値を生成することと、
前記対応する予測値に基づいて、前記訓練サンプルのバッチのサブセットを選択することと、
前記訓練サンプルのバッチの前記サブセット内の特定の訓練サンプルごとに、前記機械学習モデルと前記特定の訓練サンプルとを用いて、対応する予測性能測定値を決定することと、
前記対応する予測性能測定値に基づいて、前記データ値推定器モデルの1つ以上の推定器パラメータ値を調整することとを備える、方法。
【請求項2】
前記対応する予測性能測定値を決定することは、損失関数によって損失データを決定することを含む、請求項1に記載の方法。
【請求項3】
前記対応する予測性能測定値に基づいて、前記データ値推定器モデルの前記1つ以上の推定器パラメータ値を更新することは、
前記損失データから強化信号を決定することと、
前記強化信号に基づいて前記データ値推定器モデルの前記1つ以上の推定器パラメータ値を更新することとを含む、請求項2に記載の方法。
【請求項4】
前記強化信号に基づいて前記データ値推定器モデルの前記1つ以上の推定器パラメータ値を更新することは、
前記損失データに基づいて報酬値を決定することと、
前記報酬値に基づいて前記データ値推定器モデルの前記1つ以上の推定器パラメータ値を更新することとを含む、請求項3に記載の方法。
【請求項5】
前記損失データに基づいて前記報酬値を決定することは、
前記機械学習モデルの直近のN回の訓練反復に基づいて前記損失データの移動平均を求めることと、
直近の訓練反復についての損失データと前記移動平均との差を求めることと、
前記差に基づいて前記報酬値を決定することとを含む、請求項4に記載の方法。
【請求項6】
前記データ値推定器モデルはニューラルネットワークを含み、
前記データ値推定器モデルの前記1つ以上の推定器パラメータ値を更新することは、前記ニューラルネットワークの1つ以上の層パラメータ値を更新することを含む、請求項1~5のいずれか1項に記載の方法。
【請求項7】
前記訓練サンプルのバッチの前記サブセットを選択することは、前記訓練サンプルのバッチ内の特定の訓練サンプルごとに、
前記対応する予測値に基づいて、対応する選択値が選択を示すと決定することと、
前記対応する選択値が選択を示すと決定することに応答して、前記特定の訓練サンプルを前記訓練サンプルのバッチの前記サブセットに追加することとを含む、請求項1~6のいずれか1項に記載の方法。
【請求項8】
前記動作はさらに、前記対応する予測性能測定値に基づいて前記機械学習モデルの1つ以上の予測器パラメータ値を調整することを備える、請求項1~7のいずれか1項に記載の方法。
【請求項9】
前記機械学習モデルの前記1つ以上の予測器パラメータ値を調整することは、確率的勾配降下法を用いることを含む、請求項8に記載の方法。
【請求項10】
前記動作はさらに、訓練サンプルのセットから前記訓練サンプルのバッチをサンプリングすることを備える、請求項1~9のいずれか1項に記載の方法。
【請求項11】
データ処理ハードウェアと、
前記データ処理ハードウェアと通信するメモリハードウェアとを備え、前記メモリハードウェアは、前記データ処理ハードウェア上で実行されると前記データ処理ハードウェアに請求項1~10のいずれか1項に記載の方法を実行させる命令を格納する、システム。
【発明の詳細な説明】
【技術分野】
【0001】
技術分野
本開示は、強化学習を用いたデータ評価に関する。
【背景技術】
【0002】
背景
機械学習モデルは入力を受け、受けた入力に基づいて出力、たとえば予測出力を生成する。機械学習モデルはデータについて訓練される。しかしながら、データの価値を定量化することは、機械学習における根本的な問題である。機械学習モデルは一般的に、大規模かつ高品質なデータセットについて訓練されることで改善される。しかしながら、そのような大規模かつ高品質なデータセットを収集することは高コストで困難な場合がある。さらに、大規模データセットの中から訓練に最も有用なサンプルを決定し、それに応じてラベル付けするので、複雑さが増大する。実世界の訓練データセットは誤ったラベルを含んでいることが多く、または、入力サンプルは関連性、サンプル品質、もしくはターゲットタスクに対する有用性が異なる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
データの価値を正確に定量化することで、訓練データセットのモデル性能が改善される。すべてのデータサンプルを等しく取り扱うのではなく、データの価値が低い場合はこのデータに低い優先度を割り当てることで、より高性能なモデルを得ることができる。典型的に、データ評価性能を定量化するには、サンプルを個々に除去して性能損失を計算してから、そのサンプルのデータとして損失を割り当てる必要がある。しかしながら、これらの方法は訓練サンプル数とともに線形にスケール変更するため、大規模データセットおよび複雑なモデルの場合は法外なコストがかかる。データ評価は、問題についての洞察を構築する以外にも、領域適応、破損サンプル発見、およびロバスト学習など、多種多様なユースケースがある。
【課題を解決するための手段】
【0004】
概要
本開示のある局面は、訓練サンプルを評価する方法を提供する。上記方法は、データ処理ハードウェアにおいて訓練サンプルのセットを取得することを含む。上記方法はまた、複数の訓練反復のうちの各訓練反復中に、上記データ処理ハードウェアが、上記訓練サンプルのセットから訓練サンプルのバッチをサンプリングすることを含む。上記方法は、上記訓練サンプルのバッチ内の訓練サンプルごとに、上記データ処理ハードウェアが、データ値推定器を用いて選択確率を決定することを含む。訓練サンプルの選択確率は、データ値推定器の推定器パラメータ値に基づいている。上記方法はまた、上記データ処理ハードウェアが、各訓練サンプルの上記選択確率に基づいて上記訓練サンプルのバッチから訓練サンプルのサブセットを選択することと、上記データ処理ハードウェアが、上記訓練サンプルのサブセットを有する予測器モデルを用いて性能測定値を決定することとを含む。上記方法はまた、上記データ処理ハードウェアが、上記性能測定値に基づいて上記予測器モデルのモデルパラメータ値を調整することと、上記データ処理ハードウェアが、上記性能測定値に基づいて上記データ値推定器の上記推定器パラメータ値を更新することとを含む。
【0005】
本開示の実装形態は以下の任意の特徴のうちの1つ以上を含み得る。いくつかの実装形態において、上記予測器モデルを用いて上記性能測定値を決定することは、損失関数によ
って損失データを決定することを含む。これらの実装形態において、上記性能測定値に基づいて上記予測器モデルの上記モデルパラメータ値を調整することは、上記損失データに基づいて上記予測器モデルの上記モデルパラメータ値を調整することを含む。加えて、いくつかの実装形態において、上記性能測定値に基づいて上記データ値推定器の上記推定器パラメータ値を更新することは、上記損失データから強化信号を決定することと、上記強化信号に基づいて上記データ値推定器の推定器パラメータ値を更新することとを含む。上記強化信号に基づいて上記データ値推定器の上記推定器パラメータ値を更新することはさらに、上記損失データに基づいて報酬値を決定することと、上記報酬値に基づいて上記データ値推定器の上記推定器パラメータ値を更新することとを含む。これらの実装形態において、上記損失データに基づいて上記報酬値を決定することは、上記予測器モデルの直近のN回の訓練反復に基づいて損失データの移動平均を求めることと、直近の訓練反復についての上記損失データと上記損失データの移動平均との差を求めることと、上記直近の訓練反復についての上記損失データと上記損失データの移動平均との上記差に基づいて上記報酬値を決定することとを含む。
【0006】
いくつかの例において、上記データ値推定器はニューラルネットワークを含み、上記データ値推定器の推定器パラメータ値を更新することは、上記データ値推定器の上記ニューラルネットワークの層パラメータ値を更新することを含む。いくつかの例において、上記予測器モデルは確率的勾配降下法を用いて訓練される。いくつかの実装形態において、各訓練サンプルの上記選択確率に基づいて上記訓練サンプルのバッチから上記訓練サンプルのサブセットを選択することは、上記訓練サンプルのバッチ内の訓練サンプルごとに、選択または非選択を示す対応する選択値を決定することを含む。上記対応する選択値が選択を示す場合、上記方法は、上記訓練サンプルを上記訓練サンプルのサブセットに追加することを含み、上記対応する選択値が非選択を示す場合、上記方法は、上記訓練サンプルを廃棄することをさらに含む。いくつかの例において、上記訓練サンプルのバッチをサンプリングすることは、上記複数の訓練反復のうちの訓練反復ごとに、上記訓練サンプルのセットから訓練サンプルの異なるバッチをサンプリングすることを含む。
【0007】
本開示の別の局面は、訓練サンプルを評価するシステムを提供する。上記システムは、データ処理ハードウェアと、上記データ処理ハードウェアと通信するメモリハードウェアとを含む。上記メモリハードウェアは、上記データ処理ハードウェアによって実行されると上記データ処理ハードウェアに動作を実行させる命令を格納し、上記動作は、訓練サンプルのセットを取得することを含む。上記動作はまた、複数の訓練反復のうちの各訓練反復中に、上記訓練サンプルのセットから訓練サンプルのバッチをサンプリングすることを含む。上記動作はさらに、上記訓練サンプルのバッチ内の訓練サンプルごとに、データ値推定器を用いて選択確率を決定することを含む。訓練サンプルの選択確率は、データ値推定器の推定器パラメータ値に基づいている。上記動作はまた、各訓練サンプルの上記選択確率に基づいて上記訓練サンプルのバッチから訓練サンプルのサブセットを選択することと、上記訓練サンプルのサブセットを有する予測器モデルを用いて性能測定値を決定することとを含む。上記動作はまた、上記性能測定値に基づいて上記予測器モデルのモデルパラメータ値を調整することと、上記性能測定値に基づいて上記データ値推定器の上記推定器パラメータ値を更新することとを含む。
【0008】
この局面は、以下の任意の特徴のうちの1つ以上を含み得る。いくつかの実装形態において、上記予測器モデルを用いて上記性能測定値を決定することは、損失関数によって損失データを決定することを含む。これらの実装形態において、上記性能測定値に基づいて上記予測器モデルの上記モデルパラメータ値を調整することは、上記損失データに基づいて上記予測器モデルの上記モデルパラメータ値を調整することを含む。加えて、いくつかの実装形態において、上記性能測定値に基づいて上記データ値推定器の上記推定器パラメータ値を更新することは、上記損失データから強化信号を決定することと、上記強化信号
に基づいて上記データ値推定器の推定器パラメータ値を更新することとを含む。上記強化信号に基づいて上記データ値推定器の上記推定器パラメータ値を更新することはさらに、上記損失データに基づいて報酬値を決定することと、上記報酬値に基づいて上記データ値推定器の上記推定器パラメータ値を更新することとを含む。これらの実装形態において、上記損失データに基づいて上記報酬値を決定することは、上記予測器モデルの直近のN回の訓練反復に基づいて損失データの移動平均を求めることと、直近の訓練反復についての上記損失データと上記損失データの移動平均との差を求めることと、上記直近の訓練反復についての上記損失データと上記損失データの移動平均との上記差に基づいて上記報酬値を決定することとを含む。
【0009】
いくつかの例において、上記データ値推定器はニューラルネットワークを含み、上記データ値推定器の推定器パラメータ値を更新することは、上記データ値推定器の上記ニューラルネットワークの層パラメータ値を更新することを含む。いくつかの例において、上記予測器モデルは確率的勾配降下法を用いて訓練される。いくつかの実装形態において、各訓練サンプルの上記選択確率に基づいて上記訓練サンプルのバッチから上記訓練サンプルのサブセットを選択することは、上記訓練サンプルのバッチ内の訓練サンプルごとに、選択または非選択を示す対応する選択値を決定することを含む。上記対応する選択値が選択を示す場合、上記動作は、上記訓練サンプルを上記訓練サンプルのサブセットに追加することをさらに含み、上記対応する選択値が非選択を示す場合、上記動作は、上記訓練サンプルを廃棄することをさらに含む。いくつかの例において、上記訓練サンプルのバッチをサンプリングすることは、上記複数の訓練反復のうちの訓練反復ごとに、上記訓練サンプルのセットから訓練サンプルの異なるバッチをサンプリングすることを含む。
【0010】
本開示の1つ以上の実装形態の詳細は、添付の図面および以下の説明に記載されている。その他の局面、特徴、および利点は、説明および図面から、ならびに請求項から明らかになるであろう。
【図面の簡単な説明】
【0011】
図1】データ評価を実行するシステムの一例の概略図である。
図2図1のシステムの構成要素の一例の概略図である。
図3図1のシステムの追加の構成要素の一例の概略図である。
図4】モデルをデータ評価のために訓練するアルゴリズムの概略図である。
図5】強化学習を用いたデータ評価の方法の動作の構成の一例のフローチャートを示す図である。
図6】本明細書に記載のシステムおよび方法を実現するために使用し得るコンピューティングデバイスの一例の概略図である。
【発明を実施するための形態】
【0012】
詳細な説明
各種図面において同様の参照符号は同様の要素を示す。
【0013】
高精度の予測を行うようにディープニューラルネットワークを訓練するには、一般的に大量の訓練データが必要である。しかしながら、大規模かつ高品質な実世界のデータセットを収集することは高コストで困難である。加えて、ニューラルネットワークを正確に訓練することは、かなりの時間および計算オーバーヘッドを必要とし得る。訓練データの価値を正確に定量化することは、誤ったラベルが含むことが多い、または品質および有用性が異なることが多い実世界の訓練データセットのモデル性能を改善する大きな可能性がある。訓練データセット内のすべてのデータサンプルを等しく取り扱うのではなく、低品質のサンプルには低い優先度を割り当てることで、より高性能なモデルを得ることができる。性能を改善することに加えて、データ評価は、データ収集のためのより良い手法の開発
に役立つ可能性もある。しかしながら、これまでデータ評価は、その方法がデータセット内の訓練サンプル数とともに線形にスケール変更するため、計算コストによって制限されてきた。
【0014】
本明細書中の実装形態は、予測器モデルの訓練と合同でデータ値を適応的に学習するメタ学習フレームワークである、強化学習を用いたデータ評価(data valuation using reinforcement learning:DVRL)に向けられている。ディープニューラルネットワーク
によってモデル化されたデータ値推定器関数が、訓練サンプルが予測器モデルの訓練に使用される尤度を出力する。データ値推定器の訓練は、ターゲットタスクに対する性能から直接得られる報酬を用いた強化信号に基づいている。DVRLは、小さな検証セットを用いて、時間を節約して他の方法よりも高性能な、計算効率の良い高品質な訓練データセットのデータ値のランキングを提供することができる。DVRLは、複数のタイプのデータセットのさまざまな用途で使用することができる。
【0015】
図1を参照して、いくつかの実装形態において、一例としてのシステム100は処理システム10を含む。処理システム10は、固定されたもしくはスケーラブル/弾力的な計算リソース12(たとえばデータ処理ハードウェア)および/または記憶リソース14(たとえばメモリハードウェア)を有する、単一のコンピュータであってもよく、複数のコンピュータであってもよく、または分散型システム(たとえばクラウド環境)であってもよい。処理システム10は、メタ学習フレームワーク110(本明細書ではDVRLフレームワークまたは単にDVRLとも呼ぶ)を実行する。DVRLフレームワーク110は訓練サンプル102のセットを取得する。各訓練サンプルは、訓練データと、訓練データのラベルとを含む。ラベルは、訓練データに基づく予測に対する正しい結果のアノテーションまたはその他の表示を含む。これとは異なり、ラベル付けされていない訓練サンプルは、対応するラベルなしの訓練データのみを含む。
【0016】
たとえば、訓練サンプル102は、表形式データセット、音声データセット(たとえば文書化もしくは音声認識などの場合)、画像データセット(たとえば物体検出もしくは分類などの場合)、および/またはテキストデータセット(たとえば自然言語分類、テキスト翻訳などの場合)を含み得る。訓練サンプル102のセットは、処理システム10に(たとえばメモリハードウェア14内に)格納されてもよく、または、別のエンティティからネットワークもしくはその他の通信チャネルを通して受信されてもよい。データ値推定器120は、訓練サンプル102のセットから訓練サンプル102をバッチ単位で選択してもよい(すなわち訓練サンプル102のセットの選択部分またはランダム部分を選択してもよい)。いくつかの例において、データ値推定器120は訓練サンプル102のバッチを(すなわち訓練の反復ごとに異なるバッチを)をサンプリングする。
【0017】
DVRLフレームワーク110は、データ値推定器モデル120(たとえば機械学習モデル)を含む。いくつかの実装形態において、データ値推定器モデル120はニューラルネットワークである。データ値推定器モデル120は、訓練サンプル102のバッチ内の訓練サンプル102ごとに、データ値推定器モデル120の推定器パラメータ値122に基づいて選択確率106を決定する。選択確率106は、訓練サンプル102のバッチ内の各訓練サンプル102が予測器モデル142にとってどの程度価値があるかの予測を表す。いくつかの例において、データ値推定器モデル120は、入力訓練サンプル102と予測器モデル142との関連性を定量化することによって入力訓練サンプル102の値を決定する。
【0018】
DVRLフレームワーク110はサンプラー130を含む。サンプラー130は、バッチ内の訓練サンプル102ごとに、データ値推定器モデル120によって決定された選択確率106を入力として受ける。サンプラー130は、各訓練サンプル102の選択確率106に基づいて、予測器モデル142に提供するための訓練サンプル102のサブセットを選択する。以下でより詳細に説明するように、サンプラー130は、選択確率106に基づいて、訓練サンプル102のバッチ内の残りの訓練サンプル102を廃棄してもよい。いくつかの実装形態において、サンプラー130への入力として提供される選択確率106は多項分布に基づいている。
【0019】
予測器モデル142(たとえば機械学習モデル)は、サンプラー130によってサンプリングされた訓練サンプル102のサブセットを受ける。予測器モデル142は、現在の訓練反復について選択された入力訓練サンプル102のバッチからサンプリングされた訓練サンプル102のサブセットに基づいて、性能測定値144を決定する。予測器モデル142は、サンプラー130によってサンプリングされた訓練サンプル102のサブセットのみを用いて訓練される。すなわち、いくつかの実装形態において、予測器モデル142は、サンプラー130によって選択またはサンプリングされない訓練サンプル102については訓練されない。
【0020】
予測器モデル142は、予測器モデル142の予測能力を制御するモデルパラメータ値143を含む。予測器モデル142は、入力訓練サンプル102に基づいて予測145を行う。性能評価器150は予測145を受け、予測145および訓練サンプル102(すなわち訓練サンプル102に関連付けられたラベル)に基づいて性能測定値144(たとえば予測145の正確さ)を決定する。いくつかの実装形態において、性能測定値144は損失データ(たとえば交差エントロピー損失データ)を含む。これらの実装形態において、DVRLフレームワーク110は損失データに基づいて強化信号を決定する。任意で、DVRLフレームワーク110は性能測定値144に基づいて報酬値230(図2)を生成してもよい。
【0021】
DVRLフレームワーク110は、性能測定値144に基づいて、予測器モデル142のモデルパラメータ値143と、データ値推定器モデル120の推定器パラメータ値122とを調整および/または更新する。複数の訓練反復のうちの各訓練反復中に、DVRL110はフィードバックループ148(たとえばバックプロパゲーション)を用いて、訓練反復の性能測定値144に基づいて予測器モデル142のモデルパラメータ値143を調整してもよい。DVRL110は、訓練反復の性能測定値144を用いて、同じまたは異なるフィードバックループ148に基づいてデータ値推定器モデル120の推定器パラメータ値122を調整してもよい。いくつかの実装形態において、DVRLフレームワーク110は、データ値推定器120のニューラルネットワークの層パラメータ値を更新することによってデータ値推定器モデル120の推定器パラメータ値122を更新する。
【0022】
次に図2を参照して、概略図200は、強化信号260およびフィードバックループ148を有するDVRL110を含む。性能測定値144は損失データを含み得る。DVRLフレームワーク110は、予測器モデル142に入力された訓練サンプル102のサブセットに基づく損失関数を用いて損失データ144を決定してもよい。いくつかの例において、DVRLフレームワーク110は、損失関数(たとえば、回帰のための平均二乗誤差(MSE)または分類のための交差エントロピー)を有する確率的勾配降下最適化アルゴリズムを用いて予測器モデル142を訓練する。性能評価器150が損失関数に基づいて損失データ144を決定すると、DVRL110は、フィードバックループ148を用いて性能測定値144(たとえば損失データ144)で予測器モデル142のモデルパラメータ値143を更新する。
【0023】
DVRLフレームワーク110が訓練反復についての損失データ144を決定した後、DVRL110は強化信号260を生成してもよい。いくつかの実装形態において、DVRLフレームワーク110は、強化信号260に基づいてデータ値推定器モデル120の推定器パラメータ値122を更新する。強化信号260はまた、報酬データ220を含み得る。性能評価器150は、性能測定値144を定量化することによって報酬データ220を決定してもよい。たとえば、性能測定値144が、予測器モデル142が受けた訓練サンプル102のサブセットから低損失データ144(すなわち最小誤差または正確な予測)を示す場合、報酬データ220はデータ値推定器モデル120の推定器パラメータ値122を強化してもよい。逆に、性能測定値144が、予測器モデル142が受けた訓練サンプル102のサブセットから高損失データ144(すなわち高い誤差)を示す場合、報酬データ220は、データ値推定器モデル120の推定器パラメータ値122をさらに更新する必要があることを示してもよい。
【0024】
いくつかの実装形態において、性能評価器150は履歴損失データに基づいて報酬データ220を計算する。たとえば、性能評価器150は、移動平均計算器146を用いて、予測器モデル142の直近のN回の訓練反復に基づいて損失データの移動平均を求める。言い換えれば、訓練反復ごとに、移動平均計算器146は損失データ144を取得し、現在の訓練反復損失データ144と損失データの直近のN回の訓練反復の平均との差を求めてもよい。DVRL110は、移動平均計算器146によって求められた損失データの移動平均に基づいて報酬値230を生成してもよい。報酬値230は、現在の訓練反復損失データ144と損失データの直近のN回の訓練反復の平均との差に基づいていてもよい。いくつかの実装形態において、DVRLフレームワーク110は、報酬値230を強化信号260の報酬データ220に追加する。他の実装形態において、DVRLフレームワーク110は、報酬値230を用いて強化信号260の報酬データ220を増減させることによって報酬データ220に影響を及ぼすに過ぎない。
【0025】
次に図3を参照して、概略図300は、訓練サンプル102のサブセットを選択するDVRL110を含む。いくつかの実装形態において、DVRL110は、訓練サンプル102ごとに選択値132を決定することによって、訓練サンプル102のサブセットに対して訓練サンプル102のバッチ内の訓練サンプル102を選択する。選択値132は、対応する訓練サンプル102の選択または非選択を示してもよい。サンプラー130は、データ値推定器モデル120が訓練サンプル102のバッチ内の訓練サンプル102ごとに選択確率106を生成した後、選択310または非選択320のいずれかを示す対応する選択値132を決定する。任意で、データ値推定器モデル120によって生成される選択確率106は多項分布に一致する。サンプラー130は、選択確率106の分布と、訓練サンプル102のバッチの対応する訓練サンプル102とを取得し、訓練サンプル102のバッチ内の各訓練サンプル102が予測器モデル142を訓練する尤度を求めることによって選択値132を決定する。
【0026】
サンプラー130は、訓練サンプル102の選択値132が選択310を示すと判断した場合は、訓練サンプル102を訓練サンプル102のサブセットに追加する。逆に、サンプラー130は、訓練サンプル102の選択値が非選択320を示すと判断した場合は、訓練サンプル102を(たとえば廃棄された訓練サンプル340に)廃棄してもよい。いくつかの実装形態において、DVRLフレームワーク110は、廃棄された訓練サンプル340を、将来の訓練反復のために訓練サンプル102のセットに戻す。他の実装形態において、DVRLフレームワーク110は、廃棄された訓練サンプル340を分離して(すなわち訓練サンプル102のセットから取り出して)、将来の訓練反復に含まれないようにする。
【0027】
次に図4を参照して、いくつかの実装形態において、DVRL110は、データ値推定器120および予測器モデル142を訓練するアルゴリズム400を実行する。ここで、DVRL110は、訓練サンプル102のセット(すなわちD)を受け付け、データ値推定器モデル120の推定器パラメータ値と、予測器モデル142のモデルパラメータ値とを初期化し、移動平均損失計算器146の移動平均損失をリセットする。DVRL110は、収束するまでの訓練反復ごとに、訓練サンプル102のセットから訓練サンプル102のバッチ(すなわちミニバッチB)をサンプリングし、データ値推定器モデル120の推定器パラメータ値122と、予測器モデル142のモデルパラメータ値143とを更新する。データ値推定器モデル120は、アルゴリズム400を用いて、訓練サンプル102のバッチ内の訓練サンプル102(すなわちj)ごとに、サンプラー130の選択値132を用いて選択確率106およびサンプルを計算する。DVRL110は、訓練反復(すなわちt)ごとに、それぞれの選択確率106と選択310を示す選択値132とを用いて訓練サンプル102のバッチをサンプリングし、性能測定値144(すなわ損失データ)を決定する。次のステップにおいて、DVRL110は、訓練反復についての性能測定値144に基づいて予測器モデル142のモデルパラメータ値143を更新する。次に、DVRL110は、移動平均損失計算器146からの移動平均損失を含む訓練反復についての性能測定値144に基づいて、データ値推定器モデル120の推定器パラメータ値122を更新する。最後のステップにおいて、DVRLは移動平均損失計算器146の移動平均損失を更新する。
【0028】
図5は、強化学習を用いたデータ評価のための方法500の動作の構成の一例のフローチャートである。方法500は、動作502において、データ処理ハードウェア12において訓練サンプル102のセットを取得することを含む。方法500は、動作504において、複数の訓練反復のうちの各訓練反復中に、訓練サンプル102のバッチ内の訓練サンプル102ごとに、データ処理ハードウェア12が、データ値推定器120を用いて、データ値推定器120の推定器パラメータ値に基づいて訓練サンプル102の選択確率106を決定することを含む。
【0029】
方法500は、動作506において、データ処理ハードウェア12が、各訓練サンプル102の選択確率106に基づいて訓練サンプル102のバッチから訓練サンプル102のサブセットを選択することを含む。方法500は、動作508において、データ処理ハードウェア12が、訓練サンプル102のサブセットを有する予測器モデル142を用いて性能測定値144を決定することを含む。方法500はまた、動作510において、データ処理ハードウェア12が、性能測定値144に基づいて予測器モデル142のモデルパラメータ値143を調整することを含む。この方法は、動作512において、データ処理ハードウェア12が、性能測定値144に基づいてデータ値推定器120の推定器パラメータ値122を更新することを含む。
【0030】
図6は、本明細書に記載のシステムおよび方法を実現するために使用し得る一例としてのコンピューティングデバイス600の概略図である。コンピューティングデバイス600は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、およびその他の適切なコンピュータ等の、各種形態のデジタルコンピュータを表わすことを意図している。ここに示されている構成要素、それらの接続および関係、ならびにそれらの機能は、具体例を意図しているだけであって、本明細書において記載および/またはクレームされている発明の実装を限定することを意図している訳ではない。
【0031】
コンピューティングデバイス600は、プロセッサ610と、メモリ620と、記憶装置630と、メモリ620および高速拡張ポート650に接続する高速インターフェイス/コントローラ640と、低速バス670および記憶装置630に接続する低速インターフェイス/コントローラ660とを含む。構成要素610、620、630、640、650、および660の各々は、各種バスを用いて相互接続され、共通のマザーボード上に実装されてもよく、または必要に応じて他の方法で実装されてもよい。プロセッサ610は、コンピューティングデバイス600内で実行するために命令を処理することができ、
命令は、高速インターフェイス640に結合されたディスプレイ680等の外部入出力装置上のグラフィカルユーザインターフェイス(GUI)のためのグラフィック情報を表示するためにメモリ620内または記憶装置630上に格納された命令を含む。他の実装形態において、複数のメモリおよび複数のタイプのメモリとともに、複数のプロセッサおよび/または複数のバスが必要に応じて使用されてもよい。また、複数のコンピューティングデバイス600が接続されてもよく、各デバイスは(たとえばサーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)必要な動作の一部を提供する。
【0032】
メモリ620は、コンピューティングデバイス600内で情報を非一時的に格納する。メモリ620は、コンピュータ読取可能媒体、揮発性メモリユニット、または不揮発性メモリユニットであってもよい。非一時的なメモリ620は、コンピューティングデバイス600が使用するプログラム(たとえば命令のシーケンス)またはデータ(たとえばプログラム状態情報)を一時的または永続的に格納するために使用される物理デバイスであってもよい。不揮発性メモリの例は、フラッシュメモリおよび読出専用メモリ(ROM)/プログラマブル読出専用メモリ(PROM)/消去可能プログラマブル読出専用メモリ(EPROM)/電子的消去可能プログラマブル読出専用メモリ(EEPROM)(たとえば典型的にはブートプログラム等のファームウェアに使用される)を含むが、これらに限定されない。揮発性メモリの例は、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、およびディスクまたはテープを含むが、これらに限定されない。
【0033】
記憶装置630は、コンピューティングデバイス600に大容量記憶を提供することができる。いくつかの実装形態において、記憶装置630はコンピュータ読取可能媒体である。各種の異なる実装形態において、記憶装置630は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくはその他同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくはその他の構成におけるデバイスを含むデバイスのアレイであってもよい。その他の実装形態では、コンピュータプログラムプロダクトが情報キャリアにおいて有形に実現される。コンピュータプログラムプロダクトは、実行されたときに上記方法のような方法を1つ以上実行する命令を含む。情報キャリアは、メモリ620、記憶装置630、またはプロセッサ610上のメモリ等のコンピュータまたはマシン読取可能媒体である。
【0034】
高速コントローラ640はコンピューティングデバイス600について帯域幅を多用する動作を管理し、低速コントローラ660はより少ない帯域幅を使用する動作を管理する。このような機能の割り当ては例示にすぎない。いくつかの実装形態において、高速コントローラ640は、メモリ620およびディスプレイ680に(たとえばグラフィックスプロセッサまたはアクセラレータを通して)結合され、かつ、さまざまな拡張カード(図示せず)を受け入れることができる高速拡張ポート650に結合されている。いくつかの実装形態において、低速コントローラ660は、記憶装置630および低速拡張ポート690に結合されている。さまざまな通信ポート(たとえばUSB、ブルートゥース(登録商標)、イーサネット(登録商標)、ワイヤレスイーサネット)を含み得る低速拡張ポート690は、キーボード、ポインティングデバイス、スキャナ等の1つ以上の入出力デバイス、またはスイッチもしくはルータ等のネットワーキングデバイスに、たとえばネットワークアダプタを通して結合されてもよい。
【0035】
コンピューティングデバイス600は、図に示されるように、いくつかの異なる形態で実現することができる。たとえば、標準的なサーバ600aとして実現されてもよく、ま
たはそのようなサーバ600aのグループ内で複数実現されてもよく、またはラップトップコンピュータ600bとして実現されてもよく、またはラックサーバシステム600cの一部として実現されてもよい。
【0036】
本明細書に記載されているシステムおよび技術のさまざまな実装形態は、デジタル電子および/または光学回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合わせで実現することができる。これらのさまざまな実装形態は、プログラム可能なシステム上で実行可能および/または翻訳可能な1つ以上のコンピュータプログラムにおける実装形態を含み得るものであり、上記プログラム可能なシステムは、記憶システムからデータおよび命令を受信し記憶システムにデータおよび命令を送信するように結合された専用または汎用であってもよい少なくとも1つのプログラム可能なプロセッサと、少なくとも1つの入力装置と、少なくとも1つの出力装置とを含む。
【0037】
ソフトウェアアプリケーション(すなわちソフトウェアリソース)は、コンピューティングデバイスにタスクを実行させるコンピュータソフトウェアを意味する場合がある。いくつかの例において、ソフトウェアアプリケーションを、「アプリケーション」、「アプリ」、または「プログラム」と呼ぶ場合がある。アプリケーションの例は、システム診断アプリケーション、システム管理アプリケーション、システムメンテナンスアプリケーション、ワードプロセッシングアプリケーション、スプレッドシートアプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲームアプリケーションを含むが、これらに限定されない。
【0038】
(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られている)これらのコンピュータプログラムは、プログラム可能なプロセッサのための機械命令を含み、ハイレベルの手続き型プログラミング言語および/またはオブジェクト指向プログラミング言語で実現されてもよく、および/またはアセンブリ言語/機械言語で実現されてもよい。本明細書で使用される「機械読取可能な媒体」および「コンピュータ読取可能な媒体」という用語は、機械命令を機械読取可能な信号として受信する機械読取可能な媒体を含む、機械命令および/またはデータをプログラム可能なプロセッサに提供するために使用される任意のコンピュータプログラムプロダクト、非一時的なコンピュータ読取可能媒体、装置および/またはデバイス(たとえば磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を意味する。「機械読取可能な信号」という用語は、機械命令および/またはデータをプログラム可能なプロセッサに提供するために使用される任意の信号を意味する。
【0039】
本明細書に記載のプロセスおよび論理フローは、1つ以上のコンピュータプログラムを実行することで入力データに対して動作し出力を生成することにより機能を果たす、データ処理ハードウェアとも呼ばれる1つ以上のプログラム可能なプロセッサによって実行することができる。プロセスおよび論理フローは、専用論理回路たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行することもできる。コンピュータプログラムの実行に適したプロセッサは、例として、汎用および専用双方のマイクロプロセッサ、ならびに任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般的に、プロセッサは、読出専用メモリまたはランダムアクセスメモリまたはこれらの双方から命令およびデータを受ける。コンピュータの不可欠な要素は、命令を実行するためのプロセッサと、命令およびデータを格納するための1つ以上のメモリデバイスとである。一般的に、コンピュータは、データを格納するための1つ以上の大容量記憶装置、たとえば磁気ディスク、光磁気ディスク、または光ディスクも含む、または、データを受けるためもしくはデータを伝送するためもしくはこ
れら双方のために上記大容量記憶装置に作動的に結合される。しかしながら、コンピュータはそのような装置を有している必要はない。コンピュータプログラム命令およびデータを格納するのに適したコンピュータ読取可能媒体は、すべての形態の不揮発性メモリ、媒体およびメモリデバイスを含み、これらは、例として、半導体メモリデバイス、たとえばEPROM、EEPROM、およびフラッシュメモリデバイスや、磁気ディスク、たとえば内部ハードディスクまたはリムーバブルディスクや、光磁気ディスクや、CD ROMおよびDVD-ROMディスクを含む。プロセッサおよびメモリは、専用論理回路が補充されてもよくまたは専用論理回路に組み込まれてもよい。
【0040】
ユーザとの対話を提供するために、本開示の1つ以上の局面をディスプレイデバイスを有するコンピュータ上で実現してもよく、ディスプレイデバイスは、情報をユーザに対して表示するための、たとえばCRT(陰極線管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーンであり、コンピュータはまた、任意でキーボードおよびポインティングデバイス、たとえばマウスまたはトラックボールを有し、それによってユーザは入力をコンピュータに与えることができる。ユーザとの対話を提供するために他の種類のデバイスも使用することができ、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば視覚フィードバック、聴覚フィードバックまたは触覚フィードバックであってもよく、ユーザからの入力は、音響入力、音声入力または触覚入力を含む任意の形態で受けることができる。加えて、コンピュータは、ユーザが使用するデバイスに文書を送信しこのデバイスから文書を受信することにより、たとえば、ユーザのクライアントデバイス上のウェブブラウザに、このウェブブラウザから受けた要求に応じてウェブページを送信することにより、ユーザとの対話を行ってもよい。
【0041】
いくつかの実装形態について説明した。それでもやはり、本開示の精神および範囲から逸脱することなくさまざまな修正を行い得ることが理解されるであろう。よってその他の実装形態は以下の請求項の範囲に含まれる。
図1
図2
図3
図4
図5
図6