KR102538475B1 - 사전 정의 작업 기반 데이터 선별 방법, 이를 이용한 능동 학습 방법, 그리고 이를 구현한 컴퓨팅 장치 - Google Patents

사전 정의 작업 기반 데이터 선별 방법, 이를 이용한 능동 학습 방법, 그리고 이를 구현한 컴퓨팅 장치 Download PDF

Info

Publication number
KR102538475B1
KR102538475B1 KR1020220049476A KR20220049476A KR102538475B1 KR 102538475 B1 KR102538475 B1 KR 102538475B1 KR 1020220049476 A KR1020220049476 A KR 1020220049476A KR 20220049476 A KR20220049476 A KR 20220049476A KR 102538475 B1 KR102538475 B1 KR 102538475B1
Authority
KR
South Korea
Prior art keywords
data
task
model
main
predefined
Prior art date
Application number
KR1020220049476A
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 주식회사 앤트랩
Priority to KR1020220049476A priority Critical patent/KR102538475B1/ko
Application granted granted Critical
Publication of KR102538475B1 publication Critical patent/KR102538475B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine 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/72Data preparation, e.g. statistical preprocessing 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/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Machine Translation (AREA)

Abstract

적어도 하나의 프로세서에 의해 구동되는 컴퓨팅 장치의 동작 방법으로서, 사전 정의 작업 모델(pretext task model)을 통해, 비-레이블 데이터에 대한 사전 정의 작업 손실을 획득하는 단계, 상기 사전 정의 작업 손실에 따라 상기 비-레이블 데이터를 복수의 배치들로 분할하는 단계, 주 작업 모델(main task model)을 통해, 입력 배치에 포함된 데이터의 불확실성 점수를 획득하는 단계, 그리고 불확실성 점수를 기초로 상기 입력 배치에서 선별된 데이터를 어노테이션 대상으로 결정하는 단계를 포함한다.

Description

사전 정의 작업 기반 데이터 선별 방법, 이를 이용한 능동 학습 방법, 그리고 이를 구현한 컴퓨팅 장치{DATA SAMPLING METHOD BASED ON PRETEXT TASK, ACTIVE LEARNING METHOD, AND COMPUTING APPARATUS IMPLEMENTING THE METHOD}
본 개시는 능동 학습에 관한 것이다.
인공지능 모델은 데이터를 통해 훈련되기 때문에 고성능을 달성하려면 충분히 많은 훈련 데이터셋이 요구된다. 그러나 레이블을 가진 대량 데이터셋을 구축하는 것은 많은 시간과 상당한 비용이 요구된다. 이를 해결하기 위해, 레이블이 없는 데이터를 사용해 인공지능 모델을 훈련시키는 비지도 학습 방법이 등장했다. 또한, 전체 데이터에 레이블을 지정하는 대신, 훈련 데이터에서 성능 향상에 효과적인 데이터를 선별한 후 선별 데이터를 활용해 훈련을 진행하는 능동 학습(active Learning) 방법이 등장했다.
기존의 능동 학습 방법으로서, 데이터 분포 기반 방법(data distribution-based method)과 불확실성 기반 방법(uncertainty-based method)이 대표적이다. 분포 기반 방법은 특징 공간의 분포를 잘 표현하는 데이터 선별을 목표로 한다. 따라서, 분포 기반 방법은 전체 특징 분포를 잘 나타내는 고밀도 영역에서 영향력 있는 데이터를 선별할 수 있다. 하지만, 분포 기반 방법은 결정 경계(decision boundary) 근처에 배치된 불확실성 데이터(uncertainty data)를 선별하지 못한다. 불확실성 기반 방법은 특징 공간의 결정 경계 근처에서 불확실하거나 어려운 데이터를 효과적으로 선별하지만, 전체 특징 분포를 나타내는 데이터를 선별하지 못한다.
본 개시는 사전 정의 작업(pretest task) 기반 데이터 선별 방법, 이를 이용한 능동 학습 방법, 그리고 이를 구현한 컴퓨팅 장치를 제공한다.
본 개시는 자기지도학습(self-supervised learning) 기반으로 레이블 없는 데이터풀(unlabeled data pool)에 대한 사전 정의 작업을 학습하는 사전 정의 작업 모델(pretest task model), 그리고 사전 정의 작업 모델의 손실을 기초로 불확실한 데이터를 레이블링 대상으로 선별하고, 능동 학습하는 주 작업 모델(main task model)을 제공한다.
한 실시예에 따라 적어도 하나의 프로세서에 의해 구동되는 컴퓨팅 장치의 동작 방법으로서, 사전 정의 작업 모델(pretext task model)을 통해, 비-레이블 데이터에 대한 사전 정의 작업 손실을 획득하는 단계, 상기 사전 정의 작업 손실에 따라 상기 비-레이블 데이터를 복수의 배치들로 분할하는 단계, 주 작업 모델(main task model)을 통해, 입력 배치에 포함된 데이터의 불확실성 점수를 획득하는 단계, 그리고 불확실성 점수를 기초로 상기 입력 배치에서 선별된 데이터를 어노테이션 대상으로 결정하는 단계를 포함한다.
상기 동작 방법은 상기 어노테이션 대상으로 결정되어 레이블이 어노테이션된 데이터를 레이블 데이터풀에 추가하는 단계, 그리고 새로운 데이터가 추가된 상기 레이블 데이터풀을 이용하여, 상기 주 작업 모델을 훈련시키는 단계를 더 포함할 수 있다.
상기 사전 정의 작업 모델은 상기 주 작업 모델의 주 작업과에 관계된 사전 정의 작업을 통해, 시각적 표현을 자기지도학습하는 인공지능 모델일 수 있다.
상기 사전 정의 작업은 회전 예측, 색상화, 직소 퍼즐 풀기, 대조 학습 중에서 주 작업에 따라 결정될 수 있다.
상기 주 작업이 이미지 분류와 관련된 작업인 경우, 회전 예측 작업이 상기 사전 정의 작업으로 결정되고, 상기 주 작업이 의미론적 분할과 관련된 작업인 경우, 색상화 작업이 상기 사전 정의 작업으로 결정될 수 있다.
상기 주 작업 모델은 입력 배치마다 선별된 불확실한 데이터를 이용하여 주 작업에 대한 학습을 반복할 수 있다.
상기 복수의 배치들로 분할하는 단계는 상기 사전 정의 작업 손실에 따라 상기 비-레이블 데이터를 내림차순 정렬하고, 정렬된 상기 비-레이블 데이터를 상기 복수의 배치들로 분할할 수 있다.
상기 주 작업 모델은 상기 사전 정의 작업 손실이 가장 큰 데이터가 포함된 배치부터 입력받을 수 있다.
다른 실시예에 따라 적어도 하나의 프로세서에 의해 구동되는 컴퓨팅 장치의 동작 방법으로서, 사전 정의 작업 모델(pretext task model)에서 예측한 비-레이블 데이터의 작업 손실에 따라, 상기 비-레이블 데이터를 복수의 배치들로 분할하는 단계, 그리고 순차적으로 입력되는 입력 배치에서 불확실한 데이터를 어노테이션 대상으로 선별하고, 레이블이 어노테이션된 상기 불확실한 데이터를 이용하여 주 작업 모델(main task model)을 훈련시키는 과정을 반복하는 단계를 포함한다.
상기 반복하는 단계는 상기 주 작업 모델을 통해 상기 입력 배치에 포함된 데이터의 불확실성 점수를 획득하고, 불확실성 점수를 기초로 상기 입력 배치에서 선별된 불확실한 데이터를 상기 어노테이션 대상으로 결정할 수 있다.
상기 반복하는 단계는 상기 작업 손실이 가장 큰 데이터가 포함된 배치부터 순차적으로 상기 주 작업 모델로 입력할 수 있다.
상기 반복하는 단계는 레이블이 어노테이션된 상기 불확실한 데이터를 레이블 데이터풀에 추가하고, 새로운 데이터가 추가된 상기 레이블 데이터풀을 이용하여, 상기 주 작업 모델을 훈련시킬 수 있다.
상기 복수의 배치들로 분할하는 단계는 상기 작업 손실에 따라 상기 비-레이블 데이터를 내림차순 정렬하고, 정렬된 상기 비-레이블 데이터를 상기 복수의 배치들로 분할할 수 있다.
상기 사전 정의 작업 모델은 상기 주 작업 모델의 주 작업과 관계된 사전 정의 작업을 통해, 시각적 표현을 자기지도학습하는 인공지능 모델일 수 있다.
또 다른 실시예에 따른 컴퓨팅 장치로서, 컴퓨터 프로그램을 실행하여, 사전 정의 작업 모델(pretext task model)에서 예측한 비-레이블 데이터의 작업 손실에 따라, 상기 비-레이블 데이터를 복수의 배치들로 분할하는 동작, 순차적으로 입력되는 입력 배치에서 불확실한 데이터를 어노테이션 대상으로 선별하는 동작, 그리고 상기 입력 배치에서 선별되어 레이블이 어노테이션된 상기 불확실한 데이터를 이용하여 주 작업 모델(main task model)을 훈련시키는 동작을 수행하는 프로세서를 포함한다.
상기 프로세서는 상기 주 작업 모델을 통해 상기 입력 배치에 포함된 데이터의 불확실성 점수를 획득하고, 불확실성 점수를 기초로 상기 입력 배치에서 선별된 불확실한 데이터를 상기 어노테이션 대상으로 결정할 수 있다.
상기 프로세서는 상기 작업 손실이 가장 큰 데이터가 포함된 배치부터 순차적으로 상기 주 작업 모델로 입력할 수 있다.
상기 프로세서는 레이블이 어노테이션된 상기 불확실한 데이터를 레이블 데이터풀에 추가하고, 새로운 데이터가 추가된 상기 레이블 데이터풀을 이용하여, 상기 주 작업 모델을 훈련시킬 수 있다.
상기 프로세서는 상기 작업 손실에 따라 상기 비-레이블 데이터를 내림차순 정렬하고, 정렬된 상기 비-레이블 데이터를 상기 복수의 배치들로 분할할 수 있다.
상기 사전 정의 작업 모델은 상기 주 작업 모델의 주 작업과 관계된 사전 정의 작업을 통해, 시각적 표현을 자기지도학습하는 인공지능 모델일 수 있다.
실시예에 따르면, 레이블 없는 데이터풀(unlabeled data pool)에서 특징 공간의 분포를 잘 표현하면서 불확실한 데이터를 선별할 수 있다.
실시예에 따르면, 데이터 선별을 통한 레이블링을 통해 주 작업 모델의 학습 성능을 높이면서도 레이블링 비용을 효과적으로 관리할 수 있다.
실시예에 따르면, 불균형한 데이터셋에서 우수한 성능을 제공할 수 있고, 초기 데이터가 전체 데이터 분포를 잘 표현할 수 있는 상황에서만 동작하는 능동 학습의 콜드 스타트(cold-start) 문제를 해결할 수 있다.
도 1은 한 실시예에 따른 컴퓨팅 장치에서의 능동 학습을 설명하는 도면이다.
도 2는 한 실시예에 따른 사전 정의 작업 기반 데이터 선별을 이용한 능동 학습을 설명하는 도면이다.
도 3은 한 실시예에 따른 능동 학습 방법을 설명하는 흐름도이다.
도 4는 다른 실시예에 따른 능동 학습 방법을 설명하는 흐름도이다.
도 5는 한 실시예에 따른 컴퓨팅 장치의 하드웨어 구성도이다.
아래에서는 첨부한 도면을 참고로 하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
설명에서, 도면 부호 및 이름은 설명의 편의를 위해 붙인 것으로서, 장치들이 반드시 도면 부호나 이름으로 한정되는 것은 아니다.
설명에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
설명에서, 모델은 적어도 하나의 작업(task)을 학습하는 인공지능 모델로서, 컴퓨팅 장치에서 실행되는 컴퓨터 프로그램으로 구현될 수 있다. 작업이란, 학습을 통해 해결하고자 하는 과제 또는 학습을 통해 수행하고자 하는 과제를 지칭할 수 있다. 컴퓨터 프로그램은 프로세서가 본 개시의 동작을 실행하도록 기술된 명령어들(instructions)을 포함하고, 비일시적-컴퓨터 판독가능 저장매체(non-transitory computer readable storage medium)에 저장될 수 있다. 컴퓨터 프로그램은 네트워크를 통해 다운로드되거나, 제품 형태로 판매될 수 있다.
도 1은 한 실시예에 따른 컴퓨팅 장치에서의 능동 학습을 설명하는 도면이다.
도 1을 참고하면, 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치(10)는 주 작업 모델(main task model)의 능동 학습을 위해, 사전 정의 작업(pretext task) 기반으로 어노테이션 대상 데이터를 선별하고, 선별 데이터에 레이블을 어노테이션(annotation)한다. 이를 위해, 컴퓨팅 장치(10)는 사전 정의 작업 모델(pretest task model)(100), 주 작업 모델(main task model)(110)을 포함하고, 비-레이블 데이터풀(unlabeled data pool)(200)/레이블 데이터풀(labeled data pool)(210)을 이용하여 각 모델을 훈련시킬 수 있다. 컴퓨팅 장치(10)는 배치 생성기(batch generator)(300), 그리고 데이터 선별기(data sampler)(310)를 더 포함할 수 있는데, 배치 생성기(300) 및 데이터 선별기(310)는 본 개시의 배치 생성 동작 및 데이터 선별 동작을 수행하는 기능 블록이다. 배치 생성기(300) 및 데이터 선별기(310)는 배치 생성 동작 및 데이터 선별 동작이 기술된 컴퓨터 프로그램의 실행을 통해 제공될 수 있다.
설명의 편의를 위해, 컴퓨팅 장치(10)가 사전 정의 작업 모델(100)/주 작업 모델(110)의 훈련을 위한 비-레이블 데이터풀(unlabeled data pool)(200)/레이블 데이터풀(labeled data pool)(210)을 포함하는 것으로 설명하나, 컴퓨팅 장치(10)가 이들이 저장된 외부 장치와 연동할 수 있다.
컴퓨팅 장치(10)는 사전 정의 작업 모델(100) 및 주 작업 모델(110)을 이용하여, 비-레이블 데이터풀(200)에서 특징 공간의 분포를 잘 표현하면서 불확실한 데이터를 선별하고, 레이블이 어노테이션된 선별 데이터를 이용하여 주 작업 모델(110)을 학습시킬 수 있다. 불확실한 데이터는 결정 경계에 가까워서 주 작업 모델(110)이 쉽게 구별할 수 없는 어려운 데이터를 의미한다. 특징 공간의 분포를 잘 표현하는 데이터는 영향력 있는 데이터(influential data)를 의미한다.
컴퓨팅 장치(10)는 어노테이션 장치(Annotator)(20)로 선별 데이터를 전달함으로써, 선별 데이터에 대한 어노테이션을 요청하고, 레이블이 어노테이션된 선별 데이터를 수신할 수 있다. 컴퓨팅 장치(10)는 비-레이블 데이터풀(200)에서 선별 데이터를 삭제하고, 레이블이 어노테이션된 선별 데이터를 레이블 데이터풀(210)에 추가할 수 있다.
사전 정의 작업 모델(100)은 자기지도학습(self-supervised learning) 기반으로, 비-레이블 데이터풀(200)에 대한 사전 정의 작업을 수행하여 표현 학습(Representation learning)하는 인공지능 모델이다. 자기지도학습은 사전 정의 작업을 통해 비-레이블 데이터의 표현을 학습하는 방법을 의미한다. 사전 정의 작업은, 모델이 레이블이 없는 데이터셋으로 표현 학습하도록 정의된 간단한 작업을 의미한다. 표현 학습은 레이블이 없는 데이터셋으로 사전 정의 작업을 수행함으로써 네트워크 가중치를 학습하는 것으로서, 사전 정의 작업에서 학습된 정보가 다운스트림 작업으로 제공될 수 있다. 사전 정의 작업에서 학습된 특징(features)은 다운스트림 작업의 특징을 대표하는 것으로 알려져 있다. 여기서, 다운스트림 작업이 주 작업 모델(110)의 훈련 과제인 주 작업(main task)일 수 있다.
표현 학습에 사용되는 사전 정의 작업은 다양할 수 있는데, 예를 들면, 회전 예측(Rotation prediction), 색상화(colorization), 직소 퍼즐 풀기(solving jigsaw puzzles), SimSiam 모델로 알려진 대조 학습(contrastive learning) 등이 사용될 수 있다. 사전 정의 작업은 주 작업에 따라 결정될 수 있다. 예를 들면, 주 작업이 이미지 분류 작업인 경우, 사전 정의 작업은 이미지 분류와의 관련성이 높은 회전 예측 작업일 수 있다. 주 작업이 의미론적 분할 작업인 경우, 사전 정의 작업은 픽셀 단위 특징학습에 적합한 색상화 작업일 수 있다.
사전 정의 작업 모델(100)은 비-레이블 데이터풀(200)의 적어도 일부 데이터를 입력받고, 입력 데이터에 대한 사전 정의 작업을 수행함으로써, 입력 데이터의 작업 손실(Task loss)을 예측할 수 있다.
배치 생성기(300)는 비-레이블 데이터를 작업 손실을 기초로 내림차순 정렬하고, 주 작업 모델(110)을 위한 배치들(batches)로 분할할 수 있다. 배치 크기는 데이터 수 및 주 작업 모델(110)의 학습 반복(iteration) 횟수를 기초로 결정될 수 있다.
이러한 일괄 배치 분할을 통해 전체 데이터 분포에서 불확실한 데이터가 선별될 수 있다. 즉, 본 개시는 사전 정의 작업에서 학습된 특징을 직접적으로 사용하는 대신, 사전 정의 작업의 손실을 기초로 데이터 포인트들을 선별하는 특징이 있다. 이는 사전 정의 작업의 손실이 주 작업의 손실과 밀접한 관련이 있다는 가설을 따르는데, 사전 정의 작업에 대해 어려운 이미지(즉, 큰 손실을 가진 이미지)는 주 작업에 대해서도 똑같이 어렵기 때문이다.
주 작업 모델(110)은 한정된 레이블 데이터를 이용하여 주 작업에 대한 학습을 수행하는 모델이다. 주 작업 모델(110)은 사전 정의 작업을 통해 시각적 표현을 학습한 사전 정의 작업 모델(100)을 소량의 레이블 데이터로 주 작업에 맞게 전이 학습시키는 다운스트림 모델일 수 있다. 주 작업 모델(110)은 반복(iteration) 학습을 통해, 배치로부터 선별된 데이터에 의해 미세 조정될 수 있다.
주 작업 모델(110)은 N번의 반복 학습 과정마다, 어노테이션이 요구되는 데이터를 선별하는데 사용되는 불확실성 점수(uncertainty score)를 제공하고, 데이터 선별을 통해 추가된 레이블 데이터를 이용하여 주 작업에 대한 학습을 수행할 수 있다. 반복 과정에 사용될 배치가 지정되는데, 사전 정의 작업 손실이 가장 큰 데이터가 포함된 배치가 최초 반복에 사용될 수 있다.
주 작업 모델(110)은 i번째 반복 학습에 할당된 배치 bi에 포함된 데이터를 입력받고, 입력 데이터에 대한 주 작업을 수행함으로써, 입력 데이터의 불확실성 점수를 예측할 수 있다.
데이터 선별기(310)는 불확실성 점수를 기초로 배치 bi에서 상위 K개의 불확실한 데이터를 선별(sampling)할 수 있다. 데이터 선별기(310)는 입력 데이터의 사후 클래스 확률을 기반으로 각 배치에서 가장 불확실한 K개의 데이터 포인트들을 선별할 수 있다. 데이터 선별기(310)는 배치 bi에서 추출된 상위 K개의 불확실 데이터를 어노테이션 대상으로 결정한다. 어노테이션 대상으로 선별된 데이터는 어노테이션 장치(20)를 통해 레이블이 어노테이션되고, 레이블 데이터풀(210)에 추가된다.
주 작업 모델(110)은 레이블 데이터가 추가된 레이블 데이터풀(210)을 이용하여 주 작업에 대한 i번째 학습을 수행한다. 그리고 주 작업 모델(110)은 다음 배치 bi+1을 이용하여 (i+1)번째 반복 학습 과정을 진행할 수 있다.
컴퓨팅 장치(10)는 비-레이블 데이터풀(200)에 남아있는 불확실 데이터가 없거나, 주 작업 모델(110)의 학습 성능이 기준치에 도달한 경우, 데이터 선별 절차를 종료할 수 있다.
이와 같이, 컴퓨팅 장치(10)는 비-레이블 데이터에 대한 사전 정의 작업 손실을 기초로 배치들을 생성하고, 각 배치에서 불확실한 데이터를 선별하므로, 특징 공간의 분포를 대표하면서 불확실한 데이터를 어노테이션 대상으로 선별할 수 있다. 일반적으로 데이터 분포 기반 능동 학습은 불확실한 데이터를 추출하기 어렵고, 불확실성 기반 능동 학습은 결정 경계에서 중복 데이터 포인트를 추출할 가능성이 있어 데이터 분포의 표현을 추출하기 어렵다고 알려져 있다. 이와 달리, 컴퓨팅 장치(10)는 사전 정의 작업의 손실을 이용하여 유익한 데이터(informative data)를 선별하고, 선별 데이터를 활용해 주 작업 모델(110)을 학습시킴으로써, 종래의 데이터 분포 기반 능동 학습 방법과 불확실성 기반 능동 학습 방법을 개선할 수 있다.
한편 일반적인 능동 학습은 무작위로 선별된 레이블 데이터셋으로 시작하므로, 전체적인 성능이 초기 데이터셋의 분포에 크게 의존한다. 하지만, 본 개시에 따른 능동 학습은 비-레이블 데이터셋의 표현을 미리 학습하기 때문에 최초 반복부터 유익한 데이터를 선별할 수 있다. 이를 통해, 무작위로 선별된 초기 데이터셋에 의해 능동 학습 성능이 영향을 받는 콜드 스타트(cold-start) 문제를 해결할 수 있다.
도 2는 한 실시예에 따른 사전 정의 작업 기반 데이터 선별을 이용한 능동 학습을 설명하는 도면이다.
도 2를 참고하면, 비-레이블 데이터풀(200)은 비-레이블 데이터의 집합 XU이고, 레이블 데이터풀(210)은 레이블 데이터의 집합 XL으로 구성된다고 가정한다.
사전 정의 작업 모델(100)은 비-레이블 데이터풀(200)의 적어도 일부 데이터를 입력받고, 입력 데이터에 대한 사전 정의 작업을 수행함으로써, 입력 데이터의 작업 손실(Task loss)을 예측할 수 있다.
비-레이블 데이터는 작업 손실을 기초로 내림차순 정렬되고, 주 작업 모델(110)의 학습에 사용되는 N개의 배치들(b1~bN)(400)로 분할될 수 있다. 사전 정의 작업 손실이 가장 큰 데이터가 포함된 배치가 최초 반복(initial iteration)을 위한 배치 b1으로 사용된다.
주 작업 모델(110)은 배치 b1부터 배치 bN을 이용한 N번의 반복 학습 과정을 진행하면서, 어노테이션이 요구되는 데이터를 선별하는 기준인 불확실성 점수(uncertainty score)를 제공하고, 데이터 선별을 통해 추가된 레이블 데이터를 이용하여 주 작업에 대한 학습을 수행할 수 있다.
구체적으로, 배치 bi를 입력받은 주 작업 모델 Fm i-1(·)은 배치 bi에 포함된 데이터를 입력받고, 입력 데이터에 대한 주 작업을 수행함으로써, 입력 데이터의 불확실성 점수를 예측할 수 있다. 불확실성 점수를 기초로 배치 bi에서 상위 K개의 불확실한 데이터(410)가 선별될 수 있다. 선별된 불확실한 데이터(410)는 어노테이션 장치(20)를 통해 레이블이 어노테이션될 수 있다. 이렇게 배치 bi로부터 선별된 새로운 레이블 데이터 XK는 레이블 데이터풀 XL에 추가된다. 그리고, 기존 주 작업 모델 Fm i-1(·)은 i번째 배치에 의해 갱신된 레이블 데이터풀 XL을 이용하여 주 작업을 학습함으로써, i번째 반복 학습을 통해 생성된 Fm i(·)가 된다.
이러한 N개의 배치들을 이용한 N번의 반복 학습을 통해, 데이터 분포를 대표하면서도 불확실한 데이터가 선별되고, 레이블링될 수 있다.
도 3은 한 실시예에 따른 능동 학습 방법을 설명하는 흐름도이다.
도 3을 참고하면, 컴퓨팅 장치(10)는 사전 정의 작업 모델(100)을 통해, 비-레이블 데이터에 대한 사전 정의 작업 손실을 획득한다(S110). 사전 정의 작업 모델(100)은 주 작업 모델(110)의 주 작업에 관계된 사전 정의 작업을 통해 시각적 표현을 자기지도학습하는 인공지능 모델이다. 사전 정의 작업은 주 작업에 따라 결정될 수 있고, 회전 예측, 색상화, 직소 퍼즐 풀기, 대조 학습 등이 사용될 수 있다. 예를 들어, 주 작업이 이미지 분류 작업인 경우, 사전 정의 작업은 이미지 분류와의 관련성이 높은 회전 예측 작업일 수 있다. 주 작업이 의미론적 분할 작업인 경우, 사전 정의 작업은 픽셀 단위 특징학습에 적합한 색상화 작업일 수 있다.
컴퓨팅 장치(10)는 사전 정의 작업 손실에 따라 비-레이블 데이터를 내림차순 정렬하고, 정렬된 비-레이블 데이터를 복수의 배치들로 분할한다(S120).
컴퓨팅 장치(10)는 학습을 반복하는 주 작업 모델(110)을 통해, 입력 배치 포함된 데이터의 불확실성 점수를 획득한다(S130). 주 작업 모델(110)은 소량의 레이블 데이터를 통해, 시각적 표현을 학습한 사전 정의 작업 모델(100)을 주 작업으로 전이시키기 위한 인공지능 모델일 수 있다. 주 작업 모델(110)은 입력 배치마다 선별된 불확실한 데이터를 이용하여 주 작업에 대한 학습을 반복하고, 반복 학습을 통해 네트워크 가중치를 미세 조정할 수 있다. 사전 정의 작업 손실이 가장 큰 데이터가 포함된 배치부터 주 작업 모델에 입력될 수 있다.
컴퓨팅 장치(10)는 불확실성 점수를 기초로 입력 배치에서 일정 수의 데이터를 선별한다(S140). 불확실성 점수가 높은 순서대로 데이터가 선별된다.
컴퓨팅 장치(10)는 선별한 데이터를 어노테이션 대상으로 결정하고, 레이블이 어노테이션된 선별 데이터를 레이블 데이터풀에 추가한다(S150). 컴퓨팅 장치(10)는 어노테이션 장치(20)로 선별 데이터를 전달함으로써, 선별 데이터에 대한 어노테이션을 요청하고, 레이블이 어노테이션된 선별 데이터를 수신할 수 있다.
컴퓨팅 장치(10)는 새로운 데이터가 추가된 레이블 데이터풀을 이용하여, 주 작업 모델(110)을 훈련시킨다(S160).
도 4는 다른 실시예에 따른 능동 학습 방법을 설명하는 흐름도이다.
도 4를 참고하면, 컴퓨팅 장치(10)는 사전 정의 작업 모델(100)에서 예측한 비-레이블 데이터의 작업 손실에 따라, 비-레이블 데이터를 N개의 배치들로 분할한다(S210). 컴퓨팅 장치(10)는 작업 손실에 따라 비-레이블 데이터를 내림차순 정렬하고, N개의 배치들로 분할할 수 있다. 작업 손실이 큰 배치일수록 배치 순서가 앞설 수 있다.
컴퓨팅 장치(10)는 순차적으로 입력되는 입력 배치에서 불확실한 데이터를 어노테이션 대상으로 선별하고, 레이블이 어노테이션된 상기 불확실한 데이터를 이용하여 주 작업 모델(110)을 훈련시키는 과정을 반복한다(S220).
구체적으로, 컴퓨팅 장치(10)는 남아있는 가장 빠른 순서의 배치를 주 작업 모델(110)로 입력하고, 입력 배치에 포함된 데이터의 불확실성 점수를 획득한다(S221).
컴퓨팅 장치(10)는 불확실성 점수를 기초로, 입력 배치에 포함된 데이터에서 불확실한 데이터를 어노테이션 대상으로 결정하고, 레이블이 어노테이션된 불확실한 데이터를 레이블 데이터풀에 추가한다(S222).
컴퓨팅 장치(10)는 새로운 데이터가 추가된 레이블 데이터풀을 이용하여, 주 작업 모델(110)을 훈련시킨다(S223).
컴퓨팅 장치(10)는 배치가 남아있는지 판단한다(S2224). 배치가 남아있으면, 컴퓨팅 장치(10)는 단계 S220으로 이동하여 불확실한 데이터 선별 및 훈련을 반복한다.
남은 배치가 없으면, 컴퓨팅 장치(10)는 주 작업 모델(110)의 능동 학습을 완료한다(S230). 컴퓨팅 장치(10)는 현재 에포크(epoch)에서의 학습을 완료하고, 다음 에포크에서의 학습을 진행시킬 수 있다.
도 5는 한 실시예에 따른 컴퓨팅 장치의 하드웨어 구성도이다.
도 5를 참고하면, 컴퓨팅 장치(10)는 하나 이상의 프로세서(11), 프로세서(11)에 의하여 수행되는 컴퓨터 프로그램을 로드하는 메모리(13), 컴퓨터 프로그램 및 각종 데이터를 저장하는 저장 장치(15), 통신 인터페이스(17), 그리고 이들을 연결하는 버스(19)를 포함할 수 있다. 이외에도, 컴퓨팅 장치(10)는 다양한 구성 요소가 더 포함될 수 있다. 컴퓨터 프로그램은 메모리(13)에 로드될 때 프로세서(11)로 하여금 본 개시의 다양한 실시예에 따른 방법/동작을 수행하도록 하는 명령어들(instruction)을 포함할 수 있다. 즉, 프로세서(11)는 명령어들을 실행함으로써, 본 개시의 다양한 실시예에 따른 방법/동작들을 수행할 수 있다. 컴퓨터 프로그램은 기능을 기준으로 묶인 일련의 컴퓨터 판독가능 명령어들로 구성되고, 프로세서에 의해 실행되는 것을 가리킨다. 컴퓨터 프로그램은 사전 작업 모델, 주 작업 모델을 포함할 수 있다. 컴퓨터 프로그램은 본 개시에 관련된 사전 작업 모델 및 주 작업 모델의 훈련, 사전 작업 모델을 이용한 배치 생성, 그리고 주 작업 모델을 이용한 데이터 선별 등의 동작이 기술된 명령어들을 포함할 수 있다.
프로세서(11)는 컴퓨팅 장치(10)의 각 구성의 전반적인 동작을 제어한다. 프로세서(11)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 개시의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(11)는 본 개시의 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 컴퓨터 프로그램에 대한 연산을 수행할 수 있다.
프로세서(11)는 컴퓨터 프로그램을 실행하여, 사전 정의 작업 모델에서 예측한 비-레이블 데이터의 작업 손실에 따라, 비-레이블 데이터를 복수의 배치들로 분할하는 동작, 순차적으로 입력되는 입력 배치에서 불확실한 데이터를 어노테이션 대상으로 선별하는 동작, 그리고 입력 배치에서 선별되어 레이블이 어노테이션된 불확실한 데이터를 이용하여 주 작업 모델을 훈련시키는 동작을 수행할 수 있다.
메모리(13)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(13)는 본 개시의 다양한 실시예들에 따른 방법/동작을 실행하기 위하여 저장 장치(15)로부터 하나 이상의 컴퓨터 프로그램을 로드할 수 있다. 메모리(13)는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 개시의 기술적 범위는 이에 한정되지 않는다.
저장 장치(15)는 컴퓨터 프로그램을 비임시적으로 저장할 수 있다. 저장 장치(15)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 개시가 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
통신 인터페이스(17)는 컴퓨팅 장치(10)의 유무선 인터넷 통신을 지원한다. 또한, 통신 인터페이스(17)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(17)는 본 개시의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.
버스(19)는 컴퓨팅 장치(10)의 구성 요소 간 통신 기능을 제공한다. 버스(19)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
이와 같이, 실시예에 따르면, 레이블 없는 데이터풀(unlabeled data pool)에서 특징 공간의 분포를 잘 표현하면서 불확실한 데이터를 선별할 수 있다.
실시예에 따르면, 데이터 선별을 통한 레이블링을 통해 주 작업 모델의 학습 성능을 높이면서도 레이블링 비용을 효과적으로 관리할 수 있다.
실시예에 따르면, 불균형한 데이터셋에서 우수한 성능을 제공할 수 있고, 초기 데이터가 전체 데이터 분포를 잘 표현할 수 있는 상황에서만 동작하는 능동 학습의 콜드 스타트(cold-start) 문제를 해결할 수 있다.
이상에서 설명한 본 개시의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 개시의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 개시의 실시예에 대하여 상세하게 설명하였지만 본 개시의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 개시의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 개시의 권리범위에 속하는 것이다.

Claims (20)

  1. 적어도 하나의 프로세서에 의해 구동되는 컴퓨팅 장치의 동작 방법으로서,
    사전 정의 작업 모델(pretext task model)을 통해, 비-레이블 데이터에 대한 사전 정의 작업 손실을 획득하는 단계,
    상기 사전 정의 작업 손실에 따라 상기 비-레이블 데이터를 정렬하고, 정렬된 상기 비-레이블 데이터를 복수의 배치들로 분할해서 훈련 중인 주 작업 모델(main task model)로 순차적으로 입력하는 단계,
    현재 입력 배치에 대한 상기 주 작업 모델(main task model)의 예측을 통해, 상기 현재 입력 배치에 포함된 데이터의 불확실성 점수를 획득하는 단계, 그리고
    불확실성 점수를 기초로 상기 현재 입력 배치에서 선별된 데이터를 어노테이션 대상으로 결정하는 단계를 포함하며,
    상기 주 작업 모델은
    상기 어노테이션 대상으로 결정되어 레이블이 어노테이션된 데이터를 이용하여 주 작업을 훈련하는, 동작 방법.
  2. 제1항에서,
    상기 어노테이션 대상으로 결정되어 레이블이 어노테이션된 데이터를 레이블 데이터풀에 추가하는 단계, 그리고
    새로운 데이터가 추가된 상기 레이블 데이터풀을 이용하여, 상기 주 작업 모델을 훈련시키는 단계
    를 더 포함하는, 동작 방법.
  3. 제1항에서,
    상기 사전 정의 작업 모델은
    상기 주 작업 모델의 주 작업과에 관계된 사전 정의 작업을 통해, 시각적 표현을 자기지도학습하는 인공지능 모델인, 동작 방법.
  4. 제1항에서,
    상기 사전 정의 작업은 회전 예측, 색상화, 직소 퍼즐 풀기, 대조 학습 중에서 주 작업에 따라 결정되는, 동작 방법.
  5. 제4항에서,
    상기 주 작업이 이미지 분류와 관련된 작업인 경우, 회전 예측 작업이 상기 사전 정의 작업으로 결정되고,
    상기 주 작업이 의미론적 분할과 관련된 작업인 경우, 색상화 작업이 상기 사전 정의 작업으로 결정되는, 동작 방법.
  6. 제1항에서,
    상기 주 작업 모델은
    입력 배치마다 선별된 불확실한 데이터를 이용하여 주 작업에 대한 학습을 반복하는, 동작 방법.
  7. 삭제
  8. 제1항에서,
    상기 주 작업 모델은
    상기 사전 정의 작업 손실이 가장 큰 데이터가 포함된 배치부터 입력받는, 동작 방법.
  9. 적어도 하나의 프로세서에 의해 구동되는 컴퓨팅 장치의 동작 방법으로서,
    사전 정의 작업 모델(pretext task model)에서 예측한 비-레이블 데이터의 작업 손실에 따라, 상기 비-레이블 데이터를 정렬하고, 정렬된 상기 비-레이블 데이터를 복수의 배치들로 분할해서, 훈련 중인 주 작업 모델(main task model)로 순차적으로 입력하는 단계, 그리고
    상기 주 작업 모델의 예측을 통해 순차적으로 입력되는 입력 배치 중에서 불확실한 데이터를 어노테이션 대상으로 선별하고, 레이블이 어노테이션된 상기 불확실한 데이터를 이용하여 상기 주 작업 모델을 훈련시키는 과정을 반복하는 단계
    를 포함하는, 동작 방법.
  10. 제9항에서,
    상기 반복하는 단계는
    상기 주 작업 모델을 통해 상기 입력 배치에 포함된 데이터의 불확실성 점수를 획득하고, 불확실성 점수를 기초로 상기 입력 배치에서 선별된 불확실한 데이터를 상기 어노테이션 대상으로 결정하는, 동작 방법.
  11. 제10항에서,
    상기 반복하는 단계는
    상기 작업 손실이 가장 큰 데이터가 포함된 배치부터 순차적으로 상기 주 작업 모델로 입력하는, 동작 방법.
  12. 제9항에서,
    상기 반복하는 단계는
    레이블이 어노테이션된 상기 불확실한 데이터를 레이블 데이터풀에 추가하고, 새로운 데이터가 추가된 상기 레이블 데이터풀을 이용하여, 상기 주 작업 모델을 훈련시키는, 동작 방법.
  13. 삭제
  14. 제9항에서,
    상기 사전 정의 작업 모델은
    상기 주 작업 모델의 주 작업과 관계된 사전 정의 작업을 통해, 시각적 표현을 자기지도학습하는 인공지능 모델인, 동작 방법.
  15. 컴퓨터 프로그램을 실행하여, 사전 정의 작업 모델(pretext task model)에서 예측한 비-레이블 데이터의 작업 손실에 따라, 상기 비-레이블 데이터를 정렬하고, 정렬된 상기 비-레이블 데이터를 복수의 배치들로 분할하는 동작, 상기 복수의 배치들을 훈련 중인 주 작업 모델(main task model)로 순차적으로 입력하는 동작, 상기 주 작업 모델의 예측을 통해 순차적으로 입력되는 입력 배치에서 불확실한 데이터를 어노테이션 대상으로 선별하는 동작, 그리고 상기 입력 배치에서 선별되어 레이블이 어노테이션된 상기 불확실한 데이터를 이용하여 상기 주 작업 모델을 훈련시키는 동작을 수행하는 프로세서
    를 포함하는 컴퓨팅 장치.
  16. 제15항에서,
    상기 프로세서는
    상기 주 작업 모델을 통해 상기 입력 배치에 포함된 데이터의 불확실성 점수를 획득하고, 불확실성 점수를 기초로 상기 입력 배치에서 선별된 불확실한 데이터를 상기 어노테이션 대상으로 결정하는, 컴퓨팅 장치.
  17. 제16항에서,
    상기 프로세서는
    상기 작업 손실이 가장 큰 데이터가 포함된 배치부터 순차적으로 상기 주 작업 모델로 입력하는, 컴퓨팅 장치.
  18. 제15항에서,
    상기 프로세서는
    레이블이 어노테이션된 상기 불확실한 데이터를 레이블 데이터풀에 추가하고, 새로운 데이터가 추가된 상기 레이블 데이터풀을 이용하여, 상기 주 작업 모델을 훈련시키는, 컴퓨팅 장치.
  19. 삭제
  20. 제15항에서,
    상기 사전 정의 작업 모델은
    상기 주 작업 모델의 주 작업과 관계된 사전 정의 작업을 통해, 시각적 표현을 자기지도학습하는 인공지능 모델인, 컴퓨팅 장치.
KR1020220049476A 2022-04-21 2022-04-21 사전 정의 작업 기반 데이터 선별 방법, 이를 이용한 능동 학습 방법, 그리고 이를 구현한 컴퓨팅 장치 KR102538475B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220049476A KR102538475B1 (ko) 2022-04-21 2022-04-21 사전 정의 작업 기반 데이터 선별 방법, 이를 이용한 능동 학습 방법, 그리고 이를 구현한 컴퓨팅 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220049476A KR102538475B1 (ko) 2022-04-21 2022-04-21 사전 정의 작업 기반 데이터 선별 방법, 이를 이용한 능동 학습 방법, 그리고 이를 구현한 컴퓨팅 장치

Publications (1)

Publication Number Publication Date
KR102538475B1 true KR102538475B1 (ko) 2023-05-31

Family

ID=86542638

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220049476A KR102538475B1 (ko) 2022-04-21 2022-04-21 사전 정의 작업 기반 데이터 선별 방법, 이를 이용한 능동 학습 방법, 그리고 이를 구현한 컴퓨팅 장치

Country Status (1)

Country Link
KR (1) KR102538475B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200116831A (ko) * 2019-04-02 2020-10-13 주식회사 마키나락스 학습 데이터 관리 방법
JP2021060762A (ja) * 2019-10-04 2021-04-15 エヌ・ティ・ティ・コミュニケーションズ株式会社 学習装置、学習方法および学習プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200116831A (ko) * 2019-04-02 2020-10-13 주식회사 마키나락스 학습 데이터 관리 방법
JP2021060762A (ja) * 2019-10-04 2021-04-15 エヌ・ティ・ティ・コミュニケーションズ株式会社 学習装置、学習方法および学習プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"자기 지도 학습 - Pretext Tasks", 블로그 https://atcold.github.io/pytorch-Deep-Learning/ko/week10/10-1/, 2020.04.06.* *

Similar Documents

Publication Publication Date Title
CN111444320B (zh) 文本检索方法、装置、计算机设备和存储介质
KR20200014510A (ko) 기계 학습 기반의 예측 서비스 제공 방법 및 그 장치
US20220129794A1 (en) Generation of counterfactual explanations using artificial intelligence and machine learning techniques
US11157779B2 (en) Differential classification using multiple neural networks
CN111260073A (zh) 数据处理方法、装置和计算机可读存储介质
CN111046659B (zh) 上下文信息生成方法、上下文信息生成装置及计算机可读记录介质
CN110414003B (zh) 建立文本生成模型的方法、装置、介质和计算设备
CN110929119A (zh) 数据标注方法、装置、设备及计算机存储介质
JP2022007168A (ja) 学習プログラム、学習方法および情報処理装置
KR101745874B1 (ko) 학습코스 자동 생성 방법 및 시스템
KR102538475B1 (ko) 사전 정의 작업 기반 데이터 선별 방법, 이를 이용한 능동 학습 방법, 그리고 이를 구현한 컴퓨팅 장치
CN112990461B (zh) 构建神经网络模型的方法、装置、计算机设备和存储介质
CN108460453B (zh) 一种用于ctc训练的数据处理方法、装置及系统
CN115658885A (zh) 文本智能标注方法、系统、智能终端及存储介质
US11836904B2 (en) Utilizing a neural network model to generate a reference image based on a combination of images
JP7424373B2 (ja) 分析装置、分析方法及び分析プログラム
EP3910575A1 (en) Utilizing similarity, knowledge graphs, and machine learning models to refine/redefine a target skill profile based on skills data from employees of an entity and activate a recommendation system
CN113934450A (zh) 生成注释信息的方法、装置、计算机设备和介质
US11977841B2 (en) Classification of documents
JP7439923B2 (ja) 学習方法、学習装置及びプログラム
US12014276B2 (en) Deterministic training of machine learning models
US20230351264A1 (en) Storage medium, accuracy calculation method, and information processing device
US20220284172A1 (en) Machine learning technologies for structuring unstructured data
US11928182B1 (en) Artificial intelligence system supporting semi-supervised learning with iterative stacking
EP4053759A1 (en) Machine learning pipeline skeleton instantiation

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant