KR20200093427A - 스마트폰, 드론, 선박 혹은 군사적 목적에 이용하기 위한, 입력 데이터를 분석하는 뉴럴 네트워크를 온디바이스 연속 학습하는 방법 및 장치, 그리고, 이에 의해 학습된 뉴럴 네트워크를 테스트하는 방법 및 장치 - Google Patents

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

Info

Publication number
KR20200093427A
KR20200093427A KR1020190166181A KR20190166181A KR20200093427A KR 20200093427 A KR20200093427 A KR 20200093427A KR 1020190166181 A KR1020190166181 A KR 1020190166181A KR 20190166181 A KR20190166181 A KR 20190166181A KR 20200093427 A KR20200093427 A KR 20200093427A
Authority
KR
South Korea
Prior art keywords
data
volume
learning
synthesis
preset
Prior art date
Application number
KR1020190166181A
Other languages
English (en)
Other versions
KR102349933B1 (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 KR20200093427A publication Critical patent/KR20200093427A/ko
Application granted granted Critical
Publication of KR102349933B1 publication Critical patent/KR102349933B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • G06K9/20
    • 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/0464Convolutional networks [CNN, ConvNet]
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/094Adversarial learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)
  • Multimedia (AREA)

Abstract

스마트폰, 드론, 선박 혹은 군사적 목적에 이용하기 위한, 입력 데이터를 분석하는 뉴럴 네트워크를 온디바이스 연속 학습(continual learning)하는 방법에 있어서, 학습 장치가 (a) 새로운 데이터를 샘플링하여 기설정된 제1 볼륨이 되도록 하며, 이전 학습된 원본 데이터 생성자 네트워크로 하여금, k 차원 랜덤 벡터에 대응되는 합성 이전 데이터 - 상기 제1 합성 이전 데이터는 상기 원본 데이터 생성자 네트워크를 이전 학습하는데 사용되었던 이전 데이터에 대응됨 - 를 출력하는 프로세스를 반복하도록 하여, 상기 합성 이전 데이터가 제2 볼륨이 되도록 하고, 현재 학습에 이용될 배치(batch)를 생성하는 단계; 및 (b) 상기 뉴럴 네트워크로 하여금 상기 배치에 대응하는 출력 정보를 생성하도록 하는 단계;를 포함한다. 상기 방법은, GAN(generative adversarial network), 온라인 학습 등에 의해 수행될 수 있으며, 스토리지와 같은 자원을 절약하고, 파괴적 망각(catastrophic forgetting) 현상을 방지하며, 개인정보를 보호할 수 있는 효과가 있다.

Description

스마트폰, 드론, 선박 혹은 군사적 목적에 이용하기 위한, 입력 데이터를 분석하는 뉴럴 네트워크를 온디바이스 연속 학습하는 방법 및 장치, 그리고, 이에 의해 학습된 뉴럴 네트워크를 테스트하는 방법 및 장치{METHOD AND DEVICE FOR ON-DEVICE CONTINUAL LEARNING OF A NEURAL NETWORK WHICH ANALYZES INPUT DATA, AND METHOD AND DEVICE FOR TESTING THE NEURAL NETWORK TO BE USED FOR SMARTPHONES, DRONES, VESSELS, OR MILITARY PURPOSE}
본 발명은 자율 주행 차량, 가상 운전 등에 사용하기 위한 학습 방법 및 학습 장치, 그리고 테스팅 방법 및 테스팅 장치에 관한 것으로; 보다 상세하게는, 입력 데이터를 분석하는 뉴럴 네트워크를 온디바이스(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) 문제가 발생하게 된다.
본 발명은 상술한 문제점을 모두 해결하는 것을 그 목적으로 한다.
본 발명은 온디바이스(on-device) 학습을 수행하는 로컬 장치에서 트레이닝 데이터를 저장하지 않고도 계속하여 이용할 수 있도록 하는 것을 다른 목적으로 한다.
본 발명은 과거의 트레이닝 데이터를 저장하지 않고도 새로운 트레이닝 데이터를 이용한 학습에서 과거의 트레이닝 데이터를 이용할 수 있도록 하는 것을 또 다른 목적으로 한다.
본 발명은 온디바이스 학습을 수행하는 로컬 장치에서 파괴적 망각(catastrophic forgetting) 현상 없이 뉴럴 네트워크의 온디바이스 학습을 수행할 수 있도록 하는 것을 또 다른 목적으로 한다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한, 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 태양에 따르면, 입력 데이터를 분석하는 뉴럴 네트워크(neural network)를 온디바이스(on-device) 연속 학습(continual learning)하는 방법에 있어서, (a) 학습을 위하여 획득되는 새로운 데이터가 기설정된 기준 볼륨이 되면, 학습 장치가, 상기 새로운 데이터를 샘플링하여 기설정된 제1 볼륨이 되도록 하며, 적어도 하나의 k 차원 랜덤 벡터(k-dimensional random vector)를 이전 학습된 원본 데이터 생성자 네트워크로 입력함으로써, 상기 원본 데이터 생성자 네트워크로 하여금, 상기 k 차원 랜덤 벡터에 대응되는 제1 합성 이전 데이터 - 상기 제1 합성 이전 데이터는 상기 원본 데이터 생성자 네트워크를 이전 학습하는데 사용되었던 이전 데이터에 대응됨 - 를 출력하는 프로세스를 반복하도록 하여, 상기 제1 합성 이전 데이터가 기설정된 제2 볼륨이 되도록 하고, 상기 기설정된 제1 볼륨의 상기 새로운 데이터 및 상기 기설정된 제2 볼륨의 상기 제1 합성 이전 데이터를 참조하여, 제1 현재 학습에 이용될 제1 배치(batch)를 생성하는 단계; 및 (b) 상기 학습 장치가, 상기 제1 배치를 상기 뉴럴 네트워크로 입력하여 상기 뉴럴 네트워크로 하여금 상기 제1 배치에 대응하는 출력 정보를 생성하도록 하며, 제1 로스 레이어로 하여금 상기 출력 정보와 이에 대응되는 GT(Ground Truth)를 참조하여 하나 이상의 제1 로스를 산출하도록 함으로써, 이를 이용한 백프로퍼게이션(backpropagation)을 통해 상기 뉴럴 네트워크의 상기 제1 현재 학습을 수행하는 단계;를 포함하는 것을 특징으로 하는 방법이 제공된다.
일 실시예에서, (c) 상기 학습 장치가, 상기 새로운 데이터를 샘플링하여 상기 기설정된 제1 볼륨이 되도록 하고, 상기 원본 데이터 생성자 네트워크를 복제함으로써 복제 데이터 생성자 네트워크를 생성하며, 상기 복제 데이터 생성자 네트워크로 하여금 상기 k 차원 랜덤 벡터에 대응되는 제2 합성 이전 데이터 - 상기 제2 합성 이전 데이터는 상기 원본 데이터 생성자 네트워크를 이전 학습하는데 사용되었던 상기 이전 데이터에 대응됨 - 를 출력하는 프로세스를 반복하도록 하여, 상기 제2 합성 이전 데이터가 상기 기설정된 제2 볼륨이 되도록 하고, 상기 원본 데이터 생성자 네트워크로 하여금 상기 k 차원 랜덤 벡터에 대응되는 제3 합성 이전 데이터 - 상기 제3 합성 이전 데이터는 상기 원본 데이터 생성자 네트워크를 이전 학습하는데 사용되었던 상기 이전 데이터에 대응됨 - 를 출력하는 프로세스를 반복하도록 하여, 상기 제3 합성 이전 데이터가 기설정된 제3 볼륨 - 상기 기설정된 제3 볼륨은 상기 기설정된 제1 볼륨과 상기 기설정된 제2 볼륨의 합한 볼륨임 - 이 되도록 하며, 상기 기설정된 제1 볼륨의 상기 새로운 데이터, 상기 기설정된 제2 볼륨의 상기 제2 합성 이전 데이터, 및 상기 기설정된 제3 볼륨의 상기 제3 합성 이전 데이터를 참조하여, 제2 현재 학습에 이용될 제2 배치를 생성하는 단계; 및 (d) 상기 학습 장치가, 상기 제2 배치를 판별자로 입력하여 상기 판별자로 하여금 상기 제2 배치에 대응되는 스코어 벡터를 출력하도록 하며, 제2 로스 레이어로 하여금 상기 스코어 벡터와 이에 대응되는 GT를 참조하여 하나 이상의 제2 로스를 산출하도록 하고, 상기 제2 로스를 이용한 백프로퍼게이션을 통해 상기 판별자 및 상기 원본 데이터 생성자 네트워크의 상기 제2 현재 학습을 수행하는 단계;를 더 포함한다.
일 실시예에서, 상기 학습 장치는, 상기 제2 로스를 이용한 백프로퍼게이션에 의해 상기 판별자의 로스 및 상기 제2 데이터 생성자 네트워크의 로스가 각각 수렴할 때까지 상기 (c) 단계와 상기 (d) 단계를 반복한다.
일 실시예에서, 상기 (d) 단계에서, 상기 학습 장치는, 상기 제2 로스를 이용한 백프로퍼게이션에 의해 상기 판별자 및 상기 제2 데이터 생성자 네트워크의 경사 상승법(gradient ascent)을 수행한다.
일 실시예에서, 상기 (d) 단계에서, 상기 학습 장치는, 상기 제2 로스를 이용한 백프로퍼게이션을 통해 상기 판별자의 상기 제2 현재 학습을 수행할 경우, 상기 복제 데이터 생성자 네트워크로부터의 상기 제2 합성 이전 데이터를 실제 데이터로 간주하여 상기 판별자의 상기 제2 현재 학습을 수행한다.
일 실시예에서, 상기 (d) 단계에서, 상기 학습 장치는, 상기 스코어 벡터 중, 상기 제3 합성 이전 데이터에 대응되는 제3 합성 이전 데이터 스코어 벡터가 최대화되도록, 상기 원본 데이터 생성자 네트워크의 상기 제2 현재 학습을 수행한다.
일 실시예에서, 상기 (d) 단계에서, 상기 학습 장치는, 상기 제2 현재 학습이 완료되면, 상기 새로운 데이터를 삭제하며, 상기 새로운 데이터 및 상기 제2 합성 이전 데이터가, 다음 학습에 이용되기 위한 상기 이전 데이터로 출력될 수 있도록 상기 원본 데이터 생성자 네트워크를 업데이트한다.
일 실시예에서, 상기 제2 현재 학습이 최초 학습일 경우, 상기 (a) 단계에서, 상기 학습 장치는, 상기 기설정된 제1 볼륨의 상기 새로운 데이터 만을 이용하여 상기 제1 배치를 생성하며, 상기 (c) 단계에서, 상기 학습 장치는, 상기 원본 데이터 생성자 네트워크로 하여금 상기 k 차원 랜덤 벡터에 대응되는 제3 합성 이전 데이터를 출력하는 프로세스를 반복하도록 하여, 상기 제3 합성 이전 데이터가 상기 기설정된 제1 볼륨이 되도록 하며, 상기 기설정된 제1 볼륨의 상기 새로운 데이터 및 상기 기설정된 제1 볼륨의 상기 제3 합성 이전 데이터를 참조하여 상기 제2 배치를 생성한다.
일 실시예에서, 상기 학습 장치는, 상기 제1 로스를 이용한 백프로퍼게이션에 의해 상기 제1 로스가 수렴할 때까지 상기 (a) 단계와 상기 (b) 단계를 반복한다.
일 실시예에서, 상기 (b) 단계에서, 상기 학습 장치는, 상기 제1 로스를 이용한 백프로퍼게이션에 의해 상기 뉴럴 네트워크의 경사 하강법(gradient descent)을 수행한다.
일 실시예에서, 상기 뉴럴 네트워크가 적어도 하나의 벡터를 입력으로서 획득하는 분류기일 경우, 상기 원본 데이터 생성자 네트워크는, 상기 k 차원 랜덤 벡터에 대응되는 k 차원 정보에 적어도 하나의 FC(fully connected) 연산을 적용하여 적어도 하나의 D 차원 벡터와 적어도 하나의 C 차원 원 핫(one-hot) 벡터를 출력하는 하나 이상의 FC 레이어를 포함한다.
일 실시예에서, 상기 뉴럴 네트워크가 적어도 하나의 RGB 이미지를 입력으로서 획득하는 객체 검출기일 경우, 상기 원본 데이터 생성자 네트워크는, 상기 k 차원 랜덤 벡터에 대응되는 1 x 1 x K 정보를 적어도 하나의 H x W x 3 텐서로 변형시키는 하나 이상의 전치(transposed) 컨벌루션 레이어와, 상기 H x W x 3 텐서를 분석하여 적어도 하나의 R x (4 + C) 벡터 - 상기 R은 적어도 하나의 R 차원 벡터를 포함하며, (4 + C)는
Figure pat00001
및 적어도 하나의 C 차원 원 핫 벡터를 포함함 - 를 출력하는 패스터 R-CNN(faster Region-based Convolutional Network)을 포함한다.
본 발명의 다른 태양에 따르면, 온디바이스(on-device) 연속 학습을 완료한 뉴럴 네트워크를 테스트하는 테스팅 방법에 있어서, (a) 학습 장치가, (1) 기설정된 기준 볼륨이 된 새로운 데이터를 샘플링하여 기설정된 제1 볼륨이 되도록 하며, 적어도 하나의 k 차원 랜덤 벡터(k-dimensional random vector)를 이전 학습된 원본 데이터 생성자 네트워크로 입력함으로써, 상기 원본 데이터 생성자 네트워크로 하여금, 상기 k 차원 랜덤 벡터에 대응되는 제1 합성 이전 데이터 - 상기 제1 합성 이전 데이터는 상기 원본 데이터 생성자 네트워크를 이전 학습하는데 사용되었던 이전 데이터에 대응됨 - 를 출력하는 프로세스를 반복하도록 하여, 상기 제1 합성 이전 데이터가 기설정된 제2 볼륨이 되도록 하고, 상기 기설정된 제1 볼륨의 상기 새로운 데이터 및 상기 기설정된 제2 볼륨의 상기 제1 합성 이전 데이터를 참조하여, 제1 현재 학습에 이용될 제1 배치(batch)를 생성하는 프로세스, 및 (2) 상기 제1 배치를 상기 뉴럴 네트워크로 입력하여 상기 뉴럴 네트워크로 하여금 상기 제1 배치에 대응하는 학습용 출력 정보를 생성하도록 하며, 제1 로스 레이어로 하여금 상기 학습용 출력 정보와 이에 대응되는 GT(Ground Truth)를 참조하여 하나 이상의 제1 로스를 산출하도록 함으로써, 이를 이용한 백프로퍼게이션(backpropagation)을 통해 상기 뉴럴 네트워크의 상기 제1 현재 학습을 수행하는 프로세스를 수행한 상태에서, 테스팅 장치가 테스트 데이터를 획득하는 단계; 및 (b) 상기 테스팅 장치가, 상기 테스트 데이터를 상기 뉴럴 네트워크로 입력하여, 상기 뉴럴 네트워크로 하여금 상기 테스트 데이터에 대응되는 테스트용 출력 정보를 생성하도록 하는 단계;를 포함하는 것을 특징으로 하는 테스팅 방법이 제공된다.
일 실시예에서, 상기 학습 장치가, (3) 상기 새로운 데이터를 샘플링하여 상기 기설정된 제1 볼륨이 되도록 하고, 상기 원본 데이터 생성자 네트워크를 복제함으로써 복제 데이터 생성자 네트워크를 생성하며, 상기 복제 데이터 생성자 네트워크로 하여금 상기 k 차원 랜덤 벡터에 대응되는 제2 합성 이전 데이터 - 상기 제2 합성 이전 데이터는 상기 원본 데이터 생성자 네트워크를 이전 학습하는데 사용되었던 상기 이전 데이터에 대응됨 - 를 출력하는 프로세스를 반복하도록 하여, 상기 제2 합성 이전 데이터가 상기 기설정된 제2 볼륨이 되도록 하고, 상기 원본 데이터 생성자 네트워크로 하여금 상기 k 차원 랜덤 벡터에 대응되는 제3 합성 이전 데이터 - 상기 제3 합성 이전 데이터는 상기 원본 데이터 생성자 네트워크를 이전 학습하는데 사용되었던 상기 이전 데이터에 대응됨 - 를 출력하는 프로세스를 반복하도록 하여, 상기 제3 합성 이전 데이터가 기설정된 제3 볼륨 - 상기 기설정된 제3 볼륨은 상기 기설정된 제1 볼륨과 상기 기설정된 제2 볼륨의 합한 볼륨임 - 이 되도록 하며, 상기 기설정된 제1 볼륨의 상기 새로운 데이터, 상기 기설정된 제2 볼륨의 상기 제2 합성 이전 데이터, 및 상기 기설정된 제3 볼륨의 상기 제3 합성 이전 데이터를 참조하여, 제2 현재 학습에 이용될 제2 배치를 생성하는 프로세스, 및 (4) 상기 제2 배치를 판별자로 입력하여 상기 판별자로 하여금 상기 제2 배치에 대응되는 스코어 벡터를 출력하도록 하며, 제2 로스 레이어로 하여금 상기 스코어 벡터와 이에 대응되는 GT를 참조하여 하나 이상의 제2 로스를 산출하도록 하고, 상기 제2 로스를 이용한 백프로퍼게이션을 통해 상기 판별자 및 상기 원본 데이터 생성자 네트워크의 상기 제2 현재 학습을 수행하는 프로세스를 더 수행한다.
본 발명의 또 다른 태양에 따르면, 입력 데이터를 분석하는 뉴럴 네트워크(neural network)를 온디바이스(on-device) 연속 학습하는 학습 장치에 있어서, 인스트럭션을 저장하는 적어도 하나의 메모리; 및 (I) 학습을 위하여 획득되는 새로운 데이터가 기설정된 기준 볼륨이 되면, 상기 새로운 데이터를 샘플링하여 기설정된 제1 볼륨이 되도록 하며, 적어도 하나의 k 차원 랜덤 벡터(k-dimensional random vector)를 이전 학습된 원본 데이터 생성자 네트워크로 입력함으로써, 상기 원본 데이터 생성자 네트워크로 하여금, 상기 k 차원 랜덤 벡터에 대응되는 제1 합성 이전 데이터 - 상기 제1 합성 이전 데이터는 상기 원본 데이터 생성자 네트워크를 이전 학습하는데 사용되었던 이전 데이터에 대응됨 - 를 출력하는 프로세스를 반복하도록 하여, 상기 제1 합성 이전 데이터가 기설정된 제2 볼륨이 되도록 하고, 상기 기설정된 제1 볼륨의 상기 새로운 데이터 및 상기 기설정된 제2 볼륨의 상기 제1 합성 이전 데이터를 참조하여, 제1 현재 학습에 이용될 제1 배치(batch)를 생성하는 프로세스, 및 (II) 상기 제1 배치를 상기 뉴럴 네트워크로 입력하여 상기 뉴럴 네트워크로 하여금 상기 제1 배치에 대응하는 출력 정보를 생성하도록 하며, 제1 로스 레이어로 하여금 상기 출력 정보와 이에 대응되는 GT(Ground Truth)를 참조하여 하나 이상의 제1 로스를 산출하도록 함으로써, 이를 이용한 백프로퍼게이션(backpropagation)을 통해 상기 뉴럴 네트워크의 상기 제1 현재 학습을 수행하는 프로세스를 수행하기 위한 상기 인스트럭션을 실행하도록 구성된 적어도 하나의 프로세서;를 포함하는 것을 특징으로 하는 학습 장치가 제공된다.
일 실시예에서, 상기 프로세서가, (III) 상기 새로운 데이터를 샘플링하여 상기 기설정된 제1 볼륨이 되도록 하고, 상기 원본 데이터 생성자 네트워크를 복제함으로써 복제 데이터 생성자 네트워크를 생성하며, 상기 복제 데이터 생성자 네트워크로 하여금 상기 k 차원 랜덤 벡터에 대응되는 제2 합성 이전 데이터 - 상기 제2 합성 이전 데이터는 상기 원본 데이터 생성자 네트워크를 이전 학습하는데 사용되었던 상기 이전 데이터에 대응됨 - 를 출력하는 프로세스를 반복하도록 하여, 상기 제2 합성 이전 데이터가 상기 기설정된 제2 볼륨이 되도록 하고, 상기 원본 데이터 생성자 네트워크로 하여금 상기 k 차원 랜덤 벡터에 대응되는 제3 합성 이전 데이터 - 상기 제3 합성 이전 데이터는 상기 원본 데이터 생성자 네트워크를 이전 학습하는데 사용되었던 상기 이전 데이터에 대응됨 - 를 출력하는 프로세스를 반복하도록 하여, 상기 제3 합성 이전 데이터가 기설정된 제3 볼륨 - 상기 기설정된 제3 볼륨은 상기 기설정된 제1 볼륨과 상기 기설정된 제2 볼륨의 합한 볼륨임 - 이 되도록 하며, 상기 기설정된 제1 볼륨의 상기 새로운 데이터, 상기 기설정된 제2 볼륨의 상기 제2 합성 이전 데이터, 및 상기 기설정된 제3 볼륨의 상기 제3 합성 이전 데이터를 참조하여, 제2 현재 학습에 이용될 제2 배치를 생성하는 프로세스, 및 (IV) 상기 제2 배치를 판별자로 입력하여 상기 판별자로 하여금 상기 제2 배치에 대응되는 스코어 벡터를 출력하도록 하며, 제2 로스 레이어로 하여금 상기 스코어 벡터와 이에 대응되는 GT를 참조하여 하나 이상의 제2 로스를 산출하도록 하고, 상기 제2 로스를 이용한 백프로퍼게이션을 통해 상기 판별자 및 상기 원본 데이터 생성자 네트워크의 상기 제2 현재 학습을 수행하는 프로세스를 더 수행한다.
일 실시예에서, 상기 프로세서는, 상기 제2 로스를 이용한 백프로퍼게이션에 의해 상기 판별자의 로스 및 상기 제2 데이터 생성자 네트워크의 로스가 각각 수렴할 때까지 상기 (III) 프로세스와 상기 (IV) 프로세스를 반복한다.
일 실시예에서, 상기 (IV) 프로세스에서, 상기 프로세서는, 상기 제2 로스를 이용한 백프로퍼게이션에 의해 상기 판별자 및 상기 제2 데이터 생성자 네트워크의 경사 상승법(gradient ascent)을 수행한다.
일 실시예에서, 상기 (IV) 프로세스에서, 상기 프로세서는, 상기 제2 로스를 이용한 백프로퍼게이션을 통해 상기 판별자의 상기 제2 현재 학습을 수행할 경우, 상기 복제 데이터 생성자 네트워크로부터의 상기 제2 합성 이전 데이터를 실제 데이터로 간주하여 상기 판별자의 상기 제2 현재 학습을 수행한다.
일 실시예에서, 상기 (IV) 프로세스에서, 상기 프로세서는, 상기 스코어 벡터 중, 상기 제3 합성 이전 데이터에 대응되는 제3 합성 이전 데이터 스코어 벡터가 최대화되도록, 상기 원본 데이터 생성자 네트워크의 상기 제2 현재 학습을 수행한다.
일 실시예에서, 상기 (IV) 프로세스에서, 상기 프로세서는, 상기 제2 현재 학습이 완료되면, 상기 새로운 데이터를 삭제하며, 상기 새로운 데이터 및 상기 제2 합성 이전 데이터가, 다음 학습에 이용되기 위한 상기 이전 데이터로 출력될 수 있도록 상기 원본 데이터 생성자 네트워크를 업데이트한다.
일 실시예에서, 상기 제2 현재 학습이 최초 학습일 경우, 상기 (I) 프로세스에서, 상기 프로세서는, 상기 기설정된 제1 볼륨의 상기 새로운 데이터 만을 이용하여 상기 제1 배치를 생성하며, 상기 (III) 프로세스에서, 상기 프로세서는, 상기 원본 데이터 생성자 네트워크로 하여금 상기 k 차원 랜덤 벡터에 대응되는 제3 합성 이전 데이터를 출력하는 프로세스를 반복하도록 하여, 상기 제3 합성 이전 데이터가 상기 기설정된 제1 볼륨이 되도록 하며, 상기 기설정된 제1 볼륨의 상기 새로운 데이터 및 상기 기설정된 제1 볼륨의 상기 제3 합성 이전 데이터를 참조하여 상기 제2 배치를 생성한다.
일 실시예에서, 상기 프로세서는, 상기 제1 로스를 이용한 백프로퍼게이션에 의해 상기 제1 로스가 수렴할 때까지 상기 (I) 프로세스와 상기 (II) 프로세스를 반복한다.
일 실시예에서, 상기 (II) 프로세스에서, 상기 프로세서는, 상기 제1 로스를 이용한 백프로퍼게이션에 의해 상기 뉴럴 네트워크의 경사 하강법(gradient descent)을 수행한다.
일 실시예에서, 상기 뉴럴 네트워크가 적어도 하나의 벡터를 입력으로서 획득하는 분류기일 경우, 상기 원본 데이터 생성자 네트워크는, 상기 k 차원 랜덤 벡터에 대응되는 k 차원 정보에 적어도 하나의 FC(fully connected) 연산을 적용하여 적어도 하나의 D 차원 벡터와 적어도 하나의 C 차원 원 핫(one-hot) 벡터를 출력하는 하나 이상의 FC 레이어를 포함한다.
일 실시예에서, 상기 뉴럴 네트워크가 적어도 하나의 RGB 이미지를 입력으로서 획득하는 객체 검출기일 경우, 상기 원본 데이터 생성자 네트워크는, 상기 k 차원 랜덤 벡터에 대응되는 1 x 1 x K 정보를 적어도 하나의 H x W x 3 텐서로 변형시키는 하나 이상의 전치 컨벌루션 레이어와, 상기 H x W x 3 텐서를 분석하여 적어도 하나의 R x (4 + C) 벡터 - 상기 R은 적어도 하나의 R 차원 벡터를 포함하며, (4 + C)는
Figure pat00002
및 적어도 하나의 C 차원 원 핫 벡터를 포함함 - 를 출력하는 패스터 R-CNN을 포함한다.
본 발명의 또 다른 태양에 따르면, 온디바이스(on-device) 연속 학습을 완료한 뉴럴 네트워크를 테스트하는 테스팅 장치에 있어서, 인스트럭션을 저장하는 적어도 하나의 메모리; 및 학습 장치가, (1) 새로운 데이터가 기설정된 기준 볼륨이 되면, 상기 새로운 데이터를 샘플링하여 기설정된 제1 볼륨이 되도록 하며, 적어도 하나의 k 차원 랜덤 벡터(k-dimensional random vector)를 이전 학습된 원본 데이터 생성자 네트워크로 입력함으로써, 상기 원본 데이터 생성자 네트워크로 하여금, 상기 k 차원 랜덤 벡터에 대응되는 제1 합성 이전 데이터 - 상기 제1 합성 이전 데이터는 상기 원본 데이터 생성자 네트워크를 이전 학습하는데 사용되었던 이전 데이터에 대응됨 - 를 출력하는 프로세스를 반복하도록 하여, 상기 제1 합성 이전 데이터가 기설정된 제2 볼륨이 되도록 하고, 상기 기설정된 제1 볼륨의 상기 새로운 데이터 및 상기 기설정된 제2 볼륨의 상기 제1 합성 이전 데이터를 참조하여, 제1 현재 학습에 이용될 제1 배치(batch)를 생성하는 프로세스 및 (2) 상기 제1 배치를 상기 뉴럴 네트워크로 입력하여 상기 뉴럴 네트워크로 하여금 상기 제1 배치에 대응하는 학습용 출력 정보를 생성하도록 하며, 제1 로스 레이어로 하여금 상기 학습용 출력 정보와 이에 대응되는 GT(Ground Truth)를 참조하여 하나 이상의 제1 로스를 산출하도록 함으로써, 이를 이용한 백프로퍼게이션(backpropagation)을 통해 상기 뉴럴 네트워크의 상기 제1 현재 학습을 수행하는 프로세스를 수행한 상태에서, 테스트 데이터를 상기 뉴럴 네트워크로 입력하여, 상기 뉴럴 네트워크로 하여금 상기 테스트 데이터에 대응되는 테스트용 출력 정보를 생성하도록 하는 프로세스를 수행하기 위한 상기 인스트럭션을 실행하도록 구성된 적어도 하나의 프로세서;를 포함하는 것을 특징으로 하는 테스팅 장치가 제공된다.
일 실시예에서, 상기 학습 장치가, (3) 상기 새로운 데이터를 샘플링하여 상기 기설정된 제1 볼륨이 되도록 하고, 상기 원본 데이터 생성자 네트워크를 복제함으로써 복제 데이터 생성자 네트워크를 생성하며, 상기 복제 데이터 생성자 네트워크로 하여금 상기 k 차원 랜덤 벡터에 대응되는 제2 합성 이전 데이터 - 상기 제2 합성 이전 데이터는 상기 원본 데이터 생성자 네트워크를 이전 학습하는데 사용되었던 상기 이전 데이터에 대응됨 - 를 출력하는 프로세스를 반복하도록 하여, 상기 제2 합성 이전 데이터가 상기 기설정된 제2 볼륨이 되도록 하고, 상기 원본 데이터 생성자 네트워크로 하여금 상기 k 차원 랜덤 벡터에 대응되는 제3 합성 이전 데이터 - 상기 제3 합성 이전 데이터는 상기 원본 데이터 생성자 네트워크를 이전 학습하는데 사용되었던 상기 이전 데이터에 대응됨 - 를 출력하는 프로세스를 반복하도록 하여, 상기 제3 합성 이전 데이터가 기설정된 제3 볼륨 - 상기 기설정된 제3 볼륨은 상기 기설정된 제1 볼륨과 상기 기설정된 제2 볼륨의 합한 볼륨임 - 이 되도록 하며, 상기 기설정된 제1 볼륨의 상기 새로운 데이터, 상기 기설정된 제2 볼륨의 상기 제2 합성 이전 데이터, 및 상기 기설정된 제3 볼륨의 상기 제3 합성 이전 데이터를 참조하여, 제2 현재 학습에 이용될 제2 배치를 생성하는 프로세스, 및 (4) 상기 제2 배치를 판별자로 입력하여 상기 판별자로 하여금 상기 제2 배치에 대응되는 스코어 벡터를 출력하도록 하며, 제2 로스 레이어로 하여금 상기 스코어 벡터와 이에 대응되는 GT를 참조하여 하나 이상의 제2 로스를 산출하도록 하고, 상기 제2 로스를 이용한 백프로퍼게이션을 통해 상기 판별자 및 상기 원본 데이터 생성자 네트워크의 상기 제2 현재 학습을 수행하는 프로세스를 더 수행한다.
이 외에도, 본 발명의 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
본 발명은 이전 학습에 이용된 과거의 트레이닝 데이터를 효율적으로 생성함으로써 과거의 트레이닝 데이터를 저장하지 않고도 로컬 장치에서 온디바이스 학습을 할 수 있는 효과가 있다.
또한, 본 발명은 데이터 생성자 네트워크에 의해 생성된, 과거의 트레이닝 데이터와 새로운 트레이닝 데이터를 이용하는 뉴럴 네트워크의 온디바이스 학습에 의해, 학습 시 뉴럴 네트워크의 파괴적 망각(catastrophic forgetting) 현상을 방지할 수 있는 효과가 있다.
또한, 본 발명은 GAN(generative adversarial network), 온라인 학습 등을 이용하여, 개인정보를 보호할 수 있고 스토리지와 같은 자원을 절약할 수 있는 효과가 있다.
본 발명의 실시예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시예들 중 단지 일부일 뿐이며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자(이하 "통상의 기술자")에게 있어서는 발명적 작업이 이루어짐 없이 이 도면들에 기초하여 다른 도면들이 얻어질 수 있다.
도 1은 본 발명의 일 실시예에 따른 딥러닝을 이용하여 입력 데이터를 분석하는 뉴럴 네트워크를 온디바이스 연속 학습(continual learning)하는 학습 장치를 도시한 것이다.
도 2는 본 발명의 일 실시예에 따른 딥러닝을 이용하여 입력 데이터를 분석하는 뉴럴 네트워크를 온디바이스 연속 학습하는 방법을 도시한 것이다.
도 3은 본 발명의 일 실시예에 따른 딥러닝을 이용하여 입력 데이터를 분석하는 뉴럴 네트워크를 온디바이스 연속 학습하는 방법에서, 과거의 트레이닝 데이터를 생성하는 데이터 생성자 네트워크의 일 예를 도시한 것이다.
도 4는 본 발명의 일실시예에 따른 딥러닝을 이용하여 입력 데이터를 분석하는 뉴럴 네트워크를 온디바이스 연속 학습하는 방법에서, 과거의 트레이닝 데이터를 생성하는 데이터 생성자 네트워크의 다른 예를 도시한 것이다.
도 5는 본 발명의 일실시예에 따른 딥러닝을 이용하여 입력 데이터를 분석하는 뉴럴 네트워크를 온디바이스 연속 학습하는 방법에서, 데이터 생성자 네트워크를 학습하는 프로세스를 도시한 것이다.
도 6은 본 발명의 일 실시예에 따른 온디바이스 연속 학습을 완료한 뉴럴 네트워크를 테스트하는 테스팅 장치를 도시한 것이다.
도 7은 본 발명의 일 실시예에 따른 온디바이스 연속 학습을 완료한 뉴럴 네트워크를 테스트하는 테스팅 방법을 도시한 것이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명의 목적들, 기술적 해법들 및 장점들을 분명하게 하기 위하여 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 통상의 기술자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다.
또한, 본 발명의 상세한 설명 및 청구항들에 걸쳐, "포함하다"라는 단어 및 그것의 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다.
더욱이 본 발명은 본 명세서에 표시된 실시예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
본 발명에서 언급하는 각종 이미지는 포장 또는 비포장 도로 관련 이미지를 포함할 수 있으며, 이 경우 도로 환경에서 등장할 수 있는 물체(가령, 자동차, 사람, 동물, 식물, 물건, 건물, 비행기나 드론과 같은 비행체, 기타 장애물)를 상정할 수 있을 것이나, 반드시 이에 한정되는 것은 아니며, 본 발명에서 언급하는 각종 이미지는 도로와 상관 없는 이미지(가령, 비포장도로, 골목길, 공터, 바다, 호수, 강, 산, 숲, 사막, 하늘, 실내와 관련된 이미지)일 수도 있으며, 이 경우, 비포장도로, 골목길, 공터, 바다, 호수, 강, 산, 숲, 사막, 하늘, 실내 환경에서 등장할 수 있는 물체(가령, 자동차, 사람, 동물, 식물, 물건, 건물, 비행기나 드론과 같은 비행체, 기타 장애물)를 상정할 수 있을 것이나, 반드시 이에 한정되는 것은 아니다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 딥러닝을 이용하여 입력 데이터를 분석하는 뉴럴 네트워크를 온디바이스(on-device) 연속 학습(continual learning)하는 학습 장치를 도시한 것이다. 도 1을 참조하면, 학습 장치(100)는 상기 뉴럴 네트워크의 온디바이스 연속 학습을 수행하기 위한 인스트럭션을 저장하는 메모리(110)와 상기 메모리(110)에 저장된 상기 인스트럭션에 대응하여 상기 뉴럴 네트워크의 온디바이스 연속 학습 프로세스를 수행하기 위한 프로세서(120)를 포함할 수 있다.
구체적으로, 상기 학습 장치(100)는 전형적으로 적어도 하나의 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소를 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 적어도 하나의 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.
상기 컴퓨팅 장치의 상기 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 상기 컴퓨팅 장치는 운영체제 및 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
그러나, 상기 컴퓨팅 장치가 본 발명을 실시하기 위한 미디엄, 프로세서 및 메모리가 통합된 형태인 통합 프로세서를 포함하는 경우를 배제하는 것은 아니다.
본 발명의 일 실시예에 따른 상기 학습 장치(100)를 이용한 딥러닝을 통해, 입력 데이터를 분석하는 상기 뉴럴 네트워크를 온디바이스 연속 학습하는 방법을 도 2를 참조하여 설명하면 다음과 같다.
먼저, 학습을 위하여 획득되는 새로운 데이터(10)가 기설정된 기준 볼륨(M)이 되면, 상기 학습 장치(100)가, 상기 새로운 데이터(10)를 샘플링하여 기설정된 제1 볼륨(m)이 되도록 한다.
이때, 상기 새로운 데이터(10)는 뉴럴 네트워크(140)을 포함한 적어도 하나의 로컬 장치 자체에서 혹은 적어도 하나의 외부 장치로부터 획득될 수 있다.
한편, 상기 학습 장치(100)는, 상기 새로운 데이터(10)를 샘플링 할 경우, 균일한 샘플링을 통해 상기 새로운 데이터(10) 중 일부를 상기 기설정된 제1 볼륨(m)의 양만큼 선택하거나, 상기 새로운 데이터(10)를 셔플한 다음 셔플된 순서대로 상기 새로운 데이터(10)의 일부를 상기 기설정된 제1 볼륨(m)의 양만큼 선택할 수 있으나, 본 발명은 이에 한정되지 않으며, 상기 새로운 데이터(10)의 상기 일부를 상기 기설정된 제1 볼륨의 양만큼 선택할 수 있는 모든 샘플링 방법이 이용될 수 있다.
그 후, 상기 학습 장치(100)가, 적어도 하나의 k 차원 랜덤 벡터(k-dimensional random vector)를 이전 학습된 원본 데이터 생성자 네트워크(G)(130)로 입력하고, 상기 원본 데이터 생성자 네트워크(G)(130)로 하여금, 상기 k 차원 랜덤 벡터에 대응되는 제1 합성 이전 데이터를 출력하는 프로세스를 반복하도록 하여, 상기 제1 합성 이전 데이터가 기설정된 제2 볼륨(n)이 되도록 한다.
이때, 상기 원본 데이터 생성자 네트워크(G)(130)는, 이에 대한 학습을 위해 사용되었던 이전 데이터를 출력하도록 이전에 학습된 것이고, 상기 제1 합성 이전 데이터는 상기 이전 데이터에 대응된다. 그리고, 상기 k 차원 랜덤 벡터는 이에 대한 각 요소를 위해 샘플링된 0부터 1까지의 입력으로부터 생성될 수 있다. 상기 원본 데이터 생성자 네트워크(G)(130)의 학습에 대해서는 추후 설명하기로 한다.
한편, 상기 원본 데이터 생성자 네트워크(G)(130)는 상기 뉴럴 네트워크(140)에 대응되어 구성될 수 있으며, 상기 뉴럴 네트워크(140)는, 입력된 상기 새로운 데이터(x,y)(10)에 대응되는 (x, y)의 차원, 값 유형 및 범위 등에 따라 적합한 네트워크 아키텍처를 만들어 사용할 수 있다.
일 예로, 도 3을 참조하면, 상기 뉴럴 네트워크(140)가 적어도 하나의 벡터를 입력으로서 획득하는 분류기일 경우, 상기 원본 데이터 생성자 네트워크(130)는, 상기 k 차원 랜덤 벡터에 대응되는 k 차원 정보에 적어도 하나의 FC(fully connected) 연산을 가함으로써, 적어도 하나의 D 차원 벡터(
Figure pat00003
)와 적어도 하나의 C 차원 원 핫(one-hot) 벡터(
Figure pat00004
)를 출력하는 하나 이상의 FC 레이어를 포함할 수 있다.
다른 예로, 도 4를 참조하면, 상기 뉴럴 네트워크(140)가 적어도 RGB 이미지를 입력으로서 획득하는 객체 검출기일 경우, 상기 원본 데이터 생성자 네트워크(130)는, 상기 k 차원 랜덤 벡터에 대응되는 1 × 1 × K 정보를 적어도 하나의 H × W × 3 텐서(
Figure pat00005
)로 변형시키는 하나 이상의 전치(transposed) 컨벌루션 레이어(131-1, 131-2, …)와, 상기 H x W x 3 텐서를 분석하여 적어도 하나의 R × (4 + C) 벡터를 출력하는 패스터 R-CNN(faster Region-based Convolutional Network)(132)을 포함할 수 있다. 이때, 상기 다수의 전치 컨벌루션 레이어(131-1, 131-2, …)의 출력단에는, 적어도 하나의 H × W × 3 벡터를 상기 H × W × 3 텐서로 변환하는 활성화 함수(시그모이드)가 제공될 수 있다. 그리고, 상기 R × (4 + C) 벡터에서, R은 적어도 하나의 R 차원 벡터(
Figure pat00006
)를 포함하며, (4 + C)는
Figure pat00007
및 상기 C 차원 원 핫 벡터를 포함할 수 있다.
다음으로, 다시 도 2를 참조하면, 상기 학습 장치(100)는, 상기 기설정된 제1 볼륨(m)의 상기 새로운 데이터 및 상기 기설정된 제2 볼륨(n)의 상기 제1 합성 이전 데이터를 참조하여, 제1 현재 학습에 사용할 이용될 제1 배치(batch)(20)를 생성한다. 이때, 상기 제1 배치(20)는 (m + n) 볼륨일 수 있다.
이후, 상기 학습 장치(100)는, 상기 제1 배치(20)를 상기 뉴럴 네트워크(140)로 입력하여 상기 뉴럴 네트워크(140)로 하여금 상기 제1 배치(20)에 대응하는 출력 정보를 생성하도록 하며, 제1 로스 레이어(150)로 하여금 상기 출력 정보와 이에 대응되는 GT(Ground Truth)를 참조하여 하나 이상의 제1 로스를 산출하도록 한다. 이때, 상기 새로운 데이터에 대한 로스는 상기 제1 배치(20) 내 상기 새로운 데이터에 대한 로스로,
Figure pat00008
와 같이 나타낼 수 있으며, 상기 이전 데이터에 대한 로스는 상기 제1 배치(20) 내 합성 이전 데이터에 대한 로스로,
Figure pat00009
와 같이 나타낼 수 있다.
그리고, 상기 학습 장치(100)는 상기 제1 로스를 이용한 백프로퍼게이션(backpropagation)을 통해 상기 뉴럴 네트워크(140)의 상기 제1 현재 학습을 수행할 수 있다.
이때, 상기 학습 장치(100)는 상기 제1 로스를 이용한 백프로퍼게이션에 의해 상기 뉴럴 네트워크(140)의 경사 하강법(gradient descent)을 수행할 수 있으며, 그에 따라 상기 뉴럴 네트워크(140)의 적어도 하나의 가중치(
Figure pat00010
)는 다음의 수학식에서와 같이 업데이트될 수 있다.
Figure pat00011
그리고, 상기 학습 장치(100)는, 상기 제1 로스를 이용한 백프로퍼게이션을 통해 상기 제1 로스가 수렴할 때까지 상기의 동작을 반복한다. 즉, 상기 학습 장치(100)는, 상기 새로운 데이터와 상기 합성 이전 데이터를 이용한 상기 제1 배치의 생성과, 상기 제1 배치를 이용한 상기 뉴럴 네트워크(140)의 상기 제1 현재 학습을 반복하여, 상기 제1 로스가 수렴하도록 할 수 있다.
다음으로, 도 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))를 실제 데이터로 간주하여 상기 이전 데이터(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)에 대응되는 스코어 벡터를 출력하도록 한다.
이때, 상기 스코어 벡터는, 상기 기설정된 제2 볼륨(n)의 상기 제2 합성 이전 데이터(G'(z))의 스코어 벡터, 상기 기설정된 제1 볼륨(m)의 상기 새로운 데이터(h)의 스코어 벡터, 및 상기 기설정된 제3 볼륨(m + n)의 상기 제3 합성 이전 데이터(G(z))의 스코어 벡터를 포함할 수 있다. 상기 기설정된 제2 볼륨(n)의 상기 제2 합성 이전 데이터(G'(z))의 스코어 벡터는
Figure pat00012
와 같이 나타낼 수 있고, 상기 기설정된 제1 볼륨(m)의 상기 새로운 데이터(h)의 스코어 벡터는
Figure pat00013
와 같이 나타낼 수 있으며, 상기 기설정된 제3 볼륨(m + n)의 상기 제3 합성 이전 데이터(G(z))의 스코어 벡터는
Figure pat00014
와 같이 나타낼 수 있다.
그리고, 상기 학습 장치(100)는 제2 로스 레이어(170)로 하여금 상기 스코어 벡터와 이에 대응되는 GT를 참조하여 하나 이상의 제2 로스를 산출하도록 함으로써, 상기 제2 로스를 이용한 백프로퍼게이션을 통해 상기 판별자(D)(160) 및 상기 원본 데이터 생성자 네트워크(G)(130)의 상기 제2 현재 학습을 수행할 수 있다.
이때, 상기 학습 장치(100)는, 상기 제2 로스를 이용한 백프로퍼게이션에 의해 상기 판별자(D)(160)의 경사 상승법(gradient ascent)을 수행할 수 있으며, 그에 따라 상기 판별자(D)(160)의 적어도 하나의 가중치(
Figure pat00015
)는 다음의 수학식에서와 같이 업데이트될 수 있다.
Figure pat00016
또한, 상기 학습 장치(100)는 상기 제2 로스를 이용한 백프로퍼게이션에 의해 상기 원본 데이터 생성자 네트워크(G)(130)의 상기 경사 상승법을 수행할 수 있으며, 그에 따라 상기 데이터 생성자 네트워크(G)(130)의 적어도 하나의 가중치(
Figure pat00017
)는 다음의 수학식에서와 같이 업데이트 될 수 있다.
Figure pat00018
한편, 상기 학습 장치(100)는, 상기 복제 데이터 생성자 네트워크(G')(130C)로부터의 상기 제2 합성 이전 데이터(G'(z))를 실제 데이터로 간주하여 상기 판별자(D)(160)의 상기 제2 현재 학습을 수행하고, 상기 스코어 벡터 중, 상기 제3 합성 이전 데이터(G(z))에 대응되는 제3 합성 이전 데이터 스코어 벡터가 최대화되도록, 상기 원본 데이터 생성자 네트워크(G)(130)의 상기 제2 현재 학습을 수행할 수 있다.
따라서, 상기 판별자(160)를 학습하기 위해 이용되는 상기 실제 데이터는 상기 새로운 데이터(h)와 상기 제2 합성 이전 데이터(G'(z))인 상기 이전 데이터(G'(z))를 포함하며, 그에 따라 상기 원본 데이터 생성자 네트워크(G)(130)는, 상기 실제 데이터인 상기 새로운 데이터(h)와 상기 제2 합성 이전 데이터인 상기 이전 데이터(G'(z))를 출력하도록 학습될 수 있다.
그리고, 상기 학습 장치(100)는 상기 제2 로스를 이용한 백프로퍼게이션에 의해, 상기 판별자(D)(160)의 로스 및 상기 원본 데이터 생성자 네트워크(G)(130)의 로스가 각각 수렴할 때까지 상기의 동작을 반복한다. 즉, 상기 학습 장치(100)는 상기 제2 합성 이전 데이터, 상기 새로운 데이터, 및 상기 제3 합성 이전 데이터를 이용하여 상기 제2 배치의 생성을 반복하고, 상기 제2 배치를 이용하여 상기 판별자(160)와 상기 원본 데이터 생성자 네트워크(130)의 상기 제2 현재 학습을 반복하여, 상기 판별자(160)의 로스와 상기 원본 데이터 생성자 네트워크(130)의 로스가 수렴하도록 할 수 있다.
이때, 상기 판별자(160)를 학습하기 위해 이용되는 상기 새로운 데이터에 대한 상기 이전 데이터의 비율은 n:m = N:M이 되며, 상기 제2 배치를 이용하여 상기 새로운 데이터의 모든 볼륨(M)이 학습되는 경우, 상기 새로운 데이터에 대한 상기 이전 데이터의 비율은 N:M이 될 수 있다. 여기서, 상기 이전 데이터와 상기 새로운 데이터는, 학습된 상기 원본 데이터 생성자 네트워크(G)(130)로부터 출력된 것일 수 있다.
이 후, 상기 제2 현재 학습이 완료되면, 일 예로, 상기 판별자(160)의 로스와 상기 원본 데이터 생성자 네트워크(130)의 로스가 수렴하면, 상기 학습 장치(100)가 상기 새로운 데이터를 삭제하며, 상기 새로운 데이터 및 상기 제2 합성 이전 데이터는, 다음 학습에 이용되기 위한 상기 이전 데이터로 출력될 수 있도록 상기 원본 데이터 생성자 네트워크를 업데이트할 수 있다.
즉, 상기 원본 데이터 생성자 네트워크(130)가 상기 제2 현재 학습에 이용되기 위한 상기 실제 데이터에 대응되는 상기 새로운 데이터와 상기 이전 데이터를 출력할 수 있도록 학습되었기 때문에, 상기 새로운 데이터가 삭제될 수 있으며, 상기 다음 학습이 수행될 경우, 상기 원본 데이터 생성자 네트워크(130)는 현재의 학습에 이용되기 위한 상기 이전 데이터와 상기 새로운 데이터를 출력함으로써 상기 다음 학습을 위한 이전 데이터를 획득할 수 있다.
한편, 상기 제1 현재 학습과 상기 제2 현재 학습을 포함하는 상기 현재의 학습이 최초 학습일 경우에는, 상기 제1 현재 학습과 상기 제2 현재 학습은 상기 이전 데이터 없이 수행될 수 있다.
즉, 상기 학습 장치(100)는, 상기 기설정된 제1 볼륨(m)의 상기 새로운 데이터만을 이용하여 상기 제1 배치를 생성하며, 상기 제1 배치를 이용한 상기 제1 현재 학습을 수행하여 상기 뉴럴 네트워크(140)의 상기 로스가 수렴하도록 할 수 있다.
그리고, 상기 학습 장치(100)는 상기 원본 데이터 생성자 네트워크 (130)로 하여금 상기 k 차원 랜덤 벡터에 대응되는 상기 제3 합성 이전 데이터를 출력하는 프로세스를 반복하여 상기 제3 합성 이전 데이터가 상기 기설정된 제1 볼륨(m)이 되도록 하며, 상기 기설정된 제1 볼륨의 상기 새로운 데이터 및 상기 기설정된 제1 볼륨의 상기 제3 합성 이전 데이터를 참조하여 상기 제2 배치를 생성하고, 상기 제2 배치를 이용한 상기 제2 현재 학습을 수행하여 상기 판별자(160)의 상기 로스 및 상기 원본 데이터 생성자 네트워크(130)의 상기 로스가 수렴하도록 할 수 있다.
이 후, 상기 학습 장치(100)는 상기 현재의 학습에 이용된 상기 새로운 데이터를 삭제하며, 상기 새로운 데이터를 상기 이전 데이터로 초기화할 수 있다.
참고로, 아래의 설명에서 혼란을 방지하기 위해, 학습 프로세스와 관련된 용어에는 "학습용" 또는 "트레이닝"과 같은 문구가 추가되었고 테스팅 프로세스와 관련된 용어에 "테스트용" 또는 "테스팅"과 같은 문구가 추가되었다.
도 6은 본 발명의 일 실시예에 따른 온디바이스 연속 학습을 완료한 상기 뉴럴 네트워크를 테스트하는 테스팅 장치를 도시한 것이다. 도 6을 참조하면, 상기 테스팅 장치(200)는 온디바이스 연속 학습을 완료한 상기 뉴럴 네트워크를 테스트하기 위한 인스트럭션을 저장하는 메모리(210)와 상기 메모리(210)에 저장된 상기 인스트럭션에 대응하여 온디바이스 연속 학습을 완료한 상기 뉴럴 네트워크를 테스트하는 프로세스를 수행하기 위한 프로세서(220)를 포함할 수 있다.
구체적으로, 상기 테스팅 장치(200)는 전형적으로 적어도 하나의 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 적어도 하나의 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.
또한, 상기 컴퓨팅 장치의 상기 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 상기 컴퓨팅 장치는 운영체제 및 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
그러나, 상기 컴퓨팅 장치가 본 발명을 실시하기 위한 미디엄, 프로세서 및 메모리가 통합된 형태인 통합 프로세서를 포함하는 경우를 배제하는 것은 아니다.
이와 같이 구성된 본 발명의 일 실시예에 따른 상기 테스트 장치(200)를 이용하여, 온디바이스 연속 학습을 완료한 상기 뉴럴 네트워크를 테스트하는 방법에 대하여 도 7을 참조하여 설명하면 다음과 같다.
상기에서 설명한 바와 같은 프로세스에 따라 상기 뉴럴 네트워크(140)가 학습된 상태에서, 상기 테스팅 장치(200)가 테스트 데이터(210)를 획득하거나 타 장치로 하여금 획득하도록 지원할 수 있다. 이때, 상기 테스트 데이터(210)는 이미지 정보, 센서 정보, 음성 정보 등을 포함할 수 있으나, 이에 한정되지 않으며, 특징 분석이 가능한 모든 입력 데이터를 포함할 수 있다.
그리고, 상기 테스팅 장치(200)는 상기 테스트 데이터(210)를 상기 뉴럴 네트워크(140)로 입력하여, 상기 뉴럴 네트워크(140)로 하여금 상기 테스트 데이터(210)에 대응되는 테스트용 출력 정보를 생성하도록 할 수 있다.
이때, 상기 학습 장치는, (a) 학습을 위해 획득된 새로운 데이터가 상기 기설정된 기준 볼륨이 되면, 상기 새로운 데이터를 샘플링하여 상기 기설정된 제1 볼륨이 되도록 하며, 적어도 하나의 k 차원 랜덤 벡터(k-dimensional random vector)를 이전 학습된 상기 원본 데이터 생성자 네트워크로 입력함으로써, 상기 원본 데이터 생성자 네트워크로 하여금, 상기 k 차원 랜덤 벡터에 대응되는 제1 합성 이전 데이터를 출력하는 프로세스를 반복하도록 하여, 상기 제1 합성 이전 데이터가 기설정된 제2 볼륨이 되도록 하고, 상기 기설정된 제1 볼륨의 상기 새로운 데이터 및 상기 기설정된 제2 볼륨의 상기 제1 합성 이전 데이터를 참조하여, 상기 제1 현재 학습에 이용될 제1 배치를 생성하는 프로세스 및 (b) 상기 제1 배치를 상기 뉴럴 네트워크(140)로 입력하여 상기 뉴럴 네트워크(140)로 하여금 상기 제1 배치에 대응하는 학습용 출력 정보를 생성하도록 하며, 제1 로스 레이어로 하여금 상기 학습용 출력 정보와 이에 대응되는 GT를 참조하여 상기 제1 로스를 산출하도록 함으로써, 이를 이용한 백프로퍼게이션을 통해 상기 뉴럴 네트워크의 상기 제1 현재 학습을 수행하는 프로세스를 완료한 상태일 수 있다.
그리고, 상기 학습 장치는, 상기 새로운 데이터를 샘플링하여 상기 기설정된 제1 볼륨(m)이 되도록 하고, 상기 원본 데이터 생성자 네트워크를 복제함으로써 상기 복제 데이터 생성자 네트워크를 생성하며, 상기 복제 데이터 생성자 네트워크로 하여금 상기 k 차원 랜덤 벡터에 대응되는 상기 제2 합성 이전 데이터를 출력하는 프로세스를 반복하도록 하여, 상기 제2 합성 이전 데이터가 상기 기설정된 제2 볼륨이 되도록 하고, 상기 원본 데이터 생성자 네트워크로 하여금 상기 k 차원 랜덤 벡터에 대응되는 상기 제3 합성 이전 데이터를 출력하는 프로세스를 반복하도록 하여, 상기 제3 합성 이전 데이터가 상기 기설정된 제3 볼륨이 되도록 하며, 상기 기설정된 제1 볼륨의 상기 새로운 데이터, 상기 기설정된 제2 볼륨의 상기 제2 합성 이전 데이터, 및 상기 기설정된 제3 볼륨의 상기 제3 합성 이전 데이터를 참조하여, 상기 제2 현재 학습에 이용될 상기 제2 배치를 생성하는 프로세스, 및 상기 제2 배치를 상기 판별자로 입력하여 상기 판별자로 하여금 상기 제2 배치에 대응되는 상기 스코어 벡터를 출력하도록 하며, 상기 제2 로스 레이어로 하여금 상기 스코어 벡터와 이에 대응되는 GT를 참조하여 상기 제2 로스를 산출하도록 하고, 상기 제2 로스를 이용한 백프로퍼게이션을 통해 상기 판별자 및 상기 원본 데이터 생성자 네트워크의 상기 제2 현재 학습을 수행하는 프로세스를 완료한 상태일 수 있다.
이러한 방법을 통해, 스마트폰, 드론, 선박 혹은 군사적 목적에 이용될 수 있다.
또한, 이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (28)

  1. 입력 데이터를 분석하는 뉴럴 네트워크(neural network)를 온디바이스(on-device) 연속 학습(continual learning)하는 방법에 있어서,
    (a) 학습을 위하여 획득되는 새로운 데이터가 기설정된 기준 볼륨이 되면, 학습 장치가, 상기 새로운 데이터를 샘플링하여 기설정된 제1 볼륨이 되도록 하며, 적어도 하나의 k 차원 랜덤 벡터(k-dimensional random vector)를 이전 학습된 원본 데이터 생성자 네트워크로 입력함으로써, 상기 원본 데이터 생성자 네트워크로 하여금, 상기 k 차원 랜덤 벡터에 대응되는 제1 합성 이전 데이터 - 상기 제1 합성 이전 데이터는 상기 원본 데이터 생성자 네트워크를 이전 학습하는데 사용되었던 이전 데이터에 대응됨 - 를 출력하는 프로세스를 반복하도록 하여, 상기 제1 합성 이전 데이터가 기설정된 제2 볼륨이 되도록 하고, 상기 기설정된 제1 볼륨의 상기 새로운 데이터 및 상기 기설정된 제2 볼륨의 상기 제1 합성 이전 데이터를 참조하여, 제1 현재 학습에 이용될 제1 배치(batch)를 생성하는 단계; 및
    (b) 상기 학습 장치가, 상기 제1 배치를 상기 뉴럴 네트워크로 입력하여 상기 뉴럴 네트워크로 하여금 상기 제1 배치에 대응하는 출력 정보를 생성하도록 하며, 제1 로스 레이어로 하여금 상기 출력 정보와 이에 대응되는 GT(Ground Truth)를 참조하여 하나 이상의 제1 로스를 산출하도록 함으로써, 이를 이용한 백프로퍼게이션(backpropagation)을 통해 상기 뉴럴 네트워크의 상기 제1 현재 학습을 수행하는 단계;
    를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    (c) 상기 학습 장치가, 상기 새로운 데이터를 샘플링하여 상기 기설정된 제1 볼륨이 되도록 하고, 상기 원본 데이터 생성자 네트워크를 복제함으로써 복제 데이터 생성자 네트워크를 생성하며, 상기 복제 데이터 생성자 네트워크로 하여금 상기 k 차원 랜덤 벡터에 대응되는 제2 합성 이전 데이터 - 상기 제2 합성 이전 데이터는 상기 원본 데이터 생성자 네트워크를 이전 학습하는데 사용되었던 상기 이전 데이터에 대응됨 - 를 출력하는 프로세스를 반복하도록 하여, 상기 제2 합성 이전 데이터가 상기 기설정된 제2 볼륨이 되도록 하고, 상기 원본 데이터 생성자 네트워크로 하여금 상기 k 차원 랜덤 벡터에 대응되는 제3 합성 이전 데이터 - 상기 제3 합성 이전 데이터는 상기 원본 데이터 생성자 네트워크를 이전 학습하는데 사용되었던 상기 이전 데이터에 대응됨 - 를 출력하는 프로세스를 반복하도록 하여, 상기 제3 합성 이전 데이터가 기설정된 제3 볼륨 - 상기 기설정된 제3 볼륨은 상기 기설정된 제1 볼륨과 상기 기설정된 제2 볼륨의 합한 볼륨임 - 이 되도록 하며, 상기 기설정된 제1 볼륨의 상기 새로운 데이터, 상기 기설정된 제2 볼륨의 상기 제2 합성 이전 데이터, 및 상기 기설정된 제3 볼륨의 상기 제3 합성 이전 데이터를 참조하여, 제2 현재 학습에 이용될 제2 배치를 생성하는 단계; 및
    (d) 상기 학습 장치가, 상기 제2 배치를 판별자로 입력하여 상기 판별자로 하여금 상기 제2 배치에 대응되는 스코어 벡터를 출력하도록 하며, 제2 로스 레이어로 하여금 상기 스코어 벡터와 이에 대응되는 GT를 참조하여 하나 이상의 제2 로스를 산출하도록 하고, 상기 제2 로스를 이용한 백프로퍼게이션을 통해 상기 판별자 및 상기 원본 데이터 생성자 네트워크의 상기 제2 현재 학습을 수행하는 단계;
    를 더 포함하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    상기 학습 장치는, 상기 제2 로스를 이용한 백프로퍼게이션에 의해 상기 판별자의 로스 및 상기 제2 데이터 생성자 네트워크의 로스가 각각 수렴할 때까지 상기 (c) 단계와 상기 (d) 단계를 반복하는 것을 특징으로 하는 방법.
  4. 제2항에 있어서,
    상기 (d) 단계에서,
    상기 학습 장치는, 상기 제2 로스를 이용한 백프로퍼게이션에 의해 상기 판별자 및 상기 제2 데이터 생성자 네트워크의 경사 상승법(gradient ascent)을 수행하는 것을 특징으로 하는 방법.
  5. 제2항에 있어서,
    상기 (d) 단계에서,
    상기 학습 장치는, 상기 제2 로스를 이용한 백프로퍼게이션을 통해 상기 판별자의 상기 제2 현재 학습을 수행할 경우, 상기 복제 데이터 생성자 네트워크로부터의 상기 제2 합성 이전 데이터를 실제 데이터로 간주하여 상기 판별자의 상기 제2 현재 학습을 수행하는 것을 특징으로 하는 방법.
  6. 제2항에 있어서,
    상기 (d) 단계에서,
    상기 학습 장치는, 상기 스코어 벡터 중, 상기 제3 합성 이전 데이터에 대응되는 제3 합성 이전 데이터 스코어 벡터가 최대화되도록, 상기 원본 데이터 생성자 네트워크의 상기 제2 현재 학습을 수행하는 것을 특징으로 하는 방법.
  7. 제2항에 있어서,
    상기 (d) 단계에서,
    상기 학습 장치는, 상기 제2 현재 학습이 완료되면, 상기 새로운 데이터를 삭제하며, 상기 새로운 데이터 및 상기 제2 합성 이전 데이터가, 다음 학습에 이용되기 위한 상기 이전 데이터로 출력될 수 있도록 상기 원본 데이터 생성자 네트워크를 업데이트하는 것을 특징으로 하는 방법.
  8. 제2항에 있어서,
    상기 제2 현재 학습이 최초 학습일 경우,
    상기 (a) 단계에서,
    상기 학습 장치는, 상기 기설정된 제1 볼륨의 상기 새로운 데이터 만을 이용하여 상기 제1 배치를 생성하며,
    상기 (c) 단계에서,
    상기 학습 장치는, 상기 원본 데이터 생성자 네트워크로 하여금 상기 k 차원 랜덤 벡터에 대응되는 제3 합성 이전 데이터를 출력하는 프로세스를 반복하도록 하여, 상기 제3 합성 이전 데이터가 상기 기설정된 제1 볼륨이 되도록 하며, 상기 기설정된 제1 볼륨의 상기 새로운 데이터 및 상기 기설정된 제1 볼륨의 상기 제3 합성 이전 데이터를 참조하여 상기 제2 배치를 생성하는 것을 특징으로 하는 방법.
  9. 제1항에 있어서,
    상기 학습 장치는, 상기 제1 로스를 이용한 백프로퍼게이션에 의해 상기 제1 로스가 수렴할 때까지 상기 (a) 단계와 상기 (b) 단계를 반복하는 것을 특징으로 하는 방법.
  10. 제1항에 있어서,
    상기 (b) 단계에서,
    상기 학습 장치는, 상기 제1 로스를 이용한 백프로퍼게이션에 의해 상기 뉴럴 네트워크의 경사 하강법(gradient descent)을 수행하는 것을 특징으로 하는 방법.
  11. 제1항에 있어서,
    상기 뉴럴 네트워크가 적어도 하나의 벡터를 입력으로서 획득하는 분류기일 경우, 상기 원본 데이터 생성자 네트워크는, 상기 k 차원 랜덤 벡터에 대응되는 k 차원 정보에 적어도 하나의 FC(fully connected) 연산을 적용하여 적어도 하나의 D 차원 벡터와 적어도 하나의 C 차원 원 핫(one-hot) 벡터를 출력하는 하나 이상의 FC 레이어를 포함하는 것을 특징으로 하는 방법.
  12. 제1항에 있어서,
    상기 뉴럴 네트워크가 적어도 하나의 RGB 이미지를 입력으로서 획득하는 객체 검출기일 경우, 상기 원본 데이터 생성자 네트워크는, 상기 k 차원 랜덤 벡터에 대응되는 1 x 1 x K 정보를 적어도 하나의 H x W x 3 텐서로 변형시키는 하나 이상의 전치(transposed) 컨벌루션 레이어와, 상기 H x W x 3 텐서를 분석하여 적어도 하나의 R x (4 + C) 벡터 - 상기 R은 적어도 하나의 R 차원 벡터를 포함하며, (4 + C)는
    Figure pat00019
    및 적어도 하나의 C 차원 원 핫 벡터를 포함함 - 를 출력하는 패스터 R-CNN(faster Region-based Convolutional Network)을 포함하는 것을 특징으로 하는 방법.
  13. 온디바이스(on-device) 연속 학습을 완료한 뉴럴 네트워크를 테스트하는 테스팅 방법에 있어서,
    (a) 학습 장치가, (1) 기설정된 기준 볼륨이 된 새로운 데이터를 샘플링하여 기설정된 제1 볼륨이 되도록 하며, 적어도 하나의 k 차원 랜덤 벡터(k-dimensional random vector)를 이전 학습된 원본 데이터 생성자 네트워크로 입력함으로써, 상기 원본 데이터 생성자 네트워크로 하여금, 상기 k 차원 랜덤 벡터에 대응되는 제1 합성 이전 데이터 - 상기 제1 합성 이전 데이터는 상기 원본 데이터 생성자 네트워크를 이전 학습하는데 사용되었던 이전 데이터에 대응됨 - 를 출력하는 프로세스를 반복하도록 하여, 상기 제1 합성 이전 데이터가 기설정된 제2 볼륨이 되도록 하고, 상기 기설정된 제1 볼륨의 상기 새로운 데이터 및 상기 기설정된 제2 볼륨의 상기 제1 합성 이전 데이터를 참조하여, 제1 현재 학습에 이용될 제1 배치(batch)를 생성하는 프로세스, 및 (2) 상기 제1 배치를 상기 뉴럴 네트워크로 입력하여 상기 뉴럴 네트워크로 하여금 상기 제1 배치에 대응하는 학습용 출력 정보를 생성하도록 하며, 제1 로스 레이어로 하여금 상기 학습용 출력 정보와 이에 대응되는 GT(Ground Truth)를 참조하여 하나 이상의 제1 로스를 산출하도록 함으로써, 이를 이용한 백프로퍼게이션(backpropagation)을 통해 상기 뉴럴 네트워크의 상기 제1 현재 학습을 수행하는 프로세스를 수행한 상태에서, 테스팅 장치가 테스트 데이터를 획득하는 단계; 및
    (b) 상기 테스팅 장치가, 상기 테스트 데이터를 상기 뉴럴 네트워크로 입력하여, 상기 뉴럴 네트워크로 하여금 상기 테스트 데이터에 대응되는 테스트용 출력 정보를 생성하도록 하는 단계;
    를 포함하는 것을 특징으로 하는 테스팅 방법.
  14. 제13항에 있어서,
    상기 학습 장치가, (3) 상기 새로운 데이터를 샘플링하여 상기 기설정된 제1 볼륨이 되도록 하고, 상기 원본 데이터 생성자 네트워크를 복제함으로써 복제 데이터 생성자 네트워크를 생성하며, 상기 복제 데이터 생성자 네트워크로 하여금 상기 k 차원 랜덤 벡터에 대응되는 제2 합성 이전 데이터 - 상기 제2 합성 이전 데이터는 상기 원본 데이터 생성자 네트워크를 이전 학습하는데 사용되었던 상기 이전 데이터에 대응됨 - 를 출력하는 프로세스를 반복하도록 하여, 상기 제2 합성 이전 데이터가 상기 기설정된 제2 볼륨이 되도록 하고, 상기 원본 데이터 생성자 네트워크로 하여금 상기 k 차원 랜덤 벡터에 대응되는 제3 합성 이전 데이터 - 상기 제3 합성 이전 데이터는 상기 원본 데이터 생성자 네트워크를 이전 학습하는데 사용되었던 상기 이전 데이터에 대응됨 - 를 출력하는 프로세스를 반복하도록 하여, 상기 제3 합성 이전 데이터가 기설정된 제3 볼륨 - 상기 기설정된 제3 볼륨은 상기 기설정된 제1 볼륨과 상기 기설정된 제2 볼륨의 합한 볼륨임 - 이 되도록 하며, 상기 기설정된 제1 볼륨의 상기 새로운 데이터, 상기 기설정된 제2 볼륨의 상기 제2 합성 이전 데이터, 및 상기 기설정된 제3 볼륨의 상기 제3 합성 이전 데이터를 참조하여, 제2 현재 학습에 이용될 제2 배치를 생성하는 프로세스, 및 (4) 상기 제2 배치를 판별자로 입력하여 상기 판별자로 하여금 상기 제2 배치에 대응되는 스코어 벡터를 출력하도록 하며, 제2 로스 레이어로 하여금 상기 스코어 벡터와 이에 대응되는 GT를 참조하여 하나 이상의 제2 로스를 산출하도록 하고, 상기 제2 로스를 이용한 백프로퍼게이션을 통해 상기 판별자 및 상기 원본 데이터 생성자 네트워크의 상기 제2 현재 학습을 수행하는 프로세스를 더 수행하는 것을 특징으로 하는 테스팅 방법.
  15. 입력 데이터를 분석하는 뉴럴 네트워크(neural network)를 온디바이스(on-device) 연속 학습하는 학습 장치에 있어서,
    인스트럭션을 저장하는 적어도 하나의 메모리; 및
    (I) 학습을 위하여 획득되는 새로운 데이터가 기설정된 기준 볼륨이 되면, 상기 새로운 데이터를 샘플링하여 기설정된 제1 볼륨이 되도록 하며, 적어도 하나의 k 차원 랜덤 벡터(k-dimensional random vector)를 이전 학습된 원본 데이터 생성자 네트워크로 입력함으로써, 상기 원본 데이터 생성자 네트워크로 하여금, 상기 k 차원 랜덤 벡터에 대응되는 제1 합성 이전 데이터 - 상기 제1 합성 이전 데이터는 상기 원본 데이터 생성자 네트워크를 이전 학습하는데 사용되었던 이전 데이터에 대응됨 - 를 출력하는 프로세스를 반복하도록 하여, 상기 제1 합성 이전 데이터가 기설정된 제2 볼륨이 되도록 하고, 상기 기설정된 제1 볼륨의 상기 새로운 데이터 및 상기 기설정된 제2 볼륨의 상기 제1 합성 이전 데이터를 참조하여, 제1 현재 학습에 이용될 제1 배치(batch)를 생성하는 프로세스, 및 (II) 상기 제1 배치를 상기 뉴럴 네트워크로 입력하여 상기 뉴럴 네트워크로 하여금 상기 제1 배치에 대응하는 출력 정보를 생성하도록 하며, 제1 로스 레이어로 하여금 상기 출력 정보와 이에 대응되는 GT(Ground Truth)를 참조하여 하나 이상의 제1 로스를 산출하도록 함으로써, 이를 이용한 백프로퍼게이션(backpropagation)을 통해 상기 뉴럴 네트워크의 상기 제1 현재 학습을 수행하는 프로세스를 수행하기 위한 상기 인스트럭션을 실행하도록 구성된 적어도 하나의 프로세서;
    를 포함하는 것을 특징으로 하는 학습 장치.
  16. 제15항에 있어서,
    상기 프로세서가, (III) 상기 새로운 데이터를 샘플링하여 상기 기설정된 제1 볼륨이 되도록 하고, 상기 원본 데이터 생성자 네트워크를 복제함으로써 복제 데이터 생성자 네트워크를 생성하며, 상기 복제 데이터 생성자 네트워크로 하여금 상기 k 차원 랜덤 벡터에 대응되는 제2 합성 이전 데이터 - 상기 제2 합성 이전 데이터는 상기 원본 데이터 생성자 네트워크를 이전 학습하는데 사용되었던 상기 이전 데이터에 대응됨 - 를 출력하는 프로세스를 반복하도록 하여, 상기 제2 합성 이전 데이터가 상기 기설정된 제2 볼륨이 되도록 하고, 상기 원본 데이터 생성자 네트워크로 하여금 상기 k 차원 랜덤 벡터에 대응되는 제3 합성 이전 데이터 - 상기 제3 합성 이전 데이터는 상기 원본 데이터 생성자 네트워크를 이전 학습하는데 사용되었던 상기 이전 데이터에 대응됨 - 를 출력하는 프로세스를 반복하도록 하여, 상기 제3 합성 이전 데이터가 기설정된 제3 볼륨 - 상기 기설정된 제3 볼륨은 상기 기설정된 제1 볼륨과 상기 기설정된 제2 볼륨의 합한 볼륨임 - 이 되도록 하며, 상기 기설정된 제1 볼륨의 상기 새로운 데이터, 상기 기설정된 제2 볼륨의 상기 제2 합성 이전 데이터, 및 상기 기설정된 제3 볼륨의 상기 제3 합성 이전 데이터를 참조하여, 제2 현재 학습에 이용될 제2 배치를 생성하는 프로세스, 및 (IV) 상기 제2 배치를 판별자로 입력하여 상기 판별자로 하여금 상기 제2 배치에 대응되는 스코어 벡터를 출력하도록 하며, 제2 로스 레이어로 하여금 상기 스코어 벡터와 이에 대응되는 GT를 참조하여 하나 이상의 제2 로스를 산출하도록 하고, 상기 제2 로스를 이용한 백프로퍼게이션을 통해 상기 판별자 및 상기 원본 데이터 생성자 네트워크의 상기 제2 현재 학습을 수행하는 프로세스를 더 수행하는 것을 특징으로 하는 학습 장치.
  17. 제16항에 있어서,
    상기 프로세서는, 상기 제2 로스를 이용한 백프로퍼게이션에 의해 상기 판별자의 로스 및 상기 제2 데이터 생성자 네트워크의 로스가 각각 수렴할 때까지 상기 (III) 프로세스와 상기 (IV) 프로세스를 반복하는 것을 특징으로 하는 학습 장치.
  18. 제16항에 있어서,
    상기 (IV) 프로세스에서,
    상기 프로세서는, 상기 제2 로스를 이용한 백프로퍼게이션에 의해 상기 판별자 및 상기 제2 데이터 생성자 네트워크의 경사 상승법(gradient ascent)을 수행하는 것을 특징으로 하는 학습 장치.
  19. 제16항에 있어서,
    상기 (IV) 프로세스에서,
    상기 프로세서는, 상기 제2 로스를 이용한 백프로퍼게이션을 통해 상기 판별자의 상기 제2 현재 학습을 수행할 경우, 상기 복제 데이터 생성자 네트워크로부터의 상기 제2 합성 이전 데이터를 실제 데이터로 간주하여 상기 판별자의 상기 제2 현재 학습을 수행하는 것을 특징으로 하는 학습 장치.
  20. 제16항에 있어서,
    상기 (IV) 프로세스에서,
    상기 프로세서는, 상기 스코어 벡터 중, 상기 제3 합성 이전 데이터에 대응되는 제3 합성 이전 데이터 스코어 벡터가 최대화되도록, 상기 원본 데이터 생성자 네트워크의 상기 제2 현재 학습을 수행하는 것을 특징으로 하는 학습 장치.
  21. 제16항에 있어서,
    상기 (IV) 프로세스에서,
    상기 프로세서는, 상기 제2 현재 학습이 완료되면, 상기 새로운 데이터를 삭제하며, 상기 새로운 데이터 및 상기 제2 합성 이전 데이터가, 다음 학습에 이용되기 위한 상기 이전 데이터로 출력될 수 있도록 상기 원본 데이터 생성자 네트워크를 업데이트하는 것을 특징으로 하는 학습 장치.
  22. 제16항에 있어서,
    상기 제2 현재 학습이 최초 학습일 경우,
    상기 (I) 프로세스에서,
    상기 프로세서는, 상기 기설정된 제1 볼륨의 상기 새로운 데이터 만을 이용하여 상기 제1 배치를 생성하며,
    상기 (III) 프로세스에서,
    상기 프로세서는, 상기 원본 데이터 생성자 네트워크로 하여금 상기 k 차원 랜덤 벡터에 대응되는 제3 합성 이전 데이터를 출력하는 프로세스를 반복하도록 하여, 상기 제3 합성 이전 데이터가 상기 기설정된 제1 볼륨이 되도록 하며, 상기 기설정된 제1 볼륨의 상기 새로운 데이터 및 상기 기설정된 제1 볼륨의 상기 제3 합성 이전 데이터를 참조하여 상기 제2 배치를 생성하는 것을 특징으로 하는 학습 장치.
  23. 제15항에 있어서,
    상기 프로세서는, 상기 제1 로스를 이용한 백프로퍼게이션에 의해 상기 제1 로스가 수렴할 때까지 상기 (I) 프로세스와 상기 (II) 프로세스를 반복하는 것을 특징으로 하는 학습 장치.
  24. 제15항에 있어서,
    상기 (II) 프로세스에서,
    상기 프로세서는, 상기 제1 로스를 이용한 백프로퍼게이션에 의해 상기 뉴럴 네트워크의 경사 하강법(gradient descent)을 수행하는 것을 특징으로 하는 학습 장치.
  25. 제15항에 있어서,
    상기 뉴럴 네트워크가 적어도 하나의 벡터를 입력으로서 획득하는 분류기일 경우, 상기 원본 데이터 생성자 네트워크는, 상기 k 차원 랜덤 벡터에 대응되는 k 차원 정보에 적어도 하나의 FC(fully connected) 연산을 적용하여 적어도 하나의 D 차원 벡터와 적어도 하나의 C 차원 원 핫(one-hot) 벡터를 출력하는 하나 이상의 FC 레이어를 포함하는 것을 특징으로 하는 학습 장치.
  26. 제15항에 있어서,
    상기 뉴럴 네트워크가 적어도 하나의 RGB 이미지를 입력으로서 획득하는 객체 검출기일 경우, 상기 원본 데이터 생성자 네트워크는, 상기 k 차원 랜덤 벡터에 대응되는 1 x 1 x K 정보를 적어도 하나의 H x W x 3 텐서로 변형시키는 하나 이상의 전치 컨벌루션 레이어와, 상기 H x W x 3 텐서를 분석하여 적어도 하나의 R x (4 + C) 벡터 - 상기 R은 적어도 하나의 R 차원 벡터를 포함하며, (4 + C)는
    Figure pat00020
    및 적어도 하나의 C 차원 원 핫 벡터를 포함함 - 를 출력하는 패스터 R-CNN을 포함하는 것을 특징으로 하는 학습 장치.
  27. 온디바이스(on-device) 연속 학습을 완료한 뉴럴 네트워크를 테스트하는 테스팅 장치에 있어서,
    인스트럭션을 저장하는 적어도 하나의 메모리; 및
    학습 장치가, (1) 새로운 데이터가 기설정된 기준 볼륨이 되면, 상기 새로운 데이터를 샘플링하여 기설정된 제1 볼륨이 되도록 하며, 적어도 하나의 k 차원 랜덤 벡터(k-dimensional random vector)를 이전 학습된 원본 데이터 생성자 네트워크로 입력함으로써, 상기 원본 데이터 생성자 네트워크로 하여금, 상기 k 차원 랜덤 벡터에 대응되는 제1 합성 이전 데이터 - 상기 제1 합성 이전 데이터는 상기 원본 데이터 생성자 네트워크를 이전 학습하는데 사용되었던 이전 데이터에 대응됨 - 를 출력하는 프로세스를 반복하도록 하여, 상기 제1 합성 이전 데이터가 기설정된 제2 볼륨이 되도록 하고, 상기 기설정된 제1 볼륨의 상기 새로운 데이터 및 상기 기설정된 제2 볼륨의 상기 제1 합성 이전 데이터를 참조하여, 제1 현재 학습에 이용될 제1 배치(batch)를 생성하는 프로세스 및 (2) 상기 제1 배치를 상기 뉴럴 네트워크로 입력하여 상기 뉴럴 네트워크로 하여금 상기 제1 배치에 대응하는 학습용 출력 정보를 생성하도록 하며, 제1 로스 레이어로 하여금 상기 학습용 출력 정보와 이에 대응되는 GT(Ground Truth)를 참조하여 하나 이상의 제1 로스를 산출하도록 함으로써, 이를 이용한 백프로퍼게이션(backpropagation)을 통해 상기 뉴럴 네트워크의 상기 제1 현재 학습을 수행하는 프로세스를 수행한 상태에서, 테스트 데이터를 상기 뉴럴 네트워크로 입력하여, 상기 뉴럴 네트워크로 하여금 상기 테스트 데이터에 대응되는 테스트용 출력 정보를 생성하도록 하는 프로세스를 수행하기 위한 상기 인스트럭션을 실행하도록 구성된 적어도 하나의 프로세서;
    를 포함하는 것을 특징으로 하는 테스팅 장치.
  28. 제27항에 있어서,
    상기 학습 장치가, (3) 상기 새로운 데이터를 샘플링하여 상기 기설정된 제1 볼륨이 되도록 하고, 상기 원본 데이터 생성자 네트워크를 복제함으로써 복제 데이터 생성자 네트워크를 생성하며, 상기 복제 데이터 생성자 네트워크로 하여금 상기 k 차원 랜덤 벡터에 대응되는 제2 합성 이전 데이터 - 상기 제2 합성 이전 데이터는 상기 원본 데이터 생성자 네트워크를 이전 학습하는데 사용되었던 상기 이전 데이터에 대응됨 - 를 출력하는 프로세스를 반복하도록 하여, 상기 제2 합성 이전 데이터가 상기 기설정된 제2 볼륨이 되도록 하고, 상기 원본 데이터 생성자 네트워크로 하여금 상기 k 차원 랜덤 벡터에 대응되는 제3 합성 이전 데이터 - 상기 제3 합성 이전 데이터는 상기 원본 데이터 생성자 네트워크를 이전 학습하는데 사용되었던 상기 이전 데이터에 대응됨 - 를 출력하는 프로세스를 반복하도록 하여, 상기 제3 합성 이전 데이터가 기설정된 제3 볼륨 - 상기 기설정된 제3 볼륨은 상기 기설정된 제1 볼륨과 상기 기설정된 제2 볼륨의 합한 볼륨임 - 이 되도록 하며, 상기 기설정된 제1 볼륨의 상기 새로운 데이터, 상기 기설정된 제2 볼륨의 상기 제2 합성 이전 데이터, 및 상기 기설정된 제3 볼륨의 상기 제3 합성 이전 데이터를 참조하여, 제2 현재 학습에 이용될 제2 배치를 생성하는 프로세스, 및 (4) 상기 제2 배치를 판별자로 입력하여 상기 판별자로 하여금 상기 제2 배치에 대응되는 스코어 벡터를 출력하도록 하며, 제2 로스 레이어로 하여금 상기 스코어 벡터와 이에 대응되는 GT를 참조하여 하나 이상의 제2 로스를 산출하도록 하고, 상기 제2 로스를 이용한 백프로퍼게이션을 통해 상기 판별자 및 상기 원본 데이터 생성자 네트워크의 상기 제2 현재 학습을 수행하는 프로세스를 더 수행하는 것을 특징으로 하는 테스팅 장치.
KR1020190166181A 2019-01-28 2019-12-12 스마트폰, 드론, 선박 혹은 군사적 목적에 이용하기 위한, 입력 데이터를 분석하는 뉴럴 네트워크를 온디바이스 연속 학습하는 방법 및 장치, 그리고, 이에 의해 학습된 뉴럴 네트워크를 테스트하는 방법 및 장치 KR102349933B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/259,389 US11315021B2 (en) 2019-01-28 2019-01-28 Method and device for on-device continual learning of a neural network which analyzes input data, and method and device for testing the neural network to be used for smartphones, drones, vessels, or military purpose
US16/259,389 2019-01-28

Publications (2)

Publication Number Publication Date
KR20200093427A true KR20200093427A (ko) 2020-08-05
KR102349933B1 KR102349933B1 (ko) 2022-01-12

Family

ID=69172613

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190166181A KR102349933B1 (ko) 2019-01-28 2019-12-12 스마트폰, 드론, 선박 혹은 군사적 목적에 이용하기 위한, 입력 데이터를 분석하는 뉴럴 네트워크를 온디바이스 연속 학습하는 방법 및 장치, 그리고, 이에 의해 학습된 뉴럴 네트워크를 테스트하는 방법 및 장치

Country Status (5)

Country Link
US (2) US11315021B2 (ko)
EP (1) EP3686811A1 (ko)
JP (1) JP7081837B2 (ko)
KR (1) KR102349933B1 (ko)
CN (1) CN111488979B (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11544532B2 (en) * 2019-09-26 2023-01-03 Sap Se Generative adversarial network with dynamic capacity expansion for continual learning
CN110991619A (zh) * 2019-12-09 2020-04-10 Oppo广东移动通信有限公司 神经网络处理器、芯片和电子设备
US11087215B1 (en) * 2020-07-25 2021-08-10 Sas Institute Inc. Machine learning classification system
CN112257785A (zh) * 2020-10-23 2021-01-22 中科院合肥技术创新工程院 基于记忆巩固机制与gan模型的序列化任务完成方法及系统
CN113450413B (zh) * 2021-07-19 2022-09-27 哈尔滨工业大学 基于gf4单帧图像的舰船目标检测方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100322489A1 (en) * 2009-06-18 2010-12-23 Omisa Inc. System and method for image segmentation

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10140572B2 (en) * 2015-06-25 2018-11-27 Microsoft Technology Licensing, Llc Memory bandwidth management for deep learning applications
US10706327B2 (en) 2016-08-03 2020-07-07 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium
CN108073941A (zh) * 2016-11-17 2018-05-25 江南大学 一种基于深度学习的图像语义生成方法
US10210631B1 (en) * 2017-08-18 2019-02-19 Synapse Technology Corporation Generating synthetic image data
US11120337B2 (en) * 2017-10-20 2021-09-14 Huawei Technologies Co., Ltd. Self-training method and system for semi-supervised learning with generative adversarial networks
US20190130266A1 (en) * 2017-10-27 2019-05-02 Royal Bank Of Canada System and method for improved neural network training
CN107958287A (zh) * 2017-11-23 2018-04-24 清华大学 面向跨界大数据分析的对抗迁移学习方法及系统
US10388002B2 (en) * 2017-12-27 2019-08-20 Facebook, Inc. Automatic image correction using machine learning
US10970765B2 (en) * 2018-02-15 2021-04-06 Adobe Inc. Generating user-customized items using a visually-aware image generation network
CN108830285B (zh) 2018-03-14 2021-09-21 江南大学 一种基于Faster-RCNN的加强学习的目标检测方法
US11423282B2 (en) * 2018-10-30 2022-08-23 Huawei Technologies Co., Ltd. Autoencoder-based generative adversarial networks for text generation
US11663483B2 (en) * 2018-10-30 2023-05-30 Huawei Technologies Co., Ltd. Latent space and text-based generative adversarial networks (LATEXT-GANs) for text generation
JP7318197B2 (ja) * 2018-11-15 2023-08-01 富士通株式会社 逐次学習プログラム、逐次学習装置および逐次学習方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100322489A1 (en) * 2009-06-18 2010-12-23 Omisa Inc. System and method for image segmentation

Also Published As

Publication number Publication date
US20200242476A1 (en) 2020-07-30
CN111488979B (zh) 2023-11-07
CN111488979A (zh) 2020-08-04
US10783438B2 (en) 2020-09-22
JP2020119567A (ja) 2020-08-06
US20200242475A1 (en) 2020-07-30
EP3686811A1 (en) 2020-07-29
KR102349933B1 (ko) 2022-01-12
JP7081837B2 (ja) 2022-06-07
US11315021B2 (en) 2022-04-26

Similar Documents

Publication Publication Date Title
KR102349933B1 (ko) 스마트폰, 드론, 선박 혹은 군사적 목적에 이용하기 위한, 입력 데이터를 분석하는 뉴럴 네트워크를 온디바이스 연속 학습하는 방법 및 장치, 그리고, 이에 의해 학습된 뉴럴 네트워크를 테스트하는 방법 및 장치
KR102309702B1 (ko) 이미지를 인코딩하기 위한 방법 및 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치
JP6865364B2 (ja) エッジロスを利用して歩行者イベント、自動車イベント、フォーリングイベント、フォールンイベントを含むイベントを検出するにおいて利用されるセグメンテーション性能向上のための学習方法及び学習装置、並びにそれを利用したテスト方法及びテスト装置
KR20200095356A (ko) 딥 뉴럴 네트워크(deep neural network) 기반의 다중 패치 조합(multiple patch combination)을 이용하여 얼굴을 인식하고, 극도의 상황에서 결함 허용 능력 및 흔들림에 강인한 성질을 향상시키는 방법
US11113574B1 (en) Methods for performing self-supervised learning of deep-learning based detection network by using deep Q-network and devices using the same
KR102042168B1 (ko) 시계열 적대적인 신경망 기반의 텍스트-비디오 생성 방법 및 장치
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
JP2020119506A (ja) メタ学習のために残差ネットワークが提供されるcnnのパラメータを調整するための学習方法及び学習装置、そしてこれを利用したテスティング方法及びテスティング装置{learning method and learning device for adjusting parameters of cnn in which residual networks are provided for meta learning, and testing method and testing device using the same}
KR102313604B1 (ko) 멀티 피딩을 적용한 학습 방법 및 학습 장치 그리고 이를 이용한 테스트 방법 및 테스트 장치
KR102320995B1 (ko) 객체의 스케일에 따라 모드 전환이 가능한 cnn 기반의 감시용 객체 검출기의 학습 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치
KR20200092847A (ko) 핵심 성능 지수를 만족시킬 수 있는 하드웨어 최적화가 이루어지도록, cnn에서 복수의 블록 내의 입력 이미지로부터 특징을 추출하는 학습 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치
KR20200094644A (ko) V2x 정보 융합 기술을 통해 획득된, 각 객체에 대한 깊이 예측 정보 및 각 객체에 대한 클래스 정보를 이용해 3d 공간을 재구축함으로써 hd 맵을 업데이트하는 학습 방법 및 학습 장치, 그리고 이를 이용한 테스팅 방법 및 테스팅 장치
KR102349969B1 (ko) 스마트폰, 드론, 선박 혹은 군사적 목적을 위한, 트레이닝 이미지의 최적화 샘플링에 의해 입력 데이터를 분석하는 뉴럴 네트워크의 온디바이스 연속 학습 방법 및 장치, 그리고, 이를 이용한 테스트 방법 및 장치
CN113850373A (zh) 一种基于类别的滤波器剪枝方法
KR20220088497A (ko) 서브-커널 써칭 모듈을 사용하여 온-디바이스 뉴럴 네트워크 모델을 최적화하는 방법 및 장치
KR20220134428A (ko) 서로 다른 스펙을 가지는 영상 장치들로부터 획득된 이미지들을 이용하여 퍼셉션 네트워크를 학습 및 테스트하는 방법 및 이를 이용한 학습 및 테스트 장치
Himbitski et al. Generating Graphs With Specified Properties And Their Use For Constructing Scene Graphs From Images
CN118052999A (zh) 一种多任务大模型的训练方法及装置

Legal Events

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