KR102071179B1 - 데이터 셋의 연속적인 학습 방법 및 장치 - Google Patents

데이터 셋의 연속적인 학습 방법 및 장치 Download PDF

Info

Publication number
KR102071179B1
KR102071179B1 KR1020190058905A KR20190058905A KR102071179B1 KR 102071179 B1 KR102071179 B1 KR 102071179B1 KR 1020190058905 A KR1020190058905 A KR 1020190058905A KR 20190058905 A KR20190058905 A KR 20190058905A KR 102071179 B1 KR102071179 B1 KR 102071179B1
Authority
KR
South Korea
Prior art keywords
machine learning
parameter
label information
feature space
data set
Prior art date
Application number
KR1020190058905A
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 KR1020190058905A priority Critical patent/KR102071179B1/ko
Priority to US16/706,570 priority patent/US11620529B2/en
Application granted granted Critical
Publication of KR102071179B1 publication Critical patent/KR102071179B1/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
    • 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/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • 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
    • 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

Abstract

본 개시는 데이터 세트들을 순차적으로 기계학습하는 방법 및 장치에 대한 것으로서, 제 1 데이터 세트에 기초하여 제 1 특징 공간을 생성하고, 제 1 특징 공간에 기초하여 제 1 예측 레이블 정보를 생성하고, 제 1 데이터 세트 및 제 1 데이터 세트와 관련된 제 1 레이블 정보의 관계를 기계학습하고, 제 1 예측 레이블 정보 및 제 1 특징 공간의 관계를 기계학습하여 제 1 기계학습모델을 생성하는 단계, 및 제 1 기계학습모델에 기초하여 제 2 데이터 세트에 기초하여 제 2 특징 공간을 생성하고, 제 2 특징 공간으로부터 제 2 예측 레이블 정보를 생성하고, 제 2 데이터 세트 및 제 2 레이블 정보의 관계를 기계학습하고, 제 2 예측 레이블 정보 및 제 2 특징 공간의 관계를 기계학습하여 제 2 기계학습모델을 생성하는 단계를 포함하는 것을 특징으로 한다.

Description

데이터 셋의 연속적인 학습 방법 및 장치 {METHOD OF CONTINUAL-LEARNING OF DATA SETS AND APPARATUS THEREOF}
본 개시는 데이터 세트들을 순차적으로 기계학습하는 방법 및 장치에 대한 것이다. 보다 구체적으로 본 개시는 복수의 데이터 세트를 순차적으로 기계학습하여, 기계학습모델을 업데이트 하는 방법 및 장치에 관한 것이다.
최상의 기계학습모델을 획득하기 위해서는 최대한 많은 데이터를 입력에 기초하여 기계학습을 수행하는 것이 필요하다. 하지만, 데이터 센터에서 데이터를 반출하는 것이 어려운 경우가 있다. 이러한 환경을 제한적인 멀티-센터(multi-center) 학습 환경이라고 부른다. 제한적인 멀티-센터 학습 환경에서는, 모든 데이터 센터의 데이터를 한 번에 활용할 수 없다. 따라서, 각 센터의 데이터 세트를 순차적으로 이용하여, 기계학습모델이 점진적으로 학습되어야 한다. 예를 들어 제 1 데이터 센터(제 1 스테이지)에서 제 1 데이터 세트에 기초하여 제 1 기계학습모델을 획득하고, 제 2 데이터 센터(제 2 스테이지)에서 제 2 데이터 세트 및 제 1 기계학습모델에 기초하여 제 2 기계학습모델을 획득할 수 있다.
그러나, 이전 데이터 센터에서 기계학습을 위해 사용된 데이터 세트가 현재 데이터 센터에서 기계학습을 위해 사용될 수 없는 경우가 있으며, 현재 데이터 센터에서 현재 데이터 세트에 대해 기계학습이 수행되면서, 이전 데이터 센터에서 학습된 모델이 서서히 잊히게 되는 치명적 망각(catastrophic forgetting) 현상이 발생하게 된다. 특히, 경사 하강법(gradient descent) 알고리즘으로 최적화를 수행하는 신경망(neural network)에서는 이 문제가 더욱 심각하다고 알려져 있다.
치명적 망각은 기계학습에서 중요한 연구주제 중 하나이며, 치명적 망각을 해결하기 위하여 다양한 방법이 제안되고 있다.
먼저, 논문 "Girshick, R., Donahue, J., et al., Rich feature hierarchies for accurate object detection and semantic segmentation, In: CVPR (2014)"에서 소개된 파인-튜닝(Fine-Tuning) 방법은 이전 스테이지(stage)에서 학습이 완료된 모델 파라미터(model parameters)를 초기 지점(initial point)으로 하고, 현재 스테이지의 데이터 세트에 기초하여 모델 파라미터를 튜닝(tuning)해 나가는 방식이다. 이 방식은 기계학습모델에 포함된 파라미터가 스테이지마다 크게 변경될 수 있으므로 치명적인 망각을 해소하기 힘든 문제점이 있었다.
다음으로 논문 " Kirkpatrick, J., Pascanu, R., et al., Overcoming catastrophic forgetting in neural networks, In: PNAS (2017)"에서 소개된 Elastic Weight Consolidation(EWC)은 이전 스테이지에서 학습된 모델 파라미터의 중요도를 정의한다. 모델 파라미터의 중요도는 피셔 정보 메트릭스(Fisher information matrix)라고 한다. EWC는 모델 파라미터의 중요도를 파라미터당 가중치 쇠퇴 상수(per-parameter weight decay constant)로 활용한다. 즉, 이전 스테이지 모델의 관점에서 중요한 모델 파라미터들이 다음 스테이지 학습에서 크게 변하지 않도록 규칙화(regularization) 하는 기법이다. EWC는 모델 파라미터의 중요도를 완벽하게 결정하는 것이 어렵다는 문제점이 있었다.
세 번째로, 논문 "Li, Z. and Hoiem, D., Learning without forgetting, In: ECCV (2016)"에서 소개된, Learning without Forgetting (LwF) 방식이 있다. LwF 방식은 각 스테이지의 학습을 시작하기 전에 현재 스테이지의 모든 데이터 세트에 대해서 이 전 스테이지에서 학습이 완료된 모델 파라미터의 피드 포워드 로짓(feed forward logit)을 LwF-logit으로써 미리 계산한다. 또한, LwF 방식은 새로운 데이터 세트의 레이블과 LwF-logit을 모두 현재 스테이지의 학습에 활용한다. 이 때, 레이블은 새로운 데이터 세트를 학습하는 목적으로 사용하고, LwF-logit은 과거의 데이터 세트에 의한 모델을 보존하는데 사용한다. LwF 방식은 멀티-태스크, 멀티-센터 학습(multi-task multi-center learning)을 위한 것이며, LwF+ 방식은 싱글-태스크, 멀티-센터 학습을 위해 LwF 방식을 변형한 것이다. LwF 방식은 특징 공간의 변화에 대한 제한이 없으므로, 새로운 데이터 세트에 의하여 특징 공간이 크게 변경되는 것을 막을 수 없는 문제점이 있었다.
본 개시에 따른 데이터 세트들을 순차적으로 기계학습하는 방법은, 제 1 데이터 세트에 기초하여 제 1 특징 공간을 생성하는 단계, 제 1 특징 공간에 기초하여 제 1 예측 레이블 정보를 생성하는 단계, 제 1 예측 레이블 정보에 기초하여 제 1 예측 특징 공간을 생성하는 단계 및 제 1 데이터 세트 및 제 1 데이터 세트와 관련된 제 1 레이블 정보의 관계를 기계학습하고, 제 1 예측 레이블 정보 및 제 1 특징 공간의 관계를 기계학습하여 제 1 기계학습모델을 생성하는 단계를 포함하는 것을 특징으로 한다.
본 개시에 따른 데이터 세트들을 순차적으로 기계학습하는 방법은, 제 2 데이터 세트에 기초하여 제 2 특징 공간을 생성하는 단계, 제 2 특징 공간으로부터 제 2 예측 레이블 정보를 생성하는 단계, 제 2 예측 레이블 정보에 기초하여 제 2 예측 특징 공간을 생성하는 단계 및 제 2 데이터 세트 및 제 2 레이블 정보의 관계를 기계학습하고, 제 2 예측 레이블 정보 및 제 2 특징 공간의 관계를 기계학습하여 제 2 기계학습모델을 생성하는 단계를 포함하는 것을 특징으로 한다.
본 개시에 따른 데이터 세트들을 순차적으로 기계학습하는 방법의 제 1 특징 공간을 생성하는 단계는, 제 1 데이터 세트 및 신경망(Neural Network)과 관련된 제 1 특징 추출 파라미터에 기초하여 제 1 특징 공간을 생성하는 단계를 포함하고, 제 1 예측 레이블 정보를 생성하는 단계는 제 1 특징 공간에 제 1 파라미터를 적용하여 제 1 예측 레이블 정보를 생성하는 단계를 포함하고, 제 1 예측 특징 공간을 생성하는 단계는, 제 1 예측 레이블 정보에 제 2 파라미터를 적용하여 제 1 예측 특징 공간을 생성하는 단계를 포함하는 것을 특징으로 한다.
본 개시에 따른 데이터 세트들을 순차적으로 기계학습하는 방법의 제 1 기계학습모델을 생성하는 단계는 역전파(back propagation)를 이용하여 제 1 레이블 정보와 제 1 예측 레이블 정보의 차이 및 제 1 특징 공간과 제 1 예측 특징 공간의 차이 중 적어도 하나가 최소가 되는 수정된 제 1 특징 추출 파라미터, 수정된 제 1 파라미터 및 수정된 제 2 파라미터를 획득하는 단계를 포함하는 것을 특징으로 한다.
본 개시에 따른 데이터 세트들을 순차적으로 기계학습하는 방법의 제 2 특징 공간을 생성하는 단계는, 제 2 데이터 세트 및 수정된 제 1 특징 추출 파라미터에 기초하여 제 2 특징 공간을 생성하는 단계를 포함하고, 제 2 예측 레이블 정보를 생성하는 단계는 제 2 특징 공간에 수정된 제 1 파라미터를 적용하여 제 2 예측 레이블 정보를 생성하는 단계를 포함하고, 제 2 예측 특징 공간을 생성하는 단계는 제 2 예측 레이블 정보에 수정된 제 2 파라미터를 적용하여 제 2 예측 특징 공간을 생성하는 단계를 포함하는 것을 특징으로 한다.
본 개시에 따른 데이터 세트들을 순차적으로 기계학습하는 방법의 제 2 기계학습모델을 생성하는 단계는 제 2 특징 공간에 제 3 파라미터를 적용하여 제 3 예측 레이블 정보를 생성하는 단계 및 역전파를 이용하여 제 2 특징 공간 및 제 2 예측 특징 공간의 차이, 제 3 레이블 정보 및 제 2 예측 레이블 정보의 차이 및 제 2 레이블 정보 및 제 3 예측 레이블 정보의 차이 중 적어도 하나가 최소가 되도록, 수정된 제 1 특징 추출 파라미터를 수정하여 제 2 특징 추출 파라미터를 생성하고, 제 3 파라미터를 수정하여 수정된 제 3 파라미터를 획득하는 단계를 포함하는 것을 특징으로 한다.
본 개시에 따른 데이터 세트들을 순차적으로 기계학습하는 방법은 제 2 데이터 세트에 제 1 기계학습모델을 적용하여 제 3 레이블 정보를 획득하는 단계를 더 포함하고 수정된 제 1 파라미터 및 수정된 제 2 파라미터는 고정된 것을 특징으로 한다.
본 개시에 따른 데이터 세트들을 순차적으로 기계학습하는 방법은 영상 데이터를 수신하는 단계, 영상 데이터를 제 2 특징 추출 파라미터 및 수정된 제 3 파라미터를 포함하는 제 2 기계학습모델에 적용하여 제 4 레이블을 획득하는 단계 및 제 4 레이블을 메모리에 저장하는 단계를 포함하는 것을 특징으로 한다.
본 개시에 따른 기계학습을 이용하여 연속적 학습(Continual Learning)을 수행하는 기계학습 장치는 프로세서 및 메모리를 포함하고, 프로세서는 메모리에 저장된 명령어에 기초하여, 제 1 데이터 세트에 기초하여 제 1 특징 공간을 생성하는 단계, 제 1 특징 공간에 기초하여 제 1 예측 레이블 정보를 생성하는 단계, 제 1 예측 레이블 정보에 기초하여 제 1 예측 특징 공간을 생성하는 단계, 제 1 데이터 세트 및 제 1 데이터 세트와 관련된 제 1 레이블 정보의 관계를 기계학습하고, 제 1 예측 레이블 정보 및 제 1 특징 공간의 관계를 기계학습하여 제 1 기계학습모델을 생성하는 단계를 수행하는 것을 특징으로 한다.
본 개시에 따른 기계학습을 이용하여 연속적 학습(Continual Learning)을 수행하는 기계학습 장치의 프로세서는 메모리에 저장된 명령어에 기초하여, 제 2 데이터 세트에 기초하여 제 2 특징 공간을 생성하는 단계, 제 2 특징 공간으로부터 제 2 예측 레이블 정보를 생성하는 단계, 제 2 예측 레이블 정보에 기초하여 제 2 예측 특징 공간을 생성하는 단계 및 제 2 데이터 세트 및 제 2 레이블 정보의 관계를 기계학습하고, 제 2 예측 레이블 정보 및 제 2 특징 공간의 관계를 기계학습하여 제 2 기계학습모델을 생성하는 단계를 수행하는 것을 특징으로 한다.
본 개시에 따른 기계학습을 이용하여 연속적 학습(Continual Learning)을 수행하는 기계학습 장치의 프로세서는 메모리에 저장된 명령어에 기초하여, 제 1 데이터 세트 및 신경망(Neural Network)과 관련된 제 1 특징 추출 파라미터에 기초하여 제 1 특징 공간을 생성하는 단계, 제 1 특징 공간에 제 1 파라미터를 적용하여 제 1 예측 레이블 정보를 생성하는 단계 및 제 1 예측 레이블 정보에 제 2 파라미터를 적용하여 제 1 예측 특징 공간을 생성하는 단계를 수행하는 것을 특징으로 한다.
본 개시에 따른 기계학습을 이용하여 연속적 학습(Continual Learning)을 수행하는 기계학습 장치의 프로세서는 메모리에 저장된 명령어에 기초하여, 역전파(back propagation)를 이용하여 제 1 레이블 정보와 제 1 예측 레이블 정보의 차이 및 제 1 특징 공간과 제 1 예측 특징 공간의 차이 중 적어도 하나가 최소가 되는 수정된 제 1 특징 추출 파라미터, 수정된 제 1 파라미터 및 수정된 제 2 파라미터를 획득하는 단계를 수행하는 것을 특징으로 한다.
본 개시에 따른 기계학습을 이용하여 연속적 학습(Continual Learning)을 수행하는 기계학습 장치의 프로세서는 메모리에 저장된 명령어에 기초하여, 제 2 데이터 세트 및 수정된 제 1 특징 추출 파라미터에 기초하여 제 2 특징 공간을 생성하는 단계, 제 2 특징 공간에 수정된 제 1 파라미터를 적용하여 제 2 예측 레이블 정보를 생성하는 단계, 제 2 예측 레이블 정보에 수정된 제 2 파라미터를 적용하여 제 2 예측 특징 공간을 생성하는 단계, 제 2 특징 공간에 제 3 파라미터를 적용하여 제 3 예측 레이블 정보를 생성하는 단계를 수행하는 것을 특징으로 한다.
본 개시에 따른 기계학습을 이용하여 연속적 학습(Continual Learning)을 수행하는 기계학습 장치의 프로세서는 메모리에 저장된 명령어에 기초하여, 역전파를 이용하여 제 2 특징 공간 및 제 2 예측 특징 공간의 차이, 제 3 레이블 정보 및 제 2 예측 레이블 정보의 차이 및 제 2 레이블 정보 및 제 3 예측 레이블 정보의 차이가 최소가 되도록, 수정된 제 1 특징 추출 파라미터를 수정하여 제 2 특징 추출 파라미터를 생성하고, 제 3 파라미터를 수정하여 수정된 제 3 파라미터를 획득하는 단계를 수행하는 것을 특징으로 한다.
본 개시에 따른 기계학습을 이용하여 연속적 학습(Continual Learning)을 수행하는 기계학습 장치의 프로세서는 메모리에 저장된 명령어에 기초하여, 제 2 데이터 세트에 제 1 기계학습모델을 적용하여 제 3 레이블 정보를 획득하는 단계를 더 수행하고 수정된 제 1 파라미터 및 수정된 제 2 파라미터는 고정된 것을 특징으로 한다.
본 개시에 따른 기계학습을 이용하여 연속적 학습(Continual Learning)을 수행하는 기계학습 장치의 프로세서는 메모리에 저장된 명령어에 기초하여, 영상 데이터를 수신하는 단계, 영상 데이터를 제 2 특징 추출 파라미터 및 수정된 제 3 파라미터를 포함하는 제 2 기계학습모델에 적용하여 제 4 레이블을 획득하는 단계 및 제 4 레이블을 메모리에 저장하는 단계를 수행하는 것을 특징으로 한다.
본 개시에 따른 데이터 세트들을 순차적으로 기계학습하는 방법은, 입력된 데이터 세트 및 레이블 정보의 관계를 기계학습하여 기계학습모델을 생성하는 단계, 입력된 데이터 세트에 기계학습모델을 적용하여 예측 레이블 정보를 생성하는 단계, 예측 레이블 정보로부터 기계학습모델의 특징 공간을 복원하는 단계를 포함하는 것을 특징으로 한다.
본 개시에 따른 데이터 세트들을 순차적으로 기계학습하는 방법의, 기계학습모델의 특징 공간을 복원하는 단계는, 예측 레이블 정보와 특징 공간의 관계를 기계학습한 서브기계학습모델에 기초하여, 예측 레이블 정보로부터 특징 공간을 복원하는 단계를 포함하고, 특징 공간은 기계학습모델의 은닉(hidden) 레이어인 것을 특징으로 한다.
본 개시에 따른 기계학습을 이용하여 연속적 학습(Continual Learning)을 수행하는 기계학습 장치는 프로세서 및 메모리를 포함하고, 프로세서는 메모리에 저장된 명령어에 기초하여, 입력된 데이터 세트 및 레이블 정보의 관계를 기계학습하여 기계학습모델을 생성하는 단계, 입력된 데이터 세트에 기계학습모델을 적용하여 예측 레이블 정보를 생성하는 단계 및 예측 레이블 정보로부터 기계학습모델의 특징 공간을 복원하는 단계를 수행하는 것을 특징으로 한다.
본 개시에 따른 기계학습을 이용하여 연속적 학습(Continual Learning)을 수행하는 기계학습 장치의 프로세서는 메모리에 저장된 명령어에 기초하여, 예측 레이블 정보와 특징 공간의 관계를 기계학습한 서브기계학습모델에 기초하여, 예측 레이블 정보로부터 특징 공간을 복원하는 단계를 수행하고, 특징 공간은 기계학습모델의 은닉(hidden) 레이어인 것을 특징으로 한다.
또한, 상술한 바와 같은 기계학습장치의 동작 방법을 구현하기 위한 프로그램은 컴퓨터로 판독 가능한 기록 매체에 기록될 수 있다.
도 1은 본 개시의 일 실시예에 따른 기계학습장치(100)의 블록도이다.
도 2는 본 개시의 일 실시예에 따른 기계학습장치를 나타낸 도면이다.
도 3은 본 개시의 일 실시예에 따른 기계학습장치의 동작을 나타낸 흐름도이다.
도 4는 본 개시의 일 실시예에 따라 기계학습장치가 기계학습을 수행하는 과정을 나타낸 도면이다.
도 5는 본 개시의 일 실시예에 따라 제 1 기계학습모델을 생성하는 단계를 나타낸 흐름도이다.
도 6은 본 개시의 일 실시예에 따라 제 1 기계학습모델을 생성하는 과정을 나타낸 도면이다.
도 7는 본 개시의 일 실시예에 따라 제 2 기계학습모델을 생성하는 단계를 나타낸 흐름도이다.
도 8은 본 개시의 일 실시예에 따라 제 2 기계학습모델을 생성하는 과정을 나타낸 도면이다.
도 9는 본 개시의 일 실시예에 따른 제 3 레이블 정보를 설명하는 도면이다.
도 10은 본 개시의 일 실시예에 따른 테스트 단계를 나타낸 흐름도이다.
도 11은 본 개시의 일 실시예에 따라, ResNet을 이용하여 기계학습방법을 구현한 도면이다.
도 12은 본 개시의 일 실시예에 따라, ResNet을 이용하여 기계학습방법을 구현한 도면이다.
도 13는 본 개시의 일 실시예에 따른 기계학습방법의 성능을 나타낸 표이다.
개시된 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 개시된 실시예에 대해 구체적으로 설명하기로 한다.
본 명세서에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다. 또한 복수의 표현은 문맥상 명백하게 복수인 것으로 특정하지 않는 한, 단수의 표현을 포함한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어 또는 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.
본 개시의 일 실시예에 따르면 "부"는 프로세서 및 메모리로 구현될 수 있다. 용어 "프로세서" 는 범용 프로세서, 중앙 처리 장치 (CPU), 마이크로프로세서, 디지털 신호 프로세서 (DSP), 제어기, 마이크로제어기, 상태 머신 등을 포함하도록 넓게 해석되어야 한다. 몇몇 환경에서는, "프로세서" 는 주문형 반도체 (ASIC), 프로그램가능 로직 디바이스 (PLD), 필드 프로그램가능 게이트 어레이 (FPGA) 등을 지칭할 수도 있다. 용어 "프로세서" 는, 예를 들어, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서들의 조합, DSP 코어와 결합한 하나 이상의 마이크로프로세서들의 조합, 또는 임의의 다른 그러한 구성들의 조합과 같은 처리 디바이스들의 조합을 지칭할 수도 있다.
용어 "메모리" 는 전자 정보를 저장 가능한 임의의 전자 컴포넌트를 포함하도록 넓게 해석되어야 한다. 용어 메모리는 임의 액세스 메모리 (RAM), 판독-전용 메모리 (ROM), 비-휘발성 임의 액세스 메모리 (NVRAM), 프로그램가능 판독-전용 메모리 (PROM), 소거-프로그램가능 판독 전용 메모리 (EPROM), 전기적으로 소거가능 PROM (EEPROM), 플래쉬 메모리, 자기 또는 광학 데이터 저장장치, 레지스터들 등과 같은 프로세서-판독가능 매체의 다양한 유형들을 지칭할 수도 있다. 프로세서가 메모리로부터 정보를 판독하고/하거나 메모리에 정보를 기록할 수 있다면 메모리는 프로세서와 전자 통신 상태에 있다고 불린다. 프로세서에 집적된 메모리는 프로세서와 전자 통신 상태에 있다.
아래에서는 첨부한 도면을 참고하여 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.
도 1은 본 개시의 일 실시예에 따른 기계학습장치(100)의 블록도이다.
도 1을 참조하면, 일 실시예에 따른 기계학습장치(100)는 데이터 학습부(110) 또는 데이터 인식부(120) 중 적어도 하나를 포함할 수 있다. 상술한 바와 같은 기계학습장치(100)는 프로세서 및 메모리를 포함할 수 있다.
데이터 학습부(110)는 데이터 세트를 이용하여 타겟 태스크(target task)를 수행하기 위한 기계학습모델을 학습할 수 있다. 데이터 학습부(110)는 데이터 세트 및 타겟 태스크와 관련된 레이블 정보를 수신할 수 있다. 데이터 학습부(110)는 데이터 세트와 레이블 정보의 관계에 대해 기계학습을 수행하여 기계학습모델을 획득할 수 있다. 데이터 학습부(110)가 획득한 기계학습모델은 데이터 세트를 이용하여 레이블 정보를 생성하기 위한 모델일 수 있다.
데이터 인식부(120)는 데이터 학습부(110)의 기계학습모델을 수신하여 저장하고 있을 수 있다. 데이터 인식부(120)는 입력 데이터에 기계학습모델을 적용하여 레이블 정보를 출력할 수 있다. 또한, 데이터 인식부(120)는 입력 데이터, 레이블 정보 및 기계학습모델에 의해 출력된 결과를 기계학습모델을 갱신하는데 이용할 수 있다.
데이터 학습부(110) 및 데이터 인식부(120) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 학습부(110) 및 데이터 인식부(120) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 이미 설명한 각종 전자 장치에 탑재될 수도 있다.
또한 데이터 학습부(110) 및 데이터 인식부(120)는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 학습부(110) 및 데이터 인식부(120) 중 하나는 전자 장치에 포함되고, 나머지 하나는 서버에 포함될 수 있다. 또한, 데이터 학습부(110) 및 데이터 인식부(120)는 유선 또는 무선으로 통하여, 데이터 학습부(110)가 구축한 기계학습모델 정보를 데이터 인식부(120)로 제공할 수도 있고, 데이터 인식부(120)로 입력된 데이터가 추가 학습 데이터로써 데이터 학습부(110)로 제공될 수도 있다.
한편, 데이터 학습부(110) 및 데이터 인식부(120) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 학습부(110) 및 데이터 인식부(120) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction)을 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 메모리 또는 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
본 개시의 일 실시예에 따른 데이터 학습부(110)는 데이터 획득부(111), 전처리부(112), 학습 데이터 선택부(113), 모델 학습부(114) 및 모델 평가부(115)를 포함할 수 있다.
데이터 획득부(111)는 기계학습에 필요한 데이터를 획득할 수 있다. 학습을 위해서는 많은 데이터가 필요하므로, 데이터 획득부(111)는 복수의 데이터를 포함하는 데이터 세트를 수신할 수 있다.
복수의 데이터 각각에 대하여 레이블 정보가 할당될 수 있다. 레이블 정보는 복수의 데이터의 각각을 설명하는 정보일 수 있다. 레이블 정보는 타겟 태스크(target task)가 도출하고자 하는 정보일 수 있다. 레이블 정보는 사용자 입력으로부터 획득되거나, 메모리로부터 획득되거나, 기계학습모델의 결과로부터 획득될 수 있다. 예를 들어 타겟 태스크가 영상으로부터 특정 물체의 존재 여부를 결정하는 것이라면, 복수의 데이터는 복수의 영상 데이터가 될 것이며 레이블 정보는 복수의 영상 각각에 특정 물체가 있는지 여부가 될 것이다.
전처리부(112)는 수신된 데이터가 기계학습에 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부(112)는 후술할 모델 학습부(114)가 이용할 수 있도록, 획득된 데이터 세트를 미리 설정된 포맷으로 가공할 수 있다.
학습 데이터 선택부(113)는 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 모델 학습부(114)에 제공될 수 있다. 학습 데이터 선택부(113)는 기 설정된 기준에 따라, 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부(113)는 후술할 모델 학습부(114)에 의한 학습에 의해 기 설정된 기준에 따라 데이터를 선택할 수도 있다.
모델 학습부(114)는 데이터 세트에 기초하여 어떤 레이블 정보를 출력할 지에 관한 기준을 학습할 수 있다. 또한, 모델 학습부(114)는 데이터 세트 및 데이터 세트 대한 레이블 정보를 학습 데이터로써 이용하여 기계학습을 수행할 수 있다. 또한 모델 학습부(114)는 기존에 획득된 기계학습모델을 추가적으로 이용하여 기계학습을 수행할 수 있다. 이 경우, 기존에 획득된 기계학습모델은 미리 구축된 모델일 수 있다. 예를 들어, 기계학습모델은 기본 학습 데이터를 입력 받아 미리 구축된 모델일 수 있다.
기계학습모델은, 학습모델의 적용 분야, 학습의 목적 또는 장치의 컴퓨터 성능 등을 고려하여 구축될 수 있다. 기계학습모델은, 예를 들어, 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 예컨대, Deep Neural Network (DNN), Recurrent Neural Network (RNN), Long Short-Term Memory models (LSTM), BRDNN (Bidirectional Recurrent Deep Neural Network), Convolutional Neural Networks (CNN)과 같은 모델이 기계학습모델로써 사용될 수 있으나, 이에 한정되지 않는다.
다양한 실시예에 따르면, 모델 학습부(114)는 미리 구축된 기계학습모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 기계학습모델을 학습할 기계학습모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입 별로 기 분류되어 있을 수 있으며, 기계학습모델은 데이터의 타입 별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 장소, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 생성자, 학습 데이터 내의 오브젝트의 종류 등과 같은 다양한 기준으로 기 분류되어 있을 수 있다.
또한, 모델 학습부(114)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 기계학습모델을 학습시킬 수 있다.
또한, 모델 학습부(114)는, 예를 들어, 학습 데이터를 입력 값으로 하는 지도 학습(supervised learning)을 통하여, 기계학습모델을 학습할 수 있다. 또한, 모델 학습부(114)는, 예를 들어, 별다른 지도없이 타겟 태스크(target task)을 위해 필요한 데이터의 종류를 스스로 학습함으로써, 타겟 태스크를 위한 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 기계학습모델을 획득할 수 있다. 또한, 모델 학습부(114)는, 예를 들어, 학습에 따른 타겟 태스크의 결과가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 기계학습모델을 학습할 수 있다.
또한, 기계학습모델이 학습되면, 모델 학습부(114)는 학습된 기계학습모델을 저장할 수 있다. 이 경우, 모델 학습부(114)는 학습된 기계학습모델을 데이터 인식부(120)를 포함하는 전자 장치의 메모리에 저장할 수 있다. 또는, 모델 학습부(114)는 학습된 기계학습모델을 전자 장치와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
학습된 기계학습모델이 저장되는 메모리는, 예를 들면, 전자 장치의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 함께 저장할 수도 있다. 또한, 메모리는 소프트웨어 및/또는 프로그램을 저장할 수도 있다. 프로그램은, 예를 들면, 커널, 미들웨어, 어플리케이션 프로그래밍 인터페이스(API) 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 등을 포함할 수 있다.
모델 평가부(115)는 기계학습모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(114)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 기계학습모델을 평가하기 위한 기 설정된 데이터일 수 있다.
예를 들어, 모델 평가부(115)는 평가 데이터에 대한 학습된 기계학습모델의 결과 중에서, 인식 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다. 예컨대, 소정 기준이 비율 2%로 정의되는 경우, 학습된 기계학습모델이 총 1000개의 평가 데이터 중의 20개를 초과하는 평가 데이터에 대하여 잘못된 인식 결과를 출력하는 경우, 모델 평가부(115)는 학습된 기계학습모델이 적합하지 않은 것으로 평가할 수 있다.
한편, 학습된 기계학습모델이 복수 개가 존재하는 경우, 모델 평가부(115)는 각각의 학습된 동영상 학습모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 기계학습모델로써 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(115)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 기계학습모델로써 결정할 수 있다.
한편, 데이터 학습부(110) 내의 데이터 획득부(111), 전처리부(112), 학습 데이터 선택부(113), 모델 학습부(114) 및 모델 평가부(115) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(111), 전처리부(112), 학습 데이터 선택부(113), 모델 학습부(114) 및 모델 평가부(115) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(111), 전처리부(112), 학습 데이터 선택부(113), 모델 학습부(114) 및 모델 평가부(115)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(111), 전처리부(112), 학습 데이터 선택부(113), 모델 학습부(114) 및 모델 평가부(115) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(111), 전처리부(112), 학습 데이터 선택부(113), 모델 학습부(114) 및 모델 평가부(115) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(111), 전처리부(112), 학습 데이터 선택부(113), 모델 학습부(114) 및 모델 평가부(115) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
본 개시의 일 실시예에 따른 데이터 인식부(120)는 데이터 획득부(121), 전처리부(122), 인식 데이터 선택부(123), 인식 결과 제공부(124) 및 모델 갱신부(125)를 포함할 수 있다.
데이터 획득부(121)는 입력 데이터를 수신할 수 있다. 전처리부(122)는 획득된 입력 데이터가 인식 데이터 선택부(123) 또는 인식 결과 제공부(124)에서 이용될 수 있도록, 획득된 입력 데이터를 전처리할 수 있다.
인식 데이터 선택부(123)는 전처리된 데이터 중에서 필요한 데이터를 선택할 수 있다. 선택된 데이터는 인식 결과 제공부(124)에게 제공될 수 있다. 인식 데이터 선택부(123)는 기 설정된 기준에 따라, 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 인식 데이터 선택부(123)는 모델 학습부(114)에 의한 학습에 의해 기 설정된 기준에 따라 데이터를 선택할 수도 있다.
인식 결과 제공부(124)는 선택된 데이터를 기계학습모델에 적용하여 결과 데이터를 획득할 수 있다. 기계학습모델은 모델 학습부(114)에 의하여 생성된 기계학습모델일 수 있다. 인식 결과 제공부(124)는 결과 데이터를 출력할 수 있다.
모델 갱신부(125)는 인식 결과 제공부(124)에 의해 제공되는 인식 결과에 대한 평가에 기초하여, 기계학습모델이 갱신되도록 할 수 있다. 예를 들어, 모델 갱신부(125)는 인식 결과 제공부(124)에 의해 제공되는 인식 결과를 모델 학습부(114)에게 제공함으로써, 모델 학습부(114)가 기계학습모델을 갱신하도록 할 수 있다.
한편, 데이터 인식부(120) 내의 데이터 획득부(121), 전처리부(122), 인식 데이터 선택부(123), 인식 결과 제공부(124) 및 모델 갱신부(125) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(121), 전처리부(122), 인식 데이터 선택부(123), 인식 결과 제공부(124) 및 모델 갱신부(125) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(121), 전처리부(122), 인식 데이터 선택부(123), 인식 결과 제공부(124) 및 모델 갱신부(125)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(121), 전처리부(122), 인식 데이터 선택부(123), 인식 결과 제공부(124) 및 모델 갱신부(125) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(121), 전처리부(122), 인식 데이터 선택부(123), 인식 결과 제공부(124) 및 모델 갱신부(125) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(121), 전처리부(122), 인식 데이터 선택부(123), 인식 결과 제공부(124) 및 모델 갱신부(125) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
아래에서는 데이터 학습부(110)가 데이터 세트들을 순차적으로 기계학습하는 방법 및 장치에 대하여 보다 자세히 설명한다.
도 2는 본 개시의 일 실시예에 따른 기계학습장치를 나타낸 도면이다.
기계학습장치(200)는 프로세서(210) 및 메모리(220)를 포함할 수 있다. 프로세서(210)는 메모리(220)에 저장된 명령어들을 수행할 수 있다.
상술한 바와 같이 기계학습장치(200)는 데이터 학습부(110) 또는 데이터 인식부(120) 중 적어도 하나를 포함할 수 있다. 데이터 학습부(110) 또는 데이터 인식부(120) 중 적어도 하나는 프로세서(210) 및 메모리(220)에 의하여 구현될 수 있다.
도 3은 본 개시의 일 실시예에 따른 기계학습장치의 동작을 나타낸 흐름도이다.
프로세서(210)는 제 1 기계학습모델을 생성하는 단계(310)를 수행할 수 있다. 또한 프로세서(210)는 제 2 기계학습모델을 생성하는 단계(320)를 수행할 수 있다. 제 2 기계학습모델과 동일한 방식으로, 프로세서(210)는 제 n 기계학습모델을 생성하는 단계를 수행하여 기계학습모델을 계속적으로 업데이트할 수 있다. 제 1 기계학습모델을 생성하는 단계(310) 및 제 2 기계학습모델을 생성하는 단계(320)에 대해, 도 4와 함께 보다 자세히 설명한다.
도 4는 본 개시의 일 실시예에 따라 기계학습장치가 기계학습을 수행하는 과정을 나타낸 도면이다.
제 1 기계학습모델을 생성하는 단계(310)는 제 1 스테이지(410)에서 수행될 수 있다. 제 1 스테이지(410)에서 프로세서(210)는 제 1 데이터 세트(420)를 제공받아 기계학습을 수행하는 단계이다. 제 1 데이터 세트는 기계학습모델의 대상일 수 있다. 제 1 데이터 세트는 복수의 데이터를 포함할 수 있다. 데이터는 영상, 소리 또는 센서의 출력값 중 하나를 포함할 수 있다. 데이터는 수치 또는 텍스트로 표현될 수 있다. 이하에서는 제 1 데이터 세트(420)가 적어도 하나의 영상 데이터를 포함하는 것을 기준으로 설명한다.
기계학습장치(200)의 프로세서(210)는 제 1 데이터 세트(420)에 포함된 각각의 영상 데이터에 대한 실제(ground truth) 레이블 정보를 수신할 수 있다. 제 1 데이터 세트(420)에 대한 레이블 정보는 영상 데이터에 포함된 대상체(object) 또는 영상 데이터의 속성과 관련된 정보 중 적어도 하나를 포함할 수 있다. 여기서 대상체는 영상 데이터에 복수의 픽셀로 표현된 물체를 나타낸다. 대상체에 대한 정보는 대상체의 명칭, 대상체의 크기 또는 영상 내에서 대상체가 존재하는 위치 중 적어도 하나를 포함할 수 있다. 영상 데이터의 속성과 관련된 정보는 영상 데이터를 획득한 장치, 획득한 날짜, 획득한 장소, 영상 데이터와 관련된 사람에 대한 정보 중 적어도 하나를 포함할 수 있다.
프로세서(210)는 제 1 데이터 세트(420)와 제 1 데이터 세트(420)에 대한 레이블 정보의 관계를 기계학습할 수 있다.
제 1 스테이지(410)에서, 프로세서(210)는 제 1 데이터 세트(420)에 기초하여 기계학습을 수행하고 제 1 기계학습모델(430)을 획득할 수 있다. 제 1 기계학습모델(430)은 타겟 태스크(target task)를 수행하기 위한 기계학습모델일 수 있다. 타겟 태스크는 회귀 문제 또는 분류 문제의 해결과 관련될 수 있다.
제 2 기계학습모델을 생성하는 단계(320)는 제 2 스테이지(440)에서 수행될 수 있다. 제 2 스테이지(440)는 제 1 스테이지(410)와 상이한 장소에서 이루어질 수 있다. 또는 제 2 스테이지(400)는 제 1 스테이지(410)와 동일한 장소이나, 다른 시점에 이루어질 수도 있다. 제 2 스테이지(440)에서 프로세서(210)는 제 2 데이터 세트(450)를 제공받아 기계학습을 수행하는 단계이다.
제 2 데이터 세트(450)에 포함된 영상 데이터 중 적어도 하나는 제 1 데이터 세트(420)에 포함된 영상 데이터와 상이할 수 있다. 기계학습장치(200)의 프로세서(210)는 제 2 데이터 세트(450)에 포함된 각각의 영상 데이터에 대한 실제(ground truth) 레이블 정보를 제공받을 수 있다. 프로세서(210)는 제 1 스테이지(410)에서 학습된 제 1 기계학습모델(430)을 제공받을 수 있다.
프로세서(210)는 제 1 기계학습모델(430), 제 2 데이터 세트(450) 및 제 2 데이터 세트(450)에 대한 레이블 정보에 기초하여 기계학습을 수행할 수 있다. 제 2 스테이지(440)에서, 프로세서(210)는 제 2 기계학습모델(460)을 획득할 수 있다. 제 2 기계학습모델(460)은 제 1 기계학습모델(430)에 기초하므로, 제 1 데이터 세트(420) 및 제 2 데이터 세트(450)를 모두 반영할 수 있다.
제 3 스테이지(470)는 제 1 스테이지(410) 및 제 2 스테이지(440)와 상이한 장소에서 이루어질 수 있다. 또는 제 3 스테이지(470)는 제 1 스테이지(410) 또는 제 2 스테이지(420)와 동일한 장소이나, 다른 시점에 이루어질 수도 있다. 제 3 스테이지(470)에서 프로세서(210)는 제 3 데이터 세트(480)를 제공받아 기계학습을 수행하는 단계이다.
제 3 데이터 세트(480)에 포함된 영상 데이터 중 적어도 하나는 제 1 데이터 세트(420) 또는 제 2 데이터 세트(450)에 포함된 영상 데이터와 상이할 수 있다. 기계학습장치(200)의 프로세서(210)는 제 3 데이터 세트(480)에 포함된 각각의 영상 데이터에 대한 실제(ground truth) 레이블 정보를 제공받을 수 있다. 프로세서(210)는 제 2 스테이지(440)에서 학습된 제 2 기계학습모델(460)을 제공받을 수 있다.
프로세서(210)는 제 2 기계학습모델(460), 제 3 데이터 세트(480) 및 제 3 데이터 세트(480)에 대한 레이블 정보에 기초하여 기계학습을 수행할 수 있다. 제 3 스테이지(470)에서, 프로세서(210)는 제 3 기계학습모델(490)을 획득할 수 있다. 제 3 기계학습모델(490)은 제 2 기계학습모델(460)에 기초하므로, 제 1 데이터 세트(420), 제 2 데이터 세트(450) 및 제 3 데이터 세트(480)를 모두 반영할 수 있다. 도 4 에서는 제 1 스테이지(410) 내지 제 3 스테이지(470)에 대하여 설명하였으나, 이에 한정되는 것은 아니다. 프로세서(210)는 제 n-1 기계학습모델, 제 n 데이터 세트 및 제 n 데이터 세트에 대한 레이블 정보에 기초하여 제 n 기계학습모델을 생성할 수 있다.
상술한 것과 같이, 각 스테이지는 서로 다른 장소에서 수행될 수 있고, 서로 다른 시점에 수행될 수도 있다. 따라서 본 개시에 따른 연속적 학습(continual learning)은 서로 다른 장소에서의 연속적 학습뿐만 아니라, 서로 다른 시점에서의 연속적 학습에도 적용 가능하다. 다만, 본 개시에 대한 설명에서는 설명의 용이함을 위해 서로 다른 장소에서의 연속적 학습을 중심으로 설명하기로 한다.
이하에서는 도 5 및 도 6과 함께 제 1 기계학습모델을 생성하는 단계(310)에 대하여 자세히 설명한다. 제 1 기계학습모델을 생성하는 단계(310)는 제 1 스테이지에 해당할 수 있다.
도 5는 본 개시의 일 실시예에 따라 제 1 기계학습모델을 생성하는 단계를 나타낸 흐름도이다. 또한, 도 6은 본 개시의 일 실시예에 따라 제 1 기계학습모델을 생성하는 과정을 나타낸 도면이다.
도 6을 참조하면, 프로세서(210)는 제 1 데이터 세트(610)를 수신할 수 있다. 제 1 데이터 세트(610)는 적어도 하나의 영상 데이터를 포함할 수 있다. 영상 데이터는 w x h의 크기를 가질 수 있다. 또한 영상 데이터는 3개의 컬러 채널을 포함할 수 있다. 즉, 하나의 영상 데이터는 w x h x 3의 픽셀을 포함할 수 있다.
프로세서(210)는 제 1 데이터 세트(610) 및 신경망(Neural Network)과 관련된 제 1 특징 추출 파라미터(S)에 기초하여 제 1 특징 공간(620)을 생성하는 단계(510)를 수행할 수 있다.
프로세서(210)는 제 1 특징 공간을 생성하기 위하여 컨볼루션 신경망(Convolution Neural Network; CNN)을 이용할 수 있다. CNN은 심층 신경망(DNN: Deep Neural Network)의 한 종류로, 하나 또는 여러 개의 컨볼루션 레이어(convolutional layer)과 풀링 레이어(pooling layer), 풀리 커넥티드 레이어(fully connected layer)들로 구성된 신경망이다. CNN은 2차원 데이터의 학습에 적합한 구조를 가지고 있으며, 역전파(Backpropagation algorithm)를 통해 훈련될 수 있다. CNN은 영상 내 객체 분류, 객체 탐지 등 다양한 응용 분야에 폭넓게 활용되는 DNN의 대표적 모델 중 하나이며, AlexNet, ZFNet, GoogleLeNet, VGGNet, ResNet과 같은 종류를 포함한다. 제 1 특징 공간은 은닉 레이어에 포함될 수 있다.
제 1 특징 공간(620)은 제 1 데이터 세트(610)에 포함된 영상 데이터에 적어도 하나의 레이어를 적용하여 생성될 수 있다. 적어도 하나의 레이어는 입력 영상 데이터를 변형하는 필터의 역할을 할 수 있다. 프로세서(210)는 제 1 데이터 세트(610)에 포함된 영상 데이터에 컨볼루션 레이어, Rectified Linear Unit(ReLU) 또는 풀링 레이어(pooling layer)를 적어도 한 번 적용하여 제 1 특징 공간(620)을 생성할 수 있다.
컨볼루션 레이어는 기계학습가능한 파라미터를 포함하며, 제 1 특징 추출 파라미터(S)는 컨볼루션 레이어와 관련된 파라미터를 포함할 수 있다. 제 1 특징 추출 파라미터(S)는 행렬로 표현될 수 있다. 제 1 특징 추출 파라미터(S)에 포함된 각 요소는 기계학습을 수행하는 과정에서 업데이트될 수 있다.
프로세서(210)가 제 1 데이터 세트(610)에 기초하여 제 1 특징 공간(620)을 최초로 생성하는 경우, 제 1 특징 추출 파라미터(S)는 임의의 값으로 초기화될 수 있다. 프로세서(210)는, 제 1 데이터 세트(610)에 포함된 복수의 영상 데이터 및 제 1 레이블 정보에 기초하여, 기계학습을 수행하면서 제 1 특징 추출 파라미터(S)를 업데이트할 수 있다.
풀링은 맥스 풀링(max pooling) 또는 평균 풀링(average pooling) 이 있을 수 있다. 맥스 풀링은 이전 레이어를 소정의 크기의 영역들로 나눈 후, 각 영역에 포함된 픽셀들 중 가장 큰 픽셀값을 소정의 영역의 대표값으로 정하여, 이전 레이어보다 크기가 작은 이후 레이어를 결정하는 것이다. 평균 풀링은 이전 레이어를 소정의 크기의 영역들로 나눈 후, 각 영역에 포함된 픽셀값의 평균을 소정의 영역의 대표값으로 정하여, 이전 레이어보다 작은 이후 레이어를 결정하는 것이다. 풀링은 이전 레이어를 다운 샘플링하는 효과가 있다.
프로세서(210)는 제 1 특징 공간(620)에 제 1 파라미터(O)를 적용하여 제 1 예측 레이블 정보(640)를 생성하는 단계(520)를 수행할 수 있다. 제 1 파라미터(O)는 제 1 특징 공간(620)과 제 1 예측 레이블 정보(640)의 관계를 나타내는, 기계학습 가능한 파라미터를 나타낼 수 있다. 제 1 파라미터(O)는 제 1 특징 공간(620)에 포함된 요소들과 복수의 레이블 정보 간의 관계를 나타낼 수 있다.
제 1 파라미터(O)는 풀리 커넥티드 레이어(fully connected layer)에 포함된 파라미터 일 수 있다. 풀리 커넥티드 레이어는 복수의 입력 뉴런들(노드들) 및 복수의 출력 뉴런들(노드들)이 소정의 가중치로 연결된 것을 나타낸다. 풀리 커넥티드 레이어는 학습 데이터에 오버 피팅(overfitting)되는 것을 방지하기 위하여 드롭 아웃(Dropout) 레이어를 포함하고 있을 수 있다.
프로세서(210)는 제 1 특징 공간의 각 요소를 복수의 입력 뉴런들로 하고, 복수의 레이블 정보를 복수의 출력 뉴런들로 하여, 풀리 커넥티드(fully connected) 레이어를 형성할 수 있다.
프로세서(210)는 제 1 특징 공간(620)에 제 1 파라미터(O)를 적용하여 복수의 레이블 정보에 대한 스코어를 계산할 수 있다. 프로세서(210)는 가장 높은 스코어를 가지는 레이블 정보를 제 1 예측 레이블 정보(640)로 결정할 수 있다.
제 1 예측 레이블 정보(640)는 제 1 데이터 세트(610)에 관련된 실제(ground truth) 정보인 제 1 레이블 정보와 차이가 있을 수 있다. 프로세서(210)는 역전파(back propagation)을 이용하여 제 1 파라미터(O)를 업데이트하면서 제 1 예측 레이블 정보(640) 및 제 1 레이블 정보의 차이를 줄일 수 있다.
구체적으로, 프로세서(210)는 제 1 데이터 세트(610)에 포함된 영상 데이터 모두에 대하여 복수의 제 1 예측 레이블 정보(640)를 생성할 수 있다. 프로세서(210)는 복수의 제 1 예측 레이블 정보(640) 및 복수의 제 1 예측 레이블 정보(640)에 대응되는 제 1 레이블 정보의 차이가 최소가 되도록 제 1 파라미터(O)를 업데이트할 수 있다. 이와 같은 과정에 의하여 프로세서(210)는 제 1 데이터 세트(610) 및 제 1 레이블 정보의 관계를 기계학습할 수 있다.
프로세서(210)는 제 1 예측 레이블 정보(640)에 제 2 파라미터(R)를 적용하여 제 1 예측 특징 공간을 생성하는 단계(530)를 수행할 수 있다. 프로세서(210)는 제 1 예측 특징 공간을 최초 생성 시, 제 2 파라미터(R)를 임의의 값으로 초기화할 수 있다. 프로세서(210)는 복수의 제 1 예측 레이블 정보(640)에 제 2 파라미터(R)를 적용하여 제 1 예측 특징 공간을 생성할 수 있다. 즉, 제 1 예측 특징 공간은 제 1 특징 공간(620)을 제 1 예측 레이블 정보(640)로부터 복원한 것일 수 있다.
프로세서(210)는 역전파를 이용하여 제 2 파라미터(R)를 업데이트하면서, 복수의 제 1 예측 특징 공간과 복수의 제 1 특징 공간(620)의 차이를 줄일 수 있다.
위에서 설명한 바와 같이, 순전파(feed forward, 651)에 의하여, 프로세서(210)가 제 1 데이터 세트(610)로부터 제 1 특징 공간(620)을 생성하고, 제 1 특징 공간(620)로부터 제 1 예측 레이블 정보(640)를 생성하고, 제 1 예측 레이블로부터 제 1 예측 특징 공간을 도출하는 과정을 설명하였다. 프로세서(210)는 순전파(651) 이후에 역전파(652)를 이용하여 파라미터들을 업데이트할 수 있다.
프로세서(210)는 역전파(back propagation, 652)를 이용하여 제 1 레이블 정보와 제 1 예측 레이블 정보(640)의 차이 및 제 1 특징 공간(620)과 제 1 예측 특징 공간의 차이 중 적어도 하나가 최소가 되는 수정된 제 1 특징 추출 파라미터, 수정된 제 1 파라미터 및 수정된 제 2 파라미터를 획득하는 단계(540)를 수행할 수 있다.
역전파는 차이(오차 또는 코스트(cost))가 최소가 되도록 파라미터를 업데이트하는 과정을 의미한다. 차이는 코사인 거리, L1 distance, L2 distance 또는 크로스 엔트로피 에러에 의하여 계산될 수 있다.
프로세서(210)는 역전파(652)를 이용하여 제 2 파라미터(R)를 업데이트하여 수정된 제 2 파라미터(R')를 획득할 수 있다. 또한 프로세서(210)는 역전파(652)를 이용하여 제 1 파라미터(O)를 업데이트하여 수정된 제 1 파라미터(O')를 획득할 수 있다. 또한 프로세서(210)는 역전파(652)를 이용하여 제 1 특징 추출 파라미터(S)를 업데이트하여 수정된 제 1 특징 추출 파라미터(S')를 획득할 수 있다.
도 5에 대하여 보다 구체적으로 설명하면, 프로세서(210)는 소정의 미니배치의 크기에 기초하여, 제 1 데이터 세트(610)에 포함된 적어도 하나의 데이터를 제 1 미니배치(mini-batch) 데이터로 선택할 수 있다. 미니배치의 크기는 1 이상의 자연수를 가질 수 있다. 예를 들어 미니배치의 크기가 64인 경우, 프로세서(210)는 제 1 데이터 세트(610)에 포함된 64개의 데이터를 선택할 수 있다.
프로세서(210)는 제 1 데이터 세트(610)에 포함된 제 1 미니배치 데이터에 제 1 특징 추출 파라미터, 제 1 파라미터 및 제 2 파라미터를 적용하여, 제 1 특징 공간, 제 1 예측 레이블 정보 및 제 1 예측 특징 공간을 획득할 수 있다. 이와 같은 과정을 순전파라고 한다.
프로세서(210)는 역전파를 이용하여, 제 1 레이블 정보와 제 1 예측 레이블 정보(640)의 차이 및 제 1 특징 공간(620)과 제 1 예측 특징 공간의 차이가 최소가 되도록, 제 1 특징 추출 파라미터, 제 1 파라미터 및 제 2 파라미터를 업데이트할 수 있다.
프로세서(210)는 제 1 미니배치 데이터에 포함된 복수의 데이터 모두에 대하여 순전파 및 역전파를 수행하여, 각각의 데이터에 대응하는 파라미터의 업데이트량을 획득할 수 있다. 프로세서(210)는 각각의 데이터에 대응하는 파라미터의 업데이트량의 평균에 기초하여 파라미터들을 업데이트할 수 있다. 이를 제 1 이터레이션(iteration)이라고 한다.
다음으로, 프로세서(210)는 제 1 데이터 세트(610)에 포함된 제 2 미니 배치 데이터에 기초하여 순전파 및 역전파를 수행하여 다시 제 1 특징 추출 파라미터, 제 1 파라미터 및 제 2 파라미터를 업데이트할 수 있다. 구체적으로, 프로세서(210)는 제 2 미니배치 데이터에 포함된 복수의 데이터 모두에 대하여 순전파 및 역전파를 수행하여, 각각의 데이터에 대응하는 파라미터의 업데이트량을 획득할 수 있다. 프로세서(210)는 각각의 데이터에 대응하는 파라미터의 업데이트량의 평균에 기초하여 파라미터들을 업데이트할 수 있다. 이를 제 2 이터레이션(iteration)이라고 한다.
이와 같은 과정은 제 1 데이터 세트(610)에 포함된 모든 미니배치 데이터에 대하여 수행되어, 프로세서(210)는 최종적으로 수정된 제 1 특징 추출 파라미터(S'), 수정된 제 1 파라미터(O') 및 수정된 제 2 파라미터(R')를 획득할 수 있다.
제 1 데이터 세트(610)에 K 개의 미니배치 데이터가 포함된다면, 프로세서(210)는 제 K 이터레이션(iteration)까지 기계학습을 수행할 수 있다. 이와 같이 제 1 데이터 세트(610)에 포함된 모든 미니배치 데이터를 1회씩 이용하여 기계학습을 수행한 것을 1 에폭(epoch)라고 한다. 프로세서(210)는 기계학습을 L 에폭(epoch) 수행할 수 있다. 여기서 L은 자연수이다.
프로세서(210)는 각각의 에폭(epoch)마다 기계학습모델의 성능을 검증할 수 있다. 프로세서(210)는 복수의 에폭(epoch)에 대한 복수의 기계학습모델을 획득할 수 있다. 프로세서(210)는 별도의 확인 데이터 세트(validation dataset)에 복수의 기계학습모델 각각을 적용하여 레이블 정보를 획득할 수 있다. 프로세서(210)는 복수의 기계학습모델 중 오차가 가장 적은 기계학습모델을 제 1 기계학습모델로 선택할 수 있다. 제 1 기계학습모델은 수정된 제 1 특징 추출 파라미터(S'), 수정된 제 1 파라미터(O') 및 수정된 제 2 파라미터(R')를 포함할 수 있다.
수정된 제 1 특징 추출 파라미터(S') 및 수정된 제 1 파라미터(O')는 제 1 기계학습모델에 포함될 수 있다. 즉, 프로세서(210)는 제 1 레이블 정보와 제 1 예측 레이블 정보(640)의 차이를 최소화하면서 기계학습함으로써, 제 1 데이터 세트(610)로부터 제 1 레이블 정보를 정확하게 예측할 수 있는 제 1 기계학습모델을 획득할 수 있다. 프로세서(210)는 영상 데이터에 제 1 기계학습모델을 적용하여 영상 데이터에 대응하는 레이블 정보를 정확하게 예측할 수 있다.
상술한 바와 같이, 프로세서(210)는 제 1 특징 공간(620)과 제 1 예측 특징 공간의 차이를 최소화하기 위한 수정된 제 2 파라미터(R'), 수정된 제 1 특징 추출 파라미터(S') 및 수정된 제 1 파라미터(O')를 획득할 수 있다. 프로세서(210)는 수정된 제 2 파라미터(R'), 수정된 제 1 특징 추출 파라미터(S') 및 수정된 제 1 파라미터(O')에 기초하여 치명적 망각을 최소화할 수 있다.
제 1 기계학습모델은 수정된 제 1 특징 추출 파라미터, 수정된 제 1 파라미터 및 수정된 제 2 파라미터를 포함할 수 있다. 제 1 기계학습모델은 제 1 데이터 세트(610)에 포함된 복수의 영상 데이터로부터 학습된 결과이다. 따라서 프로세서(210)는 영상 데이터에 제 1 기계학습모델을 적용하여 정확한 레이블 정보를 예측할 수 있다. 제 1 기계학습모델의 성능을 개선하기 위하여, 프로세서(210)는 제 1 데이터 세트(610)와 독립적인 제 2 데이터 세트를 이용하여 추가적인 기계학습을 수행할 수 있다. 프로세서(210)는 제 2 데이터 세트에 기초하여 제 1 기계학습모델을 개선하여 제 2 기계학습모델을 생성할 수 있다.
제 1 기계학습모델은 제 2 기계학습모델의 초기 기계학습모델로써 사용될 수 있다. 이하에서는 도 7및 도 8과 함께 제 2 기계학습모델을 생성하는 단계(320)에 대하여 자세히 설명한다. 제 2 기계학습모델을 생성하는 단계(320)는 제 2 스테이지에 해당할 수 있다.
도 7는 본 개시의 일 실시예에 따라 제 2 기계학습모델을 생성하는 단계를 나타낸 흐름도이다. 또한, 도 8은 본 개시의 일 실시예에 따라 제 2 기계학습모델을 생성하는 과정을 나타낸 도면이다.
도 8을 참조하면, 프로세서(210)는 제 2 데이터 세트(810)를 수신할 수 있다. 제 2 데이터 세트(810)는 적어도 하나의 영상 데이터를 포함할 수 있다.
제 1 데이터 세트(610) 및 제 2 데이터 세트(810)는 서로 독립적이다. 즉, 제 1 데이터 세트(610)의 크기는 제 2 데이터 세트(810)의 크기보다 클 수도 있고 작을 수도 있고 같을 수도 있다. 제 1 데이터 세트(610) 및 제 2 데이터 세트(810)의 획득 장소, 획득 방법, 획득 시간 또는 획득 장비 중 적어도 하나는 서로 같을 수도 있고 서로 다를 수도 있다. 제 1 데이터 세트(610) 및 제 2 데이터 세트(810)는 동일한 타겟 태스크를 수행하기 위한 데이터 세트일 수 있다.
제 2 데이터 세트(810)는 복수의 데이터를 포함할 수 있다. 프로세서(210)는 제 2 데이터 세트(810)에 포함된 복수의 데이터에 기초하여 기계학습을 수행할 수 있다.
프로세서(210)는 제 2 데이터 세트(810) 및 수정된 제 1 특징 추출 파라미터(S')에 기초하여 제 2 특징 공간(820)을 생성하는 단계(710)를 수행할 수 있다. 제 2 특징 공간(820)은 제 2 데이터 세트(810)에 포함된 영상 데이터에 적어도 하나의 레이어를 적용한 것이다. 예를 들어, 프로세서(210)는 제 2 데이터 세트(810)에 포함된 영상 데이터에 컨볼루션 레이어, Rectified Linear Unit(ReLU) 또는 풀링 레이어(pooling layer)을 적어도 한 번 적용하여 제 2 특징 공간(820)을 생성할 수 있다. 제 2 특징 공간은 은닉 레이어에 포함될 수 있다.
컨볼루션 레이어는 기계학습가능한 파라미터를 포함하며, 수정된 제 1 특징 추출 파라미터(S')는 컨볼루션 레이어와 관련된 파라미터를 포함할 수 있다. 수정된 제 1 특징 추출 파라미터(S')는 행렬로 표현될 수 있다. 수정된 제 1 특징 추출 파라미터(S')에 포함된 각 요소는 제 2 기계학습모델을 생성하는 단계를 수행하면서 업데이트될 수 있다.
프로세서(210)는 제 1 기계학습모델을 생성하는 단계(310)에서 획득된 수정된 제 1 특징 추출 파라미터(S')를 초기 값으로 할 수 있다. 프로세서(210)는, 제 2 데이터 세트(810) 및 제 2 레이블 정보에 기초하여, 제 2 기계학습모델을 생성하는 단계를 수행하면서 수정된 제 1 특징 추출 파라미터(S')를 업데이트할 수 있다.
프로세서(210)는 제 2 특징 공간(820)에 수정된 제 1 파라미터(O')를 적용하여 제 2 예측 레이블 정보(840)를 생성하는 단계(720)를 수행할 수 있다. 제 2 예측 레이블 정보(840)는 제 2 스테이지에서 새로이 업데이트될 제 3 파라미터(N)를 이용하지 않고, 제 1 스테이지에서 획득된 제 1 파라미터(O')를 이용하여 생성되므로, 예전 분기 출력(old branch output)이라고 할 수 있다.
또한, 프로세서(210)는 제 2 예측 레이블 정보에 수정된 제 2 파라미터(R')를 적용하여 제 2 예측 특징 공간을 생성하는 단계(730)를 수행할 수 있다. 제 2 예측 특징 공간은 제 2 예측 레이블 정보(840)에 기초하여 복원된 제 2 특징 공간일 수 있다.
프로세서(210)는 제 2 특징 공간(820)에 제 3 파라미터(N)를 적용하여 제 3 예측 레이블 정보(830)를 생성하는 단계(740)를 수행할 수 있다. 제 3 파라미터(N)는 제 1 기계학습모델에 포함된 수정된 제 1 파라미터(O')로 초기화될 수 있다. 수정된 제 1 파라미터(O')는 제 1 데이터 세트(610)에 의하여 학습된 결과이므로, 프로세서는 수정된 제 1 파라미터(O')를 제 3 파라미터(N)의 초기값으로 사용하여 제 2 기계학습모델을 빠르게 최적화할 수 있다. 제 3 파라미터(N)는 제 2 기계학습모델을 생성하는 단계를 수행하면서 업데이트될 수 있다.
제 3 파라미터(N)는 제 2 특징 공간(820)과 제 3 예측 레이블 정보(830)의 관계를 나타내는, 기계학습 가능한 파라미터를 나타낼 수 있다. 제 3 파라미터(N)는 제 2 특징 공간(820)에 포함된 요소들과 복수의 레이블 정보 간의 관계를 나타낼 수 있다. 프로세서(210)는 제 2 특징 공간(820)에 제 3 파라미터(N)를 적용하여 복수의 레이블 정보에 대한 스코어를 계산할 수 있다. 프로세서(210)는 가장 높은 스코어를 가지는 레이블 정보를 제 3 예측 레이블 정보(830)로 결정할 수 있다.
제 3 예측 레이블 정보(830)는 제 2 데이터 세트(810)에 관련된 실제(ground truth) 정보인 제 2 레이블 정보와 차이가 있을 수 있다. 프로세서(210)는 역전파(back propagation)을 이용하여 제 3 파라미터(N)를 업데이트할 수 있다.
프로세서(210)는 역전파를 이용하여 제 2 특징 공간(820) 및 제 2 예측 특징 공간의 차이(Lr), 제 3 레이블 정보 및 제 2 예측 레이블 정보(840)의 차이(Lo) 및 제 2 레이블 정보 및 제 3 예측 레이블 정보(830)의 차이(Ln) 중 적어도 하나가 최소가 되도록, 수정된 제 1 특징 추출 파라미터(S')를 수정하여 제 2 특징 추출 파라미터를 생성하고, 제 3 파라미터(N)를 수정하여 수정된 제 3 파라미터를 생성하는 단계(750)를 수행할 수 있다.
도 9는 본 개시의 일 실시예에 따른 제 3 레이블 정보를 설명하는 도면이다.
제 3 레이블 정보(930)는 제 2 데이터 세트(810)에 제 1 기계학습모델(920)을 적용하여 획득될 수 있다. 즉, 프로세서(210)는 제 2 데이터 세트(810) 및 제 1 기계학습모델(920)의 순전파(feed forward)에 기초하여 제 3 레이블 정보(930)를 획득할 수 있다. 보다 구체적으로 프로세서(210)는 제 2 데이터 세트(810)에 제 1 기계학습모델(920)로부터 획득한 수정된 제 1 특징 추출 파라미터(S') 및 수정된 제 1 파라미터(O')를 적용하여 제 3 레이블 정보(930)를 획득할 수 있다.
제 3 레이블 정보는 제 2 예측 레이블 정보(840) 또는 제 3 예측 레이블 정보(830)와 다를 수 있다. 제 3 레이블 정보는 제 2 스테이지에서 고정된 제 2 데이터 세트(810) 및 이미 획득된 제 1 기계학습모델에 기초하여 획득되므로 변경되지 않을 수 있다. 하지만, 제 2 스테이지의 기계학습과정에서 제 2 특징 공간(820)이 변경되므로 제 2 예측 레이블 정보(840) 역시 변경될 수 있다. 또한 제 2 스테이지의 기계학습과정에서 제 2 특징 공간(820) 및 제 3 파라미터(N)는 변경될 것이므로 제 3 예측 레이블 정보(830) 역시 변경될 수 있다.
다시 도 7 및 도 8을 참조하면, 위의 차이들을 식으로 나타내면 (식1), (식2) 및 (식3)과 같다. 프로세서(210)는 (식1), (식2) 및 (식3)에 기초한 차이(L)가 최소가 되도록 기계학습을 수행할 수 있다.
L = Ln + LLwF + Lrec (식1)
LLwF = λLwF X Lo (식2)
Lrec = λrec X Lr (식3)
여기서 Ln은 제 2 레이블 정보 및 제 3 예측 레이블 정보(830)의 차이를 나타낸다. Lo는 제 3 레이블 정보 및 제 2 예측 레이블 정보(840)의 차이를 나타낸다. 또한, Lr은 제 2 특징 공간(820) 및 제 2 예측 특징 공간의 차이를 나타낸다. λLwF 및 λrec는 비례상수를 나타낸다. 프로세서(210)는 λLwF 및 λrec에 의하여 Ln, Lo 및 Lr 중에서, Lo 또는 Lr의 중요도를 다르게 설정할 수 있다. 예를 들어 λLwF를 크게 설정하는 경우 Lo를 높은 중요도로 기계학습이 수행될 수 있다. 또한 λrec를 크게 설정하는 경우 Lr을 높은 중요도로 기계학습이 수행될 수 있다. 위의 차이들은 L1 거리, L2 거리 또는 코사인 유사도 중 적어도 하나에 기초하여 계산될 수 있다.
프로세서(210)는 전체 차이(L)가 줄어들도록 기계학습을 하므로, 기계학습과정에서 Ln, LLwF 또는 Lrec 중 적어도 하나는 증가할 수 있다. 예를 들어 기계학습과정 중에 Ln 및 Lrec 는 줄어들었지만, LLwF 는 증가할 수 있다. 이 때, Ln 및 Lrec의 감소량의 절대값이 LLwF의 증가량의 절대값보다 클 수 있다. 프로세서(210)는 도 7과 같은 과정을 반복하여 제 2 특징 추출 파라미터를 계속적으로 업데이트할 수 있고, 수정된 제 3 파라미터를 계속적으로 업데이트할 수 있다. 제 2 특징 추출 파라미터 및 수정된 제 3 파라미터는 제 2 기계학습모델에 포함될 수 있다.
프로세서(210)는 제 1 스테이지의 수정된 제 1 파라미터(O') 및 수정된 제 2 파라미터(R')를 제 2 스테이지에서 변경하지 않을 수 있다. 또한, 프로세서(210)는 제 3 레이블 정보(930)를 변경하지 않고, 제 2 예측 레이블 정보(840)와 비교할 수 있다. 프로세서(210)는 제 3 레이블 정보(930), 수정된 제 1 파라미터(O') 및 수정된 제 2 파라미터(R')에 기초하여 제 2 특징 공간(820)이 제 1 특징 공간(620)과 유사하게 유지되도록 할 수 있다. 또한 본 개시에 따르면, 제 2 특징 공간(820)이 제 1 특징 공간(620)과 유사하게 유지됨에 기초하여, 치명적 망각이 현격하게 줄어들 수 있다.
도 8를 보다 구체적으로 설명하면, 프로세서(210)는 소정의 미니배치의 크기에 기초하여, 제 2 데이터 세트(810)에 포함된 적어도 하나의 데이터를 제 3 미니배치(mini-batch) 데이터로 선택할 수 있다. 미니배치의 크기는 1 이상의 자연수를 가질 수 있다. 예를 들어 미니배치의 크기가 64인 경우, 프로세서(210)는 제 2 데이터 세트(810)에 포함된 64개의 데이터를 선택할 수 있다.
프로세서(210)는 제 2 데이터 세트(810)에 포함된 제 3 미니배치 데이터에 수정된 제 1 특징 추출 파라미터(S'), 제 3 파라미터(N), 수정된 제 1 파라미터(O') 및 수정된 제 2 파라미터(R')를 적용하여, 제 2 특징 공간(820), 제 3 예측 레이블 정보(830), 제 2 예측 레이블 정보(840) 및 제 2 예측 특징 공간을 획득할 수 있다. 이와 같은 과정은 순전파라고 한다.
프로세서(210)는 역전파를 이용하여, 제 2 특징 공간(820) 및 제 2 예측 특징 공간의 차이, 제 3 레이블 정보(930) 및 제 2 예측 레이블 정보(840), 및 제 2 레이블 정보 및 제 3 예측 레이블 정보(830)의 차이 중 적어도 하나가 최소가 되도록, 제 3 파라미터(N) 및 수정된 제 1 특징 추출 파라미터(S')를 업데이트할 수 있다.
프로세서(210)는 제 3 미니배치 데이터에 포함된 복수의 데이터 모두에 대하여 순전파 및 역전파를 수행하여, 각각의 데이터에 대응하는 파라미터의 업데이트량을 획득할 수 있다. 프로세서(210)는 각각의 데이터에 대응하는 파라미터의 업데이트량의 평균에 기초하여 파라미터들을 업데이트할 수 있다. 이를 제 2 스테이지의 제 1 이터레이션(iteration)이라고 한다.
다음으로, 프로세서(210)는 제 2 데이터 세트(810)에 포함된 제 4 미니배치 데이터를 선택할 수 있다. 제 4 미니배치 데이터는 제 3 미니배치 데이터와 다를 수 있다. 하지만 이에 한정되는 것은 아니며, 제 4 미니배치 데이터에 포함된 데이터 중 적어도 하나는 제 3 미니배치 데이터와 중복될 수 있다.
프로세서(210)는 제 2 데이터 세트(810)에 포함된 제 4 미니배치 데이터에 기초하여 순전파 및 역전파를 수행하여 다시 제 3 파라미터(N) 및 수정된 제 1 특징 추출 파라미터(S')를 업데이트할 수 있다.
구체적으로, 프로세서(210)는 제 4 미니배치 데이터에 포함된 복수의 데이터 모두에 대하여 순전파 및 역전파를 수행하여, 각각의 데이터에 대응하는 파라미터의 업데이트량을 획득할 수 있다. 프로세서(210)는 각각의 데이터에 대응하는 파라미터의 업데이트량의 평균에 기초하여 파라미터들을 업데이트할 수 있다. 이를 제 2 스테이지의 제 2 이터레이션(iteration)이라고 한다.
프로세서(210)는 이와 같은 과정을 제 2 데이터 세트(810)에 포함된 모든 미니배치 데이터에 대하여 수행할 수 있다. 프로세서(210)는 최종적으로 수정된 제 3 파라미터 및 제 2 특징 추출 파라미터를 획득할 수 있다. 수정된 제 3 파라미터 및 제 2 특징 추출 파라미터는 제 2 기계학습모델에 포함될 수 있다.
제 2 데이터 세트(810)에 K 개의 미니배치 데이터가 포함된다면, 프로세서(210)는 제 K 이터레이션(iteration)까지 기계학습을 수행할 수 있다. 이와 같이 제 2 데이터 세트(810)에 포함된 모든 미니배치 데이터를 1회씩 이용하여 기계학습을 수행한 것을 1 에폭(epoch)라고 한다. 프로세서(210)는 기계학습을 L 에폭(epoch) 수행할 수 있다. 여기서 L은 자연수이다.
프로세서(210)는 각각의 에폭(epoch)마다 기계학습모델의 성능을 검증할 수 있다. 프로세서(210)는 복수의 epoch에 대한 복수의 기계학습모델을 획득할 수 있다. 프로세서(210)는 별도의 확인 데이터세트(validation dataset)에 복수의 기계학습모델 각각을 적용하여 레이블 정보를 획득할 수 있다. 프로세서(210)는 복수의 기계학습모델 중 오차가 가장 적은 기계학습모델을 제 2 기계학습모델로 선택할 수 있다. 제 2 기계학습모델은 수정된 제 1 특징 추출 파라미터(S'), 수정된 제 1 파라미터(O') 및 수정된 제 2 파라미터(R')를 포함할 수 있다.
기계학습과정에서, 수정된 제 1 특징 추출 파라미터(S')가 업데이트 되므로, 수정된 제 1 특징 추출 파라미터(S')에 기초한 제 2 특징 공간(820)의 요소들도 변경될 수 있다. 즉, 치명적 망각이 발생할 수 있다. 하지만 프로세서(210)는 제 2 예측 특징 공간을 생성하고, 제 2 예측 특징 공간 및 제 2 특징 공간(820)의 차이를 최소화되도록 기계학습을 수행할 수 있다. 따라서, 제 2 특징 공간(820)의 변화는 최소화될 것이며, 제 1 스테이지의 제 1 데이터 세트(610)에 기초한 기계학습모델은 유지될 수 있다. 즉, 치명적 망각이 현격하게 줄어들 수 있다.
도 7 내지 도 9에서 설명된 방법과 동일한 방법으로 프로세서(210)는 제 n 스테이지의 기계학습을 수행할 수 있다. 프로세서(210)는 제 n 스테이지의 기계학습을 수행하여 제 n-1 기계학습모델을 업데이트하여 제 n 기계학습모델을 획득할 수 있다. 구체적으로, 프로세서(210)는 제 n-1 기계학습모델 및 제 n 데이터 세트에 기초하여 제 n 스테이지의 기계학습을 수행할 수 있다. 제 n 데이터 세트는 제 1 데이터 세트 또는 제 2 데이터 세트와 독립적일 수 있다. 프로세서(210)는 수정된 제 1 파라미터(O') 및 수정된 제 2 파라미터(R')를 고정하고, 제 n 데이터 세트에 기초하여 파라미터들을 업데이트하면서, 기계학습을 계속적으로 수행할 수 있다.
도 10는 본 개시의 일 실시예에 따른 테스트 단계를 나타낸 흐름도이다.
프로세서(210)는 제 n 기계학습모델을 이용하여 레이블 정보를 예측할 수 있다. 프로세서(210)는 영상 데이터를 수신하는 단계(1010)를 수행할 수 있다. 프로세서(210)는 수신된 영상 데이터에 제 n 기계학습모델을 적용하여 영상 데이터에 대응하는 레이블 정보를 획득하는 단계(1020)를 수행할 수 있다. 예를 들어 프로세서(210)가 제 2 스테이지의 제 2 기계학습모델을 이용하는 경우, 프로세서(210)는 수신된 영상 데이터에 제 2 특징 추출 파라미터 및 수정된 제 3 파라미터를 적용하여 수신된 영상 데이터에 대응하는 레이블 정보를 획득할 수 있다.
프로세서(210)는 제 4 레이블을 메모리에 저장할 수 있다. 제 4 레이블 정보는 영상 데이터에 대한 타겟 태스크를 수행한 결과이다. 프로세서(210)는 제 4 레이블 정보의 정확도를 평가하고, 평가결과가 기준치를 넘지 않는 경우, 추가적인 기계학습을 수행할 수 있다.
도 11 및 도 12은 본 개시의 일 실시예에 따라, ResNet을 이용하여 기계학습방법을 구현한 도면이다.
도 11은 도 6의 기계학습방법의 구조를 ResNet에 맞게 변형한 도면이다.
도 6을 참조하면 프로세서(210)는 제 1 데이터 세트(610)에 제 1 특징 추출 파라미터(S)를 적용하여 제 1 특징 공간(620)을 생성할 수 있다. 또한 프로세서(210)는 제 1 특징 공간(620)에 제 1 파라미터(O)를 적용하여 제 1 예측 레이블 정보(640)를 생성할 수 있다. 도 6에서 제 1 특징 공간(620)의 상위 레이어(top layer)는 평균 풀링 레이어일 수 있다. 또한 제 1 파라미터(O)는 풀리 커넥티드 레이어를 포함할 수 있다.
ResNet의 상위 레이어(top layer)는 평균 풀링 레이어(average-pooling layer)와 풀리 커넥티드 레이어(fully connected layer)의 조합으로 구성될 수 있다. 여기서 풀리 커넥티드 레이어와 평균 풀링 레이어은 서로 가환적(commutative)이다. 따라서 도 6에서 풀리 커넥티드 레이어와 평균 풀링 레이어를 교환하면 도 11과 같을 수 있다.
도 11을 참조하면, 프로세서(210)는 제 1 데이터 세트(1110)에 제 1 특징 추출 파라미터(S)를 적용하여 제 1 특징 공간(1120)을 생성할 수 있다. 또한 프로세서(210)는 제 1 특징 공간(1120)에 제 1 파라미터(O)를 적용하여 제 1 예측 레이블 공간(1130)을 생성할 수 있다. 프로세서(210)는 제 1 예측 레이블 공간(1130)에 평균 풀링 레이어를 적용하여 제 1 예측 레이블 정보(1140)를 생성할 수 있다.
도 11과 같이 풀리 커넥티드 레이어를 적용한 후에 평균 풀링 레이어를 적용하는 경우 제 2 파라미터(R)가 보다 정확하게 모델링되는 효과가 있다.
도 12은 도 8의 기계학습방법의 구조를 ResNet에 맞게 변형한 도면이다.
도 12을 참조하면, 프로세서(210)는 제 2 데이터 세트(1210)에 수정된 제 1 특징 추출 파라미터(S')를 적용하여 제 2 특징 공간(1220)을 생성할 수 있다. 또한 프로세서(210)는 제 2 특징 공간(1220)에 수정된 제 1 파라미터(O')를 적용하여 제 2 예측 레이블 공간(1230)을 생성할 수 있다. 프로세서(210)는 제 2 예측 레이블 공간(1230)에 평균 풀링 레이어를 적용하여 제 1 예측 레이블 정보(1240)를 생성할 수 있다. 프로세서(210)는 제 2 예측 레이블 공간(1230)에 수정된 제 2 파라미터(R')를 적용하여 제 2 예측 특징 공간을 복원할 수 있다. 프로세서(210)는 제 2 특징 공간(1220)에 제 3 파라미터(N)를 적용하여 제 3 예측 레이블 공간(1250)을 생성할 수 있다. 프로세서(210)는 제 3 예측 레이블 공간(1250)에 평균 풀링 레이어를 적용하여 제 3 예측 레이블 정보(1260)를 생성할 수 있다.
도 12과 같이 풀리 커넥티드 레이어를 적용한 후에 평균 풀링 레이어를 적용하는 경우 수정된 제 2 파라미터(R')가 보다 정확하게 모델링되는 효과가 있다.
도 13는 본 개시의 일 실시예에 따른 기계학습방법의 성능을 나타낸 표이다.
본 개시의 일 실시예에 따른 기계학습방법의 성능을 측정하기 위하여, CIFAR-10 및 CIFAR-100 데이터 세트가 본 개시의 일 실시예에 따른 기계학습모델에 적용될 수 있다. 성능 측정 결과는 "Proposed" 행에 기재된 바와 같다.
표에서 "FT"는 파인-튜닝(Fine-Tuning) 방법을 나타낸다. "EWC"는 Elastic Weight Consolidation 방법을 나타내고, "LwF"는 Learning without Forgetting 방법을 나타내고, "LwF+"는 멀티-태스크, 멀티-센터 학습인 "Lwf"의 싱글-태스크, 멀티-센터 학습버전이다. EWCLwF는 EWC와 LwF 방식을 결합한 것이며 EWCLwF+는 EWC와 LwF+ 방식을 결합한 것이다.
도 13를 참조하면, 제 1 데이터 세트에 기초하여 기계학습을 수행한 제 1 스테이지에서는, EWCLwF의 에러가 가장 작다. 하지만 제 2 데이터 세트에 기초하여 기계학습을 수행한 제 2 스테이지부터는, 본 개시의 일 실시예에 따른 방법의 에러가 가장 작음을 알 수 있다. 즉, 본 개시의 일 실시예에 따른 기계학습방법은 서로 독립된 데이터 세트를 순차적으로 기계학습하여 최상의 성능을 도출하면서, 치명적 망각을 줄일 수 있다.
이제까지 다양한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.

Claims (20)

  1. 기계학습을 이용한 연속적 학습(Continual Learning) 방법에 있어서,
    제 1 데이터 세트에 기초하여 제 1 특징 공간을 생성하는 단계;
    상기 제 1 특징 공간에 제 1 파라미터(O)를 적용하여 제 1 예측 레이블 정보를 생성하는 단계;
    상기 제 1 예측 레이블 정보에 순전파 및 역전파에 의하여 업데이트되는 제 2 파라미터(R)를 적용하여 제 1 예측 특징 공간을 생성하는 단계; 및
    상기 제 1 데이터 세트 및 제 1 데이터 세트와 관련된 제 1 레이블 정보의 관계를 기계학습하고 상기 제 1 예측 레이블 정보 및 상기 제 1 특징 공간의 관계를 기계학습하여, 제 1 기계학습모델을 생성하는 단계를 포함하는 것을 특징으로 하는 기계학습 방법.
  2. 제 1 항에 있어서,
    제 2 데이터 세트에 기초하여 제 2 특징 공간을 생성하는 단계;
    상기 제 2 특징 공간에 수정된 제 1 파라미터(O')를 적용하여 제 2 예측 레이블 정보를 생성하는 단계;
    상기 제 2 예측 레이블 정보에 수정된 제 2 파라미터(R')를 적용하여 제 2 예측 특징 공간을 생성하는 단계; 및
    상기 제 2 데이터 세트 및 제 2 레이블 정보의 관계를 기계학습하고 상기 제 2 예측 레이블 정보 및 상기 제 2 특징 공간의 관계를 기계학습하여, 제 2 기계학습모델을 생성하는 단계를 포함하는 것을 특징으로 하는 기계학습 방법.
  3. 제 2 항에 있어서,
    상기 제 1 특징 공간을 생성하는 단계는,
    상기 제 1 데이터 세트 및 신경망(Neural Network)과 관련된 제 1 특징 추출 파라미터에 기초하여 상기 제 1 특징 공간을 생성하는 단계를 포함하는 것을 특징으로 하는 기계학습 방법.
  4. 제 3 항에 있어서,
    상기 제 1 기계학습모델을 생성하는 단계는,
    순전파 및 역전파(back propagation)를 이용하여 상기 제 1 레이블 정보와 상기 제 1 예측 레이블 정보의 차이 및 상기 제 1 특징 공간과 상기 제 1 예측 특징 공간의 차이 중 적어도 하나가 최소가 되도록, 상기 제 1 특징 추출 파라미터, 상기 제 1 파라미터(O) 및 상기 제 2 파라미터(R)을 업데이트하여, 수정된 제 1 특징 추출 파라미터, 상기 수정된 제 1 파라미터(O') 및 상기 수정된 제 2 파라미터(R')를 획득하는 단계를 포함하는 것을 특징으로 하는 기계학습 방법.
  5. 제 4 항에 있어서,
    상기 제 2 특징 공간을 생성하는 단계는,
    상기 제 2 데이터 세트 및 상기 수정된 제 1 특징 추출 파라미터에 기초하여 제 2 특징 공간을 생성하는 단계를 포함하는 것을 특징으로 하는 기계학습 방법.
  6. 제 5 항에 있어서,
    상기 제 2 기계학습모델을 생성하는 단계는,
    상기 제 2 특징 공간에 제 3 파라미터를 적용하여 제 3 예측 레이블 정보를 생성하는 단계; 및
    역전파를 이용하여 상기 제 2 특징 공간 및 상기 제 2 예측 특징 공간의 차이, 제 3 레이블 정보 및 상기 제 2 예측 레이블 정보의 차이 및 상기 제 2 레이블 정보 및 상기 제 3 예측 레이블 정보의 차이 중 적어도 하나가 최소가 되도록, 상기 수정된 제 1 특징 추출 파라미터를 수정하여 제 2 특징 추출 파라미터를 획득하고, 상기 제 3 파라미터를 수정하여 수정된 제 3 파라미터를 획득하는 단계를 포함하는 것을 특징으로 하는 기계학습 방법.
  7. 제 6항에 있어서,
    상기 제 2 데이터 세트에 상기 제 1 기계학습모델을 적용하여 상기 제 3 레이블 정보를 획득하는 단계를 더 포함하고,
    상기 수정된 제 1 파라미터 및 상기 수정된 제 2 파라미터는 고정된 것을 특징으로 하는 기계학습 방법.
  8. 제 6항에 있어서,
    영상 데이터를 수신하는 단계;
    상기 영상 데이터를 상기 제 2 특징 추출 파라미터 및 상기 수정된 제 3 파라미터를 포함하는 상기 제 2 기계학습모델에 적용하여 제 4 레이블을 획득하는 단계; 및
    상기 제 4 레이블을 메모리에 저장하는 단계를 포함하는 것을 특징으로 하는 기계학습 방법.
  9. 기계학습을 이용하여 연속적 학습(Continual Learning)을 수행하는 기계학습 장치는 프로세서 및 메모리를 포함하고,
    상기 프로세서는 상기 메모리에 저장된 명령어에 기초하여,
    제 1 데이터 세트에 기초하여 제 1 특징 공간을 생성하는 단계;
    상기 제 1 특징 공간에 제 1 파라미터(O)를 적용하여 제 1 예측 레이블 정보를 생성하는 단계;
    상기 제 1 예측 레이블 정보에 순전파 및 역전파에 의하여 업데이트되는 제 2 파라미터(R)를 적용하여 제 1 예측 특징 공간을 생성하는 단계; 및
    상기 제 1 데이터 세트 및 제 1 데이터 세트와 관련된 제 1 레이블 정보의 관계를 기계학습하고 상기 제 1 예측 레이블 정보 및 상기 제 1 특징 공간의 관계를 기계학습하여, 제 1 기계학습모델을 생성하는 단계를 수행하는 것을 특징으로 하는 기계학습장치.
  10. 제 9 항에 있어서,
    상기 프로세서는 상기 메모리에 저장된 명령어에 기초하여,
    제 2 데이터 세트에 기초하여 제 2 특징 공간을 생성하는 단계;
    상기 제 2 특징 공간에 수정된 제 1 파라미터(O')를 적용하여 제 2 예측 레이블 정보를 생성하는 단계;
    상기 제 2 예측 레이블 정보에 수정된 제 2 파라미터(R')를 적용하여 제 2 예측 특징 공간을 생성하는 단계; 및
    상기 제 2 데이터 세트 및 제 2 레이블 정보의 관계를 기계학습하고 상기 제 2 예측 레이블 정보 및 상기 제 2 특징 공간의 관계를 기계학습하여, 제 2 기계학습모델을 생성하는 단계를 수행하는 것을 특징으로 하는 기계학습장치.
  11. 제 10 항에 있어서,
    상기 프로세서는 상기 메모리에 저장된 명령어에 기초하여,
    상기 제 1 데이터 세트 및 신경망(Neural Network)과 관련된 제 1 특징 추출 파라미터에 기초하여 상기 제 1 특징 공간을 생성하는 단계를 수행하는 것을 특징으로 하는 기계학습장치.
  12. 제 11 항에 있어서,
    상기 프로세서는 상기 메모리에 저장된 명령어에 기초하여,
    역전파(back propagation)를 이용하여 상기 제 1 레이블 정보와 상기 제 1 예측 레이블 정보의 차이 및 상기 제 1 특징 공간과 상기 제 1 예측 특징 공간의 차이 중 적어도 하나가 최소가 되도록 상기 제 1 특징 추출 파라미터, 상기 제 1 파라미터(O) 및 상기 제 2 파라미터(R)을 업데이트하여, 수정된 제 1 특징 추출 파라미터, 상기 수정된 제 1 파라미터(O') 및 상기 수정된 제 2 파라미터(R')를 획득하는 단계를 수행하는 것을 특징으로 하는 기계학습장치.
  13. 제 12 항에 있어서,
    상기 프로세서는 상기 메모리에 저장된 명령어에 기초하여,
    상기 제 2 데이터 세트 및 상기 수정된 제 1 특징 추출 파라미터에 기초하여 제 2 특징 공간을 생성하는 단계; 및
    상기 제 2 특징 공간에 제 3 파라미터를 적용하여 제 3 예측 레이블 정보를 생성하는 단계를 수행하는 것을 특징으로 하는 기계학습장치.
  14. 제 13 항에 있어서,
    역전파를 이용하여 상기 제 2 특징 공간 및 상기 제 2 예측 특징 공간의 차이, 제 3 레이블 정보 및 상기 제 2 예측 레이블 정보의 차이 및 상기 제 2 레이블 정보 및 상기 제 3 예측 레이블 정보의 차이가 최소가 되도록, 상기 수정된 제 1 특징 추출 파라미터를 수정하여 제 2 특징 추출 파라미터를 획득하고, 상기 제 3 파라미터를 수정하여 수정된 제 3 파라미터를 획득하는 단계를 수행하는 것을 특징으로 하는 기계학습장치.
  15. 제 14항에 있어서,
    상기 프로세서는 상기 메모리에 저장된 명령어에 기초하여,
    상기 제 2 데이터 세트에 상기 제 1 기계학습모델을 적용하여 상기 제 3 레이블 정보를 획득하는 단계를 더 수행하고,
    상기 수정된 제 1 파라미터 및 상기 수정된 제 2 파라미터는 고정된 것을 특징으로 하는 기계학습장치.
  16. 제 14항에 있어서,
    상기 프로세서는 상기 메모리에 저장된 명령어에 기초하여,
    영상 데이터를 수신하는 단계;
    상기 영상 데이터를 상기 제 2 특징 추출 파라미터 및 상기 수정된 제 3 파라미터를 포함하는 상기 제 2 기계학습모델에 적용하여 제 4 레이블을 획득하는 단계; 및
    상기 제 4 레이블을 메모리에 저장하는 단계를 수행하는 것을 특징으로 하는 기계학습장치.
  17. 기계학습을 이용한 연속적 학습(Continual Learning) 방법에 있어서,
    입력된 데이터 세트 및 레이블 정보의 관계를 기계학습하여 기계학습모델을 생성하는 단계;
    상기 입력된 데이터 세트에 기계학습모델을 적용하여 예측 레이블 정보를 생성하는 단계;
    예측 레이블 정보와 특징 공간의 관계를 순전파 및 역전파를 이용하여 기계학습한 서브기계학습모델에 기초하여, 상기 예측 레이블 정보로부터 상기 기계학습모델의 특징 공간을 복원하는 단계를 포함하는 것을 특징으로 하는 기계학습 방법.
  18. 제 17 항에 있어서,
    상기 특징 공간은 상기 기계학습모델의 은닉(hidden) 레이어인 것을 특징으로 하는 기계학습 방법.
  19. 기계학습을 이용하여 연속적 학습(Continual Learning)을 수행하는 기계학습 장치는 프로세서 및 메모리를 포함하고,
    상기 프로세서는 상기 메모리에 저장된 명령어에 기초하여,
    입력된 데이터 세트 및 레이블 정보의 관계를 기계학습하여 기계학습모델을 생성하는 단계;
    상기 입력된 데이터 세트에 기계학습모델을 적용하여 예측 레이블 정보를 생성하는 단계; 및
    예측 레이블 정보와 특징 공간의 관계를 순전파 및 역전파를 이용하여 기계학습한 서브기계학습모델에 기초하여, 상기 예측 레이블 정보로부터 상기 기계학습모델의 특징 공간을 복원하는 단계를 수행하는 것을 특징으로 하는 기계학습장치.
  20. 제 19 항에 있어서,
    상기 특징 공간은 상기 기계학습모델의 은닉(hidden) 레이어인 것을 특징으로 하는 기계학습장치.
KR1020190058905A 2019-05-20 2019-05-20 데이터 셋의 연속적인 학습 방법 및 장치 KR102071179B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190058905A KR102071179B1 (ko) 2019-05-20 2019-05-20 데이터 셋의 연속적인 학습 방법 및 장치
US16/706,570 US11620529B2 (en) 2019-05-20 2019-12-06 Method of continual-learning of data sets and apparatus thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190058905A KR102071179B1 (ko) 2019-05-20 2019-05-20 데이터 셋의 연속적인 학습 방법 및 장치

Publications (1)

Publication Number Publication Date
KR102071179B1 true KR102071179B1 (ko) 2020-01-29

Family

ID=69322428

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190058905A KR102071179B1 (ko) 2019-05-20 2019-05-20 데이터 셋의 연속적인 학습 방법 및 장치

Country Status (2)

Country Link
US (1) US11620529B2 (ko)
KR (1) KR102071179B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210103825A (ko) * 2020-02-14 2021-08-24 인하대학교 산학협력단 데이터의 동적샘플링을 통한 심층신경망 학습에서의 최악망각현상 완화방법
WO2021246739A1 (en) * 2020-06-04 2021-12-09 Samsung Electronics Co., Ltd. Systems and methods for continual learning
KR20210155488A (ko) * 2020-06-16 2021-12-23 (주) 씨이랩 객체 레이블링을 통한 사용자맞춤 이미지식별 딥러닝 모델 생성을 위한 시스템 및 이의 운용 방법
WO2022080634A1 (ko) * 2020-10-15 2022-04-21 삼성전자 주식회사 인공 신경망 학습 방법 및 이를 지원하는 전자 장치
KR20220082618A (ko) * 2020-12-10 2022-06-17 한국과학기술원 준합성 데이터 생성 장치 및 데이터 생성 방법
KR20220117944A (ko) * 2021-02-17 2022-08-25 호서대학교 산학협력단 정보검색모델을 위한 데이터 전처리 및 학습 과정을 일괄처리 하는 방법

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018176000A1 (en) 2017-03-23 2018-09-27 DeepScale, Inc. Data synthesis for autonomous control systems
US11893393B2 (en) 2017-07-24 2024-02-06 Tesla, Inc. Computational array microprocessor system with hardware arbiter managing memory requests
US11409692B2 (en) 2017-07-24 2022-08-09 Tesla, Inc. Vector computational unit
US10671349B2 (en) 2017-07-24 2020-06-02 Tesla, Inc. Accelerated mathematical engine
US11157441B2 (en) 2017-07-24 2021-10-26 Tesla, Inc. Computational array microprocessor system using non-consecutive data formatting
US11561791B2 (en) 2018-02-01 2023-01-24 Tesla, Inc. Vector computational unit receiving data elements in parallel from a last row of a computational array
US11215999B2 (en) 2018-06-20 2022-01-04 Tesla, Inc. Data pipeline and deep learning system for autonomous driving
US11361457B2 (en) 2018-07-20 2022-06-14 Tesla, Inc. Annotation cross-labeling for autonomous control systems
US11636333B2 (en) 2018-07-26 2023-04-25 Tesla, Inc. Optimizing neural network structures for embedded systems
US11562231B2 (en) 2018-09-03 2023-01-24 Tesla, Inc. Neural networks for embedded devices
EP3864573A1 (en) 2018-10-11 2021-08-18 Tesla, Inc. Systems and methods for training machine models with augmented data
US11196678B2 (en) 2018-10-25 2021-12-07 Tesla, Inc. QOS manager for system on a chip communications
US11816585B2 (en) 2018-12-03 2023-11-14 Tesla, Inc. Machine learning models operating at different frequencies for autonomous vehicles
US11537811B2 (en) 2018-12-04 2022-12-27 Tesla, Inc. Enhanced object detection for autonomous vehicles based on field view
US11610117B2 (en) 2018-12-27 2023-03-21 Tesla, Inc. System and method for adapting a neural network model on a hardware platform
US10997461B2 (en) 2019-02-01 2021-05-04 Tesla, Inc. Generating ground truth for machine learning from time series elements
US20200408633A1 (en) * 2019-06-25 2020-12-31 Machinesense, Llc Systems and methods for measuring structural element deflections
US11567514B2 (en) 2019-02-11 2023-01-31 Tesla, Inc. Autonomous and user controlled vehicle summon to a target
US10956755B2 (en) 2019-02-19 2021-03-23 Tesla, Inc. Estimating object properties using visual image data
US11829871B2 (en) * 2019-08-20 2023-11-28 Lg Electronics Inc. Validating performance of a neural network trained using labeled training data
US11675876B2 (en) * 2020-10-28 2023-06-13 International Business Machines Corporation Training robust machine learning models

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018147474A (ja) * 2017-03-01 2018-09-20 オムロン株式会社 学習装置、学習結果利用装置、学習方法及び学習プログラム
KR20190018276A (ko) * 2017-08-14 2019-02-22 삼성전자주식회사 모델을 학습하는 방법 및 장치 및 상기 뉴럴 네트워크를 이용한 인식 방법 및 장치

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3582142A1 (en) * 2018-06-15 2019-12-18 Université de Liège Image classification using neural networks
CA3054404A1 (en) * 2018-09-05 2020-03-05 Royal Bank Of Canada Sysyem and method for improving deep neural network performance
US11210559B1 (en) * 2018-10-23 2021-12-28 Hrl Laboratories, Llc Artificial neural networks having attention-based selective plasticity and methods of training the same
KR102166835B1 (ko) * 2019-10-28 2020-10-16 주식회사 루닛 신경망 학습 방법 및 그 장치
FR3114180A1 (fr) * 2020-09-11 2022-03-18 Commissariat A L'energie Atomique Et Aux Energies Alternatives Système et procédé pour éviter un oubli catastrophique dans un réseau neuronal artificiel
US20220012583A1 (en) * 2020-07-08 2022-01-13 International Business Machines Corporation Continual learning using cross connections

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018147474A (ja) * 2017-03-01 2018-09-20 オムロン株式会社 学習装置、学習結果利用装置、学習方法及び学習プログラム
KR20190018276A (ko) * 2017-08-14 2019-02-22 삼성전자주식회사 모델을 학습하는 방법 및 장치 및 상기 뉴럴 네트워크를 이용한 인식 방법 및 장치

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Gatys, Leon A., Alexander S. Ecker, and Matthias Bethge. "Image style transfer using convolutional neural networks." Proceedings of the IEEE conference on computer vision and pattern recognition.2016. *
Shin, Hanul, et al. "Continual Learning with Deep Generative Replay." arXiv preprint arXiv:1705.08690. 2017. *
Yosinski, Jason, et al. "How transferable are features in deep neural networks?." Advances in neural information processing systems. 2014. *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210103825A (ko) * 2020-02-14 2021-08-24 인하대학교 산학협력단 데이터의 동적샘플링을 통한 심층신경망 학습에서의 최악망각현상 완화방법
KR102411526B1 (ko) * 2020-02-14 2022-06-21 인하대학교 산학협력단 데이터의 동적샘플링을 통한 심층신경망 학습에서의 최악망각현상 완화방법
WO2021246739A1 (en) * 2020-06-04 2021-12-09 Samsung Electronics Co., Ltd. Systems and methods for continual learning
KR20210155488A (ko) * 2020-06-16 2021-12-23 (주) 씨이랩 객체 레이블링을 통한 사용자맞춤 이미지식별 딥러닝 모델 생성을 위한 시스템 및 이의 운용 방법
WO2021256597A1 (ko) * 2020-06-16 2021-12-23 (주) 씨이랩 객체 레이블링을 통한 사용자맞춤 이미지식별 딥러닝 모델 생성을 위한 시스템 및 이의 운용 방법
KR102523839B1 (ko) * 2020-06-16 2023-04-20 (주) 씨이랩 객체 레이블링을 통한 사용자맞춤 이미지식별 딥러닝 모델 생성을 위한 시스템 및 이의 운용 방법
WO2022080634A1 (ko) * 2020-10-15 2022-04-21 삼성전자 주식회사 인공 신경망 학습 방법 및 이를 지원하는 전자 장치
KR20220082618A (ko) * 2020-12-10 2022-06-17 한국과학기술원 준합성 데이터 생성 장치 및 데이터 생성 방법
KR102548519B1 (ko) 2020-12-10 2023-06-28 한국과학기술원 준합성 데이터 생성 장치 및 데이터 생성 방법
KR20220117944A (ko) * 2021-02-17 2022-08-25 호서대학교 산학협력단 정보검색모델을 위한 데이터 전처리 및 학습 과정을 일괄처리 하는 방법
KR102588268B1 (ko) 2021-02-17 2023-10-13 호서대학교 산학협력단 정보검색모델을 위한 데이터 전처리 및 학습 과정을 일괄처리 하는 방법

Also Published As

Publication number Publication date
US11620529B2 (en) 2023-04-04
US20200372362A1 (en) 2020-11-26

Similar Documents

Publication Publication Date Title
KR102071179B1 (ko) 데이터 셋의 연속적인 학습 방법 및 장치
CN110892417B (zh) 具有学习教练的异步代理以及在不降低性能的情况下在结构上修改深度神经网络
US11055549B2 (en) Network, system and method for image processing
Huisman et al. A survey of deep meta-learning
Kukačka et al. Regularization for deep learning: A taxonomy
US10699194B2 (en) System and method for mimicking a neural network without access to the original training dataset or the target model
Acharya et al. Rodeo: Replay for online object detection
KR20190087898A (ko) 뉴럴 네트워크를 이용하여 화학 구조를 생성하는 장치 및 방법
US11334791B2 (en) Learning to search deep network architectures
Menezes et al. Continual object detection: a review of definitions, strategies, and challenges
US20220059117A1 (en) Methods and Systems for Implementing On-Device Non-Semantic Representation Fine-Tuning for Speech Classification
CN109313720A (zh) 具有稀疏访问的外部存储器的增强神经网络
US20220138621A1 (en) System and method for facilitating a machine learning model rebuild
WO2017083742A1 (en) Neural network programmer
Aghajanyan Softtarget regularization: An effective technique to reduce over-fitting in neural networks
KR20210099795A (ko) 준 지도 학습을 위한 오토인코더 기반 그래프 설계
Dunn et al. Evaluating robustness to context-sensitive feature perturbations of different granularities
US20230268035A1 (en) Method and apparatus for generating chemical structure using neural network
Li et al. Temporal supervised learning for inferring a dialog policy from example conversations
CN111753995A (zh) 一种基于梯度提升树的局部可解释方法
US20210174910A1 (en) Method and apparatus for generating new chemical structure using neural network
US11854672B2 (en) Method and apparatus for generating chemical structure
KR20220021470A (ko) 시퀀싱 및 플래닝을 위한 시스템
Walsh Neural Networks and Deep Learning
Chandra A Survey on deep learning its architecture and various applications

Legal Events

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