KR102349969B1 - 스마트폰, 드론, 선박 혹은 군사적 목적을 위한, 트레이닝 이미지의 최적화 샘플링에 의해 입력 데이터를 분석하는 뉴럴 네트워크의 온디바이스 연속 학습 방법 및 장치, 그리고, 이를 이용한 테스트 방법 및 장치 - Google Patents

스마트폰, 드론, 선박 혹은 군사적 목적을 위한, 트레이닝 이미지의 최적화 샘플링에 의해 입력 데이터를 분석하는 뉴럴 네트워크의 온디바이스 연속 학습 방법 및 장치, 그리고, 이를 이용한 테스트 방법 및 장치 Download PDF

Info

Publication number
KR102349969B1
KR102349969B1 KR1020190166183A KR20190166183A KR102349969B1 KR 102349969 B1 KR102349969 B1 KR 102349969B1 KR 1020190166183 A KR1020190166183 A KR 1020190166183A KR 20190166183 A KR20190166183 A KR 20190166183A KR 102349969 B1 KR102349969 B1 KR 102349969B1
Authority
KR
South Korea
Prior art keywords
learning
data
volume
preset
network
Prior art date
Application number
KR1020190166183A
Other languages
English (en)
Other versions
KR20200094076A (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 KR20200094076A publication Critical patent/KR20200094076A/ko
Application granted granted Critical
Publication of KR102349969B1 publication Critical patent/KR102349969B1/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/094Adversarial learning
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0475Generative networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06V10/7747Organisation of the process, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/776Validation; Performance evaluation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Feedback Control In General (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 본 발명은 스마트폰, 드론, 선박 또는 군사 목적으로 제공되는, 입력 데이터를 분석하는 뉴럴 네트워크(Neural Network)의 온디바이스 연속 학습(On-Device Continual Learning)을 위한 방법에 있어서, 학습 장치가, (a) 새로운 데이터를 유니폼 샘플링(Uniform-Sampling) 하여 제1 볼륨을 갖도록 하며, 부스팅 네트워크로 하여금 k 차원 랜덤 벡터를, k 차원 수정 벡터에 대응되고 학습에 이용되었던 이전 데이터(Previous Data)에 대응되는, 제2 볼륨의 합성 이전 데이터를 출력하는 프로세스를 반복하도록 하고, 현재 학습(Current-Learning)에 이용되는 배치(Batch)를 생성하는 단계; 및 (b) 뉴럴 네트워크로 하여금 제1 배치에 대응되는 출력 정보(Output Information)를 생성하도록 하는 단계를 포함하는 것을 특징으로 하며, 본 발명은 프라이버시 침해 방지, 스토리지와 같은 리소스 최적화, 및 트레이닝 이미지 샘플링 프로세스 최적화를 위해 수행될 수 있으며, GAN(Generative Adversarial Network)의 학습 프로세스를 통해 수행될 수 있다.

Description

스마트폰, 드론, 선박 혹은 군사적 목적을 위한, 트레이닝 이미지의 최적화 샘플링에 의해 입력 데이터를 분석하는 뉴럴 네트워크의 온디바이스 연속 학습 방법 및 장치, 그리고, 이를 이용한 테스트 방법 및 장치{METHOD AND DEVICE FOR ON-DEVICE CONTINUAL LEARNING OF NEURAL NETWORK WHICH ANALYZES INPUT DATA BY OPTIMIZED SAMPLING OF TRAINING IMAGES, AND METHOD AND DEVICE FOR TESTING THE NEURAL NETWORK FOR SMARTPHONES, DRONES, VESSELS, OR MILITARY PURPOSE}
본 발명은 자율 주행 차량, 가상 운전 등에 사용하기 위한 학습 방법 및 학습 장치, 그리고 테스트 방법 및 테스트 장치에 관한 것으로, 보다 상세하게는, 입력 데이터를 분석하는 뉴럴 네트워크(Neural Network)를 온디바이스 연속 학습(On-Device Continual Learning)을 하는 상기 학습 방법 및 상기 학습 장치, 그리고 이를 이용한 상기 테스팅 방법 및 상기 테스팅 장치에 관한 것이다.
일반적으로, 딥러닝(Deep Learning)은 여러 비선형 변환기법의 조합을 통해 높은 수준의 추상화(抽象化)를 시도하는 기계 학습 알고리즘의 집합으로 정의되며, 큰 틀에서 사람의 사고방식을 컴퓨터에 학습시키는 기계학습의 한 분야이다.
어떠한 데이터를 컴퓨터가 알아 들을 수 있는 형태, 일 예로, 이미지의 경우 픽셀 정보를 열 벡터로 표현하고 이를 기계 학습에 적용하기 위해 많은 연구가 진행되고 있다. 이러한 노력의 결과로, 심층 신경망(Deep Neural Network), 합성곱 신경망(Convolutional Neural Network), 순환 신경망(Recurrent Neural Network)과 같은 다양한 딥러닝 기법들이 컴퓨터 비젼, 음성인식, 자연어 처리, 음성/신호처리 등의 분야에 적용되어, 우수한 성능을 나타내는 딥러닝 네트워크들이 개발되고 있다.
이러한 딥러닝 네트워크들은 인식 성능을 높이기 위해 모델의 계층이 깊어지고(Deep), 특징(Feature)이 많아지는 대규모 모델로 진화하고 있다.
특히, 딥러닝 네트워크의 학습은 대규모의 트레이닝 데이터와 높은 컴퓨팅 파워의 필요성에 의해, 온라인을 통해 서버에서 주로 이루어지고 있다.
하지만, 프라이버시 문제로 인하여 개인 데이터를 학습 목적으로 서버에 전송할 수 없는 개인 모바일 장치(Personal Mobile Device) 환경이나, 장치가 통신망을 벗어나 있는 경우가 많은 군대, 드론 혹은 선박 등의 환경에서는 서버에서 학습하는 것이 불가능하다.
따라서, 서버에서 학습하는 것이 불가능한 로컬 장치에서는 딥러닝 네트워크의 온디바이스 학습(On-Device Learning)이 수행되어야 한다.
그러나, 온디바이스 학습을 수행하는 로컬 장치는 트레이닝 데이터를 저장해둘 스토리지 공간이 없거나 매우 부족하며, 그에 따라 온디바이스 학습을 수행하는 데 어려움이 있다.
또한, 새로운 트레이닝 데이터를 사용하여 딥러닝 네트워크를 학습할 경우, 새로운 트레이닝 데이터가 과거의 트레이닝 데이터와 상이하면 딥러닝 네트워크는 과거에 학습했던 내용을 서서히 잊어버리게 되며, 결과적으로 파괴적 망각(Catastrophic Forgetting) 문제가 발생하게 된다.
이에 더하여, 로컬 장치(Local Device)에서 온디바이스 학습을 수행할 경우, 큰 컴퓨팅 파워가 필요하며, 학습 자체에 시간이 많이 소요되는 단점이 있다.
본 발명은 상술한 문제점을 모두 해결하는 것을 그 목적으로 한다.
본 발명은 온디바이스 학습(On-Device Learning)을 수행하는 로컬 장치(Local Device)에서 트레이닝 데이터를 저장하지 않고도 계속하여 학습에 이용할 수 있도록 하는 것을 다른 목적으로 한다.
본 발명은 과거의 트레이닝 데이터를 저장하지 않고도 새로운 트레이닝 데이터를 이용한 학습에서 과거의 트레이닝 데이터를 이용할 수 있도록 하는 것을 또 다른 목적으로 한다.
본 발명은 온디바이스 학습을 수행하는 로컬 장치에서 파괴적 망각(Catastrophic Forgetting) 현상 없이 뉴럴 네트워크(Neural Network)에 대한 온디바이스 학습을 할 수 있도록 하는 것을 또 다른 목적으로 한다.
본 발명은 동일한 트레이닝 데이터를 이용하여 학습 효과를 높일 수 있도록 하는 것을 또 다른 목적으로 한다.
본 발명은 온디바이스 학습에 필요한 컴퓨팅 파워와 시간을 절감할 수 있도록 하는 것을 또 다른 목적으로 한다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한, 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 태양에 따르면, 입력 데이터를 분석하는 뉴럴 네트워크(Neural Network)의 온디바이스 연속 학습(On-Device Continual Learning)을 위한 방법에 있어서, (a) 학습을 위하여 획득되는 새로운 데이터가 기설정된 기준 볼륨(Preset Base Volume)이 되면, 학습 장치가, 상기 기설정된 기준 볼륨의 상기 새로운 데이터를 유니폼 샘플링(Uniform-Sampling) 하여 상기 새로운 데이터가 기설정된 제1 볼륨을 갖도록 하며, 적어도 하나의 k 차원 랜덤 벡터(k-Dimension Random Vector)를 부스팅 네트워크(Boosting Network)로 입력하여 상기 부스팅 네트워크로 하여금 상기 k 차원 랜덤 벡터를, 이보다 높은 로스를 갖는 적어도 하나의 k 차원 수정 벡터(k-Dimension Modified Vector)로 변환하도록 하고, 상기 k 차원 수정 벡터를, 학습이 완료된 원본 데이터 생성자 네트워크(Original Data Generator Network)로 입력하여 상기 원본 데이터 생성자 네트워크로 하여금, 상기 k 차원 수정 벡터에 대응되고 상기 원본 데이터 생성자 네트워크를 학습하는데 이용되었던 이전 데이터(Previous Data)에 대응되는, 제1 합성 이전 데이터(Synthetic Previous Data)를 출력하는 프로세스를 반복하도록 하여, 상기 제1 합성 이전 데이터가 기설정된 제2 볼륨을 갖도록 하며, 상기 기설정된 제1 볼륨의 상기 새로운 데이터 및 상기 기설정된 제2 볼륨의 상기 제1 합성 이전 데이터를 참조하여 제1 현재 학습(Current-Learning)에 이용되는 제1 배치(Batch)를 생성하는 단계; 및 (b) 상기 학습 장치가, 상기 뉴럴 네트워크로 하여금 상기 제1 배치를 상기 뉴럴 네트워크로 입력하여 상기 제1 배치에 대응되는 출력 정보(Output Information)를 생성하도록 하며, 제1 로스 레이어(Loss Layer)로 하여금 상기 출력 정보와 이에 대응되는 GT를 참조하여 적어도 하나의 제1 로스를 산출하도록 하고, 상기 제1 로스를 백프로파게이션함으로써 상기 뉴럴 네트워크와 상기 부스팅 네트워크의 상기 제1 현재 학습을 수행하는 단계;를 포함하는 것을 특징으로 한다.
일 실시예에서, (c) 상기 학습 장치가, 상기 기설정된 기준 볼륨의 상기 새로운 데이터를 유니폼 샘플링하여 상기 새로운 데이터가 상기 기설정된 제1 볼륨을 갖도록 하고, 상기 원본 데이터 생성자 네트워크를 복제하여 복제 데이터 생성자 네트워크(Cloned Data Generator Network)를 생성하도록 하며, 상기 복제 데이터 생성자 네트워크로 하여금, 상기 k 차원 랜덤 벡터에 대응되고 상기 원본 데이터 생성자 네트워크를 학습하는데 이용되었던 상기 이전 데이터에 대응되는, 제2 합성 이전 데이터를 출력하는 프로세스를 반복하도록 하여, 상기 제2 합성 이전 데이터가 상기 기설정된 제2 볼륨을 갖도록 하고, 상기 원본 데이터 생성자 네트워크로 하여금, 상기 k 차원 랜덤 벡터에 대응되고 상기 원본 데이터 생성자 네트워크를 학습하는데 이용되었던 상기 이전 데이터에 대응되는, 제3 합성 이전 데이터를 출력하는 프로세스를 반복하도록 하여, 상기 제3 합성 이전 데이터가 상기 기설정된 제1 볼륨과 상기 기설정된 제2 볼륨의 합과 같은 기설정된 제 3 볼륨을 갖도록 하며, 상기 기설정된 제1 볼륨의 상기 새로운 데이터, 상기 기설정된 제2 볼륨의 상기 제2 합성 이전 데이터, 및 상기 기설정된 제3 볼륨의 상기 제3 합성 이전 데이터를 참조하여 제2 현재 학습에 이용할 제2 배치를 생성하는 단계; 및 (d) 상기 학습 장치가, 판별기(Discriminator)로 하여금 상기 제2 배치를 상기 판별기로 입력하여 상기 제2 배치에 대응되는 스코어 벡터(Score Vector)를 생성하도록 하며, 제2 로스 레이어로 하여금 상기 스코어 벡터와 이에 대응되는 GT를 참조하여 적어도 하나의 제2 로스를 산출하도록 하고, 상기 제2 로스를 백프로파게이션함으로써 상기 판별기 및 상기 원본 데이터 생성자 네트워크의 상기 제2 현재 학습을 수행하는 단계;를 더 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 학습 장치는, 상기 제2 로스를 백프로파게이션함으로써 상기 판별기의 로스 및 상기 복제 데이터 생성자 네트워크의 로스가 각각 수렴할 때까지 상기 (c) 단계와 상기 (d) 단계를 반복하는 것을 특징으로 한다.
일 실시예에서, 상기 (d) 단계에서, 상기 학습 장치는, 상기 제2 로스를 백프로파게이션함으로써 상기 판별기의 적어도 하나의 가중치 및 상기 복제 데이터 생성자 네트워크 의 적어도 하나의 가중치의 경사 상승법(Gradient Ascent)을 수행하는 것을 특징으로 한다.
일 실시예에서, 상기 (d) 단계에서, 상기 학습 장치는, 상기 제2 로스를 백프로파게이션함으로써 상기 판별기의 상기 제2 현재 학습을 수행하는 중, 상기 복제 데이터 생성자 네트워크로부터의 상기 제2 합성 이전 데이터를 진짜 데이터(Real Data)로 간주하여 상기 판별기의 상기 제2 현재 학습을 수행하는 것을 특징으로 한다.
일 실시예에서, 상기 (d) 단계에서, 상기 학습 장치는, 상기 원본 데이터 생성자 네트워크의 상기 제2 현재 학습을 수행하여, 상기 스코어 벡터 중 상기 제3 합성 이전 데이터에 대응되는 상기 제3 합성 이전 데이터 스코어 벡터가 최대화되도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 제2 현재 학습이 최초 학습일 경우, 상기 (a) 단계에서, 상기 학습 장치는, 상기 기설정된 제1 볼륨의 상기 새로운 데이터만 이용해 상기 제1 배치를 생성하며, 상기 (c) 단계에서, 상기 학습 장치는, 상기 원본 데이터 생성자 네트워크로 하여금 상기 k 차원 랜덤 벡터에 대응되는 상기 제3 합성 이전 데이터를 출력하는 프로세스를 반복하도록 하여 상기 제3 합성 이전 데이터가 상기 기설정된 제1 볼륨을 갖도록 하며, 상기 기설정된 제1 볼륨의 상기 새로운 데이터 및 상기 기설정된 제1 볼륨의 상기 제3 합성 이전 데이터를 참조하여 상기 제2 배치를 생성하는 것을 특징으로 한다.
일 실시예에서, 상기 학습 장치는, 상기 제1 로스를 백프로파게이션함으로써 상기 제1 로스가 수렴할 때까지 상기 (a) 단계와 상기 (b) 단계를 반복하는 것을 특징으로 한다.
일 실시예에서, 상기 (a) 단계와 상기 (b) 단계를 상기 제1 현재 학습으로 반복하는 경우, 상기 학습 장치는, (i) 첫 번째 이터레이션(Iteration)에서, 상기 (a) 단계에서 상기 기설정된 기준 볼륨의 상기 새로운 데이터 각각에 대응되는 샘플링 확률(Sampling Probability) 각각을 초기화하고, 초기화된 상기 샘플링 확률을 참조하여 상기 기설정된 기준 볼륨의 상기 새로운 데이터를 상기 유니폼 샘플링하여 상기 기설정된 제1 볼륨의 상기 새로운 데이터를 생성하며, 상기 (b) 단계에서 상기 뉴럴 네트워크의 상기 제1 현재 학습이 완료되면, 상기 기설정된 제1 볼륨의 상기 새로운 데이터에 대응되는 상기 제1 로스를 참조하여 상기 기설정된 제1 볼륨의 상기 새로운 데이터 각각에 대응되는 상기 샘플링 확률 각각을 업데이트함으로써 상기 기설정된 기준 볼륨의 상기 새로운 데이터 각각에 대응되는 상기 샘플링 확률 각각을 업데이트하며, (ii) 다음 이터레이션에서, 상기 (a) 단계에서 상기 기설정된 기준 볼륨의 상기 새로운 데이터 각각에 대응되는 이전 이터레이션에서 업데이트된 상기 샘플링 확률 각각을 참조하여 상기 기설정된 기준 볼륨의 상기 새로운 데이터의 상기 유니폼 샘플링을 통해 상기 기설정된 제1 볼륨의 상기 새로운 데이터를 생성하며, 상기 (b) 단계에서 상기 뉴럴 네트워크의 상기 제1 현재 학습이 완료되면, 상기 기설정된 제1 볼륨의 상기 새로운 데이터에 대응되는 상기 제1 로스를 참조하여 상기 기설정된 기준 볼륨의 상기 새로운 데이터 각각에 대응되는 상기 이전 이터레이션에서 업데이트된 상기 샘플링 확률 각각을 업데이트하는 것을 특징으로 한다.
일 실시예에서, 상기 (a) 단계와 상기 (b) 단계를 상기 제1 현재 학습으로 반복하는 경우, 첫 번째 이터레이션에서, 상기 학습 장치는, 상기 (a) 단계에서, 상기 부스팅 네트워크를 초기화한 후, 초기화된 상기 부스팅 네트워크로 하여금 상기 k 차원 랜덤 벡터를 상기 k 차원 수정 벡터로 변환하도록 하며, 다음 이터레이션에서, 상기 학습 장치는, 상기 (a) 단계에서, 이전 이터레이션에서의 상기 (b) 단계에서 상기 제1 현재 학습이 완료된 상기 부스팅 네트워크로 하여금 상기 k 차원 랜덤 벡터를 상기 k 차원 수정 벡터로 변환하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (b) 단계에서, 상기 학습 장치는, 상기 제1 로스를 백프로파게이션하여 상기 뉴럴 네트워크의 로스를 최소화하도록 상기 뉴럴 네트워크의 적어도 하나의 가중치의 경사 하강법(Gradient Descent)을 수행하고, 상기 제1 로스 중 상기 제1 합성 이전 데이터에 대응되는 로스를 최대화하도록 상기 부스팅 네트워크의 적어도 하나의 가중치의 경사 상승법을 수행하는 것을 특징으로 한다.
일 실시예에서, 상기 학습 장치는, 상기 부스팅 네트워크의 상기 가중치의 상기 경사 상승법을 수행할 경우, 상기 부스팅 네트워크의 상기 가중치를 클리핑 (Clipping)하는 것을 특징으로 한다.
일 실시예에서, 상기 부스팅 네트워크는 저차원의 적어도 하나의 FC 레이어(Fully Connected Layer)를 포함하는 것을 특징으로 한다.
본 발명의 다른 태양에 따르면, 입력 데이터를 분석하는 뉴럴 네트워크(Neural Network)를 테스트하는 방법에 있어서, (a) 학습 장치가, (I) 학습을 위하여 획득되는 새로운 데이터가 기설정된 기준 볼륨(Preset Base Volume)이 되면, 상기 기설정된 기준 볼륨의 상기 학습용 새로운 데이터를 유니폼 샘플링(Uniform-Sampling)하여 상기 학습용 새로운 데이터가 기설정된 제1 볼륨을 갖도록 하며, 적어도 하나의 학습용 k 차원 랜덤 벡터(k-Dimension Random Vector)를 부스팅 네트워크(Boosting Network)로 입력하여 상기 부스팅 네트워크로 하여금 상기 학습용 k 차원 랜덤 벡터를, 이보다 높은 로스를 갖는 적어도 하나의 학습용 k 차원 수정 벡터(k-Dimension Modified Vector)로 변환하도록 하고, 상기 학습용 k 차원 수정 벡터를, 학습이 완료된 원본 데이터 생성자 네트워크(Original Data Generator Network)로 입력하여 상기 원본 데이터 생성자 네트워크로 하여금, 상기 학습용 k 차원 수정 벡터에 대응되고 상기 원본 데이터 생성자 네트워크를 학습하는데 이용되었던 학습용 이전 데이터(Previous Data)에 대응되는, 학습용 제1 합성 이전 데이터(Synthetic Previous Data)를 출력하는 프로세스를 반복하도록 하여, 상기 학습용 제1 합성 이전 데이터가 기설정된 제2 볼륨을 갖도록 하며, 상기 기설정된 제1 볼륨의 상기 학습용 새로운 데이터 및 상기 기설정된 제2 볼륨의 상기 학습용 제1 합성 이전 데이터를 참조하여 제1 현재 학습(Current-Learning)에 이용되는 학습용 제1 배치(Batch)를 생성하는 프로세스, 및 (II) 상기 뉴럴 네트워크로 하여금 상기 학습용 제1 배치를 상기 뉴럴 네트워크로 입력하여 상기 학습용 제1 배치에 대응되는 학습용 출력 정보(Output Information)를 생성하도록 하며, 제1 로스 레이어(Loss Layer)로 하여금 상기 학습용 출력 정보와 이에 대응되는 GT를 참조하여 적어도 하나의 제1 로스를 산출하도록 하고, 상기 제1 로스를 백프로파게이션함으로써 상기 뉴럴 네트워크와 상기 부스팅 네트워크의 상기 제1 현재 학습을 수행하는 프로세스를 완료한 상태에서, 테스트 장치가, 테스트 데이터를 획득하는 단계; 및 (b) 상기 테스트 장치가, 상기 뉴럴 네트워크로 하여금, 상기 테스트 데이터를 상기 뉴럴 네트워크로 입력하여 상기 테스트 데이터에 대응되는 테스트용 출력 정보를 생성하도록 하는 단계;를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 (a) 단계에서, 상기 학습 장치가, (III) 상기 기설정된 기준 볼륨의 상기 학습용 새로운 데이터를 유니폼 샘플링하여 상기 학습용 새로운 데이터가 상기 기설정된 제1 볼륨을 갖도록 하고, 상기 원본 데이터 생성자 네트워크를 복제하여 복제 데이터 생성자 네트워크(Cloned Data Generator Network)를 생성하도록 하며, 상기 복제 데이터 생성자 네트워크로 하여금, 상기 학습용 k 차원 랜덤 벡터에 대응되고 상기 원본 데이터 생성자 네트워크를 학습하는데 이용되었던 상기 학습용 이전 데이터에 대응되는, 학습용 제2 합성 이전 데이터를 출력하는 프로세스를 반복하도록 하여, 상기 학습용 제2 합성 이전 데이터가 상기 기설정된 제2 볼륨을 갖도록 하고, 상기 원본 데이터 생성자 네트워크로 하여금, 상기 학습용 k 차원 랜덤 벡터에 대응되고 상기 원본 데이터 생성자 네트워크를 학습하는데 이용되었던 상기 학습용 이전 데이터에 대응되는, 학습용 제3 합성 이전 데이터를 출력하는 프로세스를 반복하도록 하여, 상기 학습용 제3 합성 이전 데이터가 상기 기설정된 제1 볼륨과 상기 기설정된 제2 볼륨의 합과 같은 기설정된 제 3 볼륨을 갖도록 하며, 상기 기설정된 제1 볼륨의 상기 학습용 새로운 데이터, 상기 기설정된 제2 볼륨의 상기 학습용 제2 합성 이전 데이터, 및 상기 기설정된 제3 볼륨의 상기 학습용 제3 합성 이전 데이터를 참조하여 제2 현재 학습에 이용할 학습용 제2 배치를 생성하는 프로세스, 및 (IV) 판별기(Discriminator)로 하여금 상기 학습용 제2 배치를 상기 판별기로 입력하여 상기 학습용 제2 배치에 대응되는 학습용 스코어 벡터(Score Vector)를 생성하도록 하며, 제2 로스 레이어로 하여금 상기 학습용 스코어 벡터와 이에 대응되는 GT를 참조하여 적어도 하나의 제2 로스를 산출하도록 하고, 상기 제2 로스를 백프로파게이션함으로써 상기 판별기 및 상기 원본 데이터 생성자 네트워크의 상기 제2 현재 학습을 수행하는 프로세스;를 더 수행하는 것을 특징으로 한다.
본 발명의 또 다른 태양에 따르면, 입력 데이터를 분석하는 뉴럴 네트워크(Neural Network)의 온디바이스 연속 학습(On-Device Continual Learning)을 위한 학습 장치에 있어서, 인스트럭션을 저장하는 적어도 하나의 메모리; 및 (I) 학습을 위하여 획득되는 새로운 데이터가 기설정된 기준 볼륨(Preset Base Volume)이 되면, 상기 기설정된 기준 볼륨의 상기 새로운 데이터를 유니폼 샘플링(Uniform-Sampling)하여 상기 새로운 데이터가 기설정된 제1 볼륨을 갖도록 하며, 적어도 하나의 k 차원 랜덤 벡터(k-Dimension Random Vector)를 부스팅 네트워크(Boosting Network)로 입력하여 상기 부스팅 네트워크로 하여금 상기 k 차원 랜덤 벡터를, 이보다 높은 로스를 갖는 적어도 하나의 k 차원 수정 벡터(k-Dimension Modified Vector)로 변환하도록 하고, 상기 k 차원 수정 벡터를, 학습이 완료된 원본 데이터 생성자 네트워크(Original Data Generator Network)로 입력하여 상기 원본 데이터 생성자 네트워크로 하여금, 상기 k 차원 수정 벡터에 대응되고 상기 원본 데이터 생성자 네트워크를 학습하는데 이용되었던 이전 데이터(Previous Data)에 대응되는, 제1 합성 이전 데이터(Synthetic Previous Data)를 출력하는 프로세스를 반복하도록 하여, 상기 제1 합성 이전 데이터가 기설정된 제2 볼륨을 갖도록 하며, 상기 기설정된 제1 볼륨의 상기 새로운 데이터 및 상기 기설정된 제2 볼륨의 상기 제1 합성 이전 데이터를 참조하여 제1 현재 학습(Current-Learning)에 이용되는 제1 배치(Batch)를 생성하는 프로세스; 및 (II) 상기 뉴럴 네트워크로 하여금 상기 제1 배치를 상기 뉴럴 네트워크로 입력하여 상기 제1 배치에 대응되는 출력 정보(Output Information)를 생성하도록 하며, 제1 로스 레이어(Loss Layer)로 하여금 상기 출력 정보와 이에 대응되는 GT를 참조하여 적어도 하나의 제1 로스를 산출하도록 하고, 상기 제1 로스를 백프로파게이션함으로써 상기 뉴럴 네트워크와 상기 부스팅 네트워크의 상기 제1 현재 학습을 수행하는 프로세스를 수행하기 위한 상기 인스트럭션을 실행하도록 구성된 적어도 하나의 프로세서;를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 프로세서가, (III) 상기 기설정된 기준 볼륨의 상기 새로운 데이터를 유니폼 샘플링하여 상기 새로운 데이터가 상기 기설정된 제1 볼륨을 갖도록 하고, 상기 원본 데이터 생성자 네트워크를 복제하여 복제 데이터 생성자 네트워크(Cloned Data Generator Network)를 생성하도록 하며, 상기 복제 데이터 생성자 네트워크로 하여금, 상기 k 차원 랜덤 벡터에 대응되고 상기 원본 데이터 생성자 네트워크를 학습하는데 이용되었던 상기 이전 데이터에 대응되는, 제2 합성 이전 데이터를 출력하는 프로세스를 반복하도록 하여, 상기 제2 합성 이전 데이터가 상기 기설정된 제2 볼륨을 갖도록 하고, 상기 원본 데이터 생성자 네트워크로 하여금, 상기 k 차원 랜덤 벡터에 대응되고 상기 원본 데이터 생성자 네트워크를 학습하는데 이용되었던 상기 이전 데이터에 대응되는, 제3 합성 이전 데이터를 출력하는 프로세스를 반복하도록 하여, 상기 제3 합성 이전 데이터가 상기 기설정된 제1 볼륨과 상기 기설정된 제2 볼륨의 합과 같은 기설정된 제 3 볼륨을 갖도록 하며, 상기 기설정된 제1 볼륨의 상기 새로운 데이터, 상기 기설정된 제2 볼륨의 상기 제2 합성 이전 데이터, 및 상기 기설정된 제3 볼륨의 상기 제3 합성 이전 데이터를 참조하여 제2 현재 학습에 이용할 제2 배치를 생성하는 프로세스; 및 (IV) 판별기(Discriminator)로 하여금 상기 제2 배치를 상기 판별기로 입력하여 상기 제2 배치에 대응되는 스코어 벡터(Score Vector)를 생성하도록 하며, 제2 로스 레이어로 하여금 상기 스코어 벡터와 이에 대응되는 GT를 참조하여 적어도 하나의 제2 로스를 산출하도록 하고, 상기 제2 로스를 백프로파게이션함으로써 상기 판별기 및 상기 원본 데이터 생성자 네트워크의 상기 제2 현재 학습을 수행하는 프로세스;를 더 수행하는 것을 특징으로 한다.
일 실시예에서, 상기 프로세서는, 상기 제2 로스를 백프로파게이션함으로써 상기 판별기의 로스 및 상기 복제 데이터 생성자 네트워크의 로스가 각각 수렴할 때까지 상기 (III) 프로세스와 상기 (IV) 프로세스를 반복하는 것을 특징으로 한다.
일 실시예에서, 상기 (IV) 프로세스에서, 상기 프로세서는, 상기 제2 로스를 백프로파게이션함으로써 상기 판별기의 적어도 하나의 가중치 및 상기 복제 데이터 생성자 네트워크의 적어도 하나의 가중치의 경사 상승법(Gradient Ascent)을 수행하는 것을 특징으로 한다.
일 실시예에서, 상기 (IV) 프로세스에서, 상기 프로세서는, 상기 제2 로스를 백프로파게이션함으로써 상기 판별기의 상기 제2 현재 학습을 수행하는 중, 상기 복제 데이터 생성자 네트워크로부터의 상기 제2 합성 이전 데이터를 진짜 데이터(Real Data)로 간주하여 상기 판별기의 상기 제2 현재 학습을 수행하는 것을 특징으로 한다.
일 실시예에서, 상기 (IV) 프로세스에서, 상기 프로세서는, 상기 원본 데이터 생성자 네트워크의 상기 제2 현재 학습을 수행하여, 상기 스코어 벡터 중 상기 제3 합성 이전 데이터에 대응되는 상기 제3 합성 이전 데이터 스코어 벡터가 최대화되도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 제2 현재 학습이 최초 학습일 경우, 상기 (I) 프로세스에서, 상기 프로세서는, 상기 기설정된 제1 볼륨의 상기 새로운 데이터만 이용해 상기 제1 배치를 생성하며, 상기 (III) 프로세스에서, 상기 프로세서는, 상기 원본 데이터 생성자 네트워크로 하여금 상기 k 차원 랜덤 벡터에 대응되는 상기 제3 합성 이전 데이터를 출력하는 프로세스를 반복하도록 하여 상기 제3 합성 이전 데이터가 상기 기설정된 제1 볼륨을 갖도록 하며, 상기 기설정된 제1 볼륨의 상기 새로운 데이터 및 상기 기설정된 제1 볼륨의 상기 제3 합성 이전 데이터를 참조하여 상기 제2 배치를 생성하는 것을 특징으로 한다.
일 실시예에서, 상기 프로세서는, 상기 제1 로스를 백프로파게이션함으로써 상기 제1 로스가 수렴할 때까지 상기 (I) 프로세스와 상기 (II) 프로세스를 반복하는 것을 특징으로 한다.
일 실시예에서, 상기 (I) 단계와 상기 (II) 단계를 상기 제1 현재 학습으로 반복하는 경우, 상기 프로세서는, (i) 첫 번째 이터레이션(Iteration)에서, 상기 (I) 프로세스에서 상기 기설정된 기준 볼륨의 상기 새로운 데이터 각각에 대응되는 샘플링 확률(Sampling Probability) 각각을 초기화하고, 초기화된 상기 샘플링 확률을 참조하여 상기 기설정된 기준 볼륨의 상기 새로운 데이터를 상기 유니폼 샘플링하여 상기 기설정된 제1 볼륨의 상기 새로운 데이터를 생성하며, 상기 (II) 프로세스에서 상기 뉴럴 네트워크의 상기 제1 현재 학습이 완료되면, 상기 기설정된 제1 볼륨의 상기 새로운 데이터에 대응되는 상기 제1 로스를 참조하여 상기 기설정된 제1 볼륨의 상기 새로운 데이터 각각에 대응되는 상기 샘플링 확률 각각을 업데이트함으로써 상기 기설정된 기준 볼륨의 상기 새로운 데이터 각각에 대응되는 상기 샘플링 확률 각각을 업데이트하며, (ii) 다음 이터레이션에서, 상기 (I) 프로세스에서 상기 기설정된 기준 볼륨의 상기 새로운 데이터 각각에 대응되는 이전 이터레이션에서 업데이트된 상기 샘플링 확률 각각을 참조하여 상기 기설정된 기준 볼륨의 상기 새로운 데이터의 상기 유니폼 샘플링을 통해 상기 기설정된 제1 볼륨의 상기 새로운 데이터를 생성하며, 상기 (II) 프로세스에서 상기 뉴럴 네트워크의 상기 제1 현재 학습이 완료되면, 상기 기설정된 제1 볼륨의 상기 새로운 데이터에 대응되는 상기 제1 로스를 참조하여 상기 기설정된 기준 볼륨의 상기 새로운 데이터 각각에 대응되는 상기 이전 이터레이션에서 업데이트된 상기 샘플링 확률 각각을 업데이트하는 것을 특징으로 한다.
일 실시예에서, 상기 (I) 프로세스와 상기 (II) 프로세스를 상기 제1 현재 학습으로 반복하는 경우, 첫 번째 이터레이션에서, 상기 프로세서는, 상기 (I) 프로세스에서, 상기 부스팅 네트워크를 초기화한 후, 초기화된 상기 부스팅 네트워크로 하여금 상기 k 차원 랜덤 벡터를 상기 k 차원 수정 벡터로 변환하도록 하며, 다음 이터레이션에서, 상기 프로세서는, 상기 (I) 프로세스에서, 이전 이터레이션에서의 상기 (II) 프로세스에서 상기 제1 현재 학습이 완료된 상기 부스팅 네트워크로 하여금 상기 k 차원 랜덤 벡터를 상기 k 차원 수정 벡터로 변환하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (II) 프로세스에서, 상기 프로세서는, 상기 제1 로스를 백프로파게이션하여 상기 뉴럴 네트워크의 로스를 최소화하도록 상기 뉴럴 네트워크의 적어도 하나의 가중치의 경사 하강법(Gradient Descent)을 수행하고, 상기 제1 로스 중 상기 제1 합성 이전 데이터에 대응되는 로스를 최대화하도록 상기 부스팅 네트워크의 적어도 하나의 가중치의 경사 상승법을 수행하는 것을 특징으로 한다.
일 실시예에서, 상기 프로세서는, 상기 부스팅 네트워크의 상기 가중치의 상기 경사 상승법을 수행할 경우, 상기 부스팅 네트워크의 상기 가중치를 클리핑 (Clipping)하는 것을 특징으로 한다.
일 실시예에서, 상기 부스팅 네트워크는 저차원의 적어도 하나의 FC 레이어(Fully Connected Layer)를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 태양에 따르면, 입력 데이터를 분석하는 뉴럴 네트워크(Neural Network)를 테스트하는 테스트 장치에 있어서, 인스트럭션을 저장하는 적어도 하나의 메모리; 및 학습 장치가, (1) 학습을 위하여 획득되는 새로운 데이터가 기설정된 기준 볼륨(Preset Base Volume)이 되면, 상기 기설정된 기준 볼륨의 상기 학습용 새로운 데이터를 유니폼 샘플링(Uniform-Sampling)하여 상기 학습용 새로운 데이터가 기설정된 제1 볼륨을 갖도록 하며, 적어도 하나의 학습용 k 차원 랜덤 벡터(k-Dimension Random Vector)를 부스팅 네트워크(Boosting Network)로 입력하여 상기 부스팅 네트워크로 하여금 상기 학습용 k 차원 랜덤 벡터를, 이보다 높은 로스를 갖는 적어도 하나의 학습용 k 차원 수정 벡터(k-Dimension Modified Vector)로 변환하도록 하고, 상기 학습용 k 차원 수정 벡터를, 학습이 완료된 원본 데이터 생성자 네트워크(Original Data Generator Network)로 입력하여 상기 원본 데이터 생성자 네트워크로 하여금, 상기 학습용 k 차원 수정 벡터에 대응되고 상기 원본 데이터 생성자 네트워크를 학습하는데 이용되었던 학습용 이전 데이터(Previous Data)에 대응되는, 학습용 제1 합성 이전 데이터(Synthetic Previous Data)를 출력하는 프로세스를 반복하도록 하여, 상기 학습용 제1 합성 이전 데이터가 기설정된 제2 볼륨을 갖도록 하며, 상기 기설정된 제1 볼륨의 상기 학습용 새로운 데이터 및 상기 기설정된 제2 볼륨의 상기 학습용 제1 합성 이전 데이터를 참조하여 제1 현재 학습(Current-Learning)에 이용되는 학습용 제1 배치(Batch)를 생성하는 프로세스, 및 (2) 상기 뉴럴 네트워크로 하여금 상기 학습용 제1 배치를 상기 뉴럴 네트워크로 입력하여 상기 학습용 제1 배치에 대응되는 학습용 출력 정보(Output Information)를 생성하도록 하며, 제1 로스 레이어(Loss Layer)로 하여금 상기 학습용 출력 정보와 이에 대응되는 GT를 참조하여 적어도 하나의 제1 로스를 산출하도록 하고, 상기 제1 로스를 백프로파게이션함으로써 상기 뉴럴 네트워크와 상기 부스팅 네트워크의 상기 제1 현재 학습을 수행하는 프로세스를 완료한 상태에서, 상기 뉴럴 네트워크로 하여금 테스트 데이터를 뉴럴 네트워크에 입력하여 획득된 상기 테스트 데이터에 대응하는 테스트용 출력 정보를 출력하도록 하는 프로세스를 수행하기 위한 상기 인스트럭션을 실행하도록 구성된 적어도 하나의 프로세서; 를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 학습 장치가, (3) 상기 기설정된 기준 볼륨의 상기 학습용 새로운 데이터를 유니폼 샘플링하여 상기 학습용 새로운 데이터가 상기 기설정된 제1 볼륨을 갖도록 하고, 상기 원본 데이터 생성자 네트워크를 복제하여 복제 데이터 생성자 네트워크(Cloned Data Generator Network)를 생성하도록 하며, 상기 복제 데이터 생성자 네트워크로 하여금, 상기 학습용 k 차원 랜덤 벡터에 대응되고 상기 원본 데이터 생성자 네트워크를 학습하는데 이용되었던 상기 학습용 이전 데이터에 대응되는, 학습용 제2 합성 이전 데이터를 출력하는 프로세스를 반복하도록 하여, 상기 학습용 제2 합성 이전 데이터가 상기 기설정된 제2 볼륨을 갖도록 하고, 상기 원본 데이터 생성자 네트워크로 하여금, 상기 학습용 k 차원 랜덤 벡터에 대응되고 상기 원본 데이터 생성자 네트워크를 학습하는데 이용되었던 상기 학습용 이전 데이터에 대응되는, 학습용 제3 합성 이전 데이터를 출력하는 프로세스를 반복하도록 하여, 상기 학습용 제3 합성 이전 데이터가 상기 기설정된 제1 볼륨과 상기 기설정된 제2 볼륨의 합과 같은 기설정된 제 3 볼륨을 갖도록 하며, 상기 기설정된 제1 볼륨의 상기 학습용 새로운 데이터, 상기 기설정된 제2 볼륨의 상기 학습용 제2 합성 이전 데이터, 및 상기 기설정된 제3 볼륨의 상기 학습용 제3 합성 이전 데이터를 참조하여 제2 현재 학습에 이용할 학습용 제2 배치를 생성하는 프로세스, 및 (4) 판별기(Discriminator)로 하여금 상기 학습용 제2 배치를 상기 판별기로 입력하여 상기 학습용 제2 배치에 대응되는 학습용 스코어 벡터(Score Vector)를 생성하도록 하며, 제2 로스 레이어로 하여금 상기 학습용 스코어 벡터와 이에 대응되는 GT를 참조하여 적어도 하나의 제2 로스를 산출하도록 하고, 상기 제2 로스를 백프로파게이션함으로써 상기 판별기 및 상기 원본 데이터 생성자 네트워크의 상기 제2 현재 학습을 수행하는 프로세스;를 더 수행하는 것을 특징으로 한다.
이 외에도, 본 발명의 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
본 발명은 온디바이스 학습(On-Device Learning)으로 하여금 로컬 장치(Local Device)에서 이전 트레이닝 데이터를 저장하지 않고도 이전 학습에 사용된 이전 트레이닝 데이터를 효과적으로 생성할 있는 효과가 있다.
또한, 본 발명은 데이터 생성자 네트워크(Data Generator Network)에서 생성된 이전 트레이닝 데이터와 새로운 학습 데이터를 이용하여 뉴럴 네트워크의 온디바이스 학습으로 하여금, 뉴럴 네트워크의 학습시 치명적 망각(Catastrophic Forgetting)을 방지할 수 있는 다른 효과가 있다.
또한, 본 발명은 로스가 높아 학습 효율이 좋지 않는 트레이닝 데이터를 이용하여 학습 효과를 높일 수 있을 뿐만 아니라, 온디바이스 학습에 필요한 컴퓨팅 파워와 시간을 절감할 수 있는 또 다른 효과가 있다.
본 발명의 실시예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시예들 중 단지 일부일 뿐이며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자(이하 "통상의 기술자")에게 있어서는 발명적 작업이 이루어짐 없이 이 도면들에 기초하여 다른 도면들이 얻어질 수 있다.
도 1은 본 발명의 일 실시예에 따라 딥러닝을 이용하여 입력 데이터를 분석하는 뉴럴 네트워크의 온디바이스 연속 학습(On-Device Continual Learning)을 위한 학습 장치를 개략적으로 도시한 것이고,
도 2는 본 발명의 일 실시예에 따라 딥러닝을 이용하여 입력 데이터를 분석하는 뉴럴 네트워크의 온디바이스 연속 학습을 위한 방법을 개략적으로 도시한 것이고,
도 3은 본 발명의 일 실시예에 따라 딥러닝을 이용하여 입력 데이터를 분석하는 뉴럴 네트워크의 온디바이스 연속 학습을 위한 방법에서 이전 트레이닝 데이터를 생성하는 데이터 생성자 네트워크(Data Generator Network)의 일 예를 개략적으로 도시한 것이고,
도 4는 본 발명의 일 실시예에 따라 딥러닝을 이용하여 입력 데이터를 분석하는 뉴럴 네트워크의 온디바이스 연속 학습을 위한 방법에서 이전 트레이닝 데이터를 생성하는 데이터 생성자 네트워크의 다른 예를 개략적으로 도시한 것이고,
도 5는 본 발명의 일 실시예에 따라 딥러닝을 이용하여 입력 데이터를 분석하는 뉴럴 네트워크의 온디바이스 연속 학습을 위한 방법에서 데이터 생성자 네트워크를 학습하는 프로세스를 개략적으로 도시한 것이고,
도 6은 본 발명의 일 실시예에 따라 온디바이스 연속 학습이 완료된 뉴럴 네트워크를 테스트하는 테스트 장치를 개략적으로 도시한 것이고,
도 7은 본 발명의 일 실시예에 따라 온디바이스 연속 학습이 완료된 뉴럴 네트워크를 테스트하는 테스트 방법을 개략적으로 도시한 것이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명의 목적들, 기술적 해법들 및 장점들을 분명하게 하기 위하여 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 통상의 기술자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다.
또한, 본 발명의 상세한 설명 및 청구항들에 걸쳐, "포함하다"라는 단어 및 그것의 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다.
더욱이 본 발명은 본 명세서에 표시된 실시예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
본 발명에서 언급하는 각종 이미지는 포장 또는 비포장 도로 관련 이미지를 포함할 수 있으며, 이 경우 도로 환경에서 등장할 수 있는 물체(가령, 자동차, 사람, 동물, 식물, 물건, 건물, 비행기나 드론과 같은 비행체, 기타 장애물)를 상정할 수 있을 것이나, 반드시 이에 한정되는 것은 아니며, 본 발명에서 언급하는 각종 이미지는 도로와 상관 없는 이미지(가령, 비포장도로, 골목길, 공터, 바다, 호수, 강, 산, 숲, 사막, 하늘, 실내와 관련된 이미지)일 수도 있으며, 이 경우, 비포장도로, 골목길, 공터, 바다, 호수, 강, 산, 숲, 사막, 하늘, 실내 환경에서 등장할 수 있는 물체(가령, 자동차, 사람, 동물, 식물, 물건, 건물, 비행기나 드론과 같은 비행체, 기타 장애물)를 상정할 수 있을 것이나, 반드시 이에 한정되는 것은 아니다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따라 딥러닝을 이용하여 입력 데이터를 분석하는 뉴럴 네트워크의 온디바이스 연속 학습(On-Device Continual Learning)을 위한 학습 장치를 개략적으로 도시한 것이다. 도 1을 참조하면, 학습 장치(100)는 뉴럴 네트워크의 온디바이스 연속 학습를 수행하기 위한 인스트럭션(Instruction)을 저장하는 메모리(110)와 메모리(110)에 저장된 인스트럭션에 대응하는 프로세스를 수행하여 뉴럴 네트워크의 온디바이스 연속 학습을 수행하는 프로세서(120)를 포함할 수 있다.
구체적으로, 학습 장치(100)는 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 종래의 컴퓨팅 구성요소를 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.
또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 컴퓨팅 장치는 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
그러나, 컴퓨팅 장치가 본 발명을 실시하기 위한 프로세서, 미디엄, 또는 다른 컴퓨팅 구성요소의 어떠한 조합을 포함하는 통합 장치(Integrated Device)를 배제하는 것은 아니다.
이와 같이 구성된 본 발명의 일 실시예에 따른 학습 장치(100)를 이용하여 딥러닝을 이용해 입력 데이터를 분석하는 뉴럴 네트워크의 온디바이스 연속 학습을 수행하는 방법을 도 2를 참조하면 설명하면 다음과 같다.
먼저, 학습을 위하여 획득되는 새로운 데이터(New Data)(10)가 기설정된 기준 볼륨(M)이 되면, 학습 장치(100)가, 기설정된 기준 볼륨(M)의 새로운 데이터(10)를 유니폼 샘플링(Uniform Sampling)하여 새로운 데이터(10)의 기설정된 제1 볼륨(m)이 되도록 한다.
이때, 새로운 데이터(10)는 뉴럴 네트워크(140)를 포함하는 적어도 하나의 로컬 장치(Local Device) 자체에서 획득되거나 적어도 하나의 외부 장치로부터 획득될 수 있다.
그리고, 학습 장치(100)는 유니폼 샘플링을 통해 기설정된 기준 볼륨(M)의 새로운 데이터(10) 중 일부를 기설정된 제1 볼륨(m)만큼 선택할 경우, 기설정된 기준 볼륨(M)의 새로운 데이터(10) 각각에 대응되는 샘플링 확률
Figure 112019128804276-pat00001
각각을 이용하여 m개의 새로운 데이터를 선택할 수 있다.
유니폼 샘플링에 대한 자세한 설명은 다음과 같다. 첫 번째 이터레이션 (Iteration)에서 10개의 이미지 중 2개의 이미지의 배치(Batch)가 학습에 사용된다면, 1/10의 가중치(샘플링 확률) 각각은 10개의 이미지 각각에 대해 설정될 수 있다. 첫 번째 이터레이션이 진행되는 동안, 동일한 가중치를 가지기 때문에 임의로 선택된 2개의 이미지의 배치가 생성될 수 있다. 2개의 이미지의 가중치는 첫 번째 이터레이션으로 생성된 2개의 이미지의 로스를 이용해 업데이트 될 수 있다. 예를 들어, 각각의 가중치는 단일 이미지의 단일 로스의 전체 이미지의 로스의 합에 대한 비율일 수 있다. 이미지를 검출하기 어려우면 가중치는 커지고, 이미지를 검출하기 쉬우면 가중치는 작아진다. 이후, 더 큰 가중치를 갖는 2개의 선택된 이미지의 배치를 이용하여 두 번째 이터레이션이 수행될 수 있으며, 상기 2개의 이미지의 가중치는 두 번째 이터레이션에 의해 생성된 2개의 이미지의 로스를 이용해 업데이트될 수 있다. 이 프로세스가 반복된 결과, 더 큰 로스를 갖는 이미지(예를 들어, 검출기의 경우 검출이 어려운 이미지)가 더 사용되어 학습이 향상된다. 이때, 기설정된 기준 볼륨(M)의 새로운 데이터(10) 각각에 대응되는 샘플링 확률
Figure 112019128804276-pat00002
각각은 다음과 같이 나타내어질 수 있으며, 이전 이터레이션에서 산출된 큰 로스로 인해 학습 효율이 떨어지는 새로운 데이터에는 더 큰 가중치가 부여될 수 있다.
Figure 112019128804276-pat00003
즉, 뉴럴 네트워크의 적어도 하나의 가중치의 단일 업데이트를 이터레이션이라 할 경우, 첫 번째 이터레이션에서, 학습 장치(100)는, 기설정된 기준 볼륨(M)의 새로운 데이터 각각에 대응되는 샘플링 확률
Figure 112019128804276-pat00004
각각을 초기화하고, 초기화된 샘플링 확률을 참조하여 기설정된 기준 볼륨(M)의 새로운 데이터를 유니폼 샘플링하여 기설정된 제1 볼륨(m)의 새로운 데이터를 선택할 수 있다. 이때, 샘플링 확률
Figure 112019128804276-pat00005
의 초기값은 1/M일 수 있다. 그리고, 학습 장치(100)는 기설정된 제1 볼륨(m)의 새로운 데이터에 대응되는 로스를 참조하여 기설정된 제1 볼륨(m)의 새로운 데이터에 대응되는 각각의 샘플링 확률을 업데이트함으로써, 기설정된 기준 볼륨(M)의 새로운 데이터 각각에 대응되는 샘플링 확률 각각을 업데이트할 수 있다.
이후, 다음 이터레이션에서, 학습 장치(100)는, 기설정된 기준 볼륨(M)의 새로운 데이터 각각에 대응되며, 이전 이터레이션에서 업데이트된 샘플링 확률
Figure 112019128804276-pat00006
를 참조하여, 기설정된 기준 볼륨(M)의 새로운 데이터를 유니폼 샘플링하여 기설정된 제1 볼륨(m)의 새로운 데이터를 생성할 수 있다. 이때, 각각의 이터레이션에서 선택되는 기설정된 제1 볼륨(m)의 새로운 데이터는 부분적으로 서로 다른 새로운 데이터일 수 있다. 그리고, 학습 장치(100)는 기설정된 제1 볼륨(m)의 새로운 데이터에 대응하는 로스를 참조하여 기설정된 기준 볼륨(M)의 새로운 데이터 각각에 대응하며, 이전 이터레이션에서 업데이트된 샘플링 확률 각각을 업데이트할 수 있다.
한편, 학습 장치(100)는 적어도 하나의 k 차원 랜덤 벡터(k-Dimension Random Vector) z를 부스팅 네트워크(Boosting Network) B(125)로 입력하여 부스팅 네트워크 B(125)로 하여금 k 차원 랜덤 벡터를 이보다 높은 로스를 갖는 적어도 하나의 k 차원 수정 벡터(k-Dimension Modified Vector)로 변환하도록 한다. 이때, k 차원 수정 벡터
Figure 112019128804276-pat00007
Figure 112019128804276-pat00008
와 같이 나타내어질 수 있다. 이후로, 학습 장치(100)는 k 차원 수정 벡터를 이미 학습된 원본 데이터 생성자 네트워크(Original Data Generator Network) G(130)로 입력하여 원본 데이터 생성자 네트워크 G(130)로 하여금, k 차원 랜덤 벡터에 대응되는 제1 합성 이전 데이터(Synthetic Previous Data)를 출력하는 프로세스를 반복하도록 하여, 제1 합성 이전 데이터가 기설정된 제2 볼륨(n)이 되도록 한다.
이때, 부스팅 네트워크(125)는 적어도 하나의 저차원의 FC 레이어(Fully Connected Layer)를 포함할 수 있다. 일 예로, 부스팅 네트워크(125)는 3개의 FC 레이어를 포함할 수 있다. 자세히 살펴보면, 제1 FC 레이어는 k 차원 랜덤 벡터에 대하여 FC 연산을 적어도 한 번 적용하여 적어도 하나의 L 차원 벡터를 생성할 수 있고, 제2 FC 레이어는 L 차원 벡터를 적어도 하나의 L 차원 수정 벡터로 변환할 수 있으며, 제3 FC 레이어는 L 차원 수정 벡터를 k 차원 수정 벡터로 변환할 수 있다. 이때, L은 k/2일 수 있다. 이를 통해 부스팅 네트워크(125)는 로스의 변화에 빠르게 대응할 수 있을 뿐만 아니라 컴퓨팅 파워 오버헤드(Computing Power Overhead)도 줄일 수 있게 된다.
그리고, 학습 장치(100)는 첫 번째 이터레이션에서, 부스팅 네트워크(125)를 초기화한 후, 초기화된 부스팅 네트워크(125)로 하여금 k 차원 랜덤 벡터를 k 차원 수정 벡터로 변환하도록 하며, 그 다음 이터레이션에서는, 이전 이터레이션에서 학습된 부스팅 네트워크(125)로 하여금 k 차원 랜덤 벡터를 k 차원 수정 벡터로 변환하도록 할 수 있다. 이때, k 차원 랜덤 벡터는 각각의 이터레이션에서 서로 다른 값을 가질 수 있다.
또한, 원본 데이터 생성자 네트워크 G(130)는 이미 자신의 학습에 사용된 이전 데이터를 출력하도록 학습된 것으로, 제1 합성 이전 데이터는 이전 데이터에 대응될 수 있다. 그리고, k 차원 랜덤 벡터는 자신의 구성요소 각각을 위해 샘플링된 0 내지 1 사이의 입력으로부터 생성될 수 있다. 원본 데이터 생성자 네트워크 G(130)의 학습 프로세스에 대해서는 다음에 설명하기로 한다.
한편, 원본 데이터 생성자 G(130)는 뉴럴 네트워크(140)에 대응되어 구성될 수 있으며, 뉴럴 네트워크(140)가 입력되는 새로운 데이터(x, y)(10)에 대응하는 (x, y)의 차원, 값의 종류 및 범위 등에 따라 적합한 네트워크 아키텍처(Network Architecture)를 만들어 사용할 수 있다.
일 예로, 도 3을 참조하면, 뉴럴 네트워크(140)가 벡터를 입력 받는 분류기일 경우, 원본 데이터 생성자 네트워크(130)는, k 차원 랜덤 벡터에 대응되는 k 차원 정보에 대하여 FC 연산을 적용하여 적어도 하나의 D 차원 벡터(
Figure 112019128804276-pat00009
)와 적어도 하나의 C 차원 원핫(One-Hot) 벡터(
Figure 112019128804276-pat00010
)를 생성하는 적어도 하나의 FC 레이어를 포함할 수 있다.
다른 예로, 도 4를 참조하면, 뉴럴 네트워크(140)가 적어도 하나의 RGB 이미지를 입력으로 받는 객체 검출기일 경우, 원본 데이터 생성자 네트워크(130)는, k 차원 랜덤 벡터에 대응되는 1 x 1 x K 정보를 적어도 하나의 H x W x 3 텐서(Tensor)(
Figure 112019128804276-pat00011
)로 변환하는 적어도 하나의 전치 컨벌루션 레이어(Transposed Convolutional Layer)(131-1, 131-2, …)와, 상기 H x W x 3 텐서를 분석하여 적어도 하나의 R x (4 + C) 벡터를 생성하는 빠른(Faster) R-CNN F(132)를 포함하도록 구성될 수 있다. 이때, 다수의 전치 컨벌루션 레이어(131-1, 131-2, …)의 출력단(Output End)에는 적어도 하나의 H x W x 3 벡터를 H x W x 3 텐서로 변환하는 액티베이션 함수(시그모이드; Sigmoid)가 함께 제공될 수 있다. 그리고, R x (4 + C) 벡터에서 R은 R 차원 벡터(
Figure 112019128804276-pat00012
)를 포함하며, (4 + C)는
Figure 112019128804276-pat00013
및 C 차원 원핫 벡터를 포함할 수 있다.
다음으로, 다시 도 2를 참조하면, 학습 장치(100)는 기설정된 제1 볼륨(m)의 새로운 데이터 및 기설정된 제2 볼륨(n)의 제1 합성 이전 벡터를 참조하여 제1 현재 학습에 사용할 제1 배치(20)를 생성한다. 이때, 제1 배치(20)는 m + n 볼륨일 수 있다.
이후, 학습 장치(100)는 제1 배치(20)를 뉴럴 네트워크(140)로 입력하여 뉴럴 네트워크(140)로 하여금 제1 배치(20)에 대응되는 출력 정보를 생성하도록 하며, 제1 로스 레이어(150)로 하여금 출력 정보와 이에 대응되는 GT를 참조하여 적어도 하나의 제1 로스를 산출하도록 한다. 이때, 새로운 데이터에 대한 로스는 제1 배치(20) 중 새로운 데이터에 대한 로스로
Figure 112019128804276-pat00014
와 같이 나타낼 수 있으며, 이전 데이터에 대한 로스는 제1 배치(20) 중 합성 이전 데이터에 대한 로스로
Figure 112019128804276-pat00015
와 같이 나타낼 수 있다.
그리고, 학습 장치(100)는 제1 로스를 백프로파게이션하여 뉴럴 네트워크(140)와 부스팅 네트워크(125)의 제1 현재 학습을 수행할 수 있다.
이때, 학습 장치(100)는 제1 로스를 백프로파게이션함으로써 뉴럴 네트워크(140)의 로스를 최소화하기 위하여 뉴럴 네트워크(140)의 적어도 하나의 가중치(
Figure 112019128804276-pat00016
)의 경사 하강법(Gradient Descent)을 수행할 수 있으며, 그에 따라 뉴럴 네트워크(140)의 가중치(
Figure 112019128804276-pat00017
)는 다음의 공식으로 업데이트될 수 있다.
Figure 112019128804276-pat00018
또한, 학습 장치(100)는 제1 로스를 백프로파게이션함으로써 제1 로스 중 제1 합성 이전 데이터에 대응되는 로스를 최대화하도록, 즉,
Figure 112019128804276-pat00019
가 되도록 부스팅 네트워크(125)의 가중치의 경사 상승법(Gradient Ascent)을 수행할 수 있으며, 그에 따라 부스팅 네트워크(125)의 적어도 하나의 가중치(
Figure 112019128804276-pat00020
)는 다음의 공식으로 업데이트될 수 있다.
Figure 112019128804276-pat00021
이때, 학습 장치(100)는 부스팅 네트워크(125)의 모든 가중치의 절대값이 임계치 C를 넘지 않도록(
Figure 112019128804276-pat00022
) 업데이트마다 모든 가중치를 클리핑(Clipping)할 수 있다. 즉, 가중치
Figure 112019128804276-pat00023
가 임계치 C를 초과할 경우에는 부스팅 네트워크(125)의 가중치를 임계치 C로 업데이트하며, 가중치
Figure 112019128804276-pat00024
가 음(-)의 임계치 C 미만일 경우에는 음(-)의 부스팅 네트워크(125)의 가중치를 임계치 C로 업데이트할 수 있다.
그리고, 학습 장치(100)는 제1 로스를 백프로파게이션함으로써 뉴럴 네트워크(140)의 가중치를 업데이트하는 이터레이션 프로세스를 뉴럴 네트워크(140)의 로스와 부스팅 네트워크(125)의 로스가 수렴할 때까지 반복한다.
한편, 반복에 의해 뉴럴 네트워크(140)의 로스와 부스팅 네트워크(125)의 로스가 이터레이션에 의해 수렴하면, 학습 장치(100)는 부스팅 네트워크(125)를 초기화하거나, 다음 학습의 첫 번째 이터레이션에서 부스팅 네트워크(125)를 초기화할 수 있다.
이때, 부스팅 네트워크(125)의 초기값, 즉, 초기 가중치는 충분히 작은 값으로 설정할 수 있다. 일 예로, 평균은 0, 표준편차는 1e-4 등과 같이 설정할 수 있으며, 초기값의 절대값이 임계치 C를 넘지 않도록 설정할 수 있다.
다음으로, 도 5를 참조하여, 미리 학습된 원본 데이터 생성자 네트워크(130)을 학습하는 방법을 설명한다. 상기 도 2에서의 설명으로부터 용이하게 이해 가능한 부분에 대해서는 설명을 생략하기로 한다.
먼저, 학습 장치(100)는 새로운 데이터 h(10)를 샘플링하여 기설정된 제1 볼륨(m)이 되도록 하고, 원본 데이터 생성자 네트워크 G(130)를 복제하여 복제 데이터 생성자 네트워크 G'(130C)를 생성한다.
그리고, 학습 장치(100)는 복제 데이터 생성자 네트워크 G'(130C)로 하여금 k 차원 랜덤 벡터 z에 대응되는 제2 합성 이전 데이터 G'(z)를 출력하는 프로세스를 반복하도록 하여 제2 합성 이전 데이터 G'(z)가 기설정된 제2 볼륨(n)이 되도록 한다. 이때, 학습 장치(100)는 기설정된 제2 볼륨(n)의 제2 합성 이전 데이터 G'(z)를 실제 데이터(Real Data)로 간주하여 제2 합성 이전 데이터 G'(z)를 이전 데이터 G'(z)로 설정한다.
또한, 학습 장치(100)는 원본 데이터 생성자 네트워크 G(130)로 하여금 k 차원 랜덤 벡터 z에 대응되는 제3 합성 이전 데이터 G(z)를 출력하는 프로세스를 반복하도록 하여 제3 합성 이전 데이터 G(z)가 기설정된 제 3 볼륨(m + n)이 되도록 한다. 이때, 기설정된 제3 볼륨(m + n)은 기설정된 제1 볼륨(m)과 기설정된 제2 볼륨(n)의 합이 되도록 한다.
이후, 학습 장치(100)는 제1 볼륨(m)의 새로운 데이터 h, 제2 볼륨(n)의 제2 합성 이전 데이터 G'(z), 및 제3 볼륨(m + n)의 제3 합성 이전 데이터 G(z)을 참조하여 제2 현재 학습에 사용할 제2 배치(21)를 생성한다.
다음으로, 학습 장치(100)는 제2 배치(21)를 판별기 D(160)로 입력하여 판별기 D(160)로 하여금 제2 배치(21)에 대응되는 스코어 벡터(Score Vector)를 생성하도록 한다.
이때, 스코어 벡터는 기설정된 제2 볼륨(n)의 제2 합성 이전 데이터 G'(z)의 스코어 벡터, 기설정된 제1 볼륨(m)의 새로운 데이터 h의 스코어 벡터, 및 기설정된 제3 볼륨(m + n)의 제3 합성 이전 데이터 G(z)의 스코어 벡터를 포함할 수 있다. 기설정된 제2 볼륨(n)의 제2 합성 이전 데이터 G'(z)의 스코어 벡터는
Figure 112019128804276-pat00025
와 같이 나타낼 수 있고, 기설정된 제1 볼륨(m)의 새로운 데이터 h의 스코어 벡터는
Figure 112019128804276-pat00026
와 같이 나타낼 수 있으며, 기설정된 제3 볼륨(m + n)의 제3 합성 이전 데이터 G(z)의 스코어 벡터는
Figure 112019128804276-pat00027
와 같이 나타낼 수 있다.
그리고, 학습 장치(100)는 제2 로스 레이어(170)로 하여금 스코어 벡터와 이에 대응되는 GT를 참조하여 적어도 하나의 제2 로스를 산출하도록 함으로써, 제2 로스를 백프로파게이션하여 판별기 D(160) 및 원본 데이터 생성자 네트워크 G(130)의 제2 현재 학습을 수행한다.
이때, 학습 장치(100)는 제2 로스를 백프로파게이션하여 판별기 D(160)의 적어도 하나의 가중치(
Figure 112019128804276-pat00028
)의 경사 상승법을 수행할 수 있으며, 그에 따라 판별기 D(160)의 적어도 하나의 가중치(
Figure 112019128804276-pat00029
)는 다음의 공식으로 업데이트될 수 있다.
Figure 112019128804276-pat00030
또한, 학습 장치(100)는 제2 로스를 백프로파게이션하여 원본 데이터 생성자 네트워크 G(130)의 적어도 하나의 가중치(
Figure 112019128804276-pat00031
)의 경사 상승법을 수행할 수 있으며, 그에 따라 원본 데이터 생성자 네트워크 G(130)의 적어도 하나의 가중치(
Figure 112019128804276-pat00032
)는 다음의 공식으로 업데이트될 수 있다.
Figure 112019128804276-pat00033
한편, 학습 장치(100)는 복제 데이터 생성자 네트워크 G'(130C)로부터의 제2 합성 이전 데이터 G'(z)를 실제 데이터로 간주하여 판별기 D(160)를 제2 현재 학습을 수행하며, 스코어 벡터 중 제3 합성 이전 데이터 G(z)에 대응되는 제3 합성 이전 데이터 스코어 벡터가 최대화되도록 원본 데이터 생성자 네트워크 G(130)의 제2 현재 학습을 수행한다.
따라서, 판별기(160)의 학습에 이용되는 실제 데이터는 새로운 데이터 h와 제2 합성 이전 데이터인 이전 데이터 G'(z)를 포함할 수 있으며, 그에 따라 원본 데이터 생성자 네트워크 G(130)는 실제 데이터인 새로운 데이터 h와 제2 합성 이전 데이터인 이전 데이터 G'(z)를 출력하도록 학습될 수 있다.
그리고, 학습 장치(100)는 제2 로스를 백프로파게이션하여 판별기 D(160)의 로스 및 원본 데이터 생성자 네트워크 G(130)의 로스가 수렴할 때까지 상기의 프로세스, 다시 말해, 이터레이션을 수행한다. 즉, 학습 장치(100)는 제2 합성 이전 데이터, 새로운 데이터, 및 제3 합성 이전 데이터를 이용해 제2 배치의 생성과, 제2 배치를 이용한 판별기(160)와 원본 데이터 생성자 네트워크(130)의 제2 현재 학습을 반복함으로써, 판별기(160)의 로스와 원본 데이터 생성자 네트워크(130)의 로스가 수렴되도록, 제2 배치를 이용해 판별기(160)와 원본 데이터 생성자 네트워크(130)의 제2 현재 학습을 반복할 수 있다.
이때, 판별기(160)의 학습에 이용되는 이전 데이터의 새로운 데이터에 대한 비율은 n:m=N:M이 되며, 새로운 데이터의 모든 볼륨(M)이 제2 배치를 이용해 학습될 경우, 학습된 원본 데이터 생성자 네트워크 G(130)에서 출력되는 이전 데이터의 새로운 데이터에 대한 비율은 N:M이 될 수 있다.
이후, 제2 현재 학습이 완료되면, 일 예로, 판별기(160)의 로스와 원본 데이터 생성자 네트워크(130)의 로스가 수렴되면, 학습 장치(100)는 새로운 데이터를 삭제하며, 새로운 데이터 및 제2 합성 이전 데이터를 다음 학습 때 사용할 수 있도록 이전 데이터로 출력하기 위해 원본 데이터 생성자 네트워크를 업데이트할 수 있다.
즉, 원본 데이터 생성자 네트워크(130)가 제2 현재 학습에 이용되는 실제 데이터에 대응되는 새로운 데이터와 이전 데이터를 출력할 수 있도록 학습된 상태이므로, 새로운 데이터를 삭제할 수 있으며, 다음 학습을 수행할 시, 원본 데이터 생성자 네트워크(130)는 현재 학습에 이용된 이전 데이터와 새로운 데이터를 출력하도록 함으로써 다음 학습에 이용되는 이전 데이터를 획득할 수 있게 된다.
한편, 상기의 제1 현재 학습과 제2 현재 학습을 포함하는 현재 학습이 제1 학습일 경우에는, 이전 데이터 없이 제1 현재 학습과 제2 현재 학습을 수행할 수 있다.
즉, 학습 장치(100)는 기설정된 제1 볼륨(m)의 새로운 데이터만으로 제1 배치를 생성하며, 제1 배치를 이용하여 뉴럴 네트워크(140)의 로스가 수렴하도록 제1 현재 학습을 수행한다.
그리고, 학습 장치(100)는 부스팅 네트워크(125)로 하여금 k 차원 랜덤 벡터에 대응되는 k 차원 수정 벡터를 생성하도록 하며, 원본 데이터 생성자 네트워크(130)로 하여금 k 차원 수정 벡터에 대응되는 제3 합성 이전 데이터를 출력하는 프로세스를 반복하도록 하여 제3 합성 이전 데이터가 기설정된 제1 볼륨(m)이 되도록 하며, 기설정된 제1 볼륨의 새로운 데이터 및 기설정된 제1 볼륨의 상기 제3 합성 이전 데이터를 참조하여 제2 배치를 생성하며, 제2 배치를 이용하여 판별기(160)의 로스 및 원본 데이터 생성자 네트워크(130)의 로스가 수렴하도록 제2 현재 학습을 수행할 수 있다.
이후, 학습 장치(100)는 현재 학습에 이용된 새로운 데이터를 삭제하며, 새로운 데이터를 이전 데이터로 초기화할 수 있다.
도 6은 본 발명의 일 실시예에 따라 온디바이스 연속 학습된 뉴럴 네트워크를 테스트하는 테스트 장치를 개략적으로 도시한 것이다. 도 6을 참조하면, 테스트 장치(200)는 온디바이스 연속 학습이 완료된 뉴럴 네트워크를 테스트하기 위한 인스트럭션을 저장하는 메모리(210)와 메모리(210)에 저장된 인스트럭션에 대응하여 온디바이스 연속 학습이 완료된 뉴럴 네트워크를 테스트하는 프로세스를 수행하는 프로세서(220)를 포함할 수 있다.
구체적으로, 테스트 장치(200)는 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 종래의 컴퓨팅 장치의 구성요소를 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.
또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 컴퓨팅 장치는 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
그러나, 컴퓨팅 장치가 본 발명을 실시하기 위한 프로세서, 미디엄, 또는 다른 컴퓨팅 구성요소의 어떠한 조합을 포함하는 통합 장치(Integrated Device)를 배제하는 것은 아니다.
이와 같이 구성된 본 발명의 일 실시예에 따른 테스트 장치(200)를 이용하여 온디바이스 연속 학습이 완료된 뉴럴 네트워크를 테스트하는 방법에 대하여 도 7을 참조하여 설명하면 다음과 같다.
상기에서 설명한 바와 같은 방법에 의해 뉴럴 네트워크(140)가 학습된 상태에서, 테스트 장치(200)가 테스트 데이터(210)를 획득하거나 타 장치로 하여금 획득하도록 지원한다. 이때, 테스트 데이터(210)는 이미지 정보, 센서(Sensor) 정보, 음성 정보 등을 포함할 수 있으나, 이에 한정되지 않으며, 특징 분석이 가능한 모든 입력 데이터를 포함할 수 있다.
그리고, 테스트 장치(200)는 테스트 데이터(210)를 뉴럴 네트워크(140)로 입력하여 뉴럴 네트워크(140)로 하여금 테스트 데이터(210)에 대응되는 출력 정보를 생성하도록 할 수 있다.
참고로 이하의 설명에서 혼동을 피하기 위해 "학습용"이란 문구는 앞서 설명한 학습 프로세스와 관련된 용어에 대해 추가되고, "테스트용"이란 문구는 테스트 프로세스와 관련된 용어에 대해 추가된다.
한편, 학습용 새로운 데이터가 기설정된 기준 볼륨(Preset Base Volume)이 되면, 학습 장치(100)는 학습용 기설정된 기준 볼륨의 학습용 새로운 데이터를 유니폼 샘플링(Uniform-Sampling)하여 학습용 새로운 데이터가 기설정된 제1 볼륨을 갖도록 하며, 적어도 하나의 학습용 k 차원 랜덤 벡터(k-Dimension Random Vector)를 부스팅 네트워크(Boosting Network)로 입력하여 부스팅 네트워크로 하여금 학습용 k 차원 랜덤 벡터를, 이보다 높은 로스를 갖는 적어도 하나의 학습용 k 차원 수정 벡터(k-Dimension Modified Vector)로 변환하도록 하고, 학습용 k 차원 수정 벡터를, 학습이 완료된 원본 데이터 생성자 네트워크(Original Data Generator Network)로 입력하여 원본 데이터 생성자 네트워크로 하여금, 학습용 k 차원 수정 벡터에 대응되고 원본 데이터 생성자 네트워크를 학습하는데 이용되었던 학습용 이전 데이터(Previous Data)에 대응되는, 학습용 제1 합성 이전 데이터(Synthetic Previous Data)를 출력하는 프로세스를 반복하도록 하여, 학습용 제1 합성 이전 데이터가 기설정된 제2 볼륨을 갖도록 하며, 기설정된 제1 볼륨의 학습용 새로운 데이터 및 기설정된 제2 볼륨의 학습용 제1 합성 이전 데이터를 참조하여 제1 현재 학습(Current-Learning)에 이용되는 학습용 제1 배치(Batch)를 생성하는 프로세스, 및 뉴럴 네트워크로 하여금 학습용 제1 배치를 뉴럴 네트워크로 입력하여 학습용 제1 배치에 대응되는 학습용 출력 정보(Output Information)를 생성하도록 하며, 제1 로스 레이어(Loss Layer)로 하여금 학습용 출력 정보와 이에 대응되는 GT를 참조하여 적어도 하나의 제1 로스를 산출하도록 하고, 제1 로스를 백프로파게이션함으로써 뉴럴 네트워크와 부스팅 네트워크의 제1 현재 학습을 수행하는 프로세스를 완료한 상태에서, 테스트 장치(200)가, 테스트 데이터를 획득하거나 타장치로 하여금 획득하도록 지원할 수 있으며,테스트 장치(200)는 뉴럴 네트워크로 하여금 테스트 데이터를 뉴럴 네트워크로 입력하여 테스트 데이터에 대응되는 출력 정보를 생성하도록 할 수 있다.
그리고, 학습 장치(100)은 기설정된 기준 볼륨의 학습용 새로운 데이터를 유니폼 샘플링하여 학습용 새로운 데이터가 기설정된 제1 볼륨을 갖도록 하고, 원본 데이터 생성자 네트워크를 복제하여 복제 데이터 생성자 네트워크(Cloned Data Generator Network)를 생성하도록 하며, 복제 데이터 생성자 네트워크로 하여금, 학습용 k 차원 랜덤 벡터에 대응되고 원본 데이터 생성자 네트워크를 학습하는데 이용되었던 학습용 이전 데이터에 대응되는, 학습용 제2 합성 이전 데이터를 출력하는 프로세스를 반복하도록 하여, 학습용 제2 합성 이전 데이터가 기설정된 제2 볼륨을 갖도록 하고, 원본 데이터 생성자 네트워크로 하여금, 학습용 k 차원 랜덤 벡터에 대응되고 원본 데이터 생성자 네트워크를 학습하는데 이용되었던 학습용 이전 데이터에 대응되는, 학습용 제3 합성 이전 데이터를 출력하는 프로세스를 반복하도록 하여, 학습용 제3 합성 이전 데이터가 기설정된 제1 볼륨과 기설정된 제2 볼륨의 합과 같은 기설정된 제 3 볼륨을 갖도록 하며, 기설정된 제1 볼륨의 학습용 새로운 데이터, 기설정된 제2 볼륨의 학습용 제2 합성 이전 데이터, 및 기설정된 제3 볼륨의 학습용 제3 합성 이전 데이터를 참조하여 제2 현재 학습에 이용할 학습용 제2 배치를 생성하는 프로세스, 및 판별기(Discriminator)로 하여금 학습용 제2 배치를 판별기로 입력하여 학습용 제2 배치에 대응되는 학습용 스코어 벡터(Score Vector)를 생성하도록 하며, 제2 로스 레이어로 하여금 학습용 스코어 벡터와 이에 대응되는 GT를 참조하여 제2 로스를 산출하도록 하고, 제2 로스를 백프로파게이션함으로써 판별기 및 원본 데이터 생성자 네트워크의 제2 현재 학습을 수행하는 프로세스를 완료한 상태일 수 있다.
본 발명은 스마트폰, 드론, 선박 또는 군사 목적으로 사용하기 위하여 프라이버시 침해 방지, 스토리지와 같은 리소스 최적화, 및 트레이닝 이미지 샘플링 프로세스 최적화를 위해 수행될 수 있다. 또한, 본 발명은 뉴럴 네트워크, GAN(Generative Adversarial Network) 등의 학습 프로세스를 통해 수행될 수 있다.
또한, 이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 학습 장치
110: 메모리
120: 프로세서
125: 부스팅 네트워크
130: 데이터 생성자 네트워크
140: 뉴럴 네트워크
150: 제1 로스 레이어
160: 판별기
170: 제 2 로스 레이어
200: 테스트 장치
210: 메모리
220: 프로세서

Claims (30)

  1. 입력 데이터를 분석하는 뉴럴 네트워크(Neural Network)의 온디바이스 연속 학습(On-Device Continual Learning)을 위한 방법에 있어서,
    (a) 학습을 위하여 획득되는 새로운 데이터가 기설정된 기준 볼륨(Preset Base Volume)이 되면, 학습 장치가, 상기 기설정된 기준 볼륨의 상기 새로운 데이터를 유니폼 샘플링(Uniform-Sampling)하여 상기 새로운 데이터가 기설정된 제1 볼륨을 갖도록 하며, 적어도 하나의 k 차원 랜덤 벡터(k-Dimension Random Vector)를 부스팅 네트워크(Boosting Network)로 입력하여 상기 부스팅 네트워크로 하여금 상기 k 차원 랜덤 벡터를, 이보다 높은 로스를 갖는 적어도 하나의 k 차원 수정 벡터(k-Dimension Modified Vector)로 변환하도록 하고, 상기 k 차원 수정 벡터를, 학습이 완료된 원본 데이터 생성자 네트워크(Original Data Generator Network)로 입력하여 상기 원본 데이터 생성자 네트워크로 하여금, 상기 k 차원 수정 벡터에 대응되고 상기 원본 데이터 생성자 네트워크를 학습하는데 이용되었던 이전 데이터(Previous Data)에 대응되는, 제1 합성 이전 데이터(Synthetic Previous Data)를 출력하는 프로세스를 반복하도록 하여, 상기 제1 합성 이전 데이터가 기설정된 제2 볼륨을 갖도록 하며, 상기 기설정된 제1 볼륨의 상기 새로운 데이터 및 상기 기설정된 제2 볼륨의 상기 제1 합성 이전 데이터를 참조하여 제1 현재 학습(Current-Learning)에 이용되는 제1 배치(Batch)를 생성하는 단계; 및
    (b) 상기 학습 장치가, 상기 뉴럴 네트워크로 하여금 상기 제1 배치를 상기 뉴럴 네트워크로 입력하여 상기 제1 배치에 대응되는 출력 정보(Output Information)를 생성하도록 하며, 제1 로스 레이어(Loss Layer)로 하여금 상기 출력 정보와 이에 대응되는 GT를 참조하여 적어도 하나의 제1 로스를 산출하도록 하고, 상기 제1 로스를 백프로파게이션함으로써 상기 뉴럴 네트워크와 상기 부스팅 네트워크의 상기 제1 현재 학습을 수행하는 단계;
    를 포함하는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서,
    (c) 상기 학습 장치가, 상기 기설정된 기준 볼륨의 상기 새로운 데이터를 유니폼 샘플링하여 상기 새로운 데이터가 상기 기설정된 제1 볼륨을 갖도록 하고, 상기 원본 데이터 생성자 네트워크를 복제하여 복제 데이터 생성자 네트워크(Cloned Data Generator Network)를 생성하도록 하며, 상기 복제 데이터 생성자 네트워크로 하여금, 상기 k 차원 랜덤 벡터에 대응되고 상기 원본 데이터 생성자 네트워크를 학습하는데 이용되었던 상기 이전 데이터에 대응되는, 제2 합성 이전 데이터를 출력하는 프로세스를 반복하도록 하여, 상기 제2 합성 이전 데이터가 상기 기설정된 제2 볼륨을 갖도록 하고, 상기 원본 데이터 생성자 네트워크로 하여금, 상기 k 차원 랜덤 벡터에 대응되고 상기 원본 데이터 생성자 네트워크를 학습하는데 이용되었던 상기 이전 데이터에 대응되는, 제3 합성 이전 데이터를 출력하는 프로세스를 반복하도록 하여, 상기 제3 합성 이전 데이터가 상기 기설정된 제1 볼륨과 상기 기설정된 제2 볼륨의 합과 같은 기설정된 제 3 볼륨을 갖도록 하며, 상기 기설정된 제1 볼륨의 상기 새로운 데이터, 상기 기설정된 제2 볼륨의 상기 제2 합성 이전 데이터, 및 상기 기설정된 제3 볼륨의 상기 제3 합성 이전 데이터를 참조하여 제2 현재 학습에 이용할 제2 배치를 생성하는 단계; 및
    (d) 상기 학습 장치가, 판별기(Discriminator)로 하여금 상기 제2 배치를 상기 판별기로 입력하여 상기 제2 배치에 대응되는 스코어 벡터(Score Vector)를 생성하도록 하며, 제2 로스 레이어로 하여금 상기 스코어 벡터와 이에 대응되는 GT를 참조하여 적어도 하나의 제2 로스를 산출하도록 하고, 상기 제2 로스를 백프로파게이션함으로써 상기 판별기 및 상기 원본 데이터 생성자 네트워크의 상기 제2 현재 학습을 수행하는 단계;
    를 더 포함하는 것을 특징으로 하는 방법.
  3. 제 2 항에 있어서,
    상기 학습 장치는, 상기 제2 로스를 백프로파게이션함으로써 상기 판별기의 로스 및 상기 복제 데이터 생성자 네트워크의 로스가 각각 수렴할 때까지 상기 (c) 단계와 상기 (d) 단계를 반복하는 것을 특징으로 하는 방법.
  4. 제 2 항에 있어서,
    상기 (d) 단계에서,
    상기 학습 장치는, 상기 제2 로스를 백프로파게이션함으로써 상기 판별기의 적어도 하나의 가중치 및 상기 복제 데이터 생성자 네트워크의 적어도 하나의 가중치의 경사 상승법(Gradient Ascent)을 수행하는 것을 특징으로 하는 방법.
  5. 제 2 항에 있어서,
    상기 (d) 단계에서,
    상기 학습 장치는, 상기 제2 로스를 백프로파게이션함으로써 상기 판별기의 상기 제2 현재 학습을 수행하는 중, 상기 복제 데이터 생성자 네트워크로부터의 상기 제2 합성 이전 데이터를 진짜 데이터(Real Data)로 간주하여 상기 판별기의 상기 제2 현재 학습을 수행하는 것을 특징으로 하는 방법.
  6. 제 2 항에 있어서,
    상기 (d) 단계에서,
    상기 학습 장치는, 상기 원본 데이터 생성자 네트워크의 상기 제2 현재 학습을 수행하여, 상기 스코어 벡터 중 상기 제3 합성 이전 데이터에 대응되는 상기 제3 합성 이전 데이터 스코어 벡터가 최대화되도록 하는 것을 특징으로 하는 방법.
  7. 제 2 항에 있어서,
    상기 제2 현재 학습이 최초 학습일 경우,
    상기 (a) 단계에서,
    상기 학습 장치는, 상기 기설정된 제1 볼륨의 상기 새로운 데이터만 이용해 상기 제1 배치를 생성하며,
    상기 (c) 단계에서,
    상기 학습 장치는, 상기 원본 데이터 생성자 네트워크로 하여금 상기 k 차원 랜덤 벡터에 대응되는 상기 제3 합성 이전 데이터를 출력하는 프로세스를 반복하도록 하여 상기 제3 합성 이전 데이터가 상기 기설정된 제1 볼륨을 갖도록 하며, 상기 기설정된 제1 볼륨의 상기 새로운 데이터 및 상기 기설정된 제1 볼륨의 상기 제3 합성 이전 데이터를 참조하여 상기 제2 배치를 생성하는 것을 특징으로 하는 방법.
  8. 제 1 항에 있어서,
    상기 학습 장치는, 상기 제1 로스를 백프로파게이션함으로써 상기 제1 로스가 수렴할 때까지 상기 (a) 단계와 상기 (b) 단계를 반복하는 것을 특징으로 하는 방법.
  9. 제 8 항에 있어서,
    상기 (a) 단계와 상기 (b) 단계를 상기 제1 현재 학습으로 반복하는 경우,
    상기 학습 장치는,
    (i) 첫 번째 이터레이션(Iteration)에서, 상기 (a) 단계에서 상기 기설정된 기준 볼륨의 상기 새로운 데이터 각각에 대응되는 샘플링 확률(Sampling Probability) 각각을 초기화하고, 초기화된 상기 샘플링 확률을 참조하여 상기 기설정된 기준 볼륨의 상기 새로운 데이터를 상기 유니폼 샘플링하여 상기 기설정된 제1 볼륨의 상기 새로운 데이터를 생성하며, 상기 (b) 단계에서 상기 뉴럴 네트워크의 상기 제1 현재 학습이 완료되면, 상기 기설정된 제1 볼륨의 상기 새로운 데이터에 대응되는 상기 제1 로스를 참조하여 상기 기설정된 제1 볼륨의 상기 새로운 데이터 각각에 대응되는 상기 샘플링 확률 각각을 업데이트함으로써 상기 기설정된 기준 볼륨의 상기 새로운 데이터 각각에 대응되는 상기 샘플링 확률 각각을 업데이트하며,
    (ii) 다음 이터레이션에서, 상기 (a) 단계에서 상기 기설정된 기준 볼륨의 상기 새로운 데이터 각각에 대응되는 이전 이터레이션에서 업데이트된 상기 샘플링 확률 각각을 참조하여 상기 기설정된 기준 볼륨의 상기 새로운 데이터의 상기 유니폼 샘플링을 통해 상기 기설정된 제1 볼륨의 상기 새로운 데이터를 생성하며, 상기 (b) 단계에서 상기 뉴럴 네트워크의 상기 제1 현재 학습이 완료되면, 상기 기설정된 제1 볼륨의 상기 새로운 데이터에 대응되는 상기 제1 로스를 참조하여 상기 기설정된 기준 볼륨의 상기 새로운 데이터 각각에 대응되는 상기 이전 이터레이션에서 업데이트된 상기 샘플링 확률 각각을 업데이트하는 것을 특징으로 하는 방법.
  10. 제 8 항에 있어서,
    상기 (a) 단계와 상기 (b) 단계를 상기 제1 현재 학습으로 반복하는 경우,
    첫 번째 이터레이션에서, 상기 학습 장치는, 상기 (a) 단계에서, 상기 부스팅 네트워크를 초기화한 후, 초기화된 상기 부스팅 네트워크로 하여금 상기 k 차원 랜덤 벡터를 상기 k 차원 수정 벡터로 변환하도록 하며,
    다음 이터레이션에서, 상기 학습 장치는, 상기 (a) 단계에서, 이전 이터레이션에서의 상기 (b) 단계에서 상기 제1 현재 학습이 완료된 상기 부스팅 네트워크로 하여금 상기 k 차원 랜덤 벡터를 상기 k 차원 수정 벡터로 변환하도록 하는 것을 특징으로 하는 방법.
  11. 제 1 항에 있어서,
    상기 (b) 단계에서,
    상기 학습 장치는, 상기 제1 로스를 백프로파게이션하여 상기 뉴럴 네트워크의 로스를 최소화하도록 상기 뉴럴 네트워크의 적어도 하나의 가중치의 경사 하강법(Gradient Descent)을 수행하고, 상기 제1 로스 중 상기 제1 합성 이전 데이터에 대응되는 로스를 최대화하도록 상기 부스팅 네트워크의 적어도 하나의 가중치의 경사 상승법을 수행하는 것을 특징으로 하는 방법.
  12. 제 11 항에 있어서,
    상기 학습 장치는, 상기 부스팅 네트워크의 상기 가중치의 상기 경사 상승법을 수행할 경우, 상기 부스팅 네트워크의 상기 가중치를 클리핑 (Clipping)하는 것을 특징으로 하는 방법.
  13. 삭제
  14. 입력 데이터를 분석하는 뉴럴 네트워크(Neural Network)를 테스트하는 방법에 있어서,
    (a) 학습 장치가, (I) 학습을 위하여 획득되는 새로운 데이터가 기설정된 기준 볼륨(Preset Base Volume)이 되면, 상기 기설정된 기준 볼륨의 상기 학습용 새로운 데이터를 유니폼 샘플링(Uniform-Sampling)하여 상기 학습용 새로운 데이터가 기설정된 제1 볼륨을 갖도록 하며, 적어도 하나의 학습용 k 차원 랜덤 벡터(k-Dimension Random Vector)를 부스팅 네트워크(Boosting Network)로 입력하여 상기 부스팅 네트워크로 하여금 상기 학습용 k 차원 랜덤 벡터를, 이보다 높은 로스를 갖는 적어도 하나의 학습용 k 차원 수정 벡터(k-Dimension Modified Vector)로 변환하도록 하고, 상기 학습용 k 차원 수정 벡터를, 학습이 완료된 원본 데이터 생성자 네트워크(Original Data Generator Network)로 입력하여 상기 원본 데이터 생성자 네트워크로 하여금, 상기 학습용 k 차원 수정 벡터에 대응되고 상기 원본 데이터 생성자 네트워크를 학습하는데 이용되었던 학습용 이전 데이터(Previous Data)에 대응되는, 학습용 제1 합성 이전 데이터(Synthetic Previous Data)를 출력하는 프로세스를 반복하도록 하여, 상기 학습용 제1 합성 이전 데이터가 기설정된 제2 볼륨을 갖도록 하며, 상기 기설정된 제1 볼륨의 상기 학습용 새로운 데이터 및 상기 기설정된 제2 볼륨의 상기 학습용 제1 합성 이전 데이터를 참조하여 제1 현재 학습(Current-Learning)에 이용되는 학습용 제1 배치(Batch)를 생성하는 프로세스, 및 (II) 상기 뉴럴 네트워크로 하여금 상기 학습용 제1 배치를 상기 뉴럴 네트워크로 입력하여 상기 학습용 제1 배치에 대응되는 학습용 출력 정보(Output Information)를 생성하도록 하며, 제1 로스 레이어(Loss Layer)로 하여금 상기 학습용 출력 정보와 이에 대응되는 GT를 참조하여 적어도 하나의 제1 로스를 산출하도록 하고, 상기 제1 로스를 백프로파게이션함으로써 상기 뉴럴 네트워크와 상기 부스팅 네트워크의 상기 제1 현재 학습을 수행하는 프로세스를 완료한 상태에서, 테스트 장치가, 테스트 데이터를 획득하는 단계; 및
    (b) 상기 테스트 장치가, 상기 뉴럴 네트워크로 하여금, 상기 테스트 데이터를 상기 뉴럴 네트워크로 입력하여 상기 테스트 데이터에 대응되는 테스트용 출력 정보를 생성하도록 하는 단계;
    를 포함하는 것을 특징으로 하는 방법.
  15. 제 14 항에 있어서,
    상기 (a) 단계에서,
    상기 학습 장치가,
    (III) 상기 기설정된 기준 볼륨의 상기 학습용 새로운 데이터를 유니폼 샘플링하여 상기 학습용 새로운 데이터가 상기 기설정된 제1 볼륨을 갖도록 하고, 상기 원본 데이터 생성자 네트워크를 복제하여 복제 데이터 생성자 네트워크(Cloned Data Generator Network)를 생성하도록 하며, 상기 복제 데이터 생성자 네트워크로 하여금, 상기 학습용 k 차원 랜덤 벡터에 대응되고 상기 원본 데이터 생성자 네트워크를 학습하는데 이용되었던 상기 학습용 이전 데이터에 대응되는, 학습용 제2 합성 이전 데이터를 출력하는 프로세스를 반복하도록 하여, 상기 학습용 제2 합성 이전 데이터가 상기 기설정된 제2 볼륨을 갖도록 하고, 상기 원본 데이터 생성자 네트워크로 하여금, 상기 학습용 k 차원 랜덤 벡터에 대응되고 상기 원본 데이터 생성자 네트워크를 학습하는데 이용되었던 상기 학습용 이전 데이터에 대응되는, 학습용 제3 합성 이전 데이터를 출력하는 프로세스를 반복하도록 하여, 상기 학습용 제3 합성 이전 데이터가 상기 기설정된 제1 볼륨과 상기 기설정된 제2 볼륨의 합과 같은 기설정된 제 3 볼륨을 갖도록 하며, 상기 기설정된 제1 볼륨의 상기 학습용 새로운 데이터, 상기 기설정된 제2 볼륨의 상기 학습용 제2 합성 이전 데이터, 및 상기 기설정된 제3 볼륨의 상기 학습용 제3 합성 이전 데이터를 참조하여 제2 현재 학습에 이용할 학습용 제2 배치를 생성하는 프로세스, 및 (IV) 판별기(Discriminator)로 하여금 상기 학습용 제2 배치를 상기 판별기로 입력하여 상기 학습용 제2 배치에 대응되는 학습용 스코어 벡터(Score Vector)를 생성하도록 하며, 제2 로스 레이어로 하여금 상기 학습용 스코어 벡터와 이에 대응되는 GT를 참조하여 적어도 하나의 제2 로스를 산출하도록 하고, 상기 제2 로스를 백프로파게이션함으로써 상기 판별기 및 상기 원본 데이터 생성자 네트워크의 상기 제2 현재 학습을 수행하는 프로세스;를 더 수행하는 것을 특징으로 하는 방법.
  16. 입력 데이터를 분석하는 뉴럴 네트워크(Neural Network)의 온디바이스 연속 학습(On-Device Continual Learning)을 위한 학습 장치에 있어서,
    인스트럭션을 저장하는 적어도 하나의 메모리; 및
    (I) 학습을 위하여 획득되는 새로운 데이터가 기설정된 기준 볼륨(Preset Base Volume)이 되면, 상기 기설정된 기준 볼륨의 상기 새로운 데이터를 유니폼 샘플링(Uniform-Sampling)하여 상기 새로운 데이터가 기설정된 제1 볼륨을 갖도록 하며, 적어도 하나의 k 차원 랜덤 벡터(k-Dimension Random Vector)를 부스팅 네트워크(Boosting Network)로 입력하여 상기 부스팅 네트워크로 하여금 상기 k 차원 랜덤 벡터를, 이보다 높은 로스를 갖는 적어도 하나의 k 차원 수정 벡터(k-Dimension Modified Vector)로 변환하도록 하고, 상기 k 차원 수정 벡터를, 학습이 완료된 원본 데이터 생성자 네트워크(Original Data Generator Network)로 입력하여 상기 원본 데이터 생성자 네트워크로 하여금, 상기 k 차원 수정 벡터에 대응되고 상기 원본 데이터 생성자 네트워크를 학습하는데 이용되었던 이전 데이터(Previous Data)에 대응되는, 제1 합성 이전 데이터(Synthetic Previous Data)를 출력하는 프로세스를 반복하도록 하여, 상기 제1 합성 이전 데이터가 기설정된 제2 볼륨을 갖도록 하며, 상기 기설정된 제1 볼륨의 상기 새로운 데이터 및 상기 기설정된 제2 볼륨의 상기 제1 합성 이전 데이터를 참조하여 제1 현재 학습(Current-Learning)에 이용되는 제1 배치(Batch)를 생성하는 프로세스; 및 (II) 상기 뉴럴 네트워크로 하여금 상기 제1 배치를 상기 뉴럴 네트워크로 입력하여 상기 제1 배치에 대응되는 출력 정보(Output Information)를 생성하도록 하며, 제1 로스 레이어(Loss Layer)로 하여금 상기 출력 정보와 이에 대응되는 GT를 참조하여 적어도 하나의 제1 로스를 산출하도록 하고, 상기 제1 로스를 백프로파게이션함으로써 상기 뉴럴 네트워크와 상기 부스팅 네트워크의 상기 제1 현재 학습을 수행하는 프로세스를 수행하기 위한 상기 인스트럭션을 실행하도록 구성된 적어도 하나의 프로세서;
    를 포함하는 것을 특징으로 하는 장치.
  17. 제 16 항에 있어서,
    상기 프로세서가,
    (III) 상기 기설정된 기준 볼륨의 상기 새로운 데이터를 유니폼 샘플링하여 상기 새로운 데이터가 상기 기설정된 제1 볼륨을 갖도록 하고, 상기 원본 데이터 생성자 네트워크를 복제하여 복제 데이터 생성자 네트워크(Cloned Data Generator Network)를 생성하도록 하며, 상기 복제 데이터 생성자 네트워크로 하여금, 상기 k 차원 랜덤 벡터에 대응되고 상기 원본 데이터 생성자 네트워크를 학습하는데 이용되었던 상기 이전 데이터에 대응되는, 제2 합성 이전 데이터를 출력하는 프로세스를 반복하도록 하여, 상기 제2 합성 이전 데이터가 상기 기설정된 제2 볼륨을 갖도록 하고, 상기 원본 데이터 생성자 네트워크로 하여금, 상기 k 차원 랜덤 벡터에 대응되고 상기 원본 데이터 생성자 네트워크를 학습하는데 이용되었던 상기 이전 데이터에 대응되는, 제3 합성 이전 데이터를 출력하는 프로세스를 반복하도록 하여, 상기 제3 합성 이전 데이터가 상기 기설정된 제1 볼륨과 상기 기설정된 제2 볼륨의 합과 같은 기설정된 제 3 볼륨을 갖도록 하며, 상기 기설정된 제1 볼륨의 상기 새로운 데이터, 상기 기설정된 제2 볼륨의 상기 제2 합성 이전 데이터, 및 상기 기설정된 제3 볼륨의 상기 제3 합성 이전 데이터를 참조하여 제2 현재 학습에 이용할 제2 배치를 생성하는 프로세스; 및 (IV) 판별기(Discriminator)로 하여금 상기 제2 배치를 상기 판별기로 입력하여 상기 제2 배치에 대응되는 스코어 벡터(Score Vector)를 생성하도록 하며, 제2 로스 레이어로 하여금 상기 스코어 벡터와 이에 대응되는 GT를 참조하여 적어도 하나의 제2 로스를 산출하도록 하고, 상기 제2 로스를 백프로파게이션함으로써 상기 판별기 및 상기 원본 데이터 생성자 네트워크의 상기 제2 현재 학습을 수행하는 프로세스;를 더 수행하는 것을 특징으로 하는 장치.
  18. 제 17 항에 있어서,
    상기 프로세서는, 상기 제2 로스를 백프로파게이션함으로써 상기 판별기의 로스 및 상기 복제 데이터 생성자 네트워크의 로스가 각각 수렴할 때까지 상기 (III) 프로세스와 상기 (IV) 프로세스를 반복하는 것을 특징으로 하는 장치.
  19. 제 17 항에 있어서,
    상기 (IV) 프로세스에서,
    상기 프로세서는, 상기 제2 로스를 백프로파게이션함으로써 상기 판별기의 적어도 하나의 가중치 및 상기 복제 데이터 생성자 네트워크의 적어도 하나의 가중치의 경사 상승법(Gradient Ascent)을 수행하는 것을 특징으로 하는 장치.
  20. 제 17 항에 있어서,
    상기 (IV) 프로세스에서,
    상기 프로세서는, 상기 제2 로스를 백프로파게이션함으로써 상기 판별기의 상기 제2 현재 학습을 수행하는 중, 상기 복제 데이터 생성자 네트워크로부터의 상기 제2 합성 이전 데이터를 진짜 데이터(Real Data)로 간주하여 상기 판별기의 상기 제2 현재 학습을 수행하는 것을 특징으로 하는 장치.
  21. 제 17 항에 있어서,
    상기 (IV) 프로세스에서,
    상기 프로세서는, 상기 원본 데이터 생성자 네트워크의 상기 제2 현재 학습을 수행하여, 상기 스코어 벡터 중 상기 제3 합성 이전 데이터에 대응되는 상기 제3 합성 이전 데이터 스코어 벡터가 최대화되도록 하는 것을 특징으로 하는 장치.
  22. 제 17 항에 있어서,
    상기 제2 현재 학습이 최초 학습일 경우,
    상기 (I) 프로세스에서,
    상기 프로세서는, 상기 기설정된 제1 볼륨의 상기 새로운 데이터만 이용해 상기 제1 배치를 생성하며,
    상기 (III) 프로세스에서,
    상기 프로세서는, 상기 원본 데이터 생성자 네트워크로 하여금 상기 k 차원 랜덤 벡터에 대응되는 상기 제3 합성 이전 데이터를 출력하는 프로세스를 반복하도록 하여 상기 제3 합성 이전 데이터가 상기 기설정된 제1 볼륨을 갖도록 하며, 상기 기설정된 제1 볼륨의 상기 새로운 데이터 및 상기 기설정된 제1 볼륨의 상기 제3 합성 이전 데이터를 참조하여 상기 제2 배치를 생성하는 것을 특징으로 하는 장치.
  23. 제 16 항에 있어서,
    상기 프로세서는, 상기 제1 로스를 백프로파게이션함으로써 상기 제1 로스가 수렴할 때까지 상기 (I) 프로세스와 상기 (II) 프로세스를 반복하는 것을 특징으로 하는 장치.
  24. 제 23 항에 있어서,
    상기 (I) 프로세스와 상기 (II) 프로세스를 상기 제1 현재 학습으로 반복하는 경우,
    상기 프로세서는,
    (i) 첫 번째 이터레이션(Iteration)에서, 상기 (I) 프로세스에서 상기 기설정된 기준 볼륨의 상기 새로운 데이터 각각에 대응되는 샘플링 확률(Sampling Probability) 각각을 초기화하고, 초기화된 상기 샘플링 확률을 참조하여 상기 기설정된 기준 볼륨의 상기 새로운 데이터를 상기 유니폼 샘플링하여 상기 기설정된 제1 볼륨의 상기 새로운 데이터를 생성하며, 상기 (II) 프로세스에서 상기 뉴럴 네트워크의 상기 제1 현재 학습이 완료되면, 상기 기설정된 제1 볼륨의 상기 새로운 데이터에 대응되는 상기 제1 로스를 참조하여 상기 기설정된 제1 볼륨의 상기 새로운 데이터 각각에 대응되는 상기 샘플링 확률 각각을 업데이트함으로써 상기 기설정된 기준 볼륨의 상기 새로운 데이터 각각에 대응되는 상기 샘플링 확률 각각을 업데이트하며,
    (ii) 다음 이터레이션에서, 상기 (I) 프로세스에서 상기 기설정된 기준 볼륨의 상기 새로운 데이터 각각에 대응되는 이전 이터레이션에서 업데이트된 상기 샘플링 확률 각각을 참조하여 상기 기설정된 기준 볼륨의 상기 새로운 데이터의 상기 유니폼 샘플링을 통해 상기 기설정된 제1 볼륨의 상기 새로운 데이터를 생성하며, 상기 (II) 프로세스에서 상기 뉴럴 네트워크의 상기 제1 현재 학습이 완료되면, 상기 기설정된 제1 볼륨의 상기 새로운 데이터에 대응되는 상기 제1 로스를 참조하여 상기 기설정된 기준 볼륨의 상기 새로운 데이터 각각에 대응되는 상기 이전 이터레이션에서 업데이트된 상기 샘플링 확률 각각을 업데이트하는 것을 특징으로 하는 장치.
  25. 제 23 항에 있어서,
    상기 (I) 프로세스와 상기 (II) 프로세스를 상기 제1 현재 학습으로 반복하는 경우,
    첫 번째 이터레이션에서, 상기 프로세서는, 상기 (I) 프로세스에서, 상기 부스팅 네트워크를 초기화한 후, 초기화된 상기 부스팅 네트워크로 하여금 상기 k 차원 랜덤 벡터를 상기 k 차원 수정 벡터로 변환하도록 하며,
    다음 이터레이션에서, 상기 프로세서는, 상기 (I) 프로세스에서, 이전 이터레이션에서의 상기 (II) 프로세스에서 상기 제1 현재 학습이 완료된 상기 부스팅 네트워크로 하여금 상기 k 차원 랜덤 벡터를 상기 k 차원 수정 벡터로 변환하도록 하는 것을 특징으로 하는 장치.
  26. 제 16 항에 있어서,
    상기 (II) 프로세스에서,
    상기 프로세서는, 상기 제1 로스를 백프로파게이션하여 상기 뉴럴 네트워크의 로스를 최소화하도록 상기 뉴럴 네트워크의 적어도 하나의 가중치의 경사 하강법(Gradient Descent)을 수행하고, 상기 제1 로스 중 상기 제1 합성 이전 데이터에 대응되는 로스를 최대화하도록 상기 부스팅 네트워크의 적어도 하나의 가중치의 경사 상승법을 수행하는 것을 특징으로 하는 장치.
  27. 제 26 항에 있어서,
    상기 프로세서는, 상기 부스팅 네트워크의 상기 가중치의 상기 경사 상승법을 수행할 경우, 상기 부스팅 네트워크의 상기 가중치를 클리핑 (Clipping)하는 것을 특징으로 하는 장치.
  28. 삭제
  29. 입력 데이터를 분석하는 뉴럴 네트워크(Neural Network)를 테스트하는 테스트 장치에 있어서,
    인스트럭션을 저장하는 적어도 하나의 메모리; 및
    학습 장치가, (1) 학습을 위하여 획득되는 새로운 데이터가 기설정된 기준 볼륨(Preset Base Volume)이 되면, 상기 기설정된 기준 볼륨의 상기 학습용 새로운 데이터를 유니폼 샘플링(Uniform-Sampling)하여 상기 학습용 새로운 데이터가 기설정된 제1 볼륨을 갖도록 하며, 적어도 하나의 학습용 k 차원 랜덤 벡터(k-Dimension Random Vector)를 부스팅 네트워크(Boosting Network)로 입력하여 상기 부스팅 네트워크로 하여금 상기 학습용 k 차원 랜덤 벡터를, 이보다 높은 로스를 갖는 적어도 하나의 학습용 k 차원 수정 벡터(k-Dimension Modified Vector)로 변환하도록 하고, 상기 학습용 k 차원 수정 벡터를, 학습이 완료된 원본 데이터 생성자 네트워크(Original Data Generator Network)로 입력하여 상기 원본 데이터 생성자 네트워크로 하여금, 상기 학습용 k 차원 수정 벡터에 대응되고 상기 원본 데이터 생성자 네트워크를 학습하는데 이용되었던 학습용 이전 데이터(Previous Data)에 대응되는, 학습용 제1 합성 이전 데이터(Synthetic Previous Data)를 출력하는 프로세스를 반복하도록 하여, 상기 학습용 제1 합성 이전 데이터가 기설정된 제2 볼륨을 갖도록 하며, 상기 기설정된 제1 볼륨의 상기 학습용 새로운 데이터 및 상기 기설정된 제2 볼륨의 상기 학습용 제1 합성 이전 데이터를 참조하여 제1 현재 학습(Current-Learning)에 이용되는 학습용 제1 배치(Batch)를 생성하는 프로세스, 및 (2) 상기 뉴럴 네트워크로 하여금 상기 학습용 제1 배치를 상기 뉴럴 네트워크로 입력하여 상기 학습용 제1 배치에 대응되는 학습용 출력 정보(Output Information)를 생성하도록 하며, 제1 로스 레이어(Loss Layer)로 하여금 상기 학습용 출력 정보와 이에 대응되는 GT를 참조하여 적어도 하나의 제1 로스를 산출하도록 하고, 상기 제1 로스를 백프로파게이션함으로써 상기 뉴럴 네트워크와 상기 부스팅 네트워크의 상기 제1 현재 학습을 수행하는 프로세스를 완료한 상태에서, 상기 뉴럴 네트워크로 하여금, 테스트 데이터를 뉴럴 네트워크에 입력하여 획득된 상기 테스트 데이터에 대응하는 테스트용 출력 정보를 출력하도록 하는 프로세스를 수행하기 위한 상기 인스트럭션을 실행하도록 구성된 적어도 하나의 프로세서;
    를 포함하는 것을 특징으로 하는 장치.
  30. 제 29 항에 있어서,
    상기 학습 장치가,
    (3) 상기 기설정된 기준 볼륨의 상기 학습용 새로운 데이터를 유니폼 샘플링하여 상기 학습용 새로운 데이터가 상기 기설정된 제1 볼륨을 갖도록 하고, 상기 원본 데이터 생성자 네트워크를 복제하여 복제 데이터 생성자 네트워크(Cloned Data Generator Network)를 생성하도록 하며, 상기 복제 데이터 생성자 네트워크로 하여금, 상기 학습용 k 차원 랜덤 벡터에 대응되고 상기 원본 데이터 생성자 네트워크를 학습하는데 이용되었던 상기 학습용 이전 데이터에 대응되는, 학습용 제2 합성 이전 데이터를 출력하는 프로세스를 반복하도록 하여, 상기 학습용 제2 합성 이전 데이터가 상기 기설정된 제2 볼륨을 갖도록 하고, 상기 원본 데이터 생성자 네트워크로 하여금, 상기 학습용 k 차원 랜덤 벡터에 대응되고 상기 원본 데이터 생성자 네트워크를 학습하는데 이용되었던 상기 학습용 이전 데이터에 대응되는, 학습용 제3 합성 이전 데이터를 출력하는 프로세스를 반복하도록 하여, 상기 학습용 제3 합성 이전 데이터가 상기 기설정된 제1 볼륨과 상기 기설정된 제2 볼륨의 합과 같은 기설정된 제 3 볼륨을 갖도록 하며, 상기 기설정된 제1 볼륨의 상기 학습용 새로운 데이터, 상기 기설정된 제2 볼륨의 상기 학습용 제2 합성 이전 데이터, 및 상기 기설정된 제3 볼륨의 상기 학습용 제3 합성 이전 데이터를 참조하여 제2 현재 학습에 이용할 학습용 제2 배치를 생성하는 프로세스, 및 (4) 판별기(Discriminator)로 하여금 상기 학습용 제2 배치를 상기 판별기로 입력하여 상기 학습용 제2 배치에 대응되는 학습용 스코어 벡터(Score Vector)를 생성하도록 하며, 제2 로스 레이어로 하여금 상기 학습용 스코어 벡터와 이에 대응되는 GT를 참조하여 적어도 하나의 제2 로스를 산출하도록 하고, 상기 제2 로스를 백프로파게이션함으로써 상기 판별기 및 상기 원본 데이터 생성자 네트워크의 상기 제2 현재 학습을 수행하는 프로세스;를 더 수행하는 것을 특징으로 하는 장치.
KR1020190166183A 2019-01-29 2019-12-12 스마트폰, 드론, 선박 혹은 군사적 목적을 위한, 트레이닝 이미지의 최적화 샘플링에 의해 입력 데이터를 분석하는 뉴럴 네트워크의 온디바이스 연속 학습 방법 및 장치, 그리고, 이를 이용한 테스트 방법 및 장치 KR102349969B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/260,263 2019-01-29
US16/260,263 US10635941B1 (en) 2019-01-29 2019-01-29 Method and device for on-device continual learning of neural network which analyzes input data by optimized sampling of training images, and method and device for testing the neural network for smartphones, drones, vessels, or military purpose

Publications (2)

Publication Number Publication Date
KR20200094076A KR20200094076A (ko) 2020-08-06
KR102349969B1 true KR102349969B1 (ko) 2022-01-12

Family

ID=69177098

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190166183A KR102349969B1 (ko) 2019-01-29 2019-12-12 스마트폰, 드론, 선박 혹은 군사적 목적을 위한, 트레이닝 이미지의 최적화 샘플링에 의해 입력 데이터를 분석하는 뉴럴 네트워크의 온디바이스 연속 학습 방법 및 장치, 그리고, 이를 이용한 테스트 방법 및 장치

Country Status (5)

Country Link
US (1) US10635941B1 (ko)
EP (1) EP3690755A1 (ko)
JP (1) JP6970461B2 (ko)
KR (1) KR102349969B1 (ko)
CN (1) CN111488980B (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112184690B (zh) * 2020-10-12 2021-11-02 推想医疗科技股份有限公司 冠脉血管走向的预测方法、预测模型的训练方法及装置
CN114301637B (zh) * 2021-12-11 2022-09-02 河南大学 一种用于医疗物联网的入侵检测方法和系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6620439B2 (ja) * 2015-07-01 2019-12-18 株式会社リコー 学習方法、プログラム及び学習装置
US11093826B2 (en) * 2016-02-05 2021-08-17 International Business Machines Corporation Efficient determination of optimized learning settings of neural networks
US10909459B2 (en) * 2016-06-09 2021-02-02 Cognizant Technology Solutions U.S. Corporation Content embedding using deep metric learning algorithms
CN106295678B (zh) * 2016-07-27 2020-03-06 北京旷视科技有限公司 神经网络训练与构建方法和装置以及目标检测方法和装置
CA3022125A1 (en) * 2017-10-27 2019-04-27 Royal Bank Of Canada System and method for improved neural network training
CN108805259A (zh) * 2018-05-23 2018-11-13 北京达佳互联信息技术有限公司 神经网络模型训练方法、装置、存储介质及终端设备
CN109063903B (zh) * 2018-07-19 2021-04-09 山东建筑大学 一种基于深度强化学习的建筑能耗预测方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Wu et al., Memory Replay GANs : learning to generate images from new cateogories without forgetting

Also Published As

Publication number Publication date
JP6970461B2 (ja) 2021-11-24
JP2020123337A (ja) 2020-08-13
CN111488980B (zh) 2023-10-03
US10635941B1 (en) 2020-04-28
CN111488980A (zh) 2020-08-04
KR20200094076A (ko) 2020-08-06
EP3690755A1 (en) 2020-08-05

Similar Documents

Publication Publication Date Title
KR102349933B1 (ko) 스마트폰, 드론, 선박 혹은 군사적 목적에 이용하기 위한, 입력 데이터를 분석하는 뉴럴 네트워크를 온디바이스 연속 학습하는 방법 및 장치, 그리고, 이에 의해 학습된 뉴럴 네트워크를 테스트하는 방법 및 장치
KR102362744B1 (ko) 딥 뉴럴 네트워크(deep neural network) 기반의 다중 패치 조합(multiple patch combination)을 이용하여 얼굴을 인식하고, 극도의 상황에서 결함 허용 능력 및 흔들림에 강인한 성질을 향상시키는 방법
KR102309702B1 (ko) 이미지를 인코딩하기 위한 방법 및 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치
CN110633745B (zh) 一种基于人工智能的图像分类训练方法、装置及存储介质
US10872297B2 (en) Learning method and learning device for generating training data from virtual data on virtual world by using generative adversarial network, to thereby reduce annotation cost required in training processes of neural network for autonomous driving, and a testing method and a testing device using the same
US11113574B1 (en) Methods for performing self-supervised learning of deep-learning based detection network by using deep Q-network and devices using the same
KR20220041943A (ko) 연속 학습 서버를 이용하여 클라이언트의 이미지를 분류하는 클래시파이어를 연속 학습하는 방법 및 이를 이용한 연속 학습 서버
KR102349969B1 (ko) 스마트폰, 드론, 선박 혹은 군사적 목적을 위한, 트레이닝 이미지의 최적화 샘플링에 의해 입력 데이터를 분석하는 뉴럴 네트워크의 온디바이스 연속 학습 방법 및 장치, 그리고, 이를 이용한 테스트 방법 및 장치
KR102313604B1 (ko) 멀티 피딩을 적용한 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치
EP3910563A1 (en) Method for performing on-device learning of machine learning network on autonomous vehicle by using multi-stage learning with adaptive hyper-parameter sets and device using the same
CN111476082B (zh) 在线批次归一化、在线学习及持续学习的方法和装置
KR20200092847A (ko) 핵심 성능 지수를 만족시킬 수 있는 하드웨어 최적화가 이루어지도록, cnn에서 복수의 블록 내의 입력 이미지로부터 특징을 추출하는 학습 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치
EP3690718A1 (en) Learning method and learning device for allowing cnn having trained in virtual world to be used in real world by runtime input transformation using photo style transformation, and testing method and testing device using the same
KR20200092848A (ko) 객체의 스케일에 따라 모드 전환이 가능한 cnn 기반의 감시용 객체 검출기의 학습 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치
CN111476362A (zh) 确定fl值的方法及装置
Quan et al. Scene classification of optical remote sensing images based on CNN automatic transfer
EP4352704A1 (en) Personalized text-to-image diffusion model

Legal Events

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