JP2023116621A - 強化学習を用いたデータ評価 - Google Patents

強化学習を用いたデータ評価 Download PDF

Info

Publication number
JP2023116621A
JP2023116621A JP2023094084A JP2023094084A JP2023116621A JP 2023116621 A JP2023116621 A JP 2023116621A JP 2023094084 A JP2023094084 A JP 2023094084A JP 2023094084 A JP2023094084 A JP 2023094084A JP 2023116621 A JP2023116621 A JP 2023116621A
Authority
JP
Japan
Prior art keywords
training
data
estimator
training samples
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023094084A
Other languages
English (en)
Inventor
アリク,セルジャン・オメール
Omer Arik Sercan
ユン,ジンソン
Jinsung Yoon
フィスター,トマス・ジョン
Jon Pfister Tomas
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of JP2023116621A publication Critical patent/JP2023116621A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • G06F18/2115Selection of the most significant subset of features by evaluating different subsets according to an optimisation criterion, e.g. class separability, forward selection or backward elimination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/092Reinforcement learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • G06V10/763Non-hierarchical techniques, e.g. based on statistics of modelling distributions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/771Feature selection, e.g. selecting representative features from a multi-dimensional feature space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/772Determining representative reference patterns, e.g. averaging or distorting patterns; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06V10/7753Incorporation of unlabelled data, e.g. multiple instance learning [MIL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/776Validation; Performance evaluation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/778Active pattern-learning, e.g. online learning of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2155Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the incorporation of unlabelled data, e.g. multiple instance learning [MIL], semi-supervised techniques using expectation-maximisation [EM] or naïve labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning

Abstract

【課題】データの価値を正確に定量化することで、訓練データセットのモデル性能を改善する。【解決手段】訓練サンプル102を評価するシステム100において、メタ学習フレームワーク110は、訓練サンプル102のセットを取得し、複数の訓練反復のうちの各訓練反復中に、訓練サンプルのセットから訓練サンプルのバッチをサンプリングし、訓練サンプル毎に、データ値推定器120を用いて選択確率106を決定する。訓練サンプルの選択確率は、データ値推定器の推定器パラメータ値122に基づいている。方法はまた、各訓練サンプルの選択確率に基づいて訓練サンプルのバッチから訓練サンプルのサブセットを選択し、訓練サンプルのサブセットを有する予測器モデル142を用いて性能測定値144を決定し、性能測定値に基づいて予測器モデルのモデルパラメータ値143を調整し、性能測定値に基づいてデータ値推定器の推定器パラメータ値を更新する。【選択図】図1

Description

技術分野
本開示は、強化学習を用いたデータ評価に関する。
背景
機械学習モデルは入力を受け、受けた入力に基づいて出力、たとえば予測出力を生成する。機械学習モデルはデータについて訓練される。しかしながら、データの価値を定量化することは、機械学習における根本的な問題である。機械学習モデルは一般的に、大規模かつ高品質なデータセットについて訓練されることで改善される。しかしながら、そのような大規模かつ高品質なデータセットを収集することは高コストで困難な場合がある。さらに、大規模データセットの中から訓練に最も有用なサンプルを決定し、それに応じてラベル付けするので、複雑さが増大する。実世界の訓練データセットは誤ったラベルを含んでいることが多く、または、入力サンプルは関連性、サンプル品質、もしくはターゲットタスクに対する有用性が異なる。
データの価値を正確に定量化することで、訓練データセットのモデル性能が改善される。すべてのデータサンプルを等しく取り扱うのではなく、データの価値が低い場合はこのデータに低い優先度を割り当てることで、より高性能なモデルを得ることができる。典型的に、データ評価性能を定量化するには、サンプルを個々に除去して性能損失を計算してから、そのサンプルのデータとして損失を割り当てる必要がある。しかしながら、これらの方法は訓練サンプル数とともに線形にスケール変更するため、大規模データセットおよび複雑なモデルの場合は法外なコストがかかる。データ評価は、問題についての洞察を構築する以外にも、領域適応、破損サンプル発見、およびロバスト学習など、多種多様なユースケースがある。
概要
本開示のある局面は、訓練サンプルを評価する方法を提供する。上記方法は、データ処理ハードウェアにおいて訓練サンプルのセットを取得することを含む。上記方法はまた、複数の訓練反復のうちの各訓練反復中に、上記データ処理ハードウェアが、上記訓練サンプルのセットから訓練サンプルのバッチをサンプリングすることを含む。上記方法は、上記訓練サンプルのバッチ内の訓練サンプルごとに、上記データ処理ハードウェアが、データ値推定器を用いて選択確率を決定することを含む。訓練サンプルの選択確率は、データ値推定器の推定器パラメータ値に基づいている。上記方法はまた、上記データ処理ハードウェアが、各訓練サンプルの上記選択確率に基づいて上記訓練サンプルのバッチから訓練サンプルのサブセットを選択することと、上記データ処理ハードウェアが、上記訓練サンプルのサブセットを有する予測器モデルを用いて性能測定値を決定することとを含む。上記方法はまた、上記データ処理ハードウェアが、上記性能測定値に基づいて上記予測器モデルのモデルパラメータ値を調整することと、上記データ処理ハードウェアが、上記性能測定値に基づいて上記データ値推定器の上記推定器パラメータ値を更新することとを含む。
本開示の実装形態は以下の任意の特徴のうちの1つ以上を含み得る。いくつかの実装形態において、上記予測器モデルを用いて上記性能測定値を決定することは、損失関数によ
って損失データを決定することを含む。これらの実装形態において、上記性能測定値に基づいて上記予測器モデルの上記モデルパラメータ値を調整することは、上記損失データに基づいて上記予測器モデルの上記モデルパラメータ値を調整することを含む。加えて、いくつかの実装形態において、上記性能測定値に基づいて上記データ値推定器の上記推定器パラメータ値を更新することは、上記損失データから強化信号を決定することと、上記強化信号に基づいて上記データ値推定器の推定器パラメータ値を更新することとを含む。上記強化信号に基づいて上記データ値推定器の上記推定器パラメータ値を更新することはさらに、上記損失データに基づいて報酬値を決定することと、上記報酬値に基づいて上記データ値推定器の上記推定器パラメータ値を更新することとを含む。これらの実装形態において、上記損失データに基づいて上記報酬値を決定することは、上記予測器モデルの直近のN回の訓練反復に基づいて損失データの移動平均を求めることと、直近の訓練反復についての上記損失データと上記損失データの移動平均との差を求めることと、上記直近の訓練反復についての上記損失データと上記損失データの移動平均との上記差に基づいて上記報酬値を決定することとを含む。
いくつかの例において、上記データ値推定器はニューラルネットワークを含み、上記データ値推定器の推定器パラメータ値を更新することは、上記データ値推定器の上記ニューラルネットワークの層パラメータ値を更新することを含む。いくつかの例において、上記予測器モデルは確率的勾配降下法を用いて訓練される。いくつかの実装形態において、各訓練サンプルの上記選択確率に基づいて上記訓練サンプルのバッチから上記訓練サンプルのサブセットを選択することは、上記訓練サンプルのバッチ内の訓練サンプルごとに、選択または非選択を示す対応する選択値を決定することを含む。上記対応する選択値が選択を示す場合、上記方法は、上記訓練サンプルを上記訓練サンプルのサブセットに追加することを含み、上記対応する選択値が非選択を示す場合、上記方法は、上記訓練サンプルを廃棄することをさらに含む。いくつかの例において、上記訓練サンプルのバッチをサンプリングすることは、上記複数の訓練反復のうちの訓練反復ごとに、上記訓練サンプルのセットから訓練サンプルの異なるバッチをサンプリングすることを含む。
本開示の別の局面は、訓練サンプルを評価するシステムを提供する。上記システムは、データ処理ハードウェアと、上記データ処理ハードウェアと通信するメモリハードウェアとを含む。上記メモリハードウェアは、上記データ処理ハードウェアによって実行されると上記データ処理ハードウェアに動作を実行させる命令を格納し、上記動作は、訓練サンプルのセットを取得することを含む。上記動作はまた、複数の訓練反復のうちの各訓練反復中に、上記訓練サンプルのセットから訓練サンプルのバッチをサンプリングすることを含む。上記動作はさらに、上記訓練サンプルのバッチ内の訓練サンプルごとに、データ値推定器を用いて選択確率を決定することを含む。訓練サンプルの選択確率は、データ値推定器の推定器パラメータ値に基づいている。上記動作はまた、各訓練サンプルの上記選択確率に基づいて上記訓練サンプルのバッチから訓練サンプルのサブセットを選択することと、上記訓練サンプルのサブセットを有する予測器モデルを用いて性能測定値を決定することとを含む。上記動作はまた、上記性能測定値に基づいて上記予測器モデルのモデルパラメータ値を調整することと、上記性能測定値に基づいて上記データ値推定器の上記推定器パラメータ値を更新することとを含む。
この局面は、以下の任意の特徴のうちの1つ以上を含み得る。いくつかの実装形態において、上記予測器モデルを用いて上記性能測定値を決定することは、損失関数によって損失データを決定することを含む。これらの実装形態において、上記性能測定値に基づいて上記予測器モデルの上記モデルパラメータ値を調整することは、上記損失データに基づいて上記予測器モデルの上記モデルパラメータ値を調整することを含む。加えて、いくつかの実装形態において、上記性能測定値に基づいて上記データ値推定器の上記推定器パラメータ値を更新することは、上記損失データから強化信号を決定することと、上記強化信号
に基づいて上記データ値推定器の推定器パラメータ値を更新することとを含む。上記強化信号に基づいて上記データ値推定器の上記推定器パラメータ値を更新することはさらに、上記損失データに基づいて報酬値を決定することと、上記報酬値に基づいて上記データ値推定器の上記推定器パラメータ値を更新することとを含む。これらの実装形態において、上記損失データに基づいて上記報酬値を決定することは、上記予測器モデルの直近のN回の訓練反復に基づいて損失データの移動平均を求めることと、直近の訓練反復についての上記損失データと上記損失データの移動平均との差を求めることと、上記直近の訓練反復についての上記損失データと上記損失データの移動平均との上記差に基づいて上記報酬値を決定することとを含む。
いくつかの例において、上記データ値推定器はニューラルネットワークを含み、上記データ値推定器の推定器パラメータ値を更新することは、上記データ値推定器の上記ニューラルネットワークの層パラメータ値を更新することを含む。いくつかの例において、上記予測器モデルは確率的勾配降下法を用いて訓練される。いくつかの実装形態において、各訓練サンプルの上記選択確率に基づいて上記訓練サンプルのバッチから上記訓練サンプルのサブセットを選択することは、上記訓練サンプルのバッチ内の訓練サンプルごとに、選択または非選択を示す対応する選択値を決定することを含む。上記対応する選択値が選択を示す場合、上記動作は、上記訓練サンプルを上記訓練サンプルのサブセットに追加することをさらに含み、上記対応する選択値が非選択を示す場合、上記動作は、上記訓練サンプルを廃棄することをさらに含む。いくつかの例において、上記訓練サンプルのバッチをサンプリングすることは、上記複数の訓練反復のうちの訓練反復ごとに、上記訓練サンプルのセットから訓練サンプルの異なるバッチをサンプリングすることを含む。
本開示の1つ以上の実装形態の詳細は、添付の図面および以下の説明に記載されている。その他の局面、特徴、および利点は、説明および図面から、ならびに請求項から明らかになるであろう。
データ評価を実行するシステムの一例の概略図である。 図1のシステムの構成要素の一例の概略図である。 図1のシステムの追加の構成要素の一例の概略図である。 モデルをデータ評価のために訓練するアルゴリズムの概略図である。 強化学習を用いたデータ評価の方法の動作の構成の一例のフローチャートを示す図である。 本明細書に記載のシステムおよび方法を実現するために使用し得るコンピューティングデバイスの一例の概略図である。
詳細な説明
各種図面において同様の参照符号は同様の要素を示す。
高精度の予測を行うようにディープニューラルネットワークを訓練するには、一般的に大量の訓練データが必要である。しかしながら、大規模かつ高品質な実世界のデータセットを収集することは高コストで困難である。加えて、ニューラルネットワークを正確に訓練することは、かなりの時間および計算オーバーヘッドを必要とし得る。訓練データの価値を正確に定量化することは、誤ったラベルが含むことが多い、または品質および有用性が異なることが多い実世界の訓練データセットのモデル性能を改善する大きな可能性がある。訓練データセット内のすべてのデータサンプルを等しく取り扱うのではなく、低品質のサンプルには低い優先度を割り当てることで、より高性能なモデルを得ることができる。性能を改善することに加えて、データ評価は、データ収集のためのより良い手法の開発
に役立つ可能性もある。しかしながら、これまでデータ評価は、その方法がデータセット内の訓練サンプル数とともに線形にスケール変更するため、計算コストによって制限されてきた。
本明細書中の実装形態は、予測器モデルの訓練と合同でデータ値を適応的に学習するメタ学習フレームワークである、強化学習を用いたデータ評価(data valuation using reinforcement learning:DVRL)に向けられている。ディープニューラルネットワーク
によってモデル化されたデータ値推定器関数が、訓練サンプルが予測器モデルの訓練に使用される尤度を出力する。データ値推定器の訓練は、ターゲットタスクに対する性能から直接得られる報酬を用いた強化信号に基づいている。DVRLは、小さな検証セットを用いて、時間を節約して他の方法よりも高性能な、計算効率の良い高品質な訓練データセットのデータ値のランキングを提供することができる。DVRLは、複数のタイプのデータセットのさまざまな用途で使用することができる。
図1を参照して、いくつかの実装形態において、一例としてのシステム100は処理システム10を含む。処理システム10は、固定されたもしくはスケーラブル/弾力的な計算リソース12(たとえばデータ処理ハードウェア)および/または記憶リソース14(たとえばメモリハードウェア)を有する、単一のコンピュータであってもよく、複数のコンピュータであってもよく、または分散型システム(たとえばクラウド環境)であってもよい。処理システム10は、メタ学習フレームワーク110(本明細書ではDVLRフレームワークまたは単にDVLRとも呼ぶ)を実行する。DVLRフレームワーク110は訓練サンプル102のセットを取得する。各訓練サンプルは、訓練データと、訓練データのラベルとを含む。ラベルは、訓練データに基づく予測に対する正しい結果のアノテーションまたはその他の表示を含む。これとは異なり、ラベル付けされていない訓練サンプルは、対応するラベルなしの訓練データのみを含む。
たとえば、訓練サンプル102は、表形式データセット、音声データセット(たとえば文書化もしくは音声認識などの場合)、画像データセット(たとえば物体検出もしくは分類などの場合)、および/またはテキストデータセット(たとえば自然言語分類、テキスト翻訳などの場合)を含み得る。訓練サンプル102のセットは、処理システム10に(たとえばメモリハードウェア14内に)格納されてもよく、または、別のエンティティからネットワークもしくはその他の通信チャネルを通して受信されてもよい。データ値推定器120は、訓練サンプル102のセットから訓練サンプル102をバッチ単位で選択してもよい(すなわち訓練サンプル102のセットの選択部分またはランダム部分を選択してもよい)。いくつかの例において、データ値推定器120は訓練サンプル102のバッチを(すなわち訓練の反復ごとに異なるバッチを)をサンプリングする。
DVLRフレームワーク110は、データ値推定器モデル120(たとえば機械学習モデル)を含む。いくつかの実装形態において、データ値推定器モデル120はニューラルネットワークである。データ値推定器モデル120は、訓練サンプル102のバッチ内の訓練サンプル102ごとに、データ値推定器モデル120の推定器パラメータ値122に基づいて選択確率106を決定する。選択確率106は、訓練サンプル102のバッチ内の各訓練サンプル102が予測器モデル142にとってどの程度価値があるかの予測を表す。いくつかの例において、データ値推定器モデル120は、入力訓練サンプル102と予測器モデル142との関連性を定量化することによって入力訓練サンプル102の値を決定する。
DVLRフレームワーク110はサンプラー130を含む。サンプラー130は、バッチ内の訓練サンプル102ごとに、データ値推定器モデル120によって決定された選択確率106を入力として受ける。サンプラー130は、各訓練サンプル102の選択確率
106に基づいて、予測器モデル142に提供するための訓練サンプル102のサブセットを選択する。以下でより詳細に説明するように、サンプラー130は、選択確率106に基づいて、訓練サンプル102のバッチ内の残りの訓練サンプル102を廃棄してもよい。いくつかの実装形態において、サンプラー130への入力として提供される選択確率106は多項分布に基づいている。
予測器モデル142(たとえば機械学習モデル)は、サンプラー130によってサンプリングされた訓練サンプル102のサブセットを受ける。予測器モデル142は、現在の訓練反復について選択された入力訓練サンプル102のバッチからサンプリングされた訓練サンプル102のサブセットに基づいて、性能測定値144を決定する。予測器モデル142は、サンプラー130によってサンプリングされた訓練サンプル102のサブセットのみを用いて訓練される。すなわち、いくつかの実装形態において、予測器モデル142は、サンプラー130によって選択またはサンプリングされない訓練サンプル102については訓練されない。
予測器モデル142は、予測器モデル142の予測能力を制御するモデルパラメータ値143を含む。予測器モデル142は、入力訓練サンプル102に基づいて予測145を行う。性能評価器150は予測145を受け、予測145および訓練サンプル102(すなわち訓練サンプル102に関連付けられたラベル)に基づいて性能測定値144(たとえば予測145の正確さ)を決定する。いくつかの実装形態において、性能測定値144は損失データ(たとえば交差エントロピー損失データ)を含む。これらの実装形態において、DVLRフレームワーク110は損失データに基づいて強化信号を決定する。任意で、DVLRフレームワーク110は性能測定値144に基づいて報酬値230(図2)を生成してもよい。
DVLRフレームワーク110は、性能測定値144に基づいて、予測器モデル142のモデルパラメータ値143と、データ値推定器モデル120の推定器パラメータ値122とを調整および/または更新する。複数の訓練反復のうちの各訓練反復中に、DVLR110はフィードバックループ148(たとえばバックプロパゲーション)を用いて、訓練反復の性能測定値144に基づいて予測器モデル142のモデルパラメータ値143を調整してもよい。DVLR110は、訓練反復の性能測定値144を用いて、同じまたは異なるフィードバックループ148に基づいてデータ値推定器モデル120の推定器パラメータ値122を調整してもよい。いくつかの実装形態において、DVLRフレームワーク110は、データ値推定器120のニューラルネットワークの層パラメータ値を更新することによってデータ値推定器モデル120の推定器パラメータ値122を更新する。
次に図2を参照して、概略図200は、強化信号260およびフィードバックループ148を有するDVLR110を含む。性能測定値144は損失データを含み得る。DVRLフレームワーク110は、予測器モデル142に入力された訓練サンプル102のサブセットに基づく損失関数を用いて損失データ144を決定してもよい。いくつかの例において、DVRLフレームワーク110は、損失関数(たとえば、回帰のための平均二乗誤差(MSE)または分類のための交差エントロピー)を有する確率的勾配降下最適化アルゴリズムを用いて予測器モデル142を訓練する。性能評価器150が損失関数に基づいて損失データ144を決定すると、DVLR110は、フィードバックループ148を用いて性能測定値144(たとえば損失データ144)で予測器モデル142のモデルパラメータ値143を更新する。
DVRLフレームワーク110が訓練反復についての損失データ144を決定した後、DVLR110は強化信号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をさらに更新する必要があることを示してもよい。
いくつかの実装形態において、性能評価器150は履歴損失データに基づいて報酬データ220を計算する。たとえば、性能評価器150は、移動平均計算器146を用いて、予測器モデル142の直近のN回の訓練反復に基づいて損失データの移動平均を求める。言い換えれば、訓練反復ごとに、移動平均計算器146は損失データ144を取得し、現在の訓練反復損失データ144と損失データの直近のN回の訓練反復の平均との差を求めてもよい。DVLR110は、移動平均計算器146によって求められた損失データの移動平均に基づいて報酬値230を生成してもよい。報酬値230は、現在の訓練反復損失データ144と損失データの直近のN回の訓練反復の平均との差に基づいていてもよい。いくつかの実装形態において、DVRLフレームワーク110は、報酬値230を強化信号260の報酬データ220に追加する。他の実装形態において、DVRLフレームワーク110は、報酬値230を用いて強化信号260の報酬データ220を増減させることによって報酬データ220に影響を及ぼすに過ぎない。
次に図3を参照して、概略図300は、訓練サンプル102のサブセットを選択するDVLR110を含む。いくつかの実装形態において、DVLR110は、訓練サンプル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を決定する。
サンプラー130は、訓練サンプル102の選択値132が選択310を示すと判断した場合は、訓練サンプル102を訓練サンプル102のサブセットに追加する。逆に、サンプラー130は、訓練サンプル102の選択値が非選択320を示すと判断した場合は、訓練サンプル102を(たとえば廃棄された訓練サンプル340に)廃棄してもよい。いくつかの実装形態において、DVLRフレームワーク110は、廃棄された訓練サンプル340を、将来の訓練反復のために訓練サンプル102のセットに戻す。他の実装形態において、DVRLフレームワーク110は、廃棄された訓練サンプル340を分離して(すなわち訓練サンプル102のセットから取り出して)、将来の訓練反復に含まれないようにする。
次に図4を参照して、いくつかの実装形態において、DVLR110は、データ値推定器120および予測器モデル142を訓練するアルゴリズム400を実行する。ここで、DVLR110は、訓練サンプル102のセット(すなわちD)を受け付け、データ値推定器モデル120の推定器パラメータ値と、予測器モデル142のモデルパラメータ値と
を初期化し、移動平均損失計算器146の移動平均損失をリセットする。DVLR110は、収束するまでの訓練反復ごとに、訓練サンプル102のセットから訓練サンプル102のバッチ(すなわちミニバッチB)をサンプリングし、データ値推定器モデル120の推定器パラメータ値122と、予測器モデル142のモデルパラメータ値143とを更新する。データ値推定器モデル120は、アルゴリズム400を用いて、訓練サンプル102のバッチ内の訓練サンプル102(すなわちj)ごとに、サンプラー130の選択値132を用いて選択確率106およびサンプルを計算する。DVLR110は、訓練反復(すなわちt)ごとに、それぞれの選択確率106と選択310を示す選択値132とを用いて訓練サンプル102のバッチをサンプリングし、性能測定値144(すなわ損失データ)を決定する。次のステップにおいて、DVLR110は、訓練反復についての性能測定値144に基づいて予測器モデル142のモデルパラメータ値143を更新する。次に、DVLR110は、移動平均損失計算器146からの移動平均損失を含む訓練反復についての性能測定値144に基づいて、データ値推定器モデル120の推定器パラメータ値122を更新する。最後のステップにおいて、DVLRは移動平均損失計算器146の移動平均損失を更新する。
図5は、強化学習を用いたデータ評価のための方法500の動作の構成の一例のフローチャートである。方法500は、動作502において、データ処理ハードウェア12において訓練サンプル102のセットを取得することを含む。方法500は、動作504において、複数の訓練反復のうちの各訓練反復中に、訓練サンプル102のバッチ内の訓練サンプル102ごとに、データ処理ハードウェア12が、データ値推定器120を用いて、データ値推定器120の推定器パラメータ値に基づいて訓練サンプル102の選択確率106を決定することを含む。
方法500は、動作506において、データ処理ハードウェア12が、各訓練サンプル102の選択確率106に基づいて訓練サンプル102のバッチから訓練サンプル102のサブセットを選択することを含む。方法500は、動作508において、データ処理ハードウェア12が、訓練サンプル102のサブセットを有する予測器モデル142を用いて性能測定値144を決定することを含む。方法500はまた、動作510において、データ処理ハードウェア12が、性能測定値144に基づいて予測器モデル142のモデルパラメータ値143を調整することを含む。この方法は、動作512において、データ処理ハードウェア12が、性能測定値144に基づいてデータ値推定器120の推定器パラメータ値122を更新することを含む。
図6は、本明細書に記載のシステムおよび方法を実現するために使用し得る一例としてのコンピューティングデバイス600の概略図である。コンピューティングデバイス600は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、およびその他の適切なコンピュータ等の、各種形態のデジタルコンピュータを表わすことを意図している。ここに示されている構成要素、それらの接続および関係、ならびにそれらの機能は、具体例を意図しているだけであって、本明細書において記載および/またはクレームされている発明の実装を限定することを意図している訳ではない。
コンピューティングデバイス600は、プロセッサ610と、メモリ620と、記憶装置630と、メモリ620および高速拡張ポート650に接続する高速インターフェイス/コントローラ640と、低速バス670および記憶装置630に接続する低速インターフェイス/コントローラ660とを含む。構成要素610、620、630、640、650、および660の各々は、各種バスを用いて相互接続され、共通のマザーボード上に実装されてもよく、または必要に応じて他の方法で実装されてもよい。プロセッサ610は、コンピューティングデバイス600内で実行するために命令を処理することができ、
命令は、高速インターフェイス640に結合されたディスプレイ680等の外部入出力装置上のグラフィカルユーザインターフェイス(GUI)のためのグラフィック情報を表示するためにメモリ620内または記憶装置630上に格納された命令を含む。他の実装形態において、複数のメモリおよび複数のタイプのメモリとともに、複数のプロセッサおよび/または複数のバスが必要に応じて使用されてもよい。また、複数のコンピューティングデバイス600が接続されてもよく、各デバイスは(たとえばサーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)必要な動作の一部を提供する。
メモリ620は、コンピューティングデバイス600内で情報を非一時的に格納する。メモリ620は、コンピュータ読取可能媒体、揮発性メモリユニット、または不揮発性メモリユニットであってもよい。非一時的なメモリ620は、コンピューティングデバイス600が使用するプログラム(たとえば命令のシーケンス)またはデータ(たとえばプログラム状態情報)を一時的または永続的に格納するために使用される物理デバイスであってもよい。不揮発性メモリの例は、フラッシュメモリおよび読出専用メモリ(ROM)/プログラマブル読出専用メモリ(PROM)/消去可能プログラマブル読出専用メモリ(EPROM)/電子的消去可能プログラマブル読出専用メモリ(EEPROM)(たとえば典型的にはブートプログラム等のファームウェアに使用される)を含むが、これらに限定されない。揮発性メモリの例は、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、およびディスクまたはテープを含むが、これらに限定されない。
記憶装置630は、コンピューティングデバイス600に大容量記憶を提供することができる。いくつかの実装形態において、記憶装置630はコンピュータ読取可能媒体である。各種の異なる実装形態において、記憶装置630は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくはその他同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくはその他の構成におけるデバイスを含むデバイスのアレイであってもよい。その他の実装形態では、コンピュータプログラムプロダクトが情報キャリアにおいて有形に実現される。コンピュータプログラムプロダクトは、実行されたときに上記方法のような方法を1つ以上実行する命令を含む。情報キャリアは、メモリ620、記憶装置630、またはプロセッサ610上のメモリ等のコンピュータまたはマシン読取可能媒体である。
高速コントローラ640はコンピューティングデバイス600について帯域幅を多用する動作を管理し、低速コントローラ660はより少ない帯域幅を使用する動作を管理する。このような機能の割り当ては例示にすぎない。いくつかの実装形態において、高速コントローラ640は、メモリ620およびディスプレイ680に(たとえばグラフィックスプロセッサまたはアクセラレータを通して)結合され、かつ、さまざまな拡張カード(図示せず)を受け入れることができる高速拡張ポート650に結合されている。いくつかの実装形態において、低速コントローラ660は、記憶装置630および低速拡張ポート690に結合されている。さまざまな通信ポート(たとえばUSB、ブルートゥース(登録商標)、イーサネット(登録商標)、ワイヤレスイーサネット)を含み得る低速拡張ポート690は、キーボード、ポインティングデバイス、スキャナ等の1つ以上の入出力デバイス、またはスイッチもしくはルータ等のネットワーキングデバイスに、たとえばネットワークアダプタを通して結合されてもよい。
コンピューティングデバイス600は、図に示されるように、いくつかの異なる形態で実現することができる。たとえば、標準的なサーバ600aとして実現されてもよく、ま
たはそのようなサーバ600aのグループ内で複数実現されてもよく、またはラップトップコンピュータ600bとして実現されてもよく、またはラックサーバシステム600cの一部として実現されてもよい。
本明細書に記載されているシステムおよび技術のさまざまな実装形態は、デジタル電子および/または光学回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合わせで実現することができる。これらのさまざまな実装形態は、プログラム可能なシステム上で実行可能および/または翻訳可能な1つ以上のコンピュータプログラムにおける実装形態を含み得るものであり、上記プログラム可能なシステムは、記憶システムからデータおよび命令を受信し記憶システムにデータおよび命令を送信するように結合された専用または汎用であってもよい少なくとも1つのプログラム可能なプロセッサと、少なくとも1つの入力装置と、少なくとも1つの出力装置とを含む。
ソフトウェアアプリケーション(すなわちソフトウェアリソース)は、コンピューティングデバイスにタスクを実行させるコンピュータソフトウェアを意味する場合がある。いくつかの例において、ソフトウェアアプリケーションを、「アプリケーション」、「アプリ」、または「プログラム」と呼ぶ場合がある。アプリケーションの例は、システム診断アプリケーション、システム管理アプリケーション、システムメンテナンスアプリケーション、ワードプロセッシングアプリケーション、スプレッドシートアプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲームアプリケーションを含むが、これらに限定されない。
(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られている)これらのコンピュータプログラムは、プログラム可能なプロセッサのための機械命令を含み、ハイレベルの手続き型プログラミング言語および/またはオブジェクト指向プログラミング言語で実現されてもよく、および/またはアセンブリ言語/機械言語で実現されてもよい。本明細書で使用される「機械読取可能な媒体」および「コンピュータ読取可能な媒体」という用語は、機械命令を機械読取可能な信号として受信する機械読取可能な媒体を含む、機械命令および/またはデータをプログラム可能なプロセッサに提供するために使用される任意のコンピュータプログラムプロダクト、非一時的なコンピュータ読取可能媒体、装置および/またはデバイス(たとえば磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を意味する。「機械読取可能な信号」という用語は、機械命令および/またはデータをプログラム可能なプロセッサに提供するために使用される任意の信号を意味する。
本明細書に記載のプロセスおよび論理フローは、1つ以上のコンピュータプログラムを実行することで入力データに対して動作し出力を生成することにより機能を果たす、データ処理ハードウェアとも呼ばれる1つ以上のプログラム可能なプロセッサによって実行することができる。プロセスおよび論理フローは、専用論理回路たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行することもできる。コンピュータプログラムの実行に適したプロセッサは、例として、汎用および専用双方のマイクロプロセッサ、ならびに任意の種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般的に、プロセッサは、読出専用メモリまたはランダムアクセスメモリまたはこれらの双方から命令およびデータを受ける。コンピュータの不可欠な要素は、命令を実行するためのプロセッサと、命令およびデータを格納するための1つ以上のメモリデバイスとである。一般的に、コンピュータは、データを格納するための1つ以上の大容量記憶装置、たとえば磁気ディスク、光磁気ディスク、または光ディスクも含む、または、データを受けるためもしくはデータを伝送するためもしくはこ
れら双方のために上記大容量記憶装置に作動的に結合される。しかしながら、コンピュータはそのような装置を有している必要はない。コンピュータプログラム命令およびデータを格納するのに適したコンピュータ読取可能媒体は、すべての形態の不揮発性メモリ、媒体およびメモリデバイスを含み、これらは、例として、半導体メモリデバイス、たとえばEPROM、EEPROM、およびフラッシュメモリデバイスや、磁気ディスク、たとえば内部ハードディスクまたはリムーバブルディスクや、光磁気ディスクや、CD ROMおよびDVD-ROMディスクを含む。プロセッサおよびメモリは、専用論理回路が補充されてもよくまたは専用論理回路に組み込まれてもよい。
ユーザとの対話を提供するために、本開示の1つ以上の局面をディスプレイデバイスを有するコンピュータ上で実現してもよく、ディスプレイデバイスは、情報をユーザに対して表示するための、たとえばCRT(陰極線管)、LCD(液晶ディスプレイ)モニタ、またはタッチスクリーンであり、コンピュータはまた、任意でキーボードおよびポインティングデバイス、たとえばマウスまたはトラックボールを有し、それによってユーザは入力をコンピュータに与えることができる。ユーザとの対話を提供するために他の種類のデバイスも使用することができ、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば視覚フィードバック、聴覚フィードバックまたは触覚フィードバックであってもよく、ユーザからの入力は、音響入力、音声入力または触覚入力を含む任意の形態で受けることができる。加えて、コンピュータは、ユーザが使用するデバイスに文書を送信しこのデバイスから文書を受信することにより、たとえば、ユーザのクライアントデバイス上のウェブブラウザに、このウェブブラウザから受けた要求に応じてウェブページを送信することにより、ユーザとの対話を行ってもよい。
いくつかの実装形態について説明した。それでもやはり、本開示の精神および範囲から逸脱することなくさまざまな修正を行い得ることが理解されるであろう。よってその他の実装形態は以下の請求項の範囲に含まれる。
図1を参照して、いくつかの実装形態において、一例としてのシステム100は処理システム10を含む。処理システム10は、固定されたもしくはスケーラブル/弾力的な計算リソース12(たとえばデータ処理ハードウェア)および/または記憶リソース14(たとえばメモリハードウェア)を有する、単一のコンピュータであってもよく、複数のコンピュータであってもよく、または分散型システム(たとえばクラウド環境)であってもよい。処理システム10は、メタ学習フレームワーク110(本明細書ではDVRLフレームワークまたは単にDVRLとも呼ぶ)を実行する。DVRLフレームワーク110は訓練サンプル102のセットを取得する。各訓練サンプルは、訓練データと、訓練データのラベルとを含む。ラベルは、訓練データに基づく予測に対する正しい結果のアノテーションまたはその他の表示を含む。これとは異なり、ラベル付けされていない訓練サンプルは、対応するラベルなしの訓練データのみを含む。
DVRLフレームワーク110は、データ値推定器モデル120(たとえば機械学習モデル)を含む。いくつかの実装形態において、データ値推定器モデル120はニューラルネットワークである。データ値推定器モデル120は、訓練サンプル102のバッチ内の訓練サンプル102ごとに、データ値推定器モデル120の推定器パラメータ値122に基づいて選択確率106を決定する。選択確率106は、訓練サンプル102のバッチ内の各訓練サンプル102が予測器モデル142にとってどの程度価値があるかの予測を表す。いくつかの例において、データ値推定器モデル120は、入力訓練サンプル102と予測器モデル142との関連性を定量化することによって入力訓練サンプル102の値を決定する。
DVRLフレームワーク110はサンプラー130を含む。サンプラー130は、バッチ内の訓練サンプル102ごとに、データ値推定器モデル120によって決定された選択確率106を入力として受ける。サンプラー130は、各訓練サンプル102の選択確率106に基づいて、予測器モデル142に提供するための訓練サンプル102のサブセットを選択する。以下でより詳細に説明するように、サンプラー130は、選択確率106に基づいて、訓練サンプル102のバッチ内の残りの訓練サンプル102を廃棄してもよい。いくつかの実装形態において、サンプラー130への入力として提供される選択確率106は多項分布に基づいている。
予測器モデル142は、予測器モデル142の予測能力を制御するモデルパラメータ値143を含む。予測器モデル142は、入力訓練サンプル102に基づいて予測145を行う。性能評価器150は予測145を受け、予測145および訓練サンプル102(すなわち訓練サンプル102に関連付けられたラベル)に基づいて性能測定値144(たとえば予測145の正確さ)を決定する。いくつかの実装形態において、性能測定値144は損失データ(たとえば交差エントロピー損失データ)を含む。これらの実装形態において、DVRLフレームワーク110は損失データに基づいて強化信号を決定する。任意で、DVRLフレームワーク110は性能測定値144に基づいて報酬値230(図2)を生成してもよい。
DVRLフレームワーク110は、性能測定値144に基づいて、予測器モデル142のモデルパラメータ値143と、データ値推定器モデル120の推定器パラメータ値122とを調整および/または更新する。複数の訓練反復のうちの各訓練反復中に、DVRL110はフィードバックループ148(たとえばバックプロパゲーション)を用いて、訓練反復の性能測定値144に基づいて予測器モデル142のモデルパラメータ値143を調整してもよい。DVRL110は、訓練反復の性能測定値144を用いて、同じまたは異なるフィードバックループ148に基づいてデータ値推定器モデル120の推定器パラメータ値122を調整してもよい。いくつかの実装形態において、DVRLフレームワーク110は、データ値推定器120のニューラルネットワークの層パラメータ値を更新することによってデータ値推定器モデル120の推定器パラメータ値122を更新する。
次に図2を参照して、概略図200は、強化信号260およびフィードバックループ148を有するDVRL110を含む。性能測定値144は損失データを含み得る。DVRLフレームワーク110は、予測器モデル142に入力された訓練サンプル102のサブセットに基づく損失関数を用いて損失データ144を決定してもよい。いくつかの例において、DVRLフレームワーク110は、損失関数(たとえば、回帰のための平均二乗誤差(MSE)または分類のための交差エントロピー)を有する確率的勾配降下最適化アルゴリズムを用いて予測器モデル142を訓練する。性能評価器150が損失関数に基づいて損失データ144を決定すると、DVRL110は、フィードバックループ148を用いて性能測定値144(たとえば損失データ144)で予測器モデル142のモデルパラメータ値143を更新する。
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をさらに更新する必要があることを示してもよい。
いくつかの実装形態において、性能評価器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に影響を及ぼすに過ぎない。
次に図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を決定する。
サンプラー130は、訓練サンプル102の選択値132が選択310を示すと判断した場合は、訓練サンプル102を訓練サンプル102のサブセットに追加する。逆に、サンプラー130は、訓練サンプル102の選択値が非選択320を示すと判断した場合は、訓練サンプル102を(たとえば廃棄された訓練サンプル340に)廃棄してもよい。いくつかの実装形態において、DVRLフレームワーク110は、廃棄された訓練サンプル340を、将来の訓練反復のために訓練サンプル102のセットに戻す。他の実装形態において、DVRLフレームワーク110は、廃棄された訓練サンプル340を分離して(すなわち訓練サンプル102のセットから取り出して)、将来の訓練反復に含まれないようにする。
次に図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の移動平均損失を更新する。

Claims (20)

  1. 訓練サンプル(102)を評価する方法(500)であって、前記方法(500)は、
    データ処理ハードウェア(12)において訓練サンプル(102)のセットを取得することと、
    複数の訓練反復のうちの各訓練反復中に、
    前記データ処理ハードウェア(12)が、前記訓練サンプル(102)のセットから訓練サンプル(102)のバッチをサンプリングすることと、
    前記訓練サンプル(102)のバッチ内の訓練サンプル(102)ごとに、前記データ処理ハードウェア(12)が、データ値推定器(120)を用いて、前記データ値推定器(120)の推定器パラメータ値(122)に基づいて前記訓練サンプル(102)の選択確率(106)を決定することと、
    前記データ処理ハードウェア(12)が、各訓練サンプル(102)の前記選択確率(106)に基づいて前記訓練サンプル(102)のバッチから訓練サンプル(102)のサブセットを選択することと、
    前記データ処理ハードウェア(12)が、前記訓練サンプル(102)のサブセットを有する予測器モデル(142)を用いて性能測定値(144)を決定することと、
    前記データ処理ハードウェア(12)が、前記性能測定値(144)に基づいて前記予測器モデル(142)のモデルパラメータ値(143)を調整することと、
    前記データ処理ハードウェア(12)が、前記性能測定値(144)に基づいて前記データ値推定器(120)の前記推定器パラメータ値(122)を更新することとを含む、方法(500)。
  2. 前記予測器モデル(142)を用いて前記性能測定値(144)を決定することは、損失関数によって損失データ(144)を決定することを含む、請求項1に記載の方法(500)。
  3. 前記性能測定値(144)に基づいて前記予測器モデル(142)の前記モデルパラメータ値(143)を調整することは、前記損失データ(144)に基づいて前記予測器モデル(142)の前記モデルパラメータ値(143)を調整することを含む、請求項2に記載の方法(500)。
  4. 前記性能測定値(144)に基づいて前記データ値推定器(120)の前記推定器パラメータ値(122)を更新することは、
    前記損失データ(144)から強化信号(260)を決定することと、
    前記強化信号(260)に基づいて前記データ値推定器(120)の推定器パラメータ値(122)を更新することとを含む、請求項2または3に記載の方法(500)。
  5. 前記強化信号(260)に基づいて前記データ値推定器(120)の前記推定器パラメータ値(122)を更新することはさらに、
    前記損失データ(144)に基づいて報酬値(230)を決定することと、
    前記報酬値(230)に基づいて前記データ値推定器(120)の前記推定器パラメータ値(122)を更新することとを含む、請求項4に記載の方法(500)。
  6. 前記損失データ(144)に基づいて前記報酬値(230)を決定することは、
    前記予測器モデル(142)の直近のN回の訓練反復に基づいて損失データの移動平均を求めることと、
    直近の訓練反復についての前記損失データ(144)と前記損失データの移動平均との差を求めることと、
    前記直近の訓練反復についての前記損失データ(144)と前記損失データの移動平均
    との前記差に基づいて前記報酬値(230)を決定することとを含む、請求項5に記載の方法(500)。
  7. 前記データ値推定器(120)はニューラルネットワークを含み、前記データ値推定器(120)の推定器パラメータ値(122)を更新することは、前記データ値推定器(120)の前記ニューラルネットワークの層パラメータ値を更新することを含む、請求項1~6のいずれか1項に記載の方法(500)。
  8. 各訓練サンプル(102)の前記選択確率(106)に基づいて前記訓練サンプル(102)のバッチから前記訓練サンプル(102)のサブセットを選択することは、前記訓練サンプル(102)のバッチ内の訓練サンプル(102)ごとに、
    選択(310)または非選択(320)を示す対応する選択値(132)を決定することと、
    前記対応する選択値(132)が選択(310)を示す場合、前記訓練サンプル(102)を前記訓練サンプル(102)のサブセットに追加することと、
    前記対応する選択値(132)が非選択(320)を示す場合、前記訓練サンプル(102)を廃棄することとを含む、請求項1~7のいずれか1項に記載の方法(500)。
  9. 前記予測器モデル(142)は確率的勾配降下法を用いて訓練される、請求項1~8のいずれか1項に記載の方法(500)。
  10. 前記訓練サンプル(102)のバッチをサンプリングすることは、前記複数の訓練反復のうちの訓練反復ごとに、前記訓練サンプル(102)のセットから訓練サンプル(102)の異なるバッチをサンプリングすることを含む、請求項1~9のいずれかに記載の方法(500)。
  11. 訓練サンプル(102)を評価するシステム(100)であって、
    データ処理ハードウェア(12)と、
    前記データ処理ハードウェア(12)と通信するメモリハードウェア(14)とを備え、前記メモリハードウェア(14)は、前記データ処理ハードウェア(12)によって実行されると前記データ処理ハードウェア(12)に動作を実行させる命令を格納し、前記動作は、
    訓練サンプル(102)のセットを取得することと、
    複数の訓練反復のうちの各訓練反復中に、
    前記訓練サンプル(102)のセットから訓練サンプル(102)のバッチをサンプリングすることと、
    前記訓練サンプル(102)のバッチ内の訓練サンプル(102)ごとに、データ値推定器(120)を用いて、前記データ値推定器(120)の推定器パラメータ値(122)に基づいて前記訓練サンプル(102)の選択確率(106)を決定することと、
    各訓練サンプル(102)の前記選択確率(106)に基づいて前記訓練サンプル(102)のバッチから訓練サンプル(102)のサブセットを選択することと、
    前記訓練サンプル(102)のサブセットを有する予測器モデル(142)を用いて性能測定値(144)を決定することと、
    前記性能測定値(144)に基づいて前記予測器モデル(142)のモデルパラメータ値(143)を調整することと、
    前記性能測定値(144)に基づいて前記データ値推定器(120)の前記推定器パラメータ値(122)を更新することとを含む、システム(100)。
  12. 前記予測器モデル(142)を用いて前記性能測定値(144)を決定することは、損失関数によって損失データ(144)を決定することを含む、請求項11に記載のシステ
    ム(100)。
  13. 前記性能測定値(144)に基づいて前記予測器モデル(142)の前記モデルパラメータ値(143)を調整することは、前記損失データ(144)に基づいて前記予測器モデル(142)の前記モデルパラメータ値(143)を調整することを含む、請求項12に記載のシステム(100)。
  14. 前記性能測定値(144)に基づいて前記データ値推定器(120)の前記推定器パラメータ値(122)を更新することは、
    前記損失データ(144)から強化信号(260)を決定することと、
    前記強化信号(260)に基づいて前記データ値推定器(120)の推定器パラメータ値(122)を更新することとを含む、請求項12または13に記載のシステム(100)。
  15. 前記強化信号(260)に基づいて前記データ値推定器(120)の前記推定器パラメータ値(122)を更新することは、
    前記損失データ(144)に基づいて報酬値(230)を決定することと、
    前記報酬値(230)に基づいて前記データ値推定器(120)の前記推定器パラメータ値(122)を更新することとを含む、請求項14に記載のシステム(100)。
  16. 前記損失データ(144)に基づいて前記報酬値(230)を決定することは、
    前記予測器モデル(142)の直近のN回の訓練反復に基づいて損失データの移動平均を求めることと、
    直近の訓練反復についての前記損失データ(144)と前記損失データの移動平均との差を求めることと、
    前記直近の訓練反復についての前記損失データ(144)と前記損失データの移動平均との前記差に基づいて前記報酬値(230)を決定することとを含む、請求項15に記載のシステム(100)。
  17. 前記データ値推定器(120)はニューラルネットワークを含み、前記データ値推定器(120)の推定器パラメータ値(122)を更新することは、前記データ値推定器(120)の前記ニューラルネットワークの層パラメータ値を更新することを含む、請求項11~16のいずれか1項に記載のシステム(100)。
  18. 各訓練サンプル(102)の前記選択確率(106)に基づいて前記訓練サンプル(102)のバッチから前記訓練サンプル(102)のサブセットを選択することはさらに、前記訓練サンプル(102)のバッチ内の訓練サンプル(102)ごとに、
    選択(310)または非選択(320)を示す対応する選択値(132)を決定することと、
    前記対応する選択値(132)が選択(310)を示す場合、前記訓練サンプル(102)を前記訓練サンプル(102)のサブセットに追加することと、
    前記対応する選択値(132)が非選択(320)を示す場合、前記訓練サンプル(102)を廃棄することとを含む、請求項11~17のいずれか1項に記載のシステム(100)。
  19. 前記予測器モデル(142)は確率的勾配降下法を用いて訓練される、請求項11~18のいずれか1項に記載のシステム(100)。
  20. 前記訓練サンプル(102)のバッチをサンプリングすることは、前記複数の訓練反復のうちの訓練反復ごとに、前記訓練サンプル(102)のセットから訓練サンプル(10
    2)の異なるバッチをサンプリングすることを含む、請求項11~19のいずれか1項に記載のシステム(100)。
JP2023094084A 2019-09-20 2023-06-07 強化学習を用いたデータ評価 Pending JP2023116621A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962903448P 2019-09-20 2019-09-20
US62/903,448 2019-09-20
PCT/US2020/051678 WO2021055887A1 (en) 2019-09-20 2020-09-19 Data valuation using reinforcement learning
JP2022517883A JP7293504B2 (ja) 2019-09-20 2020-09-19 強化学習を用いたデータ評価

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2022517883A Division JP7293504B2 (ja) 2019-09-20 2020-09-19 強化学習を用いたデータ評価

Publications (1)

Publication Number Publication Date
JP2023116621A true JP2023116621A (ja) 2023-08-22

Family

ID=72744903

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2022517883A Active JP7293504B2 (ja) 2019-09-20 2020-09-19 強化学習を用いたデータ評価
JP2023094084A Pending JP2023116621A (ja) 2019-09-20 2023-06-07 強化学習を用いたデータ評価

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2022517883A Active JP7293504B2 (ja) 2019-09-20 2020-09-19 強化学習を用いたデータ評価

Country Status (6)

Country Link
US (2) US11823058B2 (ja)
EP (1) EP4032025A1 (ja)
JP (2) JP7293504B2 (ja)
KR (1) KR20220064398A (ja)
CN (1) CN114424204A (ja)
WO (1) WO2021055887A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210295130A1 (en) * 2020-03-19 2021-09-23 Mohammad Rasoolinejad Artificial intelligent agent rewarding method determined by social interaction with intelligent observers
US20220101182A1 (en) * 2020-09-28 2022-03-31 International Business Machines Corporation Quality assessment of machine-learning model dataset
CN112949948B (zh) * 2021-04-28 2022-06-21 北京理工大学 电动汽车分时段换电需求区间预测的集成学习方法及系统
CN113434648A (zh) * 2021-06-24 2021-09-24 平安科技(深圳)有限公司 文本分类模型的元学习方法、装置、设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0991430A (ja) * 1995-09-27 1997-04-04 Hitachi Ltd パターン認識装置
US9600776B1 (en) * 2013-11-22 2017-03-21 Groupon, Inc. Automated adaptive data analysis using dynamic data quality assessment
KR102242516B1 (ko) 2016-07-18 2021-04-20 딥마인드 테크놀로지스 리미티드 복수의 기계 학습 태스크에 대해 기계 학습 모델들을 훈련
US20190188566A1 (en) 2016-08-25 2019-06-20 Google Llc Reward augmented model training

Also Published As

Publication number Publication date
JP2022549226A (ja) 2022-11-24
KR20220064398A (ko) 2022-05-18
US20210089870A1 (en) 2021-03-25
US11823058B2 (en) 2023-11-21
JP7293504B2 (ja) 2023-06-19
WO2021055887A1 (en) 2021-03-25
CN114424204A (zh) 2022-04-29
EP4032025A1 (en) 2022-07-27
US20230325675A1 (en) 2023-10-12

Similar Documents

Publication Publication Date Title
JP7293504B2 (ja) 強化学習を用いたデータ評価
US10360517B2 (en) Distributed hyperparameter tuning system for machine learning
US11694109B2 (en) Data processing apparatus for accessing shared memory in processing structured data for modifying a parameter vector data structure
WO2020167490A1 (en) Incremental training of machine learning tools
KR20220062065A (ko) 라벨 잡음이 있는 상태에서 강건한 트레이닝
JP2023126769A (ja) サンプル一致度評価による能動学習
CN110852438A (zh) 模型生成方法和装置
JP7342242B2 (ja) 学習を転移させるための学習のためのフレームワーク
KR20220054410A (ko) 국부적으로 해석 가능한 모델에 기반한 강화 학습
JP6172317B2 (ja) 混合モデル選択の方法及び装置
JP2023116599A (ja) 距離に基づく学習信頼度モデル
CN107644147B (zh) 从多个结果确定充分原因的系统和方法
JP6233432B2 (ja) 混合モデルの選択方法及び装置
CN111724487B (zh) 一种流场数据可视化方法、装置、设备及存储介质
WO2021159095A1 (en) Population-based black-box optimization
JP7447985B2 (ja) 学習装置、学習方法、学習プログラム、推定装置、推定方法及び推定プログラム
WO2022157862A1 (ja) トラフィック変動予測装置、及びトラフィック変動予測方法、並びにトラフィック変動予測プログラム
US20230106295A1 (en) System and method for deriving a performance metric of an artificial intelligence (ai) model
JP7439923B2 (ja) 学習方法、学習装置及びプログラム
US20230214629A1 (en) Transformer-based autoregressive language model selection
US20240070452A1 (en) Automatic optimization with uncertainty aware neural networks
Naqvi et al. Fast Laplace Approximation for Sparse Bayesian Spike and Slab Models.
CA3160910A1 (en) Systems and methods for semi-supervised active learning
KR20200137130A (ko) 영 과잉 데이터의 모델을 생성하는 방법 및 그 장치

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230616

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230616