KR20200110400A - 학습 데이터 증강 정책 - Google Patents

학습 데이터 증강 정책 Download PDF

Info

Publication number
KR20200110400A
KR20200110400A KR1020207023904A KR20207023904A KR20200110400A KR 20200110400 A KR20200110400 A KR 20200110400A KR 1020207023904 A KR1020207023904 A KR 1020207023904A KR 20207023904 A KR20207023904 A KR 20207023904A KR 20200110400 A KR20200110400 A KR 20200110400A
Authority
KR
South Korea
Prior art keywords
policy
data
training
machine learning
data augmentation
Prior art date
Application number
KR1020207023904A
Other languages
English (en)
Other versions
KR102422729B1 (ko
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 KR20200110400A publication Critical patent/KR20200110400A/ko
Application granted granted Critical
Publication of KR102422729B1 publication Critical patent/KR102422729B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • 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/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0445
    • 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
    • G06N3/0454
    • 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/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • G06N5/003
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Physiology (AREA)
  • Genetics & Genomics (AREA)
  • Image Analysis (AREA)

Abstract

기계 학습 모델을 트레이닝하기 위한 데이터 증강 정책을 학습하는 컴퓨터 저장 매체에 인코딩된 컴퓨터 프로그램들을 포함하는 방법, 시스템 및 장치. 일 양태에서, 방법은: 특정한 기계 학습 작업을 수행하기 위해 기계 학습 모델을 트레이닝하기 위한 트레이닝 데이터를 수신하는 단계; 다수의 데이터 증강 정책을 결정하는 단계, 다수의 시간 단계 각각에서: 이전 시간 단계에서 생성된 데이터 증강 정책의 품질 척도에 기초하여 현재 데이터 증강 정책을 생성하는 단계; 상기 현재 데이터 증강 정책을 사용하여 상기 트레이닝 데이터에 대해 기계 학습 모델을 트레이닝하는 단계; 및 상기 기계 학습 모델이 상기 현재 데이터 증강 정책을 사용하여 트레이닝된 후, 상기 기계 학습 모델을 사용하여 상기 현재 데이터 증강 정책의 품질 척도를 결정하는 단계를 포함하며; 및 상기 결정된 데이터 증강 정책의 품질 척도에 기초하여 최종 데이터 증강 정책을 선택하는 단계를 포함한다.

Description

학습 데이터 증강 정책
본 명세서는 기계 학습 모델을 사용하여 데이터를 프로세싱하는 것과 관련된다.
기계 학습 모델은 입력을 수신하고 수신된 입력에 기초하여 예측된 출력과 같은 출력을 생성한다. 일부 기계 학습 모델들은 파라메트릭 모델들이며, 수신된 입력 및 모델의 파라미터들의 값들에 기초하여 출력을 생성한다.
일부 기계 학습 모델들은 모델들의 다수의 레이어들을 사용하여 수신된 입력에 대한 출력을 생성하는 딥 모델들이다. 예를 들어, 딥 신경 네트워크는 출력 레이어와 출력을 생성하기 위해 수신된 입력에 비선형 변환을 각각 적용하는 하나 이상의 히든 레이어들을 포함하는 딥 기계 학습 모델이다.
본 명세서는 하나 이상의 위치에 있는 하나 이상의 컴퓨터에서 컴퓨터 프로그램으로 구현된 트레이닝 시스템을 설명한다.
제1 양태에 따르면, 특정한 기계 학습 작업을 수행하기 위해 기계 학습 모델을 트레이닝하기 위한 트레이닝 데이터를 수신하는 단계를 포함하는 방법이 제공된다. 트레이닝 데이터에는 다수의 트레이닝 입력을 포함한다. 다수의 데이터 증강 정책이 결정되며, 각각의 데이터 증강 정책은 상기 트레이닝 입력이 기계 학습 모델을 트레이닝하는데 사용되기 전에 트레이닝 입력을 전환하기 위한 절차를 정의하는 다수의 데이터 증강 정책 파라미터를 갖는다.
다수의 시간 단계 각각에서, 이전 시간 단계에서 생성된 데이터 증강 정책의 품질 척도에 기초하여 현재 데이터 증강 정책을 생성된다. 데이터 증강 정책의 품질 척도는 상기 데이터 증강 정책을 사용한 상기 기계 학습 모델의 트레이닝의 결과로서 특정한 기계 학습 작업에 대한 기계 학습 모델의 성능을 표현한다. 상기 현재 데이터 증강 정책을 사용하여 상기 트레이닝 데이터에 대해 기계 학습 모델이 트레이닝된다. 상기 현재 데이터 증강 정책을 사용하여 기계 학습 모델을 트레이닝하는 것은: 트레이닝 데이터의 배치를 선택하는 단계, 상기 데이터 증강 정책에 따라 상기 트레이닝 데이터의 배치에서 상기 트레이닝 입력을 변환함으로써 증강된 트레이닝 데이터의 배치를 결정하는 단계, 및 상기 증강된 트레이닝 데이터 배치에 기초하여 기계 학습 모델 파라미터의 현재 값을 조정하는 단계를 포함한다. 상기 기계 학습 모델이 상기 현재 데이터 증강 정책을 사용하여 트레이닝된 후, 상기 기계 학습 모델을 사용하여 상기 현재 데이터 증강 정책의 품질 척도가 결정된다.
상기 결정된 데이터 증강 정책의 품질 척도에 기초하여 최종 데이터 증강 정책이 선택된다. 상기 최종 데이터 증강 정책을 사용하여 최종 기계 학습 모델을 트레이닝함으로써 최종 트레이닝된 기계 학습 모델이 생성된다.
일부 구현예에서, 특정한 기계 학습 작업은 분류 또는 회귀를 포함하는 이미지 프로세싱 작업이다.
일부 구현예에서, 각 데이터 증강 정책은 하나 이상의 하위 정책을 포함한다. 각 하위 정책은 하나 이상의 변환 튜플의 시퀀스를 포함하며, 각 변환 튜플에 대해, 상기 데이터 증강 정책 파라미터는 (i) 변환 연산 및 (ii) 변환 연산의 크기를 정의한다. 상기 데이터 증강 정책에 따라 상기 트레이닝 데이터 배치에서 상기 트레이닝 입력을 변환하는 단계는 각 트레이닝 입력에 대해: 상기 데이터 증강 정책에 포함된 하위 정책을 식별하는 단계; 및 상기 식별된 하위 정책에 포함된 각 변환 튜플을 상기 트레이닝 입력에 순차적으로 적용함으로써 상기 식별된 하위 정책에 따라 상기 트레이닝 입력을 변환하는 단계를 포함한다.
일부 구현예에서, 상기 트레이닝 입력에 대한 상기 데이터 증강 정책에 포함된 하위 정책을 식별하는 단계는 상기 데이터 증강 정책에 포함된 하위 정책을 무작위로 샘플링하는 단계를 포함한다.
일부 구현예에서, 변환 튜플을 트레이닝 입력에 적용하는 단계는 상기 변환 튜플로부터의 상기 변환 연산 크기를 갖는 상기 변환 튜플로부터의 상기 변환 연산을 상기 트레이닝 입력에 적용하는 단계를 포함한다.
일부 구현예에서, 각 변환 튜플에 대해, 상기 데이터 증강 정책 파라미터는 상기 변환 연산에 적용할 확률을 추가로 정의하며; 그리고 변환 튜플을 상기 트레이닝 입력에 적용하는 단계는 상기 변환 튜플로부터의 상기 변환 연산 크기를 갖는 상기 변환 튜플로부터의 상기 변환 연산을 상기 변환 튜플로부터의 변환 확률로 상기 트레이닝 입력에 적용하는 단계를 포함한다.
일부 구현예에서, 기계 학습 모델은 신경 네트워크이고, 상기 증강된 트레이닝 데이터 배치에 기초하여 기계 학습 모델 파라미터의 현재 값을 조정하는 단계는: 상기 증강된 트레이닝 데이터의 배치를 사용하여 손실 함수의 기울기를 결정하는 단계; 및 상기 기울기를 사용하여 상기 기계 학습 모델 파라미터의 현재 값을 조정하는 단계를 포함한다.
일부 구현예에서, 이전 시간 단계에서 생성된 데이터 증강 정책의 품질 척도에 기초하여 현재 데이터 증강 정책을 생성하는 단계는: 정책 신경 네트워크 파라미터의 현재 값에 따라 정책 신경 네트워크를 사용하여 상기 현재 데이터 증강 정책을 생성하는 단계를 포함하며; 그리고 상기 정책 신경 네트워크는 강화 학습 기법에 의해 트레이닝되며, 각 시간 단계에서, 강화 학습 보상 신호는 시간 단계에서 상기 현재 데이터 증강 정책의 품질 척도에 기초한다.
일부 구현예에서, 각각의 데이터 증강 정책 파라미터에 대해, 상기 정책 네트워크 출력은 상기 데이터 증강 정책 파라미터의 가능한 값에 대한 점수 분포를 정의한다.
일부 구현예에서, 상기 정책 네트워크 출력으로부터 상기 현재 데이터 증강 정책을 결정하는 단계는 상기 데이터 증강 정책 파라미터에 대한 상기 점수 분포를 사용하여 각 데이터 증강 정책 파라미터에 대한 값을 샘플링하는 단계를 포함한다.
일부 구현예에서, 정책 신경 네트워크는 순환 신경 네트워크이다.
일부 구현예에서, 이전 시간 단계에서 생성된 데이터 증강 정책의 품질 척도에 기초하여 현재 데이터 증강 정책을 생성하는 단계는: 유전 프로그래밍(genetic programming) 절차를 사용하여 상기 현재 데이터 증강 정책을 생성하는 단계를 포함한다.
일부 구현예에서, 상기 기계 학습 모델이 상기 현재 데이터 증강 정책을 사용하여 트레이닝된 후, 상기 기계 학습 모델을 사용하여 상기 현재 데이터 증강 정책의 품질 척도를 결정하는 단계는: 복수의 트레이닝 입력을 포함하는 검증 데이터를 사용하여 특정한 기계 학습 작업에 대한 상기 기계 학습 모델의 성능 척도를 결정하는 단계; 및 상기 성능 척도에 기초하여 상기 품질 척도를 결정하는 단계를 포함한다.
일부 구현예에서, 상기 검증 데이터에 포함된 트레이닝 입력은 상기 트레이닝 데이터에 포함되지 않는다.
일부 구현예에서, 상기 결정된 데이터 증강 정책의 품질 척도에 기초하여 최종 데이터 증강 정책을 선택하는 단계는 가장 높은 품질 점수를 갖는 상기 결정된 데이터 보강 정책을 선택하는 단계를 포함한다.
일부 구현예에서 트레이닝 입력은 이미지들이다.
제2 양태에 따르면, 하나 이상의 컴퓨터들과 명령어가 저장된 하나 이상의 저장 디바이스들을 포함하는 시스템이 제공되며, 상기 명령어는 상기 하나 이상의 컴퓨터들에 의해 실행될 때, 상기 하나 이상의 컴퓨터들로 하여금 상기 제1 양태의 동작들을 포함하는 동작을 수행하게 한다.
제3 양태에 따르면, 명령어가 저장된 하나 이상의 컴퓨터 저장 매체가 제공되며, 상기 명령어는 하나 이상의 컴퓨터들에 의해 실행될 때 상기 하나 이상의 컴퓨터들로 하여금 상기 제1 양태의 동작들을 포함하는 동작을 수행하게 한다.
본 명세서에 기술된 본 발명의 특정한 실시예들은 다음의 이점들을 실현하도록 구현될 수 있다.
본 명세서에 기술된 트레이닝 시스템은 수동으로 설계된 데이터 증강 정책이 아닌 "학습된" 데이터 증강 정책을 사용하여 기계 학습 모델을 트레이닝할 수 있다. 트레이닝 시스템은 특정한 데이터 증강 정책을 사용하여 트레이닝된 기계 학습 모델로 하여금 기계 학습 작업을 효과적으로 수행하게 하는 특정한 데이터 증강 정책을 식별하기 위해 가능한 데이터 증강 정책의 공간을 자동으로 검색함으로써 데이터 증강 정책을 학습할 수 있다.
학습된 데이터 증강 정책을 사용하여 트레이닝된 기계 학습 모델은 수동으로 설계된 데이터 증강 정책을 사용하여 트레이닝된 기계 학습 모델보다 더 잘 수행될 수 있다(예를 들어, 더 높은 예측 정확도를 달성함으로써). 더욱이, 학습된 데이터 증강 정책을 사용하면 기계 학습 모델로 하여금 그렇지 않은 경우 필요한 것보다 적은 트레이닝 데이터를 사용하여 허용 가능한 성능 수준을 달성하도록 트레이닝될 수 있으므로, 계산 리소스(예: 메모리)를 보다 효율적으로 사용할 수 있다.
본 명세서에서 기술된 트레이닝 시스템에 의해 학습된 데이터 증강 정책은 일부 경우에, 트레이닝 데이터 세트 간에 전송가능할 수 있다. 즉, 제1 트레이닝 데이터 세트를 참조하여 학습된 데이터 증강 정책을 사용하여 제2 트레이닝 데이터 세트에 대해 기계 학습 모델을 효과적으로 트레이닝할 수 있다(즉, 데이터 증강 정책이 제2 트레이닝 데이터 세트를 참조하여 학습되지 않았더라도). 트레이닝 시스템에 의해 학습된 데이터 증강 정책의 이전 가능성은 새로운 트레이닝 데이터 세트에 대한 새로운 데이터 증강 정책을 학습하는 대신 학습된 데이터 증강 정책을 새로운 트레이닝 데이터 세트에서 재사용하게 함으로써 컴퓨팅 리소스의 소비를 줄일 수 있다.
본 명세서의 발명의 하나 이상의 실시예들의 세부 사항은 첨부 도면과 아래의 설명에서 기술된다. 본 발명의 다른 구성들, 양태들 및 이점들은 설명, 도면 및 청구항으로부터 명백해질 것이다.
도 1은 예시적 트레이닝 시스템을 도시한다.
도 2는 예시적 정책 생성 엔진을 도시한다.
도 3은 예시적 데이터 증강 정책을 도시한다.
도 4는 데이터 증대 정책의 상이한 하위 정책을 원본 이미지에 적용한 효과를 도시한다.
도 5는 트레이닝 시스템을 사용하여 달성할 수 있는 성능 향상의 예를 도시한다.
도 6은 이미지에 적용할 수 있는 다양한 유형의 변환 연산을 설명한다.
도 7은 데이터 증강 정책을 자동으로 선택하고 데이터 증강 정책을 사용하여 기계 학습 모델을 트레이닝하는 예시적 프로세스의 흐름도이다.
다양한 도면들에서 동일한 참조 번호 및 기호는 동일한 구성요소를 표시한다.
본 명세서는 하나 이상의 위치들에서 하나 이상의 컴퓨터들에서 컴퓨터 프로그램들로서 구현되는, 데이터 증강 정책을 사용하여 기계 학습 작업을 수행하기 위해 기계 학습 모델을 트레이닝하는 트레이닝 시스템을 기술한다. 데이터 증강 정책은 기계 학습 모델을 트레이닝하는데 사용되는 트레이닝 입력의 양과 다양성을 증가시키는 데 사용될 수 있으며, 그 결과 트레이닝된 기계 학습 모델이 기계 학습 작업을 더 효과적으로 수행하게 한다(예를 들어, 더 높은 예측 정확도로). 트레이닝 시스템은 가능한 데이터 증강 정책의 공간을 자동으로 검색하여 특정한 데이터 증강 정책을 식별한 다음 특정한 데이터 증강 정책을 사용하여 기계 학습 모델을 트레이닝한다.
도 1은 예시적 트레이닝 시스템(100)을 도시한다. 트레이닝 시스템(100)은 이하에 기술된 시스템들, 컴포넌트들 및 기법들이 구현될 수 있는, 하나 이상의 위치들의 하나 이상의 컴퓨터들에서 컴퓨터 프로그램들로서 구현된 시스템의 예시이다.
트레이닝 시스템(100)은 (i) 트레이닝 데이터의 세트(106) 및 (ii) "최종" 데이터 증강 정책(108)을 사용하여 기계 학습 모델(104)을 트레이닝함으로써 기계 학습 작업을 수행하도록 트레이닝된, 트레이닝된 기계 학습 모델(102)을 생성하도록 구성된다. 아래에서 더 상세히 설명되는 바와 같이, 트레이닝 시스템(100)은 가능한 데이터 증강 정책의 공간을 검색함으로써 최종 데이터 증강 정책(108)을 식별한다.
기계 학습 작업은 이미지에 기초하여 예측을 생성하기 위해 이미지를 프로세싱하는 것을 포함할 수 있다. 즉, 기계 학습 모델(104)은 이미지를 포함하는 입력을 프로세싱하여 대응 출력, 예를 들어 분류 출력, 회귀 출력 또는 이들의 조합을 생성하도록 구성될 수 있다. 다음은 기계 학습 작업의 몇 가지 예다.
일례에서, 기계 학습 모델은 다수의 카테고리 각각에 대응하는 각각의 점수를 포함하는 분류 출력을 생성하기 위해 이미지를 프로세싱하도록 구성된다. 카테고리에 대한 점수는 이미지가 해당 카테고리에 속할 가능성을 나타낸다. 일부 경우에, 카테고리는 오브젝트의 클래스(예: 개, 고양이, 사람 등)일 수 있으며, 이미지가 카테고리에 대응하는 오브젝트 클래스에 포함된 오브젝트를 도시하는 경우 카테고리에 속할 수 있다. 일부 경우에, 카테고리는 글로벌 이미지 속성(예: 이미지가 낮 또는 밤 장면을 표시하는지 또는 이미지가 여름 또는 겨울 장면을 표시하는지 여부)을 나타낼 수 있으며, 이미지가 카테고리에 해당하는 글로벌 속성을 갖는 경우 해당 카테고리에 속할 수 있다.
일례에서, 기계 학습 모델은 각 픽셀에 대해 다수의 카테고리 각각에 대응하는 각각의 점수를 포함하는 픽셀-레벨 분류 출력을 생성하기 위해 이미지를 프로세싱하도록 구성된다. 주어진 픽셀에 대해, 카테고리에 대한 점수는 픽셀이 해당 카테고리에 속할 가능성을 나타낸다. 일부 경우에, 카테고리는 오브젝트의 클래스일 수 있으며, 픽셀이 카테고리에 대응하는 오브젝트 클래스에 포함된 오브젝트의 일부인 경우 픽셀은 카테고리에 속할 수 있다. 즉, 픽셀 레벨 분류 출력은 시맨틱 세분화 출력일 수 있다.
다른 예에서, 기계 학습 모델은 이미지를 특성화하는 하나 이상의 연속 변수(즉, 무한히 많은 가능한 숫자 값을 가정할 수 있음)를 추정하는 회귀 출력을 생성하기 위해 이미지를 프로세싱하도록 구성된다. 특정한 예에서, 회귀 출력은 이미지에 도시된 각 오브젝트들을 둘러싸는 경계 상자의 좌표를 추정할 수 있다. 경계 상자의 좌표는 경계 상자의 꼭지점의 x-y 좌표로 정의될 수 있다.
편의상, 본 명세서에서는 기계 학습 작업을 주로 이미지에 기초한 예측을 생성하기 위해 이미지를 프로세싱하는 것으로 설명한다. 보다 일반적으로, 기계 학습 작업은 입력에 기초한 예측을 생성하기 위해 입력을 프로세싱하는 모든 작업을 포함할 수 있다. 기계 학습 작업의 몇 가지 추가 예가 다음에 설명된다.
일 예시에서, 기계 학습 작업은 음성 인식 작업일 수 있으며, 여기서 기계 학습 모델은 오디오 파형의 표현을 프로세싱하여 오디오 파형에 대응하는 음소, 문자 또는 단어의 시퀀스를 특성화하는 출력을 생성하도록 구성된다.
다른 예에서, 기계 학습 작업은 비디오 분석 작업일 수 있으며, 여기서 기계 학습 모델은 비디오 프레임의 시퀀스를 프로세싱하여, 예를 들어 비디오 프레임이 특정한 액션을 수행하는 사람을 도시하는지 여부를 특성화함으로써 비디오 프레임을 특성화하는 출력을 생성하도록 구성된다.
다른 예에서, 기계 학습 작업은 자연어 프로세싱 작업일 수 있으며, 여기서 기계 학습 모델은 텍스트의 일부를 프로세싱하여, 예를 들어 텍스트의 일부의 다른 자연어로의 번역을 특성화함으로써, 텍스트의 일부를 특성화하는 출력을 생성하도록 구성된다.
트레이닝 데이터(106)는 다수의 트레이닝 예시로 구성되며, 여기서 각 트레이닝 예시는 트레이닝 입력 및 대응하는 목표 출력을 특정한다. 트레이닝 입력은 이미지를 포함한다. 목표 출력은 트레이닝 입력을 프로세싱함으로써 기계 학습 모델에 의해 생성되어야 하는 출력을 나타낸다. 예를 들어, 목표 출력은 입력 이미지에 대응하는 카테고리(예: 오브젝트 클래스)를 특정하는 분류 출력이거나, 입력 이미지에 대응하는 하나 이상의 연속 변수(예: 오브젝트 경계 상자 좌표)를 특정하는 회귀 출력일 수 있다.
기계 학습 모델(104)은 임의의 적절한 기계 학습 모델 아키텍처를 가질 수 있다. 예를 들어, 기계 학습 모델은 신경 네트워크 모델, 랜덤 포레스트 모델, SVM(Support Vector Machine) 모델, 선형 모델 또는 이들의 조합일 수 있다.
시스템(100)은 트레이닝 데이터(106) 및 임의의 다양한 방식으로 기계 학습 모델(104)을 정의하는 데이터를 수신할 수 있다. 예를 들어, 시스템(100)은 데이터 통신 네트워크를 통해, 예를 들어 시스템(100)에 의해 사용가능한 애플리케이션 프로그래밍 인터페이스(API)를 사용하여, 시스템(100)의 원격 사용자로부터 업로드로서 트레이닝 데이터(106) 및 기계 학습 모델(104)을 정의하는 데이터를 수신할 수 있다.
데이터 증강 정책은 트레이닝 입력이 기계 학습 모델을 트레이닝하는데 사용되기 전에 트레이닝 입력(즉, 트레이닝 예시에 포함됨)을 변환하는 절차를 특정하는 파라미터의 세트(이 문서에서는 "데이터 증강 정책 파라미터"라고 함)에 의해 정의된다. 데이터 증강 정책 및 대응하는 데이터 증강 정책 파라미터의 예시는 도 3을 참조하여 더 상세히 설명된다.
트레이닝 입력을 변환하는 절차는 일반적으로 트레이닝 입력에 포함된 이미지에 하나 이상의 연산(이 문서에서 "변환 연산"이라고 함)을 적용하는 것을 포함한다. 연산은 임의의 적절한 종류의 이미지 프로세싱 연산, 예를 들어 병진 연산, 회전 연산, 시어링 연산, 컬러 반전 연산, 또는 이들의 조합일 수 있다. 데이터 증강 정책 파라미터는 어떤 변환 연산을 적용해야 하는지, 어떤 크기로, 어떤 확률로 적용할지 특정할 수 있다. 가능한 변환 연산의 예는 도 6을 참조하여 더 상세히 설명된다.
시스템(100)은 가능한 데이터 증강 정책의 공간으로부터 높은 "품질 척도"를 갖는 데이터 증강 정책을 식별하기 위해 검색 알고리즘을 구현한다. 데이터 증강 정책의 품질 척도는 데이터 증강 정책을 사용하여 트레이닝된 기계 학습 모델의 성능(예: 예측 정확도)을 특성화한다. 편의상, 이 문서에서 더 높은 품질 척도는 더 나은 성능(예: 더 높은 예측 정확도)을 의미하는 것으로 이해될 것이다.
시스템(100)은 "검증 세트"에 대한 데이터 증강 정책을 사용하여 트레이닝된 기계 학습 모델의 성능을 평가함으로써 데이터 증강 정책의 품질 척도를 결정할 수 있다. 검증 세트는 기계 학습 모델을 트레이닝하는데 사용되지 않은 하나 이상의 트레이닝 예시로 구성된다. 예를 들어, 시스템(100)은 검증 세트에 대한 트레이닝된 기계 학습 모델의 임의의 적절한 성능 척도, 예를 들어, F1 점수 또는 매튜스 상관 계수(분류 작업의 경우), 또는 제곱 오차 또는 절대 오차(회귀 작업의 경우)에 기초하여 품질 척도(110)을 결정할 수 있다. 낮은 값이 트레이닝된 기계 학습 모델의 더 나은 성능을 나타내는 성능 척도의 경우(예: 제곱 오차 성능 측정), 데이터 증강 정책의 품질 척도는 성능 척도에 반비례할 수 있다(즉, 더 높은 품질 척도는 여전히 더 나은 성능을 의미함).
시스템(100)은 예를 들어 트레이닝 데이터(106)(즉, 기계 학습 모델 트레이닝에 사용됨) 및 검증 세트(즉, 트레이닝된 기계 학습 모델의 성능 평가에 사용됨)를 생성하기 위해 더 큰 트레이닝 데이터의 세트를 무작위로 분할함으로써, 검증 세트를 획득할 수 있다.
이 문서 전체에서 사용된 바와 같이, 가능한 데이터 증강 정책의 공간은 데이터 증강 정책 파라미터의 가능한 값으로 파라미터화된 공간을 지칭한다.
트레이닝 시스템(100)은 트레이닝 엔진(112) 및 정책 생성 엔진(114)을 포함한다.
본 명세서에서 "시간 단계"로 지칭되는 복수의 반복 각각에서, 정책 생성 엔진(114)은 하나 이상의 "현재" 데이터 증강 정책(116)을 생성한다. 각각의 현재 데이터 증강 정책(116)에 대해, 시스템(100)은 트레이닝 엔진(112)을 사용하여 현재 데이터 증강 정책을 사용하여 기계 학습 모델(104)을 트레이닝하고 그 후 현재 데이터 증강 정책의 품질 척도(110)를 결정한다. 정책 생성 엔진(114)은 현재 데이터 증강 정책(116)의 품질 척도(110)를 사용하여, 다음 시간 단계를 위해 생성된 데이터 증강 정책의 예상 품질 척도를 개선한다.
기계 학습 모델 트레이닝은 기계 학습 모델의 파라미터의 초기 값으로부터 기계 학습 모델의 파라미터의 트레이닝된 값을 결정하는 것을 지칭한다. 트레이닝 엔진(112)은 예를 들어, 기계 학습 모델 파라미터의 무작위로 선택된 또는 디폴트 초기 값으로부터 시작하여 기계 학습 모델(104)을 트레이닝할 수 있다.
일반적으로, 기계 학습 모델은 "새로운" 학습 예를 생성하기 위해 기존 트레이닝 예시의 트레이닝 입력을 변환하고, 기계 학습 모델을 트레이닝하기 위해 새로운 트레이닝 예시를 사용함으로써(기존 트레이닝 예시 대신 또는 추가로) 데이터 증강 정책을 사용하여 트레이닝될 수 있다. 예를 들어, 트레이닝 예시의 트레이닝 입력에 포함된 이미지는 데이터 증강 정책에 의해 특정된 하나 이상의 이미지 프로세싱 연산을 이미지에 적용함으로써 변환될 수 있다.
일부 경우에, 트레이닝 예시의 트레이닝 입력은 동일한 대응 목표 출력을 유지하면서 변환될 수 있다(예를 들어, 데이터 증강 정책에 따라). 예를 들어, 목표 출력이 트레이닝 입력에 도시된 오브젝트의 유형을 특정하는 이미지 분류 작업의 경우, 트레이닝 입력에 포함된 이미지에 이미지 프로세싱 연산(예: 회전, 시어링 등)을 적용하는 것은 이미지에 도시된 오브젝트의 유형에 영향을 주지 않을 수 있다. 따라서, 이 예에서, 변환된 트레이닝 입력은 원래 트레이닝 입력과 동일한 목표 출력에 대응한다.
그러나, 특정 상황에서, 트레이닝 예시의 트레이닝 입력을 변환하려면 트레이닝 예시의 목표 출력을 변경해야 할 수 있다. 일 예시에서, 트레이닝 입력에 대응하는 목표 출력은 트레이닝 입력의 이미지에 도시된 오브젝트를 둘러싸는 경계 상자의 좌표를 특정할 수 있다. 이 예시에서, 트레이닝 입력의 이미지에 병진 연산을 적용하려면 목표 출력에 의해 특정된 경계 상자 좌표에 동일한 병진 연산을 적용해야 한다.
데이터 증강 정책을 사용하여 기계 학습 모델(104)을 트레이닝하기 위해 트레이닝 엔진(112)에 의해 수행되는 특정 연산은 기계 학습 모델(104)의 아키텍처, 예를 들어 기계 학습 모델(104)이 신경 네트워크 모델인지 랜덤 포레스트 모델인지에 따라 달라진다. 데이터 증강 정책을 사용하여 신경 네트워크 모델을 트레이닝하는 예시는 도 7을 참조하여 더 자세히 설명한다.
정책 생성 엔진(114)은 가능한 데이터 증강 정책의 공간을 검색하기 위해 임의의 다양한 기법을 사용할 수 있다. 일 구현예에서, 정책 생성 엔진(114)은 본 문서에서 "정책" 네트워크로 지칭되는 신경 네트워크를 사용하여 데이터 증강 정책을 생성한다. 정책 네트워크는 강화 학습 기법을 사용하여 트레이닝될 수 있으며, 보상(즉, 정책 네트워크가 최대화되도록 트레이닝됨)은 정책 신경 네트워크에 의해 생성된 데이터 증강 정책에 대응하는 품질 척도에 의해 제공된다. 강화 학습 기법을 사용하여 트레이닝된 정책 네트워크를 사용하는 정책 생성 엔진(114)의 예시적 구현예는 도 2를 참조하여 더 상세히 설명된다.
다른 구현예에서, 정책 생성 엔진(114)은 가능한 데이터 증강 정책의 공간을 검색하기 위해 임의의 다양한 기법을 사용할 수 있다. 예를 들어, 정책 생성 엔진(114)은 예를 들어, H. Mania, A. Guy 및 B. Recht "Simple random search provides a competitive approach to reinforcement learning", arXiv : 1803.07055 v1, 2018.를 참조하여 설명된 랜덤 검색 기법을 사용할 수 있다. 다른 예로서, 정책 생성 엔진(114)은 예를 들어 E. Real, A. Aggarwal, Y. Huang 및 QV Le : "Regularized evolution for image classifier architecture search" arXiv : 1802.01548, 2018를 참조하여 설명된 진화 검색 기법(즉, "유전 프로그래밍 절차")을 사용할 수 있다.
시스템(100)은 검색 종료 기준이 만족될 때까지 데이터 증강 정책을 계속 생성할 수 있다. 예를 들어, 트레이닝 시스템(100)은 미리 정해진 수의 시간 단계 동안 데이터 증강 정책이 생성된 경우 검색 종료 기준을 만족한다고 결정할 수 있다. 다른 예로, 트레이닝 시스템(100)은 생성된 데이터 증강 정책의 품질 척도가 미리 결정된 임계치를 만족하는 경우 검색 종료 기준을 만족한다고 결정할 수 있다.
검색 종료 기준이 만족된 것으로 결정한 후, 시스템(100)은 생성된 데이터 증강 정책의 각 품질 척도(110)에 기초하여 최종 데이터 증강 정책을 선택한다. 예를 들어, 시스템(100)은 품질 점수가 가장 높은 트레이닝 시스템(100)에 의해 생성된 데이터 증강 정책을 최종 데이터 증강 정책으로 선택할 수 있다. 도 3을 참조하여 보다 상세히 설명될 다른 예로서, 시스템(100)은 최고 품질 점수를 갖는 트레이닝 시스템에 의해 생성된 미리 결정된 수(예를 들어, 5)의 데이터 증강 정책을 결합하여 최종 데이터 증강 정책(108)을 생성할 수 있다.
시스템(100)은 최종 데이터 증강 정책(108)을 사용하여 트레이닝 데이터(106)에 대해 기계 학습 모델(104)을 트레이닝함으로써 트레이닝된 기계 학습 모델(102)을 생성할 수 있고, 그 후에 트레이닝된 기계 학습 모델(102)을 정의하는 데이터를 출력할 수 있다.
일부 구현예에서, 트레이닝된 기계 학습 모델(102)을 출력하는 대신 또는 그에 더하여, 시스템(100)은 예를 들어 시스템(100)에 의해 제공되는 API를 통해 사용자에 의해 수신된 요청을 프로세싱하기 위해 트레이닝된 기계 학습 모델(102)을 사용한다. 즉, 시스템(100)은 프로세싱할 입력을 수신하고, 입력을 프로세싱하기 위해 트레이닝된 기계 학습 모델(102)을 사용하고, 트레이닝된 기계 학습 모델(102)에 의해 생성된 출력 또는 수신된 입력에 응답하여 생성된 출력에서 파생된 데이터를 제공할 수 있다.
트레이닝 시스템(100)이 트레이닝 데이터의 특정한 세트(106)에 대해 최종 데이터 증강 정책(108)을 결정하는 동안, 최종 데이터 증강 정책(108)은 (일부 경우에) 다른 트레이닝 데이터 세트로 전송가능할 수 있다. 즉, 트레이닝 데이터(106)에 대해 결정된 최종 데이터 증강 정책(108)은 다른 세트의 트레이닝 데이터에 대해 다른 기계 학습 모델을 효과적으로 트레이닝하는데 사용될 수 있다.
도 2는 예시적 정책 생성 엔진(114)을 도시한다. 정책 생성 엔진(114)은 정책 네트워크(202)의 파라미터에 따라 정책 네트워크 출력을 생성하도록 구성된 정책 신경 네트워크(202) 및 정책 네트워크 파라미터 값을 조정하도록 구성된 파라미터 업데이트 엔진(204)을 포함한다. 정책 네트워크(202)에 의해 생성된 각각의 정책 네트워크 출력(206)은 각각의 데이터 증강 정책(116)을 정의한다.
특히, 각각의 정책 네트워크 출력(206)은 다수의 출력 위치 각각에서 각각의 출력을 포함하고, 각각의 출력 위치는 상이한 데이터 증강 정책 파라미터에 대응한다. 따라서, 각각의 정책 네트워크 출력은 각각의 출력 위치에서 대응하는 데이터 증강 정책 파라미터의 각각의 값을 포함한다. 종합적으로, 주어진 정책 네트워크 출력에 의해 특정된 데이터 증강 정책 파라미터의 값은 데이터 증강 정책을 정의한다.
각각의 시간 단계에서, 정책 생성 엔진(114)은 정책 네트워크(202)를 사용하여 정책 네트워크 파라미터의 현재 값에 따라 하나 이상의 정책 네트워크 출력(206)을 생성하고, 이들 각각은 각각의 데이터 증강 정책(116)을 정의한다.
정책 네트워크(202)는 하나 이상의 순환 신경 네트워크 레이어, 예를 들어 장단기 메모리(LSTM) 레이어 또는 게이트 반복 단위(GRU) 레이어를 포함하는 순환 신경 네트워크이다. 정책 네트워크(202)는 정책 네트워크 출력(206)의 출력 위치 시퀀스에서 각 출력 위치에 대응하는 각각의 데이터 증강 정책 파라미터를 순차적으로 생성함으로써 정책 네트워크 출력(206)을 생성한다. 특히, 각각의 출력 위치에 대해, 정책 네트워크(202)는 정책 네트워크 출력(206)의 선행 출력 위치에 대응하는 데이터 증강 정책 파라미터의 값을 입력으로서 수신하고 입력을 프로세싱하여 정책 네트워크(202)의 현재 히든 상태를 업데이트한다. 정책 네트워크 출력의 제1 출력 위치에 대해, 선행 출력 위치가 없기 때문에, 정책 네트워크(202)는 미리 결정된 플레이스홀더 입력을 프로세싱할 수 있다.
정책 네트워크(202)는 또한 정책 네트워크 출력(206)의 각 출력 위치에 대한 각각의 출력 레이어를 포함한다. 출력 위치에 대응하는 출력 레이어는 출력 위치에 대응하는 데이터 증강 정책 파라미터의 가능한 값에 대한 점수 분포를 정의하는 출력을 생성하기 위해 출력 위치에 대응하는 정책 네트워크(202)의 업데이트된 히든 상태를 프로세싱한다. 예를 들어, 출력 레이어는 우선 정책 네트워크(202)의 업데이트된 히든 상태를 대응하는 데이터 증강 정책 파라미터에 대한 가능한 값의 수에 대한 적절한 차원으로 투영할 수 있다. 그 다음, 출력 레이어는 소프트맥스를 투영된 히든 상태에 적용하여 대응하는 데이터 증강 정책 파라미터에 대한 여러 가능한 값 각각에 대해 각각의 점수를 생성할 수 있다.
각각의 출력 위치에 대해, 정책 네트워크(202)는 (즉, 대응하는 출력 레이어에 의해 생성된) 데이터 증강 정책 파라미터의 가능한 값에 대한 점수 분포로부터 샘플링함으로써 대응하는 데이터 증강 정책 파라미터에 대한 값을 생성한다. 주어진 데이터 증강 정책 파라미터가 취할 수 있는 가능한 값은 트레이닝 전에 고정되며, 가능한 값의 수는 데이터 증강 정책 파라미터마다 다를 수 있다.
일반적으로, 정책 네트워크 파라미터의 값은 시간 단계 내에서 변경되지 않는다. 그러나, 가능한 값에 대한 점수 분포로부터 데이터 증강 정책 파라미터의 값을 샘플링함으로써, 정책 네트워크(202)는 각 시간 단계에서 다수의 별개의 정책 네트워크 출력(206)(즉, 각각이 상이한 데이터 증강 정책(116)에 대응함)을 생성할 수 있다.
시간 단계에서 생성된 각각의 데이터 증강 정책(116)에 대해, 트레이닝 시스템(100)은 데이터 증강 정책(116)을 사용하여 기계 학습 모델을 트레이닝하고, 그 후에 트레이닝된 기계 학습 모델(앞에서 설명된 바와 같이)의 각각의 품질 척도(110)를 결정한다.
파라미터 업데이트 엔진(204)은 강화 학습 기법을 사용하여 정책 네트워크 파라미터의 현재 값을 업데이트하기 위해 보상 신호로서 품질 척도(110)을 사용한다. 즉, 파라미터 업데이트 엔진(204)은 강화 학습 기법을 사용하여 대응하는 데이터 증강 정책의 품질 척도를 증가시키는 정책 네트워크 출력을 생성하도록 정책 네트워크를 트레이닝함으로써 정책 네트워크 파라미터의 현재 값을 조정한다. 보다 구체적으로, 파라미터 업데이트 엔진(204)은 대응하는 데이터 증강 정책의 품질 척도에 기초하여 결정된 수신된 보상을 최대화하는 정책 네트워크 출력을 생성하도록 정책 네트워크를 트레이닝한다. 특히, 주어진 정책 네트워크 출력에 대한 보상은 주어진 정책 네트워크 출력에 의해 정의된 데이터 증강 정책의 품질 척도의 함수이다. 예를 들어, 보상은 품질 척도, 품질 척도 값의 제곱, 품질 척도의 큐브, 품질 척도의 제곱근 등 중 하나이거나 이에 정비례할 수 있다.
일부 경우에, 파라미터 업데이트 엔진(204)은 정책 기울기 기법을 사용하여 예상되는 보상을 최대화하도록 정책 네트워크(202)를 트레이닝한다. 예를 들어 정책 기울기 기법은 REINFORCE 기법 또는 PPO(Proximal Policy Optimization) 기법일 수 있다. 예를 들어, 주어진 시간 단계에서, 파라미터 업데이트 엔진(204)은 다음에 의해 주어진 정책 네트워크 파라미터의 기울기 조합을 사용하여 정책 네트워크 파라미터의 현재 값을 업데이트한다:
Figure pct00001
Figure pct00002
는 시간 단계에서 생성된 정책 네트워크 출력을 인덱싱하고,
Figure pct00003
는 시간 단계에서 생성된 정책 네트워크 출력의 총 수이고,
Figure pct00004
는 정책 네트워크 출력에서 출력 위치를 인덱싱하며, T는 정책 네트워크 출력에서 총 출력 위치 수이고,
Figure pct00005
는 정책 네트워크 파라미터에 대한 기울기 연산자이고,
Figure pct00006
는 정책 네트워크 출력
Figure pct00007
의 출력 위치
Figure pct00008
에서 생성된 데이터 증강 정책 파라미터에 대응하는 점수이고,
Figure pct00009
는 정책 네트워크 출력 k에 대한 보상이고, b는 기준 함수, 예를 들어 이전 보상의 지수 이동 평균이다.
정책 네트워크 파라미터의 값을 반복적으로 업데이트함으로써, 파라미터 업데이트 엔진(204)은 기계 학습 작업에 대한 성능을 증가시키는 트레이닝된 기계 학습 모델을 초래하는 데이터 증강 정책을 정의하는 정책 네트워크 출력을 생성하도록 정책 네트워크(202)를 트레이닝할 수 있다. 즉, 이러한 방식으로 정책 네트워크 파라미터의 값을 업데이트하면 정책 네트워크에 의해 제안된 데이터 증강 정책을 사용하여 트레이닝된 기계 학습 모델의 검증 세트에 대한 예상 정확도를 높일 수 있다.
도 3은 예시적 데이터 증강 정책(300)을 도시한다. 데이터 증강 정책(300)은 하나 이상의 "하위 정책"(302-A-302-N)으로 구성된다. 각 하위 정책은 변환 연산(예: 304-A - 304-M) 예를 들어, 이미지 프로세싱 연산, 예를 들어 병진, 회전 또는 시어링 연산의 시퀀스를 특정한다. 각 변환 연산은 연관된 크기(예: 306-A-306-M) 및 연관된 확률(예: 308-A-308-M)을 가지고 있다.
변환 연산의 크기는 변환 연산을 트레이닝 입력에 적용하는 방법을 특정하는 하나 이상의 숫자 값의 정렬된 모음이다. 예를 들어, 변환 연산의 크기는 이미지가 x 및 y 방향으로 병진되어야 하는 픽셀 수를 특정할 수 있다. 다른 예로서, 회전 연산의 크기는 이미지가 회전되어야 하는 라디안의 수를 특정할 수 있다.
데이터 증강 정책(300)을 사용하여 트레이닝 입력을 변환하기 위해, 예를 들어, 하위 정책을 무작위로 샘플링함으로써, 데이터 증강 정책에 포함된 하위 정책의 세트로부터 하위 정책이 선택된다. 그 다음, 선택된 하위 정책에 의해 특정된 변환 연산의 시퀀스의 각 변환 연산에 대해, 변환 연산이 변환 연산과 관련된 확률로 트레이닝 입력에 적용된다. 변환 연산이 트레이닝 입력에 적용되면 변환 연산과 관련된 크기로 적용된다. 트레이닝 입력에 적용되는 변환 연산은 하위 정책에 의해 특정된 변환 연산의 순서에 따라 적용된다. 이미지에 다른 하위 정책을 적용하는 효과의 예가 도 4에 도시된다.
예시적 데이터 증강 정책(300)의 파라미터는 각 하위 정책의 각 변환 연산에 대해 (i) 변환 연산의 유형(예: 병진, 회전, 시어링 등), (ii) 변환 연산의 크기 및 (iii) 변환 연산을 적용할 확률을 포함한다.
각 데이터 증강 정책 파라미터는 가능한 값의 미리 결정된 세트를 가질 수 있다. 예를 들어, 변환 연산의 유형은 가능한 변환 유형의 미리 결정된 세트로부터 선택될 수 있다. 변환 연산의 크기는 예를 들어 허용 가능한 값의 연속 범위에 걸쳐 균일하게 간격을 둔 미리 결정된 수의 가능한 값을 가질 수 있다. 예를 들어, 회전 연산의 경우 허용 가능한 값의 연속 범위는
Figure pct00010
라디안일 수 있고, 및 회전 연산의 크기의 가능한 값은
Figure pct00011
일 수 있다. 변환 연산을 적용할 확률은 예를 들어 범위 전체에 걸쳐 균일한 간격으로 미리 정해진 수의 가능한 값
Figure pct00012
을 가질 수 있다. 일 예시에서, 변환 연산을 적용할 확률의 가능한 값은
Figure pct00013
일 수 있다.
데이터 증강 정책은 미리 결정된 수의 하위 정책을 가질 수 있으며, 각 하위 정책은 미리 결정된 수의 변환 연산을 특정할 수 있다. 일부 경우에, 변환 연산을 적용할 확률이 0이 되어, 변환 연산이 트레이닝 입력에 적용되지 않을 수 있다. 이러한 방식으로 데이터 증강 정책의 공간을 설계하면 발견되는 데이터 증강 정책의 다양성을 높일 수 있다.
특정 예에서, 데이터 증강 정책은 5개의 하위 정책을 가질 수 있으며, 각 정책은 2개의 변환 연산을 특정한다. 각 변환 연산은 각각의 스칼라 크기와 확률 값을 가지며, 16개의 다른 변환 유형 중 하나일 수 있다. 이 예에서 데이터 증강 정책은 총
Figure pct00014
파라미터를 갖는다. 변환 연산의 크기가 10개의 가능한 값을 가지고, 변환 연산을 적용할 확률이 11개의 가능한 값을 갖는 경우, 가능한 데이터 증강 정책의 공간은 대략
Figure pct00015
데이터 증강 정책을 포함한다.
도 1을 참조하여 설명된 바와 같이, 트레이닝 시스템(100)은 최고 품질 점수를 갖는 트레이닝 시스템(100)에 의해 생성된 미리 결정된 수의 데이터 증강 정책을 결합하여 최종 데이터 증강 정책을 생성할 수 있다. 도 3을 참조하여 설명한 형태를 갖는 데이터 증강 정책에 대해, 다수의 데이터 증강 정책은 각각의 하위 정책을 하나의 결합된 데이터 증강 정책으로 통합함으로써 결합할 수 있다. 결합된 데이터 증강 정책을 트레이닝 입력에 적용하기 위해, 결합된 하위 정책 모음에서 하위 정책 중 하나를 무작위로 선택할 수 있으며, 트레이닝 입력은 무작위로 선택된 하위 정책(앞서 기술된 바와 같이)에 의해 특정된 변환 연산의 시퀀스에 따라 변환될 수 있다.
도 4는 상이한 하위 정책을 원본 이미지(400)에 적용한 효과를 도시한다. 예를 들어, "하위 정책 1"은 (i) 대응 확률 0.4 및 크기 4의 이퀄라이징 연산 및 (ii) 대응 확률 0.8 및 크기 8도의 회전 연산을 포함하는 변환 연산의 시퀀스를 특정한다. 이퀄라이징 연산과 회전 연산에 대해서는 도 6를 참조하여 보다 상세히 설명된다. 하위 정책 1을 원본 이미지(400)에 3번의 상이한 적용하는 효과는 402, 404 및 406에 의해 도시된다. 도 4는 또한 원본 이미지(400)에 "하위 정책 2", "하위 정책 3", "하위 정책 4" 및 "하위 정책 5"를 적용한 효과를 도시한다.
도 5는 본 명세서에 기술된 트레이닝 시스템을 사용하여 달성할 수 있는 성능 향상의 예를 도시한다. 다수의 트레이닝 데이터 세트(예: "CIFAR-10", "CIFAR-100", "SVHN", "Stanford Cars" 및 "ImageNet") 각각에 대해, 트레이닝 시스템(100)에 의해 선택된 데이터 증강 정책을 사용하여 트레이닝된 신경 네트워크 모델의 오류율은(즉, 대응하는 검증 세트에서 평가됨) 트레이닝 데이터 세트에 대해 가장 잘 퍼블리시된 결과 중 일부를 초과한다.
도 6은 이미지에 적용할 수 있는 다양한 유형의 변환 연산을 설명한다. 임의의 주어진 증강 정책의 파라미터 중 하나의 값은 도 6에 도시된 변환 유형 세트로부터 어떤 변환 유형이 주어진 증강 정책에 포함되는지 정의할 수 있다.
도 7은 데이터 증강 정책을 자동으로 선택하고 데이터 증강 정책을 사용하여 기계 학습 모델을 트레이닝하는 예시적 프로세스(700)의 흐름도이다. 편의상, 프로세스(700)는 하나 이상의 위치들에 위치된 하나 이상의 컴퓨터들의 시스템에 의해 수행되는 것으로서 기술될 것이다. 예를 들어, 본 명세서에 따라 적절하게 프로그래밍된 트레이닝 시스템, 예를 들어 도 1의 트레이닝 시스템(100)은 프로세스(700)를 수행할 수 있다.
시스템은 특정한 기계 학습 작업을 수행하기 위해 기계 학습 모델을 트레이닝하기 위한 트레이닝 데이터를 수신한다(702). 예를 들어, 시스템은 시스템에서 사용할 수 있는 API를 통해 트레이닝 데이터를 수신할 수 있다. 트레이닝 데이터는 각각 트레이닝 입력과 대응 목표 출력을 특정하는 다수의 트레이닝 예시들을 포함한다.
시스템은 다수의 시간 단계 각각에서 프로세스(700)의 단계(704-708)를 수행한다. 편의상, 단계들(704-708) 각각은 "현재" 시간 단계에서 수행되는 것으로 설명될 것이다.
시스템은 이전 시간 단계에서 생성된 데이터 증강 정책의 품질 척도에 기초하여 하나 이상의 현재 데이터 증강 정책을 생성한다(704). 현재 시간 단계가 제1 시간 단계인 경우, 시스템은 예를 들어 각 데이터 증강 정책을 정의하는 파라미터 값을 무작위로 선택함으로써 다양한 방법 중 하나로 데이터 증강 정책을 생성할 수 있다. 하나의 구현예에서, 시스템은 이전 시간 단계에서 생성된 데이터 증강 정책의 품질 척도에 의해 정의된 보상에 기초하여, 강화 학습 기법을 사용하여 트레이닝된 정책 네트워크를 사용하여 현재 데이터 증강 정책을 생성할 수 있다(예를 들어, 도 2를 참조하여 기술된 바와 같이). 다른 구현예에서, 시스템은 임의의 다양한 적절한 검색 기법, 예를 들어 랜덤 검색 기법 또는 진화 검색 기법을 사용하여 현재 데이터 증강 정책을 생성할 수 있다.
각각의 현재 데이터 증강 정책에 대해, 시스템은 현재 데이터 증강 정책을 사용하여 트레이닝 데이터에 대한 기계 학습 모델을 트레이닝한다(706). 일 예에서, 기계 학습 모델은 신경 네트워크 모델이고, 시스템은 다수의 트레이닝 반복을 통해 신경 네트워크 모델을 트레이닝한다. 각 트레이닝 반복에서, 시스템은 하나 이상의 트레이닝 예시의 현재 "배치" (즉, 세트)를 선택한 다음, 현재 데이터 증강 정책을 사용하여 트레이닝 예시의 현재 배치에서 트레이닝 입력을 변환함으로써, "증강된" 트레이닝 예시의 배치를 결정한다. 선택적으로, 시스템은 (앞서 설명한 바와 같이) 트레이닝 입력에 적용된 변환을 고려하기 위해 트레이닝 예시의 현재 배치에서 목표 출력을 조정할 수 있다. 시스템은 기계 학습 모델의 현재 파라미터 값에 따라 변환된 트레이닝 입력을 프로세싱하여 대응 출력을 생성한다. 그 다음 시스템은 (i) 기계 학습 모델에 의해 생성된 출력과 (ii) 트레이닝 예시에 의해 특정된 목표 출력 사이의 유사성을 측정하는 목적 함수의 기울기를 결정하고, 상기 기울기를 사용하여 기계 학습 모델 파라미터의 현재 값을 조정한다. 시스템은 예를 들어 역전파 절차를 사용하여 기울기를 결정할 수 있으며, 시스템은 임의의 적절한 기울기 하강 최적화 절차, 예를 들어 RMSprop 또는 Adam 절차를 사용하여 기계 학습 모델 파라미터의 현재 값을 조정하기 위해 기울기를 사용할 수 있다.
각각의 현재 데이터 증강 정책에 대해, 시스템은 상기 기계 학습 모델이 상기 현재 데이터 증강 정책을 사용하여 트레이닝된 후, 상기 기계 학습 모델을 사용하여 상기 현재 데이터 증강 정책의 품질 척도를 결정한다(708). 예를 들어, 시스템은 품질 척도가 기계 학습 모델을 트레이닝하는데 사용되지 않는 다수의 트레이닝 예시로 구성된 검증 데이터의 세트에 대해 트레이닝된 기계 학습 모델의 성능 척도(예: F1 점수 또는 평균 제곱 오차)이도록 결정할 수 있다.
시스템은 검색 종료 기준이 만족될 때까지(예를 들어, 단계 704-708이 미리 결정된 횟수만큼 수행된 경우) 단계 704-708을 반복적으로 수행할 수 있다.
시스템이 검색 종료 기준을 만족한다고 결정한 후, 시스템은 단계 704-708 동안 생성된 데이터 증강 정책의 품질 척도에 기초하여 최종 데이터 증강 정책을 선택한다(710). 예를 들어, 시스템은 최고 품질 점수를 갖는 단계 704-708 동안 생성된 미리 결정된 수의 데이터 증강 정책을 결합함으로써 최종 데이터 증강 정책을 생성할 수 있다.
시스템은 최종 데이터 증강 정책을 사용하여 트레이닝 데이터에 대해 기계 학습 모델을 트레이닝함으로써 최종 트레이닝된 기계 학습 모델을 생성한다(712). 시스템은 최종 트레이닝된 기계 학습 모델을 시스템 사용자에게 제공할 수 있다. 대안적으로 또는 조합하여, 시스템은 트레이닝된 기계 학습 모델을 사용하여 사용자로부터 수신된 요청을 프로세싱할 수 있다.
일부 경우에, 시스템은 시스템이 단계(706)에서 생성된 "현재" 데이터 증강 정책을 사용하여 기계 학습 모델을 트레이닝할 때 보다 더 많은 수의 트레이닝 반복에 대해 최종 데이터 증강 정책을 사용하여 최종 기계 학습 모델을 트레이닝할 수 있다. 예를 들어, 시스템은 수렴 기준이 만족될 때까지, 예를 들어 검증 세트에서 평가된 최종 기계 학습 모델의 예측 정확도가 최소치에 도달할 때까지, 최종 데이터 증강 정책을 사용하여 최종 기계 학습 모델을 트레이닝할 수 있다. 다른 한편으로, 시스템은 더 작은(예를 들어, 고정된) 수의 트레이닝 반복을 위해 단계 706에서 생성된 현재 데이터 증강 정책 각각을 트레이닝할 수 있다.
본 명세서는 시스템 및 컴퓨터 프로그램 컴포넌트들과 관련하여 "구성된"이라는 용어를 사용한다. 하나 이상의 컴퓨터들의 시스템은 특정한 동작들 또는 액션 수단들을 수행하도록 구성되며, 상기 시스템에 소프트웨어, 펌웨어, 하드웨어 또는 그들의 조합이 설치되어 동작시 상기 시스템으로 하여금 동작들 또는 액션들을 수행하게 한다. 하나 이상의 컴퓨터 프로그램들은 특정한 동작들 또는 액션 수단들을 수행하도록 구성되며, 상기 하나 이상의 프로그램들은 데이터 프로세싱 장치에 의해 실행될 때, 상기 장치로 하여금 동작들 또는 액션들을 수행하게 하는 명령어들을 포함한다.
본 발명의 실시예들과 본 명세서에 기술된 기능적 동작들은 본 발명에 개시된 구조들 및 그들의 구조적 균등물들 또는 그들 중 하나 이상의 조합들을 포함하는, 디지털 전자회로에서, 유형적으로 수록된 컴퓨터 소프트웨어 또는 펌웨어에서, 컴퓨터 하드웨어에서 구현될 수 있다. 본 명세서에 기술된 본 발명의 실시예들은 하나 이상의 컴퓨터 프로그램들로서 구현될 수 있다. 즉, 데이터 프로세싱 장치에 의해 실행 또는 데이터 프로세싱 장치의 동작을 제어하기 위한 유형적 비일시적인 저장 매체에 인코딩된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈들. 컴퓨터 저장 매체는 기계 판독가능 저장 디바이스, 기계 판독가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 디바이스 또는 그들 중 하나 이상의 조합일 수 있다. 대안적으로 또는 추가로, 프로그램 명령어들은 데이터 프로세싱 장치에 의해 실행하기 위한 적절한 수신기 장치에 전송하기 위한 정보를 인코딩하기 위해 생성된 인공적으로 생성된 전파된 신호 즉, 기계-생성 전기, 광학 또는 전자기적 신호에 인코딩될 수 있다.
용어 "데이터 프로세싱 장치"는 데이터 프로세싱 하드웨어를 지칭하며, 예시로서 프로그래머블 프로세서, 컴퓨터, 또는 다수의 프로세서들 또는 컴퓨터들을 포함하는 데이터를 프로세싱하기 위한 모든 종류의 장치, 디바이스들 및 기계들을 포함한다. 상기 장치는 특수 목적 논리 회로, 예를 들어 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)이거나 특수 목적 논리 회로를 포함할 수 있다. 장치는 하드웨어 이외에 컴퓨터 프로그램들에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제 또는 그들 중 하나 이상의 조합을 구성하는 코드를 선택적으로 포함할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 앱, 모듈, 소프트웨어 모듈, 스크립트 또는 코드로도 참조되거나 기술될 수 있음)은 컴파일된 또는 인터프리트된 언어들, 또는 선언적 또는 절차적 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 독립형 프로그램으로서 또는 모듈, 컴포넌트, 서브루틴으로서 또는 컴퓨팅 환경에서 사용하기에 적합한 기타 단위를 포함하는 임의의 형태로 배포될 수 있다. 프로그램은 파일 시스템의 파일에 대응할 수 있지만, 반드시 그런 것은 아니다. 프로그램은 다른 프로그램들이나 데이터, 예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트들을 가지는 파일의 부분에, 문제되는 프로그램 전용 단일의 파일에 또는 다수의 조정된 파일들, 예를 들어, 하나 이상의 모듈들, 서브프로그램 또는 코드의 일부를 저장하는 파일들에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 하나의 사이트에 위치되어 있거나 다수의 사이트들에 걸쳐서 분산되어 있고 데이터 통신 네트워크에 의해 상호연결된 다수의 컴퓨터들에서 실행되도록 배포될 수 있다.
본 명세서에서 용어 "엔진"은 하나 이상의 특정 기능을 수행하도록 프로그램된 소프트웨어 기반 시스템, 서브시스템 또는 프로세스를 지칭하기 위해 광범위하게 사용된다. 일반적으로 엔진은 하나 이상의 소프트웨어 모듈 또는 컴포넌트들로 구현될 것이며, 하나 이상의 위치들에 있는 하나 이상의 컴퓨터들에 설치된다. 일부 경우에, 하나 이상의 컴퓨터들은 특정한 엔진 전용일 수 있고; 다른 경우에, 다수의 엔진들이 동일한 컴퓨터나 컴퓨터들에 설치되고 실행될 수 있다.
본 명세서에 기술된 프로세스들 및 논리 흐름들은 입력 데이터를 동작하고 출력을 생성함으로써 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그래머블 컴퓨터들에 의해 수행될 수 있다. 프로세스들 및 논리 흐름은 특수 목적 논리 회로, 예를 들어 FPGA 또는 ASIC에 의해 또는 특수 목적 논리 회로와 하나 이상의 프로그래밍된 컴퓨터의 조합에 의해 수행될 수 있다.
컴퓨터 프로그램의 실행에 적절한 컴퓨터들은 일반적 또는 특수 목적 마이크로프로세서들 또는 둘 모두, 또는 임의의 기타 종류의 중앙 프로세싱 유닛에 기초할 수 있다. 일반적으로, 중앙 프로세싱 유닛은 읽기-전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 엘리먼트들은 명령어들을 수행하거나 실행하기 위한 중앙 프로세싱 유닛 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 중앙 프로세싱 유닛 및 메모리는 특수 목적 논리 회로에 의해 보충되거나 그 안에 통합될 수 있다. 일반적으로, 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대형 저장 디바이스들 예를 들면, 자기적, 자기-광학 디스크들 또는 광학적 디스크들 또한 포함하거나 또는 그로부터 데이터를 수신하거나 그에 데이터를 전송하기 위해 동작적으로 결합될 수 있다. 그러나, 컴퓨터는 상기 디바이스들을 반드시 가져야하는 것은 아니다. 추가로, 컴퓨터는 다른 디바이스, 예를 들어, 몇 가지만 나열하면, 모바일 전화, 개인 휴대 정보 단말기(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, GPS 수신기 또는 휴대용 저장 디바이스 예를 들어, 범용 직렬 버스(USB) 플래시 드라이브에 내장될 수 있다.
컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독가능 매체는 예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스들과 같은 반도체 메모리 디바이스들; 예를 들어, 내부 하드 디스크들 또는 이동식 디스크들과 같은 자기 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다.
사용자와의 인터렉션을 제공하기 위해, 본 명세서에서 기술된 본 발명의 실시예들은 사용자에게 정보를 디스플레이하기 위해 예를 들어, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터와 같은 디스플레이 디바이스 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스 예를 들어, 마우스 또는 트랙볼을 갖는 컴퓨터에서 구현될 수 있다. 다른 종류의 디바이스들도 사용자와의 인터렉션을 제공하는데 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각적 피드백일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 추가로, 컴퓨터는 사용자에 의해 사용되는 디바이스에 문서를 송수신함으로써 예를 들어, 웹 브라우저로부터 수신된 요청에 응답하여, 사용자의 디바이스상의 웹 브라우저에 웹 페이지를 전송함으로써 사용자와 인터렉션할 수 있다. 또한, 컴퓨터는 텍스트 메시지 또는 다른 형태의 메시지를 개인 디바이스(예: 메시징 어플리케이션을 실행 중인 스마트폰)로 보내고, 응답으로 사용자로부터 응답 메시지를 수신함으로써 사용자와 인터렉션할 수 있다.
기계 학습 모델들을 구현하는 데이터 프로세싱 장치는 예를 들어, 기계 학습 트레이닝 또는 생산, 즉 추론, 작업 부하의 공통 및 계산 집중적 부분을 프로세싱하기 위한 특수 목적 하드웨어 가속기 유닛을 포함할 수 있다.
기계 학습 모델들은 기계 학습 프레임 워크(예: TensorFlow 프레임 워크, Microsoft Cognitive Toolkit 프레임 워크, Apache Singa 프레임 워크 또는 Apache MXNet 프레임 워크)를 사용하여 구현 및 배치될 수 있다.
본 명세서에서 기술된 발명의 실시예는 예를 들어 데이터 서버와 같은 백엔드 컴포넌트, 애플리케이션 서버와 같은 미들웨어 컴포넌트 또는 그래픽 사용자 인터페이스를 가지는 사용자 컴퓨터 또는 사용자가 본 명세서에 기술된 본 발명의 구현예와 인터렉션할 수 있는 웹 브라우저 또는 앱과 같은 프론트엔드 컴포넌트 또는 하나 이상의 상기 백엔드, 미들웨어 또는 프론트엔드 컴포넌트들의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들어 통신 네트워크에 의해 상호연결될 수 있다. 통신 네트워크들의 예시들은 LAN(local area network) 및 WAN(wide area network) 예를 들어, 인터넷을 포함한다.
컴퓨팅 시스템은 사용자들 및 서버들을 포함할 수 있다. 사용자와 서버는 일반적으로 서로 멀리 떨어져 있으며, 일반적으로 통신 네트워크를 통해 인터렉션한다. 사용자와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 사용자-서버 관계를 갖는 컴퓨터 프로그램에 의해 발생한다. 일부 실시예에서, 서버는 예를 들어, 디바이스와 인터렉션하는 사용자에게 데이터를 디스플레이하고 사용자로부터 사용자 입력을 수신하기 위해, 클라이언트로서 동작하는 사용자 디바이스에 데이터(예: HTML 페이지)를 전송한다. 사용자 디바이스에서 생성된 데이터(예를 들어, 사용자 인터렉션의 결과)는 서버에서 디바이스로부터 수신될 수 있다.
본 명세서는 많은 특정 구현 세부내용을 포함하지만, 이들은 임의의 발명의 범위 또는 청구될 수 있는 범위에 대한 제한으로서 해석되어서는 안되며, 오히려 특정한 발명의 특정한 실시예에 특정적일 수 있는 구성들에 대한 설명으로 해석되어야 한다. 별개의 실시예의 컨텍스트에서 본 명세서에서 기술되는 일정 구성들은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시예의 컨텍스트에서 기술된 다양한 구성들은 또한 다수의 실시예에서 개별적으로 또는 임의의 적합한 서브 조합으로 구현될 수 있다. 게다가, 구성들은 일정 조합으로 동작하고 심지어 초기적으로 그렇게 청구되는 것으로서 상기에서 기술될 수 있지만, 청구된 조합으로부터의 하나 이상의 구성들은 일부 경우, 조합으로부터 제거될 수 있고, 청구된 조합은 서브 조합 또는 서브 조합의 변형으로 안내될 수 있다.
유사하게, 동작들이 특정한 순서로 도면에서 도시되고 청구항들에 기재되었지만, 이는 상기 동작들이 도시된 특정한 순서로 또는 시계열적 순서로 수행되어야 함을 요구하는 것으로서 또는 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안된다. 특정 환경에서, 멀티태스킹과 병렬 프로세싱은 이점이 있다. 게다가, 상기 기술된 실시예에서 다양한 시스템 모듈들 및 컴포넌트들의 분리는 모든 실시예에서 그러한 분리가 필요한 것으로서 이해되어서는 안되며, 일반적으로 기술된 프로그램 컴포넌트들 및 시스템들은 단일의 소프트웨어 제품에 함께 통합되거나 다수의 소프트웨어 제품들에 패키징될 수 있다고 이해되어야 한다.
본 발명의 특정한 실시예들이 기술되었다. 다른 실시예들도 다음의 청구항들의 범위 내에 있다. 예를 들면, 청구항들에서 기재된 액션들은 상이한 순서로 수행되고 여전히 원하는 결과들을 달성할 수 있다. 일 예시로서, 첨부 도면들에 도시된 프로세스들은 원하는 결과들을 달성하기 위해 특정한 도시된 순서, 또는 시계열적 순서를 반드시 필요로 하지 않는다. 일부 경우에, 멀티태스킹과 병렬 프로세싱은 이점이 있다.

Claims (18)

  1. 방법으로서,
    특정한 기계 학습 작업을 수행하기 위해 기계 학습 모델을 트레이닝하기 위한 트레이닝 데이터를 수신하는 단계, 상기 트레이닝 데이터는 복수의 트레이닝 입력을 포함하며;
    복수의 데이터 증강 정책을 결정하는 단계, 각각의 데이터 증강 정책은 상기 트레이닝 입력이 기계 학습 모델을 트레이닝하는데 사용되기 전에 트레이닝 입력을 전환하기 위한 절차를 정의하는 복수의 데이터 증강 정책 파라미터를 가지며, 상기 결정하는 단계는 다수의 시간 단계 각각에서:
    이전 시간 단계에서 생성된 데이터 증강 정책의 품질 척도에 기초하여 현재 데이터 증강 정책을 생성하는 단계, 데이터 증강 정책의 품질 척도는 상기 데이터 증강 정책을 사용한 상기 기계 학습 모델의 트레이닝의 결과로서 특정한 기계 학습 작업에 대한 기계 학습 모델의 성능을 표현하며;
    상기 현재 데이터 증강 정책을 사용하여 상기 트레이닝 데이터에 대해 기계 학습 모델을 트레이닝하는 단계, 데이터 증강 정책을 사용하여 기계 학습 모델을 트레이닝하는 단계는:
    트레이닝 데이터의 배치를 선택하는 단계;
    상기 데이터 증강 정책에 따라 상기 트레이닝 데이터의 배치에서 상기 트레이닝 입력을 변환함으로써 증강된 트레이닝 데이터의 배치를 결정하는 단계; 및
    상기 증강된 트레이닝 데이터 배치에 기초하여 기계 학습 모델 파라미터의 현재 값을 조정하는 단계; 및
    상기 기계 학습 모델이 상기 현재 데이터 증강 정책을 사용하여 트레이닝된 후, 상기 기계 학습 모델을 사용하여 상기 현재 데이터 증강 정책의 품질 척도를 결정하는 단계를 포함하며;
    상기 결정된 데이터 증강 정책의 품질 척도에 기초하여 최종 데이터 증강 정책을 선택하는 단계; 및
    상기 최종 데이터 증강 정책을 사용하여 최종 기계 학습 모델을 트레이닝함으로써 최종 트레이닝된 기계 학습 모델을 생성하는 단계를 포함하는, 방법.
  2. 청구항 1에 있어서, 상기 특정한 기계 학습 작업은 분류 또는 회귀를 포함하는 이미지 프로세싱 작업인, 방법.
  3. 청구항 1 내지 2 중 어느 한 항에 있어서,
    각 데이터 증강 정책은 하나 이상의 하위 정책을 포함하며;
    각 하위 정책은 하나 이상의 변환 튜플의 시퀀스를 포함하며, 각 변환 튜플에 대해, 상기 데이터 증강 정책 파라미터는 (i) 변환 연산 및 (ii) 변환 연산의 크기를 정의하며; 그리고
    상기 데이터 증강 정책에 따라 상기 트레이닝 데이터 배치에서 상기 트레이닝 입력을 변환하는 단계는 각 트레이닝 입력에 대해:
    상기 데이터 증강 정책에 포함된 하위 정책을 식별하는 단계; 및
    상기 식별된 하위 정책에 포함된 각 변환 튜플을 상기 트레이닝 입력에 순차적으로 적용함으로써 상기 식별된 하위 정책에 따라 상기 트레이닝 입력을 변환하는 단계를 포함하는, 방법.
  4. 청구항 3에 있어서, 상기 트레이닝 입력에 대한 상기 데이터 증강 정책에 포함된 하위 정책을 식별하는 단계는 상기 데이터 증강 정책에 포함된 하위 정책을 무작위로 샘플링하는 단계를 포함하는, 방법.
  5. 청구항 3 내지 4 중 어느 한 항에 있어서, 상기 변환 튜플을 상기 트레이닝 입력에 적용하는 단계는:
    상기 변환 튜플로부터의 상기 변환 연산 크기를 갖는 상기 변환 튜플로부터의 상기 변환 연산을 상기 트레이닝 입력에 적용하는 단계를 포함하는, 방법.
  6. 청구항 3 내지 4 중 어느 한 항에 있어서,
    각 변환 튜플에 대해, 상기 데이터 증강 정책 파라미터는 상기 변환 연산에 적용할 확률을 추가로 정의하며; 그리고
    변환 튜플을 상기 트레이닝 입력에 적용하는 단계는:
    상기 변환 튜플로부터의 상기 변환 연산 크기를 갖는 상기 변환 튜플로부터의 상기 변환 연산을 상기 변환 튜플로부터의 변환 확률로 상기 트레이닝 입력에 적용하는 단계를 포함하는, 방법.
  7. 청구항 1 내지 6 중 어느 한 항에 있어서, 상기 기계 학습 모델은 신경 네트워크고, 상기 증강된 트레이닝 데이터의 배치에 기초하여 상기 기계 학습 모델 파라미터의 현재 값을 조정하는 단계는:
    상기 증강된 트레이닝 데이터의 배치를 사용하여 손실 함수의 기울기를 결정하는 단계; 및
    상기 기울기를 사용하여 상기 기계 학습 모델 파라미터의 현재 값을 조정하는 단계를 포함하는, 방법.
  8. 청구항 1 내지 7 중 어느 한 항에 있어서,
    이전 시간 단계에서 생성된 데이터 증강 정책의 품질 척도에 기초하여 현재 데이터 증강 정책을 생성하는 단계는 정책 신경 네트워크 파라미터의 현재 값에 따라 정책 신경 네트워크를 사용하여 상기 현재 데이터 증강 정책을 생성하는 단계를 포함하며; 및
    상기 정책 신경 네트워크는 강화 학습 기법에 의해 트레이닝되며, 각 시간 단계에서, 강화 학습 보상 신호는 시간 단계에서 상기 현재 데이터 증강 정책의 품질 척도에 기초하는, 방법.
  9. 청구항 8에 있어서, 각각의 데이터 증강 정책 파라미터에 대해, 상기 정책 네트워크 출력은 상기 데이터 증강 정책 파라미터의 가능한 값에 대한 점수 분포를 정의하는, 방법.
  10. 청구항 9에 있어서, 상기 정책 네트워크 출력으로부터 상기 현재 데이터 증강 정책을 결정하는 단계는 상기 데이터 증강 정책 파라미터에 대한 상기 점수 분포를 사용하여 각 데이터 증강 정책 파라미터에 대한 값을 샘플링하는 단계를 포함하는, 방법.
  11. 청구항 8 내지 10 중 어느 한 항에 있어서, 상기 정책 신경 네트워크는 순환 신경 네트워크인, 방법.
  12. 청구항 1 내지 7 중 어느 한 항에 있어서, 이전 시간 단계에서 생성된 데이터 증강 정책의 품질 척도에 기초하여 현재 데이터 증강 정책을 생성하는 단계는:
    유전 프로그래밍(genetic programming) 절차를 사용하여 상기 현재 데이터 증강 정책을 생성하는 단계를 포함하는, 방법.
  13. 청구항 1 내지 12 중 어느 한 항에 있어서 상기 기계 학습 모델이 상기 현재 데이터 증강 정책을 사용하여 트레이닝된 후, 상기 기계 학습 모델을 사용하여 상기 현재 데이터 증강 정책의 품질 척도를 결정하는 단계는:
    복수의 트레이닝 입력을 포함하는 검증 데이터를 사용하여 특정한 기계 학습 작업에 대한 상기 기계 학습 모델의 성능 척도를 결정하는 단계;
    상기 성능 척도에 기초하여 상기 품질 척도를 결정하는 단계를 포함하는, 방법.
  14. 청구항 13에 있어서, 상기 검증 데이터에 포함된 트레이닝 입력은 상기 트레이닝 데이터에 포함되지 않는, 방법.
  15. 청구항 1 내지 14 중 어느 한 항에 있어서, 상기 결정된 데이터 증강 정책의 품질 척도에 기초하여 상기 최종 데이터 증강 정책을 선택하는 단계는:
    가장 높은 품질 점수를 갖는 상기 결정된 데이터 보강 정책을 선택하는 단계를 포함하는, 방법.
  16. 청구항 1 내지 15 중 어느 한 항에 있어서, 상기 트레이닝 입력은 이미지들인, 방법.
  17. 하나 이상의 컴퓨터들과 명령어들이 저장된 하나 이상의 저장 디바이스들을 포함하는 시스템으로서, 상기 명령어들은 하나 이상의 컴퓨터들에 의해 실행될 때, 상기 하나 이상의 컴퓨터들로 하여금 청구항 1 내지 16 중 어느 한 항의 각각의 방법들의 동작들을 수행하게 하는 것을 특징으로 하는 시스템.
  18. 명령어들이 저장된 하나 이상의 컴퓨터 저장 매체로서, 상기 명령어들은 하나 이상의 컴퓨터들에 의해 실행될 때, 상기 하나 이상의 컴퓨터들로 하여금 청구항 1 내지 16 중 어느 한 항의 각각의 방법들의 동작들을 수행하게 하는 것을 특징으로 하는 컴퓨터 저장 매체.
KR1020207023904A 2018-05-18 2019-05-20 학습 데이터 증강 정책 KR102422729B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862673777P 2018-05-18 2018-05-18
US62/673,777 2018-05-18
PCT/US2019/033091 WO2019222734A1 (en) 2018-05-18 2019-05-20 Learning data augmentation policies

Publications (2)

Publication Number Publication Date
KR20200110400A true KR20200110400A (ko) 2020-09-23
KR102422729B1 KR102422729B1 (ko) 2022-07-19

Family

ID=66691084

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207023904A KR102422729B1 (ko) 2018-05-18 2019-05-20 학습 데이터 증강 정책

Country Status (6)

Country Link
US (2) US10817805B2 (ko)
EP (1) EP3732628A1 (ko)
JP (1) JP7017640B2 (ko)
KR (1) KR102422729B1 (ko)
CN (1) CN111758105A (ko)
WO (1) WO2019222734A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220055277A (ko) 2020-10-26 2022-05-03 삼성에스디에스 주식회사 텍스트 데이터 증강 장치 및 방법
KR102456513B1 (ko) 2022-03-04 2022-10-20 주식회사 테스트웍스 생성 모델을 이용한 데이터 증강 처리 시스템 및 그 방법
KR102647511B1 (ko) * 2023-08-23 2024-03-14 주식회사 액션파워 대규모 언어 모델의 강화 학습 방법

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11803765B2 (en) * 2019-05-31 2023-10-31 At&T Intellectual Property I, L.P. Public policy rule enhancement of machine learning/artificial intelligence solutions
JP6929322B2 (ja) * 2019-05-31 2021-09-01 楽天グループ株式会社 データ拡張システム、データ拡張方法、及びプログラム
EP3789924A1 (en) * 2019-09-09 2021-03-10 Robert Bosch GmbH Stochastic data augmentation for machine learning
JP7353940B2 (ja) * 2019-11-26 2023-10-02 株式会社日立製作所 転移可能性判定装置、転移可能性判定方法、及び転移可能性判定プログラム
CN114981820A (zh) * 2019-12-20 2022-08-30 谷歌有限责任公司 用于在边缘设备上评估和选择性蒸馏机器学习模型的系统和方法
CN111176564B (zh) * 2019-12-25 2024-02-27 三星(中国)半导体有限公司 确定ssd内数据摆放策略的方法及装置
CN111339866A (zh) * 2020-02-18 2020-06-26 济南浪潮高新科技投资发展有限公司 一种基于DPN与Faster RCNN的火车票图像生成方法
CN113379045B (zh) * 2020-02-25 2022-08-09 华为技术有限公司 数据增强方法和装置
US20210284184A1 (en) * 2020-03-05 2021-09-16 Waymo Llc Learning point cloud augmentation policies
US11551088B2 (en) 2020-03-13 2023-01-10 International Business Machines Corporation Determining optimal augmentations for a training data set
JP7484318B2 (ja) * 2020-03-27 2024-05-16 富士フイルムビジネスイノベーション株式会社 学習装置及び学習プログラム
CN111582371B (zh) * 2020-05-07 2024-02-02 广州视源电子科技股份有限公司 一种图像分类网络的训练方法、装置、设备及存储介质
CN111695624B (zh) * 2020-06-09 2024-04-16 北京市商汤科技开发有限公司 数据增强策略的更新方法、装置、设备及存储介质
US20210406682A1 (en) * 2020-06-26 2021-12-30 Advanced Micro Devices, Inc. Quantization of neural network models using data augmentation
KR102496030B1 (ko) * 2020-08-13 2023-02-07 주식회사 아이오코드 데이터 분류를 위한 강화 학습 장치 및 방법
US20220092349A1 (en) * 2020-09-21 2022-03-24 Nvidia Corporation Measuring the effects of augmentation artifacts on a machine learning network
KR20220049421A (ko) * 2020-10-14 2022-04-21 삼성에스디에스 주식회사 데이터 증강 기법 스케줄링 장치 및 방법
US20220155263A1 (en) * 2020-11-19 2022-05-19 International Business Machines Corporation Sound anomaly detection using data augmentation
CN112506483B (zh) * 2020-12-04 2024-04-05 北京五八信息技术有限公司 数据增广方法、装置、电子设备及存储介质
CN112651892A (zh) * 2020-12-22 2021-04-13 中国科学技术大学 一种基于图像样本的自动数据增强策略选择方法
CN114282581B (zh) * 2021-01-29 2023-10-13 北京有竹居网络技术有限公司 基于数据增强的训练样本获取方法、装置和电子设备
JPWO2022202456A1 (ko) * 2021-03-22 2022-09-29
CN113139578B (zh) * 2021-03-23 2022-12-06 广东省科学院智能制造研究所 一种基于最优训练集的深度学习图像分类方法及系统
CN113221979B (zh) * 2021-04-27 2023-05-23 北京市商汤科技开发有限公司 样本的生成方法、神经网络的训练方法以及装置
DE102021204343A1 (de) 2021-04-30 2022-11-03 Albert-Ludwigs-Universität Freiburg, Körperschaft des öffentlichen Rechts Steuergerät zum Erzeugen von Trainingsdaten zum Trainieren eines Algorithmus des maschinellen Lernens
CN112991346B (zh) * 2021-05-13 2022-04-26 深圳科亚医疗科技有限公司 用于医学图像分析的学习网络的训练方法和训练系统
CN113657742B (zh) * 2021-08-09 2024-04-19 武汉科技大学 车间调度方法、装置、电子设备及存储介质
CN113642667B (zh) * 2021-08-30 2024-02-02 重庆紫光华山智安科技有限公司 一种图片增强策略确定方法、装置、电子设备及存储介质
JP7201270B1 (ja) 2021-10-28 2023-01-10 望 窪田 情報処理方法、プログラム及び情報処理装置
DE102021212728A1 (de) 2021-11-11 2023-05-11 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Erzeugen von Trainingsdaten zum Trainieren eines Algorithmus des maschinellen Lernens
DE102021212727A1 (de) 2021-11-11 2023-05-11 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Erzeugen von Trainingsdaten zum Trainieren eines Algorithmus des maschinellen Lernens
CN114723010B (zh) * 2022-04-12 2023-05-26 重庆大学 一种异步事件数据的自动学习增强方法及系统
CN114492215A (zh) * 2022-04-18 2022-05-13 南湖实验室 利用策略模型辅助训练的gp世界模型及其训练方法
WO2023212804A1 (en) * 2022-05-01 2023-11-09 Zetane Systems Inc. Producing an augmented dataset to improve performance of a machine learning model
CN115031363B (zh) * 2022-05-27 2023-11-28 约克广州空调冷冻设备有限公司 预测空调性能的方法和装置
WO2024058319A1 (ko) * 2022-09-16 2024-03-21 주식회사 켈스 영상 정보를 기반으로 감염 상태 정보를 생성하는 장치 및 방법
CN115757273B (zh) * 2022-10-24 2023-09-15 江苏中科西北星信息科技有限公司 基于云平台的养老政策资料管理方法及系统
CN116452621B (zh) * 2023-03-10 2023-12-15 广州市易鸿智能装备有限公司 一种基于强化学习的理想轮廓生成算法、装置及存储介质
CN116957917B (zh) * 2023-06-19 2024-03-15 广州极点三维信息科技有限公司 一种基于近端策略优化的图像美化方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007300624A (ja) * 2006-04-28 2007-11-15 Xerox Corp 保存された2値画像データを増強する装置および方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8903167B2 (en) 2011-05-12 2014-12-02 Microsoft Corporation Synthesizing training samples for object recognition
CN103984959B (zh) * 2014-05-26 2017-07-21 中国科学院自动化研究所 一种基于数据与任务驱动的图像分类方法
US10289962B2 (en) * 2014-06-06 2019-05-14 Google Llc Training distilled machine learning models
US9721559B2 (en) * 2015-04-17 2017-08-01 International Business Machines Corporation Data augmentation method based on stochastic feature mapping for automatic speech recognition
US20170337486A1 (en) * 2016-05-17 2017-11-23 Futurewei Technologies, Inc. Feature-set augmentation using knowledge engine
DE202016004627U1 (de) * 2016-07-27 2016-09-23 Google Inc. Training eines neuronalen Wertnetzwerks
CN106529598B (zh) * 2016-11-11 2020-05-08 北京工业大学 一种基于不均衡医疗图像数据集的分类方法与系统
CN107368787B (zh) * 2017-06-16 2020-11-10 长安大学 一种面向深度智驾应用的交通标志识别方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007300624A (ja) * 2006-04-28 2007-11-15 Xerox Corp 保存された2値画像データを増強する装置および方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Learning to Compose Domain-Specific Transformations for Data Augmentation" NIPS 2017. *
"The Effectiveness of Data Augmentation in Image Classification using Deep Learning", 2017. *
"위조지문 판별률 향상을 위한 학습데이터 혼합 증강 방법", 정보보호학회논문지 vol.27 no.2, 2017. *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220055277A (ko) 2020-10-26 2022-05-03 삼성에스디에스 주식회사 텍스트 데이터 증강 장치 및 방법
KR102456513B1 (ko) 2022-03-04 2022-10-20 주식회사 테스트웍스 생성 모델을 이용한 데이터 증강 처리 시스템 및 그 방법
KR102647511B1 (ko) * 2023-08-23 2024-03-14 주식회사 액션파워 대규모 언어 모델의 강화 학습 방법

Also Published As

Publication number Publication date
JP7017640B2 (ja) 2022-02-08
KR102422729B1 (ko) 2022-07-19
CN111758105A (zh) 2020-10-09
WO2019222734A1 (en) 2019-11-21
US10817805B2 (en) 2020-10-27
JP2021518939A (ja) 2021-08-05
US20190354895A1 (en) 2019-11-21
US20210019658A1 (en) 2021-01-21
EP3732628A1 (en) 2020-11-04

Similar Documents

Publication Publication Date Title
KR102422729B1 (ko) 학습 데이터 증강 정책
US11087201B2 (en) Neural architecture search using a performance prediction neural network
US10853726B2 (en) Neural architecture search for dense image prediction tasks
US11875262B2 (en) Learning neural network structure
US11144831B2 (en) Regularized neural network architecture search
US11941527B2 (en) Population based training of neural networks
US11205099B2 (en) Training neural networks using data augmentation policies
EP3568811A1 (en) Training machine learning models
US11488067B2 (en) Training machine learning models using teacher annealing
JP7483751B2 (ja) 教師なしデータ拡張を使用した機械学習モデルのトレーニング
JP2020506488A (ja) バッチ再正規化層
CN111652378A (zh) 学习来选择类别特征的词汇
US11941867B2 (en) Neural network training using the soft nearest neighbor loss
US11514313B2 (en) Sampling from a generator neural network using a discriminator neural network
US11900222B1 (en) Efficient machine learning model architecture selection
US20230123343A1 (en) Architecture exploration and compiler optimization using neural networks

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant