KR20220064398A - 강화 학습을 사용한 데이터 평가 - Google Patents

강화 학습을 사용한 데이터 평가 Download PDF

Info

Publication number
KR20220064398A
KR20220064398A KR1020227012701A KR20227012701A KR20220064398A KR 20220064398 A KR20220064398 A KR 20220064398A KR 1020227012701 A KR1020227012701 A KR 1020227012701A KR 20227012701 A KR20227012701 A KR 20227012701A KR 20220064398 A KR20220064398 A KR 20220064398A
Authority
KR
South Korea
Prior art keywords
data
estimator
training
value
training samples
Prior art date
Application number
KR1020227012701A
Other languages
English (en)
Inventor
세르칸 오마르 아릭
진성 윤
토마스 존 피스터
Original Assignee
구글 엘엘씨
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 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20220064398A publication Critical patent/KR20220064398A/ko

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
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • 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
    • G06N3/0472
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Multimedia (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

방법(500)은 트레이닝 샘플들의 세트(102)를 획득하는 단계를 포함한다. 복수의 트레이닝 반복들 각각 동안, 방법은 트레이닝 샘플들의 세트로부터 트레이닝 샘플들의 배치를 샘플링하는 단계를 포함한다. 방법은 각각의 트레이닝 샘플에 대해, 데이터 값 추정기(120)를 사용하여 선택 확률(106)을 결정하는 단계를 포함한다. 트레이닝 샘플에 대한 선택 확률은 데이터 값 추정기의 추정기 파라미터 값(122)에 기초한다. 또한 방법은 각 트레이닝 샘플의 선택 확률에 기초하여, 상기 트레이닝 샘플들의 배치로부터 트레이닝 샘플들의 서브세트를 선택하는 단계 및 상기 트레이닝 샘플들의 서브세트를 갖는 예측기 모델(142)을 사용하여, 성능 측정치(144)를 결정하는 단계를 포함한다. 또한 방법은 상기 성능 측정치에 기초하여 상기 예측기 모델의 모델 파라미터 값(143)을 조정하는 단계; 및 상기 성능 측정치에 기초하여 상기 데이터 값 추정기의 추정기 파라미터 값을 업데이트하는 단계를 포함한다.

Description

강화 학습을 사용한 데이터 평가
본 개시물은 강화 학습을 사용한 데이터 평가에 관한 것이다.
기계 학습 모델은 입력을 수신하고 수신된 입력에 기초하여 예측된 출력과 같은 출력을 생성한다. 기계 학습 모델은 데이터에 대해 트레이닝된다. 그러나 데이터의 가치를 정량화하는 것은 기계 학습의 근본적인 문제이다. 기계 학습 모델은 일반적으로 대규모의 고품질 데이터 세트에 대해 트레이닝할 때 개선된다. 그러나 이러한 대규모 고품질 데이터 세트를 수집하는 것은 비용이 많이 들고 어려울 수 있다. 또한 트레이닝 및 라벨링에 가장 유용한 대규모 데이터 세트의 샘플을 결정하는데 필요한 추가 복잡성이 있다. 실제 트레이닝 데이터 세트는 일반적으로 잘못된 라벨을 포함하거나 입력 샘플의 관련성, 샘플 품질 또는 타겟 작업에 대한 유용성이 다르다.
데이터 가치를 정확하게 수량화하면 트레이닝 데이터 세트에 대한 모델 성능이 향상된다. 모든 데이터 샘플을 동일하게 취급하는 대신 데이터 가치가 낮을 때 더 높은 성능의 모델을 얻기 위해 데이터에 더 낮은 우선 순위가 할당될 수 있다. 일반적으로 데이터 평가 성능을 정량화하려면 샘플을 개별적으로 제거하여 성능 손실을 계산한 다음 손실을 해당 샘플의 데이터에 할당해야 한다. 그러나 이러한 방법은 트레이닝 샘플의 수에 따라 선형으로 확장되므로 대규모 데이터 세트 및 복잡한 모델에 엄청난 비용이 든다. 문제에 대한 통찰력을 구축하는 것 외에도 데이터 평가에는 도메인 적응, 손상된 샘플 발견 및 강력한 학습과 같은 다양한 사용 사례가 있다.
본 개시의 일 양태는 트레이닝 샘플을 평가하기 위한 방법을 제공한다. 방법은 데이터 프로세싱 하드웨어에서 트레이닝 샘플들의 세트를 획득하는 단계를 포함한다. 복수의 트레이닝 반복들 각각 동안, 방법은 데이터 프로세싱 하드웨어에 의해, 트레이닝 샘플들의 세트로부터 트레이닝 샘플들의 배치를 샘플링하는 단계를 포함한다. 방법은 트레이닝 샘플들의 배치 내의 각 트레이닝 샘플에 대해, 데이터 프로세싱 하드웨어에 의해, 데이터 값 추정기를 사용하여 선택 확률을 결정하는 단계를 포함한다. 트레이닝 샘플에 대한 선택 확률은 데이터 값 추정기의 추정기 파라미터 값에 기초한다. 방법은 또한 상기 데이터 프로세싱 하드웨어에 의해, 각 트레이닝 샘플의 선택 확률에 기초하여, 상기 트레이닝 샘플들의 배치로부터 트레이닝 샘플들의 서브세트를 선택하는 단계, 및 상기 데이터 프로세싱 하드웨어에 의해, 상기 트레이닝 샘플들의 서브세트를 갖는 예측기 모델을 사용하여, 성능 측정치를 결정하는 단계를 포함한다. 방법은 또한 상기 데이터 프로세싱 하드웨어에 의해, 상기 성능 측정치에 기초하여 상기 예측기 모델의 모델 파라미터 값을 조정하는 단계, 및 상기 데이터 프로세싱 하드웨어에 의해, 상기 성능 측정치에 기초하여 상기 데이터 값 추정기의 추정기 파라미터 값을 업데이트하는 단계를 포함한다.
본 개시의 구현예는 다음 구성들 중 하나 이상을 포함할 수 있다. 일부 구현예에서, 예측기 모델을 사용하여 성능 측정치를 결정하는 단계는 손실 함수에 의해 손실 데이터를 결정하는 단계를 포함한다. 이러한 구현예에서, 성능 측정치에 기초하여 예측기 모델의 모델 파라미터 값을 조정하는 단계는 손실 데이터에 기초하여 예측기 모델의 모델 파라미터 값을 조정하는 단계를 포함한다. 추가적으로, 일부 구현예에서, 상기 성능 측정치에 기초하여 상기 데이터 값 추정기의 추정기 파라미터 값을 업데이트하는 단계는 상기 손실 데이터)로부터 강화 신호를 결정하는 단계; 및 상기 강화 신호에 기초하여 상기 데이터 값 추정기의 추정기 파라미터 값을 업데이트하는 단계를 포함한다. 상기 강화 신호에 기초하여 상기 데이터 값 추정기의 추정기 파라미터 값을 업데이트하는 단계는 상기 손실 데이터에 기초하여 보상 값을 결정하는 단계, 및 상기 보상 값에 기초하여 상기 데이터 값 추정기의 추정기 파라미터 값을 업데이트하는 단계를 포함한다. 이러한 구현예에서, 상기 손실 데이터에 기초하여 보상 값을 결정하는 단계는 상기 예측기 모델의 N번의 가장 최근의 트레이닝 반복에 기초하여 손실 데이터의 이동 평균을 결정하는 단계, 가장 최근의 트레이닝 반복에 대한 손실 데이터와 손실 데이터의 이동 평균 간의 차이를 결정하는 단계, 및 상기 가장 최근의 트레이닝 반복에 대한 손실 데이터와 손실 데이터의 이동 평균 간의 차이에 기초하여 상기 보상 값을 결정하는 단계를 포함한다.
일부 예시에서, 상기 데이터 값 추정기는 신경 네트워크를 포함하고, 상기 데이터 값 추정기의 추정기 파라미터 값을 업데이트하는 단계는 상기 데이터 값 추정기의 신경 네트워크의 레이어 파라미터 값을 업데이트하는 단계를 포함한다. 일부 예에서, 예측기 모델은 확률적 경사하강법을 사용하여 트레이닝된다. 일부 구현예에서, 각 트레이닝 샘플의 선택 확률에 기초하여, 상기 트레이닝 샘플들의 배치로부터 트레이닝 샘플들의 서브세트를 선택하는 단계는 상기 트레이닝 샘플들의 배치의 각 트레이닝 샘플에 대해, 선택 또는 선택 없음을 표시하는 대응하는 선택 값을 결정하는 단계를 포함한다. 대응하는 선택 값이 선택을 표시하면, 방법은 트레이닝 샘플을 트레이닝 샘플들의 서브세트에 추가하는 단계, 및 대등하는 선택 값이 선택 없음을 표시하면, 방법은 상기 트레이닝 샘플을 폐기하는 단계를 더 포함한다. 일부 예시에서, 상기 트레이닝 샘플들의 배치를 샘플링하는 단계는 상기 복수의 트레이닝 반복 각각에 대한 트레이닝 샘플들의 세트로부터 트레이닝 샘플들의 다른 배치를 샘플링하는 단계를 포함한다.
본 개시의 일 양태는 트레이닝 샘플을 평가하기 위한 시스템을 제공한다. 시스템은 데이터 프로세싱 하드웨어와 상기 데이터 프로세싱 하드웨어와 통신하는 메모리 하드웨어를 포함한다. 메모리 하드웨어는 데이터 프로세싱 하드웨어에서 실행될 때 상기 데이터 프로세싱 하드웨어로 하여금 트레이닝 샘플들의 세트를 획득하는 동작을 포함하는 동작들을 수행하게 하는 명령어들 저장한다. 복수의 트레이닝 반복들 각각 동안, 동작들은 트레이닝 샘플들의 세트로부터 트레이닝 샘플들의 배치를 샘플링하는 동작을 포함한다. 동작들은 트레이닝 샘플들의 배치 내의 각 트레이닝 샘플에 대해 데이터 값 추정기를 사용하여 선택 확률을 결정하는 동작을 포함한다 트레이닝 샘플에 대한 선택 확률은 데이터 값 추정기의 추정기 파라미터 값에 기초한다. 또한 동작들은 각 트레이닝 샘플의 선택 확률에 기초하여, 상기 트레이닝 샘플들의 배치로부터 트레이닝 샘플들의 서브세트를 선택하는 동작 및 상기 트레이닝 샘플들의 서브세트를 갖는 예측기 모델을 사용하여, 성능 측정치를 결정하는 동작을 포함한다. 또한 동작들은 상기 성능 측정치에 기초하여 상기 예측기 모델의 모델 파라미터 값을 조정하는 동작; 및 상기 성능 측정치에 기초하여 상기 데이터 값 추정기의 추정기 파라미터 값을 업데이트하는 동작을 포함한다.
본 양태는 다음 구성들 중 하나 이상을 포함할 수 있다. 일부 구현예에서, 예측기 모델을 사용하여 성능 측정치를 결정하는 동작은 손실 함수에 의해 손실 데이터를 결정하는 동작을 포함한다. 이러한 구현예에서, 성능 측정치에 기초하여 예측기 모델의 모델 파라미터 값을 조정하는 동작은 손실 데이터에 기초하여 예측기 모델의 모델 파라미터 값을 조정하는 동작을 포함한다. 추가적으로, 일부 구현예에서, 상기 성능 측정치에 기초하여 상기 데이터 값 추정기의 추정기 파라미터 값을 업데이트하는 동작은 상기 손실 데이터)로부터 강화 신호를 결정하는 동작; 및 상기 강화 신호에 기초하여 상기 데이터 값 추정기의 추정기 파라미터 값을 업데이트하는 동작을 포함한다. 상기 강화 신호에 기초하여 상기 데이터 값 추정기의 추정기 파라미터 값을 업데이트하는 동작은 상기 손실 데이터에 기초하여 보상 값을 결정하는 동작, 및 상기 보상 값에 기초하여 상기 데이터 값 추정기의 추정기 파라미터 값을 업데이트하는 동작을 포함한다. 이러한 구현예에서, 상기 손실 데이터에 기초하여 보상 값을 결정하는 동작은 상기 예측기 모델의 N번의 가장 최근의 트레이닝 반복에 기초하여 손실 데이터의 이동 평균을 결정하는 동작, 가장 최근의 트레이닝 반복에 대한 손실 데이터와 손실 데이터의 이동 평균 간의 차이를 결정하는 동작, 및 상기 가장 최근의 트레이닝 반복에 대한 손실 데이터와 손실 데이터의 이동 평균 간의 차이에 기초하여 상기 보상 값을 결정하는 동작을 포함한다.
일부 예시에서, 상기 데이터 값 추정기는 신경 네트워크를 포함하고, 상기 데이터 값 추정기의 추정기 파라미터 값을 업데이트하는 동작은 상기 데이터 값 추정기의 신경 네트워크의 레이어 파라미터 값을 업데이트하는 동작을 포함한다. 일부 예에서, 예측기 모델은 확률적 경사하강법을 사용하여 트레이닝된다. 일부 구현예에서, 각 트레이닝 샘플의 선택 확률에 기초하여, 상기 트레이닝 샘플들의 배치로부터 트레이닝 샘플들의 서브세트를 선택하는 동작은 상기 트레이닝 샘플들의 배치의 각 트레이닝 샘플에 대해, 선택 또는 선택 없음을 표시하는 대응하는 선택 값을 결정하는 동작을 포함한다. 대응하는 선택 값이 선택을 표시하면, 동작들은 트레이닝 샘플을 트레이닝 샘플들의 서브세트에 추가하는 동작, 및 대등하는 선택 값이 선택 없음을 표시하면, 방법은 상기 트레이닝 샘플을 폐기하는 동작을 더 포함한다. 일부 예시에서, 상기 트레이닝 샘플들의 배치를 샘플링하는 동작은 상기 복수의 트레이닝 반복 각각에 대한 트레이닝 샘플들의 세트로부터 트레이닝 샘플들의 다른 배치를 샘플링하는 동작을 포함한다.
본 개시의 하나 이상의 구현예의 세부 내용이 첨부 도면과 아래의 설명에서 기술된다. 다른 양태, 구성, 객체 및 이점은 아래의 설명, 도면 및 청구항으로부터 명백해질 것이다.
도 1은 데이터 평가를 수행하기 위한 예시적 시스템의 개략도이다.
도 2는 도 1의 시스템의 예시적 컴포넌트의 개략도이다.
도 3은 도 1의 시스템의 추가적 예시적 컴포넌트의 개략도이다.
도 4는 데이터 평가를 위한 모델을 트레이닝하기 위한 알고리즘의 개략도이다.
도 5는 강화 학습을 사용한 데이터 평가 방법에 대한 예시적 동작 구성의 흐름도이다.
도 6는 본 명세서에 기술된 시스템 및 방법을 구현하는데 사용될 수 있는 예시적 컴퓨팅 디바이스의 개략도이다.
다양한 도면들에서 기호들은 동일한 엘리먼트를 표시한다.
예측이 매우 정확하도록 심층 신경 네트워크를 트레이닝하려면 일반적으로 많은 양의 트레이닝 데이터가 필요하다. 그러나 대규모의 고품질 실제 데이터 세트를 수집하는 것은 비용이 많이 들고 어려운 일이다. 또한 신경 네트워크를 정확하게 트레이닝하려면 상당한 시간과 계산 오버헤드가 필요할 수 있다. 트레이닝 데이터의 가치를 정확하게 정량화하면 종종 잘못된 라벨을 포함하거나 품질과 유용성이 다른 실제 단어 트레이닝 데이터 세트의 모델 성능을 향상시킬 수 있는 상당한 잠재력이 있다. 트레이닝 데이터 세트의 모든 데이터 샘플을 동등하게 취급하는 대신 더 낮은 품질의 샘플에 더 낮은 우선 순위를 할당하여 더 높은 성능 모델을 얻을 수 있다. 성능 향상 외에도, 데이터 평가는 데이터 수집을 위한 더 나은 방법을 개발하는데 도움이 될 수 있다. 그러나 역사적으로 데이터 평가는 데이터 세트의 트레이닝 샘플 수에 따라 선형적으로 확장되기 때문에 계산 비용으로 인해 제한되었다.
여기에서 구현예는 예측 모델의 트레이닝과 함께 데이터 값을 적응적으로 학습하기 위한 메타 학습 프레임워크인 강화 학습(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)은 예측기 모델(142)에 대한 입력 트레이닝 샘플들(102)의 관련성을 정량화함으로써 입력 트레이닝 샘플들(102)의 값들을 결정한다.
DVLR 프레임워크(110)는 샘플러(130)를 포함한다. 샘플러(130)는 배치의 각 트레이닝 샘플(102)에 대해 데이터 값 추정기 모델(120)에 의해 결정된 선택 확률(106)을 입력으로서 수신한다. 샘플러(130)는 예측기 모델(142)에 제공할 트레이닝 샘플(102)의 서브세트를 각 트레이닝 샘플(102)의 선택 확률(106)에 기초하여 선택한다. 아래에서 더 자세히 논의되는 바와 같이, 샘플러(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)을 조정 및/또는 업데이트한다. 복수의 트레이닝 반복의 각각의 트레이닝 반복 동안, DVLR(110)은 트레이닝 반복의 성능 측정치(144)에 기초하여 예측기 모델(142)의 모델 파라미터 값(143)을 조정하기 위해 피드백 루프(148)(예를 들어, 역전파)를 사용할 수 있다. DVLR(110)은 트레이닝 반복의 성능 측정치(144)를 사용하여, 동일하거나 상이한 피드백 루프(148)에 기초하여 데이터 값 추정기 모델(120)의 추정기 파라미터 값(122)을 조정할 수 있다. 일부 구현예에서, DVLR 프레임워크(110)는 데이터 값 추정기(120)의 신경 네트워크의 레이어 파라미터 값들을 업데이트함으로써 데이터 값 추정기 모델(120)의 추정기 파라미터 값들(122)을 업데이트한다.
이제 도 2를 참조하면, 개략도(200)는 강화 신호(260) 및 피드백 루프(148)를 갖는 DVLR(110)을 포함한다. 성능 측정치(144)는 손실 데이터를 포함할 수 있다. DVRL 프레임워크(110)는 예측기 모델(142)에 입력된 트레이닝 샘플(102)의 서브세트에 기초하여 손실 함수를 사용하여 손실 데이터(144)를 결정할 수 있다. 일부 예에서, DVRL 프레임워크(110)는 손실 함수(예를 들어, 회귀를 위한 평균 제곱 오차(MSE) 또는 분류를 위한 교차 엔트로피)를 갖는 확률적 경사 하강법 최적화 알고리즘을 사용하여 예측기 모델(142)을 트레이닝한다. 성능 평가기(150)가 손실 함수에 기초하여 손실 데이터(144)를 결정할 때, DVLR(110)은 피드백 루프(148)를 사용하여 성능 측정치(144)(예를 들어, 손실 데이터(144))로 예측기 모델(142)의 모델 파라미터 값(143)을 업데이트한다.
DVRL 프레임워크(110)가 트레이닝 반복에 대한 손실 데이터(144)를 결정한 후, DVLR(110)은 강화 신호(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번의 가장 최근 트레이닝 반복의 평균 간의 차이를 결정할 수 있다. DVLR(110)은 이동 평균 계산기(146)에 의해 결정된 손실 데이터의 이동 평균에 기초하여 보상 값(230)을 생성할 수 있다. 보상 값(230)은 현재 트레이닝 반복 손실 데이터(144)와 손실 데이터의 N번의 가장 최근 트레이닝 반복의 평균 간의 차이에 기초할 수 있다. 일부 구현예에서, DVRL 프레임워크(110)는 강화 신호(260)의 보상 데이터(220)에 보상 값(230)을 추가한다. 다른 구현예에서, DVRL 프레임워크(110)는 강화 신호(260)의 보상 데이터(220)를 증가 또는 감소시킴으로써 보상 데이터(220)에 영향을 미치기 위해 보상 값(230)을 단순히 사용한다.
이제 도 3을 참조하면, 개략도(300)는 트레이닝 샘플들(102)의 서브세트를 선택하는 DVLR(110)을 포함한다. 일부 구현예에서, DVLR(110)은 각각의 트레이닝 샘플(102)에 대한 선택 값(132)을 결정함으로써 트레이닝 샘플들(102)의 서브세트에 대한 트레이닝 샘플들(102)의 배치에서 트레이닝 샘플들(102)을 선택한다. 선택 값(132)은 대응하는 트레이닝 샘플(102)에 대한 선택 또는 선택 없음을 나타낼 수 있다. 데이터 값 추정기 모델(120)이 트레이닝 샘플(102)의 배치에서 트레이닝 샘플(102) 각각에 대한 선택 확률(106)을 생성한 후, 샘플러(130)는 선택(310) 또는 선택 없음(320)을 나타내는 대응하는 선택 값(132)을 결정한다. 선택적으로, 데이터 값 추정기 모델(120)에 의해 생성된 선택 확률(106)은 다항 분포를 따른다. 샘플러(130)는 선택 확률(106)의 분포 및 트레이닝 샘플들(102)의 배치의 대응하는 트레이닝 샘플(102)를 획득하고, 트레이닝 샘플(102)의 배치 내의 각 트레이닝 샘플(102)이 예측기 모델(142)을 트레이닝할 가능성을 결정함으로써 선택 값(132)을 결정한다.
샘플러(130)가 트레이닝 샘플(102)의 선택 값(132)이 선택(310)을 표시한다고 결정하면, 샘플러(130)는 트레이닝 샘플(102)을 트레이닝 샘플(102)의 서브세트에 추가한다. 반대로, 샘플러(130)가 트레이닝 샘플(102)의 선택 값이 선택(320)을 나타내지 않는다고 결정하면, 샘플러(130)는 트레이닝 샘플(102)을 (예를 들어, 폐기된 트레이닝 샘플(340)로) 폐기할 수 있다. 일부 구현에서, DVLR 프레임워크(110)는 폐기된 트레이닝 샘플(340)을 미래의 트레이닝 반복을 위해 트레이닝 샘플(102)의 세트로 되돌려 보낸다. 다른 구현예에서, DVRL 프레임워크(110)는 폐기된 트레이닝 샘플들(340)(즉, 트레이닝 샘플들(102)의 세트로부터 제거됨)을 분리하여 미래의 트레이닝 반복들에 포함되는 것을 방지한다.
이제 도 4을 참조하면, 일부 구현예에서, DVLR(110)은 데이터 값 추정기(120) 및 예측기 모델(142)을 트레이닝하기 위해 알고리즘(400)을 구현한다. 여기서, DVLR(110)은 트레이닝 샘플(102)의 세트(즉, D)를 수용하고, 데이터 값 추정기 모델(120)의 추정기 파라미터 값, 예측기 모델(142)의 모델 파라미터 값을 초기화하고, 이동 평균 손실 계산기(146)의 이동 평균 손실을 재설정한다. DVLR(110)은 수렴까지 각 트레이닝 반복에 대해 트레이닝 샘플들(102)의 세트로부터 트레이닝 샘플들(102)의 배치(즉, 미니 배치 B)를 샘플링하고, 데이터 값 추정기 모델(120)의 추정기 파라미터 값(122) 및 예측기 모델(142)의 모델 파라미터 값(143)을 업데이트한다. 알고리즘(400)을 사용하여, 트레이닝 샘플들(102)의 배치에서 각각의 트레이닝 샘플(102)(즉, j)에 대해, 데이터 값 추정기 모델(120)은 샘플러(130) 선택 값(132)을 사용하여 선택 확률(106) 및 샘플을 계산한다. DVLR(110)은 각각의 트레이닝 반복(즉, t)에 대해 선택(310)을 나타내는 각각의 선택 확률(106) 및 선택 값(132)으로 트레이닝 샘플(102)의 배치를 샘플링하고 성능 측정치(144)(즉, 손실 데이터)를 결정한다. 다음 단계에서, DVLR(110)은 트레이닝 반복에 대한 성능 측정치(144)에 기초하여 예측기 모델(142)의 모델 파라미터 값(143)을 업데이트한다. DVLR(110)은 다음으로 이동 평균 손실 계산기(146)로부터의 이동 평균 손실을 포함하는 트레이닝 반복에 대한 성능 측정치(144)에 기초하여 데이터 값 추정기 모델(120)의 추정기 파라미터 값(122)을 업데이트한다. 마지막 단계에서, DVLR은 이동 평균 손실 계산기(146)에서 이동 평균 손실을 업데이트한다.
도 5는 강화 학습을 사용한 데이터 평가 방법(500)에 대한 예시적 동작 구성의 흐름도이다. 방법(500)은 동작(502)에서 데이터 프로세싱 하드웨어(12)에서 트레이닝 샘플들(102)의 세트를 획득하는 단계를 포함한다. 동작(504)에서, 복수의 트레이닝 반복들 각각 동안, 방법(500)은 트레이닝 샘플들(102)의 배치 내의 각각의 트레이닝 샘플(102)에 대해, 데이터 프로세싱 하드웨어(12)에 의해, 데이터 값 추정기(120)를 사용하여, 데이터 값 추정기(120)의 추정기 파라미터 값에 기초하여 트레이닝 샘플(102)에 대한 선택 확률(106)을 결정하는 단계를 포함한다.
방법(500)은 동작(506)에서, 데이터 프로세싱 하드웨어(12)에 의해, 각 트레이닝 샘플(102)의 선택 확률(106)에 기초하여, 상기 트레이닝 샘플들(102)의 배치로부터 트레이닝 샘플들(102)의 서브세트를 선택하는 단계를 포함한다. 동작(508)에서, 방법(500)은 상기 데이터 프로세싱 하드웨어(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)는 메모리(620) 또는 저장 디바이스(630)에 저장된 명령어들을 포함하는, 컴퓨팅 디바이스(600) 내에서 실행하기 위한 명령어들을 프로세싱하여, 고속 인터페이스(640)에 연결된 디스플레이(680)와 같은 외부 입/출력 디바이스상에 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를 디스플레이할 수 있다. 다른 구현예에서, 다수의 프로세서들 및/또는 다수의 버스들이 다수의 메모리들 및 다수의 유형의 메모리와 함께, 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들(600)은 필요한 동작의 부분들을 제공하는 각 디바이스와 연결될 수 있다(예를 들어, 서버 뱅크, 블레이드 서버 그룹 또는 멀티 프로세서 시스템).
메모리(620)는 컴퓨팅 디바이스(600) 내에 비일시적으로 정보를 저장한다. 메모리(620)는 컴퓨터 판독가능 매체, 휘발성 메모리 유닛(들), 비휘발성 메모리 유닛(들)일 수 있다. 비일시적 메모리(620)는 컴퓨팅 디바이스(600)에 의해 사용하기 위해 일시적 또는 영구적으로 프로그램(예를 들어, 명령어 시퀀스) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는데 사용되는 물리적 디바이스일 수 있다. 비휘발성 메모리의 예는 플래시 메모리 및 읽기 전용 메모리(ROM)/프로그래밍 가능한 읽기 전용 메모리(PROM)/지울 수 있는 프로그램 가능한 읽기 전용 메모리(EPROM)/전자적으로 지울 수 있는 프로그래밍 가능한 읽기 전용 메모리(EEPROM)(예: 일반적으로 부팅 프로그램과 같은 펌웨어에 사용됨)를 포함하지만, 이에 한정되지 않는다. 휘발성 메모리의 예는 RAM(Random Access Memory), DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), PCM(Phase Change Memory), 디스크 또는 테이프 등을 포함하지만, 이에 한정되지 않는다.
저장 디바이스(630)는 컴퓨팅 디바이스(600)에 대한 대형 스토리지를 제공할 수 있다. 일부 구현예에서, 저장 디바이스(630)는 컴퓨터 판독가능 매체이다. 다양한 상이한 구현예에서, 저장 디바이스(630)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광 디스크 디바이스 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 고체 상태 메모리 디바이스, 또는 저장 영역 네트워크 또는 다른 구성의 디바이스를 포함하는 디바이스의 어레이일 수 있다. 일 구현예에서, 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로 수록된다. 컴퓨터 프로그램 제품은 또한 실행될 때 상기 기술된 바와 같은 하나 이상의 방법을 수행하는 명령어들을 포함한다. 정보 캐리어는 메모리(620), 저장 디바이스(630) 또는 프로세서(610)상의 메모리와 같은 컴퓨터 또는 기계 판독가능 매체이다.
고속 제어기(640)는 컴퓨팅 디바이스(600)에 대한 대역폭 집중 동작들을 관리하는 반면, 저속 제어기(660)는 낮은 대역폭 집중 동작들을 관리한다. 이러한 기능들의 할당은 단지 예시적인 것이다. 일부 구현예에서, 고속 제어기(640)는 메모리(620), 디스플레이(680)(예를 들어, 그래픽 프로세서 또는 가속기를 통해) 및 다양한 확장 카드(도시되지 않음)를 수용할 수 있는 고속 확장 포트(650)에 연결된다. 일부 구현예에서, 저속 제어기(660)는 저장 디바이스(630) 및 저속 확장 포트(690)에 연결된다. 다양한 통신 포트(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트(690)는 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입력/출력 디바이스 또는 예를 들어 네트워크 어댑터를 통해 스위치 또는 라우터와 같은 네트워킹 디바이스에 결합될 수 있다.
컴퓨팅 디바이스(600)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 표준 서버(600a)로서 또는 그러한 서버(600a)의 그룹에서 여러 번, 랩톱 컴퓨터(600b)로서 또는 랙 서버 시스템(600c)의 일부로서 구현될 수 있다.
본 명세서에 기술된 시스템들 및 기법들의 다양한 구현예들은 디지털 전자 및/또는 광학 회로, 집적 회로, 특수하게 설계된 ASIC들(application specific integrated circuits), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 구현될 수 있다. 이들 다양한 구현예들은 적어도 하나의 프로그래머블 프로세서를 포함하는 프로그래머블 시스템 상에서 실행가능하고 및/또는 인터프리트가능한 하나 이상의 컴퓨터 프로그램들에서의 구현예를 포함할 수 있고, 이는 전용 또는 범용일 수 있고, 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스으로부터 데이터 및 명령어들을 수신하고 그에 데이터 및 명령어들을 전송하기 위해 연결될 수 있다.
소프트웨어 애플리케이션(즉, 소프트웨어 리소스)은 컴퓨팅 디바이스가 작업을 수행하게 하는 컴퓨터 소프트웨어를 지칭할 수 있다. 일부 예에서, 소프트웨어 애플리케이션은 "애플리케이션", "앱" 또는 "프로그램"으로 지칭될 수 있다. 예시적 애플리케이션은 시스템 진단 애플리케이션, 시스템 관리 애플리케이션, 시스템 유지보수 애플리케이션, 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 메시징 애플리케이션, 미디어 스트리밍 애플리케이션, 소셜 네트워킹 애플리케이션 및 게임 애플리케이션을 포함하지만 이에 한정되지는 않는다.
이들 컴퓨터 프로그램들(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드로도 알려짐)은 프로그래머블 프로세서에 대한 기계 명령어들을 포함하며, 하이레벨 절차어 및/또는 객체 지향 프로그래밍 언어 및/또는 어셈블리/기계어에서 구현될 수 있다. 본 명세서에서 사용된 바와 같이, 용어 "기계 판독가능 매체", "컴퓨터 판독가능 매체"는 기계 판독가능 신호로서 기계 명령어들을 수신하는 기계 판독가능 매체를 포함하여, 기계 명령어들 및/또는 데이터를 프로그래머블 프로세서에 제공하는데 사용되는 임의의 컴퓨터 프로그램 물, 장치 및/또는 디바이스 예를 들어, 자기 디스크, 광학 디스크, 메모리, 비일시적 컴퓨터 판독가능 매체, 프로그래머블 로직 디바이스(PLD)를 지칭한다. 용어 "기계 판독가능 신호"는 기계 명령어들 및/또는 데이터를 프로그래머블 프로세서에 제공하는데 사용되는 임의의 신호를 지칭한다.
본 명세서에 기술된 프로세스들 및 논리 흐름들은 입력 데이터를 동작하고 출력을 생성함으로써 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램들을 실행하는 데이터 프로세싱 하드웨어로도 지칭되는 하나 이상의 프로그래머블 프로세서들에 의해 수행될 수 있다. 프로세스들 및 논리 흐름들은 또한 FPGA 또는 ASIC와 같은 특수 목적 논리 회로에 의해 수행될 수 있다. 컴퓨터 프로그램의 실행에 적절한 프로세서들은, 예시로서, 범용 및 전용 마이크로프로세서들과 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 읽기-전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 엘리먼트들은 명령어들을 수행하기 위한 프로세서 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대형 저장 디바이스들 예를 들면, 자기적, 자기-광학 디스크들 또는 광학적 디스크들 또한 포함하거나 또는 그로부터 데이터를 수신하거나 그에 데이터를 전송하기 위해 동작적으로 결합될 수 있다. 그러나, 컴퓨터는 상기 디바이스들을 반드시 가져야하는 것은 아니다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독가능 매체는 예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스들과 같은 반도체 메모리 디바이스들; 예를 들어, 내부 하드 디스크들 또는 이동식 디스크들과 같은 자기 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보충되거나 그 안에 통합될 수 있다.
사용자와의 인터렉션을 제공하기 위해, 본 개시의 하나 이상의 양태는 사용자에게 정보를 디스플레이하기 위해 예를 들어, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터 또는 터치 스크린과 같은 디스플레이 디바이스 및 선택적으로 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스 예를 들어, 마우스 또는 트랙볼을 갖는 컴퓨터에서 구현될 수 있다. 다른 종류의 디바이스들도 사용자와의 인터렉션을 제공하는데 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각적 피드백일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 추가로, 컴퓨터는 사용자에 의해 사용되는 디바이스에 문서를 송수신함으로써 예를 들어, 웹브라우저로부터 수신된 요청에 응답하여, 사용자의 사용자 디바이스상의 웹브라우저에 웹페이지를 전송함으로써 사용자와 인터렉션할 수 있다.
다수의 구현예들이 기술되었다. 그럼에도 불구하고, 다양한 수정들이 본 발명의 정신과 범위로부터 벗어나지 않고 이루어질 수 있다는 것이 이해될 것이다. 따라서, 다른 구현예들도 다음의 청구항들의 범위 내에 있다.

Claims (20)

  1. 트레이닝 샘플(102)을 평가하기 위한 방법(500)으로서, 상기 방법(500)은:
    데이터 프로세싱 하드웨어(12)에서 트레이닝 샘플들(102)의 세트를 획득하는 단계; 및
    각각의 복수의 트레이닝 반복 동안에:
    상기 데이터 프로세싱 하드웨어(12)에 의해, 상기 트레이닝 샘플들(102)의 세트로부터 트레이닝 샘플들(102)의 배치(batch)를 샘플링하는 단계;
    트레이닝 샘플들(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)을 업데이트하는 단계를 포함하는, 방법.
  2. 청구항 1에 있어서, 상기 예측기 모델(142)을 사용하여 상기 성능 측정치(144)를 결정하는 단계는 손실 함수에 의해 손실 데이터(144)를 결정하는 단계를 포함하는 방법.
  3. 청구항 2에 있어서, 상기 성능 측정치(144)에 기초하여 상기 예측기 모델(142)의 모델 파라미터 값(143)을 조정하는 단계는 상기 손실 데이터(144)에 기초하여 상기 예측기 모델(142)의 모델 파라미터 값(143)을 조정하는 단계를 포함하는, 방법.
  4. 청구항 2 또는 청구항 3에 있어서, 상기 성능 측정치(144)에 기초하여 상기 데이터 값 추정기(120)의 추정기 파라미터 값(122)을 업데이트하는 단계는:
    상기 손실 데이터(144)로부터 강화 신호(260)를 결정하는 단계; 및
    상기 강화 신호(260)에 기초하여 상기 데이터 값 추정기(120)의 추정기 파라미터 값(122)을 업데이트하는 단계를 포함하는, 방법.
  5. 청구항 4에 있어서, 상기 강화 신호(260)에 기초하여 상기 데이터 값 추정기(120)의 추정기 파라미터 값(122)을 업데이트하는 단계는:
    상기 손실 데이터(144)에 기초하여 보상 값(230)을 결정하는 단계; 및
    상기 보상 값(230)에 기초하여 상기 데이터 값 추정기(120)의 추정기 파라미터 값(122)을 업데이트하는 단계를 포함하는, 방법.
  6. 청구항 5에 있어서, 상기 손실 데이터(144)에 기초하여 보상 값(230)을 결정하는 단계는:
    상기 예측기 모델(142)의 N번의 가장 최근의 트레이닝 반복에 기초하여 손실 데이터의 이동 평균을 결정하는 단계;
    가장 최근의 트레이닝 반복에 대한 손실 데이터(144)와 손실 데이터의 이동 평균 간의 차이를 결정하는 단계; 및
    상기 가장 최근의 트레이닝 반복에 대한 손실 데이터(144)와 손실 데이터의 이동 평균 간의 차이에 기초하여 상기 보상 값(230)을 결정하는 단계를 포함하는, 방법.
  7. 청구항 1 내지 6 중 어느 한 항에 있어서, 상기 데이터 값 추정기(120)는 신경 네트워크를 포함하고, 상기 데이터 값 추정기(120)의 추정기 파라미터 값(122)을 업데이트하는 단계는 상기 데이터 값 추정기(120)의 신경 네트워크의 레이어 파라미터 값을 업데이트하는 단계를 포함하는, 방법.
  8. 청구항 1 내지 7 중 어느 한 항에 있어서, 각각의 트레이닝 샘플(102)의 선택 확률(106)에 기초하여, 상기 트레이닝 샘플들(102)의 배치로부터 트레이닝 샘플(102)의 서브세트를 선택하는 단계는 상기 트레이닝 샘플들(102)의 배치의 각 트레이닝 샘플(102)에 대해:
    선택(310) 또는 선택 없음(320)을 표시하는 대응하는 선택 값(132)을 결정하는 단계;
    대응하는 선택 값(132)이 선택(310)을 표시하면, 트레이닝 샘플(102)을 트레이닝 샘플(102)의 서브세트에 추가하는 단계; 및
    상기 대응하는 선택 값(132)이 선택 없음을 표시하면(320), 상기 트레이닝 샘플(102)을 폐기하는 단계를 포함하는, 방법.
  9. 청구항 1 내지 8 중 어느 한 항에 있어서, 상기 예측기 모델(142)은 확률적 경사하강법(stochastic gradient descent)을 사용하여 트레이닝, 방법.
  10. 청구항 1 내지 9 중 어느 한 항에 있어서, 상기 트레이닝 샘플들(102)의 배치를 샘플링하는 단계는 상기 복수의 트레이닝 반복 각각에 대한 트레이닝 샘플들(102)의 세트로부터 트레이닝 샘플들(102)의 다른 배치를 샘플링하는 단계를 포함하는, 방법.
  11. 트레이닝 샘플들(102)을 평가하기 위한 시스템(100)으로서,
    데이터 프로세싱 하드웨어(12); 및
    상기 데이터 프로세싱 하드웨어(12)와 통신하는 메모리 하드웨어(14)를 포함하며, 상기 메모리 하드웨어(14)는 상기 데이터 프로세싱 하드웨어(12)에 의해 실행될 때 상기 데이터 프로세싱 하드웨어(12)로 하여금 동작들을 수행하게 하는 명령어들을 저장하며, 상기 동작들은:
    트레이닝 샘플들(102)의 세트를 획득하는 동작); 및
    각각의 복수의 트레이닝 반복 동안에:
    상기 트레이닝 샘플들(102)의 세트로부터 트레이닝 샘플들(102)의 배치(batch)를 샘플링하는 동작;
    트레이닝 샘플들(102)의 배치 내의 각 트레이닝 샘플(102)에 대해, 데이터 값 추정기(120)를 사용하여, 상기 데이터 값 추정기(120)의 추정기 파라미터 값(122)에 기초하여 상기 트레이닝 샘플(102)에 대한 선택 확률(106)을 결정하는 동작;
    각 트레이닝 샘플(102)의 선택 확률(106)에 기초하여, 상기 트레이닝 샘플들(102)의 배치로부터 트레이닝 샘플들(102)의 서브세트를 선택하는 동작;
    상기 트레이닝 샘플들(102)의 서브세트를 갖는 예측기 모델(142)을 사용하여, 성능 측정치(144)를 결정하는 동작;
    상기 성능 측정치(144)에 기초하여 상기 예측기 모델(142)의 모델 파라미터 값(143)을 조정하는 동작; 및
    상기 성능 측정치(144)에 기초하여 상기 데이터 값 추정기(120)의 추정기 파라미터 값(122)을 업데이트하는 동작을 포함하는, 시스템.
  12. 청구항 11에 있어서, 상기 예측기 모델(142)을 사용하여 상기 성능 측정치(144)를 결정하는 동작은 손실 함수에 의해 손실 데이터(144)를 결정하는 동작을 포함하는, 시스템.
  13. 청구항 12에 있어서, 상기 성능 측정치(144)에 기초하여 상기 예측기 모델(142)의 모델 파라미터 값(143)을 조정하는 동작은 상기 손실 데이터(144)에 기초하여 상기 예측기 모델(142)의 모델 파라미터 값(143)을 조정하는 동작을 포함하는, 시스템.
  14. 청구항 12 또는 청구항 13에 있어서, 상기 성능 측정치(144)에 기초하여 상기 데이터 값 추정기(120)의 추정기 파라미터 값(122)을 업데이트하는 동작은:
    상기 손실 데이터(144)로부터 강화 신호(260)를 결정하는 동작; 및
    상기 강화 신호(260)에 기초하여 상기 데이터 값 추정기(120)의 추정기 파라미터 값(122)을 업데이트하는 동작을 포함하는, 시스템.
  15. 청구항 14에 있어서, 상기 강화 신호(260) 기초하여 상기 데이터 값 추정기(120)의 추정기 파라미터 값(122)을 업데이트하는 동작은:
    상기 손실 데이터(144)에 기초하여 보상 값(230)을 결정하는 동작; 및
    상기 보상 값(230)에 기초하여 상기 데이터 값 추정기(120)의 추정기 파라미터 값(122)을 업데이트하는 동작을 포함하는, 시스템.
  16. 청구항 15에 있어서, 상기 손실 데이터(144)에 기초하여 보상 값(230)을 결정하는 동작은:
    상기 예측기 모델(142)의 N번의 가장 최근의 트레이닝 반복에 기초하여 손실 데이터의 이동 평균을 결정하는 동작;
    가장 최근의 트레이닝 반복에 대한 손실 데이터(144)와 손실 데이터의 이동 평균 간의 차이를 결정하는 동작; 및
    상기 가장 최근의 트레이닝 반복에 대한 손실 데이터(144)와 손실 데이터의 이동 평균 간의 차이에 기초하여 상기 보상 값(230)을 결정하는 동작을 포함하는, 시스템.
  17. 청구항 11 내지 16 중 어느 한 항에 있어서, 상기 데이터 값 추정기(120)는 신경 네트워크를 포함하고, 상기 데이터 값 추정기(120)의 추정기 파라미터 값(122)을 업데이트하는 동작은 상기 데이터 값 추정기(120)의 신경 네트워크의 레이어 파라미터 값을 업데이트하는 동작을 포함하는, 시스템.
  18. 청구항 11 내지 17 중 어느 한 항에 있어서, 각각의 트레이닝 샘플(102)의 선택 확률(106)에 기초하여, 상기 트레이닝 샘플들(102)의 배치로부터 트레이닝 샘플(102)의 서브세트를 선택하는 동작은 상기 트레이닝 샘플들(102)의 배치의 각 트레이닝 샘플(102)에 대해:
    선택(310) 또는 선택 없음(320)을 표시하는 대응하는 선택 값(132)을 결정하는 동작;
    대응하는 선택 값(132)이 선택(310)을 나타낼 때, 트레이닝 샘플(102)을 트레이닝 샘플(102)의 서브세트에 추가하는 동작; 및
    상기 대응하는 선택 값(132)이 선택 없음을 표시하면(320), 상기 트레이닝 샘플(102)을 폐기하는 동작을 포함하는, 시스템.
  19. 청구항 11 내지 18 중 어느 한 항에 있어서, 상기 예측기 모델(142)은 확률적 경사하강법(stochastic gradient descent)을 사용하여 트레이닝, 시스템.
  20. 청구항 11 내지 19 중 어느 한 항에 있어서, 상기 트레이닝 샘플들(102)의 배치를 샘플링하는 동작은 상기 복수의 트레이닝 반복 각각에 대한 트레이닝 샘플들(102)의 세트로부터 트레이닝 샘플들(102)의 다른 배치를 샘플링하는 동작을 포함하는, 시스템.
KR1020227012701A 2019-09-20 2020-09-19 강화 학습을 사용한 데이터 평가 KR20220064398A (ko)

Applications Claiming Priority (3)

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

Publications (1)

Publication Number Publication Date
KR20220064398A true KR20220064398A (ko) 2022-05-18

Family

ID=72744903

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227012701A KR20220064398A (ko) 2019-09-20 2020-09-19 강화 학습을 사용한 데이터 평가

Country Status (6)

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

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 パターン認識装置
US9390112B1 (en) * 2013-11-22 2016-07-12 Groupon, Inc. Automated dynamic data quality assessment
JP6824382B2 (ja) 2016-07-18 2021-02-03 ディープマインド テクノロジーズ リミテッド 複数の機械学習タスクに関する機械学習モデルのトレーニング
US20190188566A1 (en) 2016-08-25 2019-06-20 Google Llc Reward augmented model training

Also Published As

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

Similar Documents

Publication Publication Date Title
KR20220064398A (ko) 강화 학습을 사용한 데이터 평가
US20210089964A1 (en) Robust training in the presence of label noise
US11694109B2 (en) Data processing apparatus for accessing shared memory in processing structured data for modifying a parameter vector data structure
JP2023126769A (ja) サンプル一致度評価による能動学習
JP7304488B2 (ja) 強化学習ベースの局所解釈可能モデル
JP7342242B2 (ja) 学習を転移させるための学習のためのフレームワーク
JP2023116599A (ja) 距離に基づく学習信頼度モデル
JP6233432B2 (ja) 混合モデルの選択方法及び装置
JP7447985B2 (ja) 学習装置、学習方法、学習プログラム、推定装置、推定方法及び推定プログラム
CN113656669A (zh) 标签更新方法及装置
JP7439923B2 (ja) 学習方法、学習装置及びプログラム
CN112348587B (zh) 信息推送方法、装置和电子设备
WO2022157862A1 (ja) トラフィック変動予測装置、及びトラフィック変動予測方法、並びにトラフィック変動予測プログラム
CN116226752A (zh) 一种提高jit缺陷预测性能的方法