KR20220134429A - 딥 Q-네트워크를 이용하여 딥러닝 기반의 디텍션 네트워크에 대한 자기지도학습(self-supervised learning)을 수행하는 방법 및 이를 이용한 학습 장치 - Google Patents

딥 Q-네트워크를 이용하여 딥러닝 기반의 디텍션 네트워크에 대한 자기지도학습(self-supervised learning)을 수행하는 방법 및 이를 이용한 학습 장치 Download PDF

Info

Publication number
KR20220134429A
KR20220134429A KR1020220015016A KR20220015016A KR20220134429A KR 20220134429 A KR20220134429 A KR 20220134429A KR 1020220015016 A KR1020220015016 A KR 1020220015016A KR 20220015016 A KR20220015016 A KR 20220015016A KR 20220134429 A KR20220134429 A KR 20220134429A
Authority
KR
South Korea
Prior art keywords
new
generate
network
unlabeled image
unlabeled
Prior art date
Application number
KR1020220015016A
Other languages
English (en)
Inventor
유우주
강봉남
제홍모
Original Assignee
주식회사 스트라드비젼
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 스트라드비젼 filed Critical 주식회사 스트라드비젼
Publication of KR20220134429A publication Critical patent/KR20220134429A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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/2163Partitioning the feature space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • 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/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • 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/7753Incorporation of unlabelled data, e.g. multiple instance learning [MIL]
    • 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/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/778Active pattern-learning, e.g. online learning of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/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/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • G06V10/806Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/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/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • G06V10/809Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of classification results, e.g. where the classifiers operate on the same input data
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements

Landscapes

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

Abstract

딥 Q-네트워크를 이용하여 딥러닝 기반의 디텍션 네트워크(detection network)를 자기지도학습(self-supervised learning)하는 방법에 있어서, 학습 데이터베이스로 학습된 상기 디텍션 네트워크를 통해 제1 언라벨드 이미지에 대한 오브젝트 디텍션을 수행하여 제1 오브젝트 디텍션 정보를 생성하고, 상기 딥 Q-네트워크를 통해 상기 제1 오브젝트 디텍션 정보에 대응하는 제1 스테이트 셋(state set)을 러닝 연산하여 Q-Value를 생성하며, Q-Value의 액션이 상기 제1 언라벨드 이미지의 억셉턴스(acceptance)에 대응될 경우, 상기 제1 언라벨드 이미지의 라벨드 이미지(labeled image)를 학습 데이터로 추가한 상기 학습 데이터베이스를 이용하여 재학습된 상기 디텍션 네트워크를 테스트하여 제1 정확도(accuracy)를 생성하고, 상기 액션이 상기 제1 언라벨드 이미지의 리젝션(rejection)에 대응될 경우, 상기 디텍션 네트워크를 재학습 없이 테스트하여 제2 정확도를 생성하며, 상기 제1 스테이트 셋, 상기 액션, 상기 제1 정확도나 상기 제2 정확도에 대한 리워드 및 제2 언라벨드 이미지의 제2 스테이트 셋을 트랜지션 벡터(transition vector)로 생성하고, 상기 딥 Q-네트워크를 상기 트랜지션 벡터를 이용하는 학습시키는 방법 및 이를 이용한 장치가 개시된다.

Description

딥 Q-네트워크를 이용하여 딥러닝 기반의 디텍션 네트워크에 대한 자기지도학습(self-supervised learning)을 수행하는 방법 및 이를 이용한 학습 장치{METHODS FOR PERFORMING SELF-SUPERVISED LEARNING OF DEEP-LEARNING BASED DETECTION NETWORK BY USING DEEP Q-NETWORK AND DEVICES USING THE SAME}
본 발명은 2021년 3월 26일 출원된 미국특허출원번호 제17/213,853호에 대한 우선권을 주장하며, 이는 본원에 참조로서 포함된다.
본 발명은 딥 Q-네트워크를 이용하여 딥러닝 기반의 디텍션 네트워크(detection network)에 대한 자기지도학습(self-supervised learning)을 수행하는 방법 및 이를 이용한 학습 장치에 관한 것으로, 보다 상세하게는, 디텍션 네트워크에서의 오브젝트 디텍션 결과를 이용하여 딥 Q-네트워크가 학습에 유용한 것으로 선택한 학습 데이터를 이용하여 디텍션 네트워크를 자기지도학습 시키는 방법 및 이를 이용한 학습 장치에 관한 것이다.
이미지 상의 객체들에 대한 위치와 클래스를 인식하기 위한 오브젝트 디텍션을 수행하는 디텍션 네트워크를 효과적으로 학습시키기 위해서는 많은 학습 데이터가 요구된다.
종래에는, 이미지 상의 객체들에 대한 정답 데이터인 그라운드 트루스(ground truth)를 라벨링한 학습 데이터를 이용한 학습을 통하여 디텍션 네트워크의 이미지 분석에 대한 정확도를 높이는 지도 학습(supervised learning) 기법이 흔하게 사용되었다. 그러나, 지도 학습(supervised learning)에서는 높은 성능을 달성하기 위해선 방대한 양의 학습 데이터가 요구되고, 라벨링된 학습 데이터가 필요하기 때문에 인간이 직접 라벨링 작업을 수행하여야 하므로 주어진 태스크가 복잡할수록 라벨링 작업에 시간과 비용이 많이 소요되기 때문에 이를 극복할 수 있는 학습 기법이 개발되고 있는 추세이다.
그 예로, 비지도 학습(unsupervised learning)의 경우, 라벨링된 학습 데이터를 사용하는 대신, 군집화(clustering)나 밀도 추정(density estimation) 등의 방법을 이용하여 데이터들을 그룹핑하거나 데이터 간의 패턴을 파악하는 방법으로 디텍션 네트워크를 학습시킨다. 그러나, 라벨링된 데이터가 제공되지 않기 때문에 군집화에 대한 결과를 평가하기 어렵고, 군집화나 패턴을 정의하여 실제 데이터에 적용하기에는 한계가 있다는 문제점이 있다.
또한, 다른 대안으로서 준지도 학습(semi-supervised learning)이나 자기지도 학습(self-supervised learning)과 같은 방법도 연구된다. 준지도 학습이나 자기지도 학습의 경우, 최소한의 라벨링된 학습 데이터와 많은 양의 라벨링되지 않은 학습 데이터를 이용하여 디텍션 네트워크에 대한 학습을 진행시킨다.
구체적으로, 준지도 학습이나 자기지도 학습은 라벨링된 학습 데이터를 이용하여 디텍션 네트워크에 대한 초기 학습을 진행한 다음, 추가로 획득한 학습 데이터를 이용하여 디텍션 네트워크로 하여금 주어진 태스크(task)를 수행하여 라벨링 데이터를 생성도록 하고, 이렇게 자체 생성한 라벨링 데이터를 가지는 추가된 학습 데이터와 초기 학습 때 주어진 라벨링된 학습 데이터를 이용하여 디텍션 네트워크에 대한 학습을 계속 진행한다.
다만, 준지도 학습이나 자기지도 학습을 수행하는 데에 있어서, 디텍션 네트워크의 학습에 사용될 자체 생성 데이터의 선택은 주로 모델 컨피던스(model confidence) 등을 이용한 휴리스틱(heuristic)한 접근을 이용하여 선택하는 데, 이러한 모델 컨피던스 등의 선택 기준의 정확도를 판단하기 어려울 뿐만 아니라, 이러한 선택 기준을 지속적으로 조정해 주는 데에는 많은 시간과 비용이 소요된다.
따라서, 상기 문제점들을 해결하기 위한 개선 방안이 요구되는 실정이다.
본 발명은 상술한 문제점을 모두 해결하는 것을 그 목적으로 한다.
또한, 본 발명은 딥 Q-네트워크(deep Q-network)가 생성한 Q-value를 이용하여 디텍션 네트워크(detection network)의 정확도를 증가시킬 수 있는 최적의 학습 데이터를 효과적으로 선택하는 것을 목적으로 한다.
또한, 본 발명은 디텍션 네트워크에 연결된 딥 Q-네트워크에 대하여 디텍션 네트워크의 정확도를 리워드(reward)로 이용한 강화 학습(reinforcement learning)을 수행하여 딥 Q-네트워크가 디텍션 네트워크의 정확도를 증가시킬 수 있는 최적의 학습 데이터를 선택하는 Q-value를 생성하도록 하는 것을 또 다른 목적으로 한다.
또한, 본 발명은 딥 Q-네트워크가 생성하는 Q-value를 바탕으로 선택된 학습 데이터를 이용하여 디텍션 네트워크에 대한 자기지도 학습(self-supervised learning)이 가능하도록 하는 것을 또 다른 목적으로 한다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한, 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 태양에 따르면, 딥 Q-네트워크(deep Q-network)를 이용하여 딥러닝 기반의 디텍션 네트워크(detection network)를 자기지도학습(self-supervised learning)하는 방법에 있어서, (a) 객체 탐지를 위한 디텍션 네트워크가 학습 데이터베이스에 저장된 학습 데이터들을 이용하여 학습된 상태에서, 언라벨드 데이터베이스(unlabeled database)에서 적어도 하나의 제1 언라벨드 이미지(unlabeled image)가 획득되면, 학습 장치가, (i) 상기 제1 언라벨드 이미지를 상기 디텍션 네트워크에 입력하여, 상기 디텍션 네트워크로 하여금, 상기 제1 언라벨드 이미지에 대한 오브젝트 디텍션을 수행하여 제1 오브젝트 디텍션 정보를 생성하도록 하거나 생성하도록 지원하고, (ii) 상기 제1 오브젝트 디텍션 정보를 참조하여 상기 제1 언라벨드 이미지 상에 포함된 제1 객체에 대한 제1_1 바운딩 박스에 대응되는 제1_1 클래시피케이션 컨피던스(classification confidence), 제1_1 리그레션 언서튼티(regression uncertainty), 제1_1 풀드 피쳐 맵(pooled feature map) 내지 상기 제1 언라벨드 이미지 상에 포함된 제k1 객체에 제1_k1 바운딩 박스 - 상기 k1는 1이상의 정수임 - 에 대응되는 제1_k1 클래시피케이션 컨피던스, 제1_k1 리그레션 언서튼티 및 제1_k1 풀드 피쳐 맵을 포함하는 제1 스테이트 셋(state set)을 생성하거나 생성하도록 지원하며, (iii) 상기 제1 스테이트 셋을 딥 Q-네트워크에 입력하여, 상기 딥 Q-네트워크로 하여금, 상기 제1 스테이트 셋을 러닝 연산하여 상기 제1 언라벨드 이미지에 대응되는 억셉턴스 스코어(acceptance score)와 리젝션 스코어(rejection score)를 포함하는 Q-Value를 생성하도록 하거나 생성하도록 지원하고, (iv) 상기 Q-Value에 argMax 함수를 적용하여 액션(action)을 생성하거나 생성하도록 지원하는 단계; (b) 상기 학습 장치가, (i) 상기 액션을 참조하여 (i-1) 상기 액션이 상기 제1 언라벨드 이미지의 억셉턴스(acceptance)에 대응될 경우, 상기 제1 오브젝트 디텍션 정보를 상기 제1 언라벨드 이미지에 라벨로 추가한 라벨드 이미지(labeled image)를 학습 데이터로 상기 학습 데이터베이스에 추가시키고, 상기 제1 언라벨드 이미지를 상기 언라벨드 데이터베이스에서 삭제하며, 상기 학습 데이터베이스에 포함된 적어도 하나의 상기 학습 데이터를 이용하여 상기 디텍션 네트워크를 재학습시키며, 재학습된 상기 디텍션 네트워크를 검증 데이터베이스를 이용하여 테스트하여 획득한 재학습된 상기 디텍션 네트워크의 제1 정확도(accuracy)를 참조하여 리워드를 생성하거나 생성하도록 지원하며, (i-2) 상기 액션이 상기 제1 언라벨드 이미지의 리젝션(rejection)에 대응될 경우, 상기 제1 언라벨드 이미지를 상기 언라벨드 데이터베이스에 삭제하고, 상기 디텍션 네트워크를 상기 검증 데이터베이스를 이용하여 테스트하여 획득한 상기 디텍션 네트워크의 제2 정확도(accuracy)를 참조하여 상기 리워드를 생성하거나 생성하도록 지원하며, (ii) 상기 언라벨드 데이터베이스에서 적어도 하나의 제2 언라벨드 이미지가 획득되면, (ii-1) 상기 제2 언라벨드 이미지를 상기 디텍션 네트워크에 입력하여, 상기 디텍션 네트워크로 하여금, 상기 제2 언라벨드 이미지에 대한 오브젝트 디텍션을 수행하여 제2 오브젝트 디텍션 정보를 생성하도록 하거나 생성하도록 지원하고, (ii-2) 상기 제2 오브텍트 디텍션 정보를 참조하여 상기 제2 언라벨드 이미지 상에 포함된 제1 객체에 대한 제2_1 바운딩 박스에 대응되는 제2_1 클래시피케이션 컨피던스, 제2_1 리그레션 언서튼티 및 제2_1 풀드 피쳐 맵 내지 상기 제2 언라벨드 이미지 상에 포함된 제k2 객체에 대한 제2_k2 바운딩 박스 - 상기 k2는 1이상의 정수임 - 에 대응되는 제2_k2 클래시피케이션 컨피던스, 제2_k2 리그레션 언서튼티 및 제2_k2 풀드 피쳐 맵을 포함하는 제2 스테이트 셋(state set)을 생성하거나 생성하도록 지원하며, (ii-3) 상기 제1 스테이트 셋, 상기 액션, 상기 리워드 및 상기 제2 스테이트 셋을 트랜지션 벡터(transition vector)로서 메모리에 저장하거나 저장하도록 지원하는 단계; 및 (c) 상기 학습 장치가, 상기 메모리로부터 적어도 하나의 학습용 트랜지션 벡터로 사용될 적어도 하나의 특정 트랜지션 벡터를 샘플링하여 미니배치(minibatch)를 생성하고, 상기 미니배치를 이용하여 상기 딥 Q-네트워크가 상기 제1 스테이트 셋 및 상기 제2 스테이트 셋에 따라 상기 리워드를 증가시키기 위한 액션을 출력하도록 상기 딥 Q-네트워크를 학습시키거나 학습시키도록 지원하는 단계;를 포함하는 방법이 개시된다.
일례로서, 상기 (a) 단계에서, 상기 학습 장치는, 상기 딥 Q-네트워크로 하여금, (i) 상기 제1_1 바운딩 박스에 대응되는 상기 제1_1 클래시피케이션 컨피던스, 상기 제1_1 리그레션 언서튼티, 상기 제1_1 풀드 피쳐 맵 내지 상기 제1_k1 바운딩 박스에 대응되는 상기 제1_ k1 클래시피케이션 컨피던스, 상기 제1_ k1 리그레션 언서튼티 및 상기 제1_k1 풀드 피쳐 맵 각각에 적어도 하나의 FC(Fully-Connected) 연산을 적용하여 상기 제1_1 바운딩 박스에 대응되는 제1 인터미디어트 억셉턴스 스코어(intermediate acceptance score)와 제1 인터미디어트 리젝션 스코어(intermediate rejection score) 내지 상기 제1_k1 바운딩 박스에 대응되는 제k1 인터미디어트 억셉턴스 스코어와 제k1 인터미디어트 리젝션 스코어를 생성하도록 하거나 생성하도록 지원하고, (ii) 상기 제1 인터미디어트 억셉턴스 스코어 내지 상기 제k1 인터미디어트 억셉턴스 스코어를 평균 연산하여 상기 억셉턴스 스코어를 생성하도록 하며, 상기 제1 인터미디어트 리젝션 스코어 내지 상기 제k1 인터미디어트 리젝션 스코어를 평균 연산하여 상기 리젝션 스코어를 생성하도록 함으로써 상기 억셉턴스 스코어와 상기 리젝션 스코어를 포함하는 상기 Q-Value를 생성하도록 하거나 생성하도록 지원하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 학습 장치는, 상기 딥 Q-네트워크로 하여금, 상기 제1_1 풀드 피쳐 맵 내지 상기 제1_k1 풀드 피쳐 맵에 적어도 하나의 1 x 1 컨벌루션 연산과 하나의 m x m 컨벌루션 연산을 적용하여 제1 피쳐 값(feature value) 내지 제k1 피쳐 값을 생성하고, 상기 제1_1 클래시피케이션 컨피던스 내지 상기 제1_k1 클래시피케이션 컨피던스, 상기 제1_1 리그레션 언서튼티 내지 상기 제1_k1 리그레션 언서튼티 및 상기 제1 피쳐 값 내지 상기 제k1 피쳐 값에 적어도 하나의 상기 FC 연산을 적용하여 상기 제1 인터미디어트 억셉턴스 스코어 내지 상기 제k1 인터미디어트 억셉턴스 스코어 및 상기 제1 인터미디어트 리젝션 스코어 내지 상기 제k1 인터미디어트 리젝션 스코어를 생성하도록 하거나 생성하도록 지원하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (a) 단계, 상기 (b) 단계 및 상기 (c) 단계는 반복적으로 수행되어 복수의 상기 트랜지션 벡터를 생성하고, 매 이터레이션의 상기 (c) 단계에서, 상기 학습 장치는, 상기 메모리의 상기 트랜지션 벡터의 축적양에 비례하여 상기 학습용 트랜지션 벡터로 사용될 a*n개나 2^n개 - 여기서, a와 n은 1 이상의 정수이며, n은 기설정된 이터레이션 수마다 1씩 증가한다 - 의 상기 특정 트랜지션 벡터를 랜덤으로 선택하여 적어도 하나의 상기 미니배치를 생성하며, 상기 각 미니배치를 이용하여 상기 딥 Q-네트워크를 학습시키거나 학습시키도록 지원하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (a) 단계, 상기 (b) 단계 및 상기 (c) 단계는 반복적으로 수행되어 복수의 상기 트랜지션 벡터를 생성하고, 상기 메모리는 리플레이 메모리(replay memory)를 포함하며, 매 이터레이션의 상기 (c) 단계에서, 상기 학습 장치는, (i) 상기 트랜지션 벡터를 상기 리플레이 메모리로 전송하여 상기 리플레이 메모리로 하여금 싸이클릭 버퍼(cyclic buffer)의 기설정된 용량에 따라 상기 트랜지션 벡터를 가장 오래된 이전 트랜지션 벡터에 오버라이트(overwrite)하여 저장하도록 하거나 저장하도록 지원하고, (ii) 상기 리플레이 메모리로부터 상기 학습용 트랜지션 벡터로 사용될 상기 특정 트랜지션 벡터를 랜덤하게 샘플링하여 상기 미니배치를 생성하거나 생성하도록 지원하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (a) 단계에서, 상기 학습 장치는, 상기 제1 언라벨드 이미지를 상기 디텍션 네트워크로 입력하여, 상기 디텍션 네트워크로 하여금 (i) 적어도 하나의 컨벌루션 레이어를 통해 상기 제1 언라벨드 이미지를 적어도 한번 컨벌루션 연산하여 상기 제1 언라벨드 이미지에 대응되는 제1 피쳐 맵(featue map)을 생성하도록 하거나 생성하도록 지원하고, (ii) RPN(Region Proposal Network)을 통해 상기 제1 피쳐 맵을 참조하여 상기 제1 언라벨드 이미지 상에서 상기 제1 객체 내지 상기 제k1 객체가 있을 것으로 예측되는 후보 영역들에 대한 ROI(region of interest)들을 생성하도록 하거나 생성하도록 지원하며, (iii) 풀링 레이어를 통해 상기 제1 피쳐 맵 상에서 상기 ROI들에 대응되는 각각의 상기 후보 영역들을 ROI 풀링하여 상기 ROI들 각각에 대응되는 풀드 피쳐 맵들 각각을 생성하도록 하거나 생성하도록 지원하고, (iv) 적어도 하나의 FC(Fully-Connected) 레이어를 통해 상기 풀드 피쳐 맵들을 FC 연산하여 상기 ROI들 각각에 대응하는 리그레션 정보(regression information)들과 클래시피케이션 정보(classification information)들을 생성하도록 하거나 생성하도록 지원하며, (v) 상기 ROI들 각각에 대응하는 상기 리그레션 정보들과 상기 클래시피케이션 정보들을 참조하여 상기 제1 언라벨드 이미지 상에 위치하는 상기 제1 객체 내지 상기 제k1 객체 각각에 대응하는 상기 제1_1 바운딩 박스 내지 상기 제1_k1 바운딩 박스와, 상기 제1_1 클래시피케이션 정보 내지 상기 제1_k1 클래시피케이션 정보를 생성하도록 하거나 생성하도록 지원하는 것을 특징으로 하는 방법이 개시된다.
본 발명의 다른 태양에 따르면, 딥 Q-네트워크(deep Q-network)를 이용하여 딥러닝 기반의 디텍션 네트워크(detection network)를 자기지도학습(self-supervised learning)하는 방법에 있어서, (a) 객체 탐지를 위한 디텍션 네트워크가 학습 데이터베이스에 저장된 학습 데이터로 학습된 상태에서, 학습 장치에 의해, (I) 언라벨드 데이터베이스(unlabeled database)에서 적어도 하나의 제1 언라벨드 이미지(unlabeled image)가 획득되면, (i) 상기 제1 언라벨드 이미지를 상기 디텍션 네트워크에 입력하여, 상기 디텍션 네트워크로 하여금, 상기 제1 언라벨드 이미지에 대한 오브젝트 디텍션을 수행하여 제1 오브젝트 디텍션 정보를 생성하도록 하거나 생성하도록 지원하고, (ii) 상기 제1 오브젝트 디텍션 정보를 참조하여 상기 제1 언라벨드 이미지 상에 포함된 제1 객체에 대한 제1_1 바운딩 박스에 대응되는 제1_1 클래시피케이션 컨피던스(classification confidence), 제1_1 리그레션 언서튼티(regression uncertainty), 제1_1 풀드 피쳐 맵(pooled feature map) 내지 상기 제1 언라벨드 이미지 상에 포함된 제k1 객체에 대한 제1_k1 바운딩 박스 - 상기 k1는 1이상의 정수임 - 에 대응되는 제1_k1 클래시피케이션 컨피던스, 제1_k1 리그레션 언서튼티 및 제1_k1 풀드 피쳐 맵을 포함하는 제1 스테이트 셋(state set)을 생성하거나 생성하도록 지원하며, (iii) 상기 제1 스테이트 셋을 딥 Q-네트워크에 입력하여, 상기 딥 Q-네트워크로 하여금, 상기 제1 스테이트 셋을 러닝 연산하여 상기 제1 언라벨드 이미지에 대응되는 억셉턴스 스코어(acceptance score)와 리젝션 스코어(rejection score)를 포함하는 Q-Value를 생성하도록 하거나 생성하도록 지원하고, (iv) 상기 Q-Value에 argMax 함수를 적용하여 액션(action)을 생성하거나 생성하도록 지원하고, (II) (i) 상기 액션을 참조하여 (i-1) 상기 액션이 상기 제1 언라벨드 이미지의 억셉턴스(acceptance)에 대응될 경우, 상기 제1 오브젝트 디텍션 정보를 상기 제1 언라벨드 이미지에 라벨로 추가한 라벨드 이미지(labeled image)를 학습 데이터로 상기 학습 데이터베이스에 추가시키고, 상기 제1 언라벨드 이미지를 상기 언라벨드 데이터베이스에서 삭제하며, 상기 학습 데이터베이스에 포함된 적어도 하나의 상기 학습 데이터를 이용하여 상기 디텍션 네트워크를 재학습시키며, 재학습된 상기 디텍션 네트워크를 검증 데이터베이스를 이용하여 테스트하여 획득한 재학습된 상기 디텍션 네트워크의 제1 정확도를 리워드(reward)로 생성하거나 생성하도록 지원하며, (i-2) 상기 액션이 상기 제1 언라벨드 이미지의 리젝션(rejection)에 대응될 경우, 상기 제1 언라벨드 이미지를 상기 언라벨드 데이터베이스에 삭제하고, 상기 디텍션 네트워크를 상기 검증 데이터베이스를 이용하여 테스트하여 획득한 상기 디텍션 네트워크의 제2 정확도를 상기 리워드로서 생성하거나 생성하도록 지원하며, (ii) 상기 언라벨드 데이터베이스에서 적어도 하나의 제2 언라벨드 이미지가 획득되면, (ii-1) 상기 제2 언라벨드 이미지를 상기 디텍션 네트워크에 입력하여, 상기 디텍션 네트워크로 하여금, 상기 제2 언라벨드 이미지에 대한 오브젝트 디텍션을 수행하여 제2 오브젝트 디텍션 정보를 생성하도록 하거나 생성하도록 지원하고, (ii-2) 상기 제2 오브텍트 디텍션 정보를 참조하여 상기 제2 언라벨드 이미지 상에 포함된 제1 객체에 대한 제2_1 바운딩 박스에 대응되는 제2_1 클래시피케이션 컨피던스, 제2_1 리그레션 언서튼티 및 제2_1 풀드 피쳐 맵 내지 상기 제2 언라벨드 이미지 상에 포함된 제k2 객체에 대한 제2_k2 바운딩 박스 - 상기 k2는 1 이상의 정수임 - 에 대응되는 제2_k2 클래시피케이션 컨피던스, 제2_k2 리그레션 언서튼티 및 제2_k2 풀드 피쳐 맵을 포함하는 제2 스테이트 셋을 생성하거나 생성하도록 지원하며, (ii-3) 상기 제1 스테이트 셋, 상기 액션, 상기 리워드 및 상기 제2 스테이트 셋을 트랜지션 벡터로서 메모리에 저장하거나 저장하도록 지원하고, (III) 상기 메모리로부터 적어도 하나의 학습용 트랜지션 벡터로 사용될 적어도 하나의 특정 트랜지션 벡터를 샘플링하여 미니배치(minibatch)를 생성하고, 상기 미니배치를 이용하여 상기 딥 Q-네트워크가 상기 제1 스테이트 셋 및 상기 제2 스테이트 셋에 따라 상기 리워드를 증가시키기 위한 액션을 출력하도록 상기 딥 Q-네트워크를 학습시키거나 학습시키도록 지원한 상태에서, 자가 학습 장치가, 신규 언라벨드 데이터베이스에서 선택된 적어도 하나의 신규 언라벨드 이미지가 획득되면, (i) 상기 신규 언라벨드 이미지를 상기 디텍션 네트워크에 입력하여, 상기 디텍션 네트워크로 하여금, 상기 신규 언라벨드 이미지에 대한 오브젝트 디텍션을 수행하여 신규 오브젝트 디텍션 정보를 생성하도록 하거나 생성하도록 지원하고, (ii) 상기 신규 오브젝트 디텍션 정보를 참조하여 상기 신규 언라벨드 이미지 상에 포함된 제1 객체에 대한 제1 신규 바운딩 박스에 대응되는 제1 신규 클래시피케이션 컨피던스, 제1 신규 리그레션 언서튼티 및 제1 신규 풀드 피쳐 맵 내지 상기 신규 언라벨드 이미지 상에 포함된 제k3 객체에 대한 제k3 신규 바운딩 박스 - 상기 k3는 1이상의 정수임 - 에 대응되는 제k3 신규 클래시피케이션 컨피던스, 제k3 신규 리그레션 언서튼티 및 제k3 신규 풀드 피쳐 맵을 포함하는 신규 스테이트 셋을 생성하거나 생성하도록 지원하며, (iii) 상기 신규 스테이트 셋을 딥 Q-네트워크에 입력하여, 상기 딥 Q-네트워크로 하여금, 상기 신규 스테이트 셋을 러닝 연산하여 상기 신규 언라벨드 이미지에 대응되는 신규 억셉턴스 스코어와 신규 리젝션 스코어를 포함하는 신규 Q-Value를 생성하도록 하거나 생성하도록 지원하고, (iv) 상기 신규 Q-Value에 argMax 함수를 적용하여 신규 액션을 생성하거나 생성하도록 지원하는 단계; 및 (b) 상기 자가 학습 장치가, 상기 신규 액션을 참조하여 (i) 상기 신규 액션이 상기 신규 언라벨드 이미지의 억셉턴스(acceptance)에 대응될 경우, 상기 신규 오브젝트 디텍션 정보를 상기 신규 언라벨드 이미지에 라벨로 추가한 신규 라벨드 이미지를 상기 학습 데이터로 상기 학습 데이터베이스에 추가시키고, 상기 신규 언라벨드 이미지를 상기 신규 언라벨드 데이터베이스에서 삭제하며, 상기 학습 데이터베이스에 포함된 적어도 하나의 상기 학습 데이터를 이용하여 상기 디텍션 네트워크를 재학습시키거나 재학습시키도록 지원하고, (ii) 상기 신규 액션이 상기 신규 언라벨드 이미지의 리젝션(rejection)에 대응될 경우, 상기 신규 언라벨드 이미지를 상기 신규 언라벨드 데이터베이스에서 삭제하는 단계;를 포함하는 방법이 개시된다.
일례로서, 상기 (a) 단계에서, 상기 자가 학습 장치는, 상기 딥 Q-네트워크로 하여금, (i) 상기 제1 신규 바운딩 박스에 대응되는 상기 제1 신규 클래시피케이션 컨피던스, 상기 제1 신규 리그레션 언서튼티 및 상기 제1 신규 풀드 피쳐 맵 내지 상기 제1 신규 바운딩 박스에 대응되는 상기 제k3 신규 클래시피케이션 컨피던스, 상기 제k3 신규 리그레션 언서튼티 및 상기 제k3 신규 풀드 피쳐 맵에 적어도 하나의 FC(Fully-Connected) 연산을 적용하여 상기 제1 신규 바운딩 박스에 대응되는 제1 신규 인터미디어트 억셉턴스 스코어(intermediate acceptance score)와 제1 신규 인터미디어트 리젝션 스코어(intermediate rejection score) 내지 상기 제k3 신규 바운딩 박스에 대응되는 제k3 신규 인터미디어트 억셉턴스 스코어와 제k3 신규 인터미디어트 리젝션 스코어를 생성하도록 하거나 생성하도록 지원하고, (ii) 상기 제1 신규 인터미디어트 억셉턴스 스코어 내지 상기 제k3 신규 인터미디어트 억셉턴스 스코어를 평균 연산하여 상기 신규 억셉턴스 스코어를 생성하도록 하며, 상기 제1 신규 인터미디어트 리젝션 스코어 내지 상기 제k3 신규 인터미디어트 리젝션 스코어를 평균 연산하여 상기 신규 리젝션 스코어를 생성하도록 함으로써 상기 신규 억셉턴스 스코어와 상기 신규 리젝션 스코어를 포함하는 상기 신규 Q-Value를 생성하도록 하거나 생성하도록 지원하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 자가 학습 장치는, 상기 딥 Q-네트워크로 하여금, 상기 제1 신규 풀드 피쳐 맵 내지 상기 제k3 신규 풀드 피쳐 맵에 적어도 하나의 1 x 1 컨벌루션 연산과 하나의 m x m 컨벌루션 연산을 적용하여 제1 신규 피쳐 값(feature value) 내지 제k3 신규 피쳐 값을 생성하여, 상기 제1 신규 클래시피케이션 컨피던스 내지 상기 제k3 신규 클래시피케이션 컨피던스, 상기 제1 신규 리그레션 언서튼티 내지 상기 제k3 신규 리그레션 언서튼티 및 상기 제1 신규 피쳐 값 내지 상기 제k3 신규 피쳐 값에 적어도 하나의 상기 FC 연산을 적용하여 상기 제1 신규 인터미디어트 억셉턴스 스코어 내지 상기 제k3 신규 인터미디어트 억셉턴스 스코어 및 상기 제1 신규 인터미디어트 리젝션 스코어 내지 상기 제k3 신규 인터미디어트 리젝션 스코어를 생성하도록 하거나 생성하도록 지원하는 것을 특징으로 하는 방법이 개시된다.
일례로서, 상기 (a) 단계에서, 상기 자가 학습 장치는, 상기 신규 언라벨드 이미지를 상기 디텍션 네트워크로 입력하여, 상기 디텍션 네트워크로 하여금 (i) 적어도 하나의 컨벌루션 레이어를 통해 상기 신규 언라벨드 이미지를 적어도 한번 컨벌루션 연산하여 상기 신규 언라벨드 이미지에 대응되는 신규 피쳐 맵을 생성하도록 하거나 생성하도록 지원하고, (ii) RPN(Region Proposal Network)을 통해 상기 신규 피쳐 맵을 참조하여 상기 신규 언라벨드 이미지 상에서 상기 제1 객체 내지 상기 제k3 객체가 있을 것으로 예측되는 후보 영역들에 대한 신규 ROI(region of interest)들을 생성하도록 하거나 생성하도록 지원하며, (iii) 풀링 레이어를 통해 상기 신규 피쳐 맵 상에서 상기 신규 ROI들에 대응되는 각각의 상기 후보 영역들을 ROI 풀링하여 상기 신규 ROI들 각각에 대응되는 신규 풀드 피쳐 맵들을 생성하도록 하거나 생성하도록 지원하고, (iv) 적어도 하나의 FC(Fully-Connected) 레이어를 통해 상기 신규 풀드 피쳐 맵들을 FC 연산하여 상기 신규 ROI들 각각에 대응하는 신규 리그레션 정보(regression information)들과 신규 클래시피케이션 정보(classification information)들을 생성하도록 하거나 생성하도록 지원하며, (v) 상기 신규 ROI들 각각에 대응하는 상기 신규 리그레션 정보들과 상기 신규 클래시피케이션 정보들을 참조하여 상기 신규 언라벨드 이미지 상에 위치하는 상기 제1 객체 내지 상기 제k3 객체 각각에 대응하는 상기 제1 신규 바운딩 박스 내지 상기 제k3 신규 바운딩 박스와, 제1 신규 클래시피케이션 정보 내지 제k3 신규 클래시피케이션 정보를 생성하도록 하거나 생성하도록 지원하는 것을 특징으로 하는 방법이 개시된다.
본 발명의 또 다른 태양에 따르면, 딥 Q-네트워크(deep Q-network)를 이용하여 딥러닝 기반의 디텍션 네트워크(detection network)를 자기지도학습(self-supervised learning)하는 학습 장치로서, 인스트럭션들을 저장하는 적어도 하나의 메모리; 및 상기 인스트럭션들을 실행하기 위해 구성된 적어도 하나의 프로세서;를 포함하되, 상기 프로세서가, (I) 객체 탐지를 위한 디텍션 네트워크가 학습 데이터베이스에 저장된 학습 데이터들을 이용하여 학습된 상태에서, 언라벨드 데이터베이스(unlabeled database)에서 적어도 하나의 제1 언라벨드 이미지(unlabeled image)가 획득되면, (i) 상기 제1 언라벨드 이미지를 상기 디텍션 네트워크에 입력하여, 상기 디텍션 네트워크로 하여금, 상기 제1 언라벨드 이미지에 대한 오브젝트 디텍션을 수행하여 제1 오브젝트 디텍션 정보를 생성하도록 하거나 생성하도록 지원하고, (ii) 상기 제1 오브젝트 디텍션 정보를 참조하여 상기 제1 언라벨드 이미지 상에 포함된 제1 객체에 대한 제1_1 바운딩 박스에 대응되는 제1_1 클래시피케이션 컨피던스(classification confidence), 제1_1 리그레션 언서튼티(regression uncertainty), 제1_1 풀드 피쳐 맵(pooled feature map) 내지 상기 제1 언라벨드 이미지 상에 포함된 제k1 객체에 제1_k1 바운딩 박스 - 상기 k1는 1이상의 정수임 - 에 대응되는 제1_k1 클래시피케이션 컨피던스, 제1_k1 리그레션 언서튼티 및 제1_k1 풀드 피쳐 맵을 포함하는 제1 스테이트 셋(state set)을 생성하거나 생성하도록 지원하며, (iii) 상기 제1 스테이트 셋을 딥 Q-네트워크에 입력하여, 상기 딥 Q-네트워크로 하여금, 상기 제1 스테이트 셋을 러닝 연산하여 상기 제1 언라벨드 이미지에 대응되는 억셉턴스 스코어(acceptance score)와 리젝션 스코어(rejection score)를 포함하는 Q-Value를 생성하도록 하거나 생성하도록 지원하고, (iv) 상기 Q-Value에 argMax 함수를 적용하여 액션(action)을 생성하거나 생성하도록 지원하는 프로세스, (II) (i) 상기 액션을 참조하여 (i-1) 상기 액션이 상기 제1 언라벨드 이미지의 억셉턴스(acceptance)에 대응될 경우, 상기 제1 오브젝트 디텍션 정보를 상기 제1 언라벨드 이미지에 라벨로 추가한 라벨드 이미지(labeled image)를 학습 데이터로 상기 학습 데이터베이스에 추가시키고, 상기 제1 언라벨드 이미지를 상기 언라벨드 데이터베이스에서 삭제하며, 상기 학습 데이터베이스에 포함된 적어도 하나의 상기 학습 데이터를 이용하여 상기 디텍션 네트워크를 재학습시키며, 재학습된 상기 디텍션 네트워크를 검증 데이터베이스를 이용하여 테스트하여 획득한 재학습된 상기 디텍션 네트워크의 제1 정확도(accuracy)를 참조하여 리워드를 생성하거나 생성하도록 지원하며, (i-2) 상기 액션이 상기 제1 언라벨드 이미지의 리젝션(rejection)에 대응될 경우, 상기 제1 언라벨드 이미지를 상기 언라벨드 데이터베이스에 삭제하고, 상기 디텍션 네트워크를 상기 검증 데이터베이스를 이용하여 테스트하여 획득한 상기 디텍션 네트워크의 제2 정확도(accuracy)를 참조하여 상기 리워드를 생성하거나 생성하도록 지원하며, (ii) 상기 언라벨드 데이터베이스에서 적어도 하나의 제2 언라벨드 이미지가 획득되면, (ii-1) 상기 제2 언라벨드 이미지를 상기 디텍션 네트워크에 입력하여, 상기 디텍션 네트워크로 하여금, 상기 제2 언라벨드 이미지에 대한 오브젝트 디텍션을 수행하여 제2 오브젝트 디텍션 정보를 생성하도록 하거나 생성하도록 지원하고, (ii-2) 상기 제2 오브텍트 디텍션 정보를 참조하여 상기 제2 언라벨드 이미지 상에 포함된 제1 객체에 대한 제2_1 바운딩 박스에 대응되는 제2_1 클래시피케이션 컨피던스, 제2_1 리그레션 언서튼티 및 제2_1 풀드 피쳐 맵 내지 상기 제2 언라벨드 이미지 상에 포함된 제k2 객체에 대한 제2_k2 바운딩 박스 - 상기 k2는 1이상의 정수임 - 에 대응되는 제2_k2 클래시피케이션 컨피던스, 제2_k2 리그레션 언서튼티 및 제2_k2 풀드 피쳐 맵을 포함하는 제2 스테이트 셋(state set)을 생성하거나 생성하도록 지원하며, (ii-3) 상기 제1 스테이트 셋, 상기 액션, 상기 리워드 및 상기 제2 스테이트 셋을 트랜지션 벡터(transition vector)로서 메모리에 저장하거나 저장하도록 지원하는 프로세스, 및 (III) 상기 메모리로부터 적어도 하나의 학습용 트랜지션 벡터로 사용될 적어도 하나의 특정 트랜지션 벡터를 샘플링하여 미니배치(minibatch)를 생성하고, 상기 미니배치를 이용하여 상기 딥 Q-네트워크가 상기 제1 스테이트 셋 및 상기 제2 스테이트 셋에 따라 상기 리워드를 증가시키기 위한 액션을 출력하도록 상기 딥 Q-네트워크를 학습시키거나 학습시키도록 지원하는 프로세스를 수행하는 학습 장치가 개시된다.
일례로서, 상기 (I) 프로세스에서, 상기 프로세서는, 상기 딥 Q-네트워크로 하여금, (i) 상기 제1_1 바운딩 박스에 대응되는 상기 제1_1 클래시피케이션 컨피던스, 상기 제1_1 리그레션 언서튼티, 상기 제1_1 풀드 피쳐 맵 내지 상기 제1_k1 바운딩 박스에 대응되는 상기 제1_ k1 클래시피케이션 컨피던스, 상기 제1_ k1 리그레션 언서튼티 및 상기 제1_k1 풀드 피쳐 맵 각각에 적어도 하나의 FC(Fully-Connected) 연산을 적용하여 상기 제1_1 바운딩 박스에 대응되는 제1 인터미디어트 억셉턴스 스코어(intermediate acceptance score)와 제1 인터미디어트 리젝션 스코어(intermediate rejection score) 내지 상기 제1_k1 바운딩 박스에 대응되는 제k1 인터미디어트 억셉턴스 스코어와 제k1 인터미디어트 리젝션 스코어를 생성하도록 하거나 생성하도록 지원하고, (ii) 상기 제1 인터미디어트 억셉턴스 스코어 내지 상기 제k1 인터미디어트 억셉턴스 스코어를 평균 연산하여 상기 억셉턴스 스코어를 생성하도록 하며, 상기 제1 인터미디어트 리젝션 스코어 내지 상기 제k1 인터미디어트 리젝션 스코어를 평균 연산하여 상기 리젝션 스코어를 생성하도록 함으로써 상기 억셉턴스 스코어와 상기 리젝션 스코어를 포함하는 상기 Q-Value를 생성하도록 하거나 생성하도록 지원하는 것을 특징으로 하는 학습 장치가 개시된다.
일례로서, 상기 프로세서는, 상기 딥 Q-네트워크로 하여금, 상기 제1_1 풀드 피쳐 맵 내지 상기 제1_k1 풀드 피쳐 맵에 적어도 하나의 1 x 1 컨벌루션 연산과 하나의 m x m 컨벌루션 연산을 적용하여 제1 피쳐 값(feature value) 내지 제k1 피쳐 값을 생성하고, 상기 제1_1 클래시피케이션 컨피던스 내지 상기 제1_k1 클래시피케이션 컨피던스, 상기 제1_1 리그레션 언서튼티 내지 상기 제1_k1 리그레션 언서튼티 및 상기 제1 피쳐 값 내지 상기 제k1 피쳐 값에 적어도 하나의 상기 FC 연산을 적용하여 상기 제1 인터미디어트 억셉턴스 스코어 내지 상기 제k1 인터미디어트 억셉턴스 스코어 및 상기 제1 인터미디어트 리젝션 스코어 내지 상기 제k1 인터미디어트 리젝션 스코어를 생성하도록 하거나 생성하도록 지원하는 것을 특징으로 하는 학습 장치가 개시된다.
일례로서, 상기 (I) 프로세스, 상기 (II) 프로세스 및 상기 (III) 프로세스는 반복적으로 수행되어 복수의 상기 트랜지션 벡터를 생성하고, 매 이터레이션의 상기 (III) 프로세스에서, 상기 프로세서는, 상기 메모리의 상기 트랜지션 벡터의 축적양에 비례하여 상기 학습용 트랜지션 벡터로 사용될 a*n개나 2^n개 - 여기서, a와 n은 1 이상의 정수이며, n은 기설정된 이터레이션 수마다 1씩 증가한다 - 의 상기 특정 트랜지션 벡터를 랜덤으로 선택하여 적어도 하나의 상기 미니배치를 생성하며, 상기 각 미니배치를 이용하여 상기 딥 Q-네트워크를 학습시키거나 학습시키도록 지원하는 것을 특징으로 하는 학습 장치가 개시된다.
일례로서, 상기 (I) 프로세스, 상기 (II) 프로세스 및 상기 (III) 프로세스는 반복적으로 수행되어 복수의 상기 트랜지션 벡터를 생성하고, 상기 메모리는 리플레이 메모리(replay memory)를 포함하며, 매 이터레이션의 상기 (III) 프로세스에서, 상기 프로세서는, (i) 상기 트랜지션 벡터를 상기 리플레이 메모리로 전송하여 상기 리플레이 메모리로 하여금 싸이클릭 버퍼(cyclic buffer)의 기설정된 용량에 따라 상기 트랜지션 벡터를 가장 오래된 이전 트랜지션 벡터에 오버라이트(overwrite)하여 저장하도록 하거나 저장하도록 지원하고, (ii) 상기 리플레이 메모리로부터 상기 학습용 트랜지션 벡터로 사용될 상기 특정 트랜지션 벡터를 랜덤하게 샘플링하여 상기 미니배치를 생성하거나 생성하도록 지원하는 것을 특징으로 하는 학습 장치가 개시된다.
일례로서, 상기 (I) 프로세스에서, 상기 프로세서는, 상기 제1 언라벨드 이미지를 상기 디텍션 네트워크로 입력하여, 상기 디텍션 네트워크로 하여금 (i) 적어도 하나의 컨벌루션 레이어를 통해 상기 제1 언라벨드 이미지를 적어도 한번 컨벌루션 연산하여 상기 제1 언라벨드 이미지에 대응되는 제1 피쳐 맵(featue map)을 생성하도록 하거나 생성하도록 지원하고, (ii) RPN(Region Proposal Network)을 통해 상기 제1 피쳐 맵을 참조하여 상기 제1 언라벨드 이미지 상에서 상기 제1 객체 내지 상기 제k1 객체가 있을 것으로 예측되는 후보 영역들에 대한 ROI(region of interest)들을 생성하도록 하거나 생성하도록 지원하며, (iii) 풀링 레이어를 통해 상기 제1 피쳐 맵 상에서 상기 ROI들에 대응되는 각각의 상기 후보 영역들을 ROI 풀링하여 상기 ROI들 각각에 대응되는 풀드 피쳐 맵들 각각을 생성하도록 하거나 생성하도록 지원하고, (iv) 적어도 하나의 FC(Fully-Connected) 레이어를 통해 상기 풀드 피쳐 맵들을 FC 연산하여 상기 ROI들 각각에 대응하는 리그레션 정보(regression information)들과 클래시피케이션 정보(classification information)들을 생성하도록 하거나 생성하도록 지원하며, (v) 상기 ROI들 각각에 대응하는 상기 리그레션 정보들과 상기 클래시피케이션 정보들을 참조하여 상기 제1 언라벨드 이미지 상에 위치하는 상기 제1 객체 내지 상기 제k1 객체 각각에 대응하는 상기 제1_1 바운딩 박스 내지 상기 제1_k1 바운딩 박스와, 상기 제1_1 클래시피케이션 정보 내지 상기 제1_k1 클래시피케이션 정보를 생성하도록 하거나 생성하도록 지원하는 것을 특징으로 하는 학습 장치가 개시된다.
본 발명의 또 다른 태양에 따르면, 딥 Q-네트워크(deep Q-network)를 이용하여 딥러닝 기반의 디텍션 네트워크(detection network)를 자기지도학습(self-supervised learning)하는 자가 학습 장치로서, 인스트럭션들을 저장하는 적어도 하나의 메모리; 및 상기 인스트럭션들을 실행하기 위해 구성된 적어도 하나의 프로세서;를 포함하되, 상기 프로세서가, (I) 학습 장치에 의해, 객체 탐지를 위한 디텍션 네트워크가 학습 데이터베이스에 저장된 학습 데이터로 학습된 상태에서, (i) 언라벨드 데이터베이스(unlabeled database)에서 적어도 하나의 제1 언라벨드 이미지(unlabeled image)가 획득되면, (i-1) 상기 제1 언라벨드 이미지를 상기 디텍션 네트워크에 입력하여, 상기 디텍션 네트워크로 하여금, 상기 제1 언라벨드 이미지에 대한 오브젝트 디텍션을 수행하여 제1 오브젝트 디텍션 정보를 생성하도록 하거나 생성하도록 지원하고, (i-2) 상기 제1 오브젝트 디텍션 정보를 참조하여 상기 제1 언라벨드 이미지 상에 포함된 제1 객체에 대한 제1_1 바운딩 박스에 대응되는 제1_1 클래시피케이션 컨피던스(classification confidence), 제1_1 리그레션 언서튼티(regression uncertainty), 제1_1 풀드 피쳐 맵(pooled feature map) 내지 상기 제1 언라벨드 이미지 상에 포함된 제k1 객체에 대한 제1_k1 바운딩 박스 - 상기 k1는 1이상의 정수임 - 에 대응되는 제1_k1 클래시피케이션 컨피던스, 제1_k1 리그레션 언서튼티 및 제1_k1 풀드 피쳐 맵을 포함하는 제1 스테이트 셋(state set)을 생성하거나 생성하도록 지원하며, (i-3) 상기 제1 스테이트 셋을 딥 Q-네트워크에 입력하여, 상기 딥 Q-네트워크로 하여금, 상기 제1 스테이트 셋을 러닝 연산하여 상기 제1 언라벨드 이미지에 대응되는 억셉턴스 스코어(acceptance score)와 리젝션 스코어(rejection score)를 포함하는 Q-Value를 생성하도록 하거나 생성하도록 지원하고, (i-4) 상기 Q-Value에 argMax 함수를 적용하여 액션(action)을 생성하거나 생성하도록 지원하고, (ii) (ii-1) 상기 액션을 참조하여 (1) 상기 액션이 상기 제1 언라벨드 이미지의 억셉턴스(acceptance)에 대응될 경우, 상기 제1 오브젝트 디텍션 정보를 상기 제1 언라벨드 이미지에 라벨로 추가한 라벨드 이미지(labeled image)를 학습 데이터로 상기 학습 데이터베이스에 추가시키고, 상기 제1 언라벨드 이미지를 상기 언라벨드 데이터베이스에서 삭제하며, 상기 학습 데이터베이스에 포함된 적어도 하나의 상기 학습 데이터를 이용하여 상기 디텍션 네트워크를 재학습시키며, 재학습된 상기 디텍션 네트워크를 검증 데이터베이스를 이용하여 테스트하여 획득한 재학습된 상기 디텍션 네트워크의 제1 정확도를 리워드(reward)로 생성하거나 생성하도록 지원하며, (2) 상기 액션이 상기 제1 언라벨드 이미지의 리젝션(rejection)에 대응될 경우, 상기 제1 언라벨드 이미지를 상기 언라벨드 데이터베이스에 삭제하고, 상기 디텍션 네트워크를 상기 검증 데이터베이스를 이용하여 테스트하여 획득한 상기 디텍션 네트워크의 제2 정확도를 상기 리워드로서 생성하거나 생성하도록 지원하며, (ii-2) 상기 언라벨드 데이터베이스에서 적어도 하나의 제2 언라벨드 이미지가 획득되면, (1) 상기 제2 언라벨드 이미지를 상기 디텍션 네트워크에 입력하여, 상기 디텍션 네트워크로 하여금, 상기 제2 언라벨드 이미지에 대한 오브젝트 디텍션을 수행하여 제2 오브젝트 디텍션 정보를 생성하도록 하거나 생성하도록 지원하고, (2) 상기 제2 오브텍트 디텍션 정보를 참조하여 상기 제2 언라벨드 이미지 상에 포함된 제1 객체에 대한 제2_1 바운딩 박스에 대응되는 제2_1 클래시피케이션 컨피던스, 제2_1 리그레션 언서튼티 및 제2_1 풀드 피쳐 맵 내지 상기 제2 언라벨드 이미지 상에 포함된 제k2 객체에 대한 제2_k2 바운딩 박스 - 상기 k2는 1 이상의 정수임 - 에 대응되는 제2_k2 클래시피케이션 컨피던스, 제2_k2 리그레션 언서튼티 및 제2_k2 풀드 피쳐 맵을 포함하는 제2 스테이트 셋을 생성하거나 생성하도록 지원하며, (3) 상기 제1 스테이트 셋, 상기 액션, 상기 리워드 및 상기 제2 스테이트 셋을 트랜지션 벡터로서 메모리에 저장하거나 저장하도록 지원하고, (iii) 상기 메모리로부터 적어도 하나의 학습용 트랜지션 벡터로 사용될 적어도 하나의 특정 트랜지션 벡터를 샘플링하여 미니배치(minibatch)를 생성하고, 상기 미니배치를 이용하여 상기 딥 Q-네트워크가 상기 제1 스테이트 셋 및 상기 제2 스테이트 셋에 따라 상기 리워드를 증가시키기 위한 액션을 출력하도록 상기 딥 Q-네트워크를 학습시키거나 학습시키도록 지원한 상태에서, 신규 언라벨드 데이터베이스에서 선택된 적어도 하나의 신규 언라벨드 이미지가 획득되면, (i) 상기 신규 언라벨드 이미지를 상기 디텍션 네트워크에 입력하여, 상기 디텍션 네트워크로 하여금, 상기 신규 언라벨드 이미지에 대한 오브젝트 디텍션을 수행하여 신규 오브젝트 디텍션 정보를 생성하도록 하거나 생성하도록 지원하고, (ii) 상기 신규 오브젝트 디텍션 정보를 참조하여 상기 신규 언라벨드 이미지 상에 포함된 제1 객체에 대한 제1 신규 바운딩 박스에 대응되는 제1 신규 클래시피케이션 컨피던스, 제1 신규 리그레션 언서튼티 및 제1 신규 풀드 피쳐 맵 내지 상기 신규 언라벨드 이미지 상에 포함된 제k3 객체에 대한 제k3 신규 바운딩 박스 - 상기 k3는 1이상의 정수임 - 에 대응되는 제k3 신규 클래시피케이션 컨피던스, 제k3 신규 리그레션 언서튼티 및 제k3 신규 풀드 피쳐 맵을 포함하는 신규 스테이트 셋을 생성하거나 생성하도록 지원하며, (iii) 상기 신규 스테이트 셋을 딥 Q-네트워크에 입력하여, 상기 딥 Q-네트워크로 하여금, 상기 신규 스테이트 셋을 러닝 연산하여 상기 신규 언라벨드 이미지에 대응되는 신규 억셉턴스 스코어와 신규 리젝션 스코어를 포함하는 신규 Q-Value를 생성하도록 하거나 생성하도록 지원하고, (iv) 상기 신규 Q-Value에 argMax 함수를 적용하여 신규 액션을 생성하거나 생성하도록 지원하는 프로세스, 및 (II) 상기 신규 액션을 참조하여 (i) 상기 신규 액션이 상기 신규 언라벨드 이미지의 억셉턴스(acceptance)에 대응될 경우, 상기 신규 오브젝트 디텍션 정보를 상기 신규 언라벨드 이미지에 라벨로 추가한 신규 라벨드 이미지를 상기 학습 데이터로 상기 학습 데이터베이스에 추가시키고, 상기 신규 언라벨드 이미지를 상기 신규 언라벨드 데이터베이스에서 삭제하며, 상기 학습 데이터베이스에 포함된 적어도 하나의 상기 학습 데이터를 이용하여 상기 디텍션 네트워크를 재학습시키거나 재학습시키도록 지원하고, (ii) 상기 신규 액션이 상기 신규 언라벨드 이미지의 리젝션(rejection)에 대응될 경우, 상기 신규 언라벨드 이미지를 상기 신규 언라벨드 데이터베이스에서 삭제하는 프로세스를 수행하는 자가 학습 장치가 개시된다.
일례로서, 상기 (I) 프로세스에서, 상기 프로세서는, 상기 딥 Q-네트워크로 하여금, (i) 상기 제1 신규 바운딩 박스에 대응되는 상기 제1 신규 클래시피케이션 컨피던스, 상기 제1 신규 리그레션 언서튼티 및 상기 제1 신규 풀드 피쳐 맵 내지 상기 제1 신규 바운딩 박스에 대응되는 상기 제k3 신규 클래시피케이션 컨피던스, 상기 제k3 신규 리그레션 언서튼티 및 상기 제k3 신규 풀드 피쳐 맵에 적어도 하나의 FC(Fully-Connected) 연산을 적용하여 상기 제1 신규 바운딩 박스에 대응되는 제1 신규 인터미디어트 억셉턴스 스코어(intermediate acceptance score)와 제1 신규 인터미디어트 리젝션 스코어(intermediate rejection score) 내지 상기 제k3 신규 바운딩 박스에 대응되는 제k3 신규 인터미디어트 억셉턴스 스코어와 제k3 신규 인터미디어트 리젝션 스코어를 생성하도록 하거나 생성하도록 지원하고, (ii) 상기 제1 신규 인터미디어트 억셉턴스 스코어 내지 상기 제k3 신규 인터미디어트 억셉턴스 스코어를 평균 연산하여 상기 신규 억셉턴스 스코어를 생성하도록 하며, 상기 제1 신규 인터미디어트 리젝션 스코어 내지 상기 제k3 신규 인터미디어트 리젝션 스코어를 평균 연산하여 상기 신규 리젝션 스코어를 생성하도록 함으로써 상기 신규 억셉턴스 스코어와 상기 신규 리젝션 스코어를 포함하는 상기 신규 Q-Value를 생성하도록 하거나 생성하도록 지원하는 것을 특징으로 하는 자가 학습 장치가 개시된다.
일례로서, 상기 프로세서는, 상기 딥 Q-네트워크로 하여금, 상기 제1 신규 풀드 피쳐 맵 내지 상기 제k3 신규 풀드 피쳐 맵에 적어도 하나의 1 x 1 컨벌루션 연산과 하나의 m x m 컨벌루션 연산을 적용하여 제1 신규 피쳐 값(feature value) 내지 제k3 신규 피쳐 값을 생성하여, 상기 제1 신규 클래시피케이션 컨피던스 내지 상기 제k3 신규 클래시피케이션 컨피던스, 상기 제1 신규 리그레션 언서튼티 내지 상기 제k3 신규 리그레션 언서튼티 및 상기 제1 신규 피쳐 값 내지 상기 제k3 신규 피쳐 값에 적어도 하나의 상기 FC 연산을 적용하여 상기 제1 신규 인터미디어트 억셉턴스 스코어 내지 상기 제k3 신규 인터미디어트 억셉턴스 스코어 및 상기 제1 신규 인터미디어트 리젝션 스코어 내지 상기 제k3 신규 인터미디어트 리젝션 스코어를 생성하도록 하거나 생성하도록 지원하는 것을 특징으로 하는 자가 학습 장치가 개시된다.
일례로서, 상기 (I) 프로세스에서, 상기 프로세서는, 상기 신규 언라벨드 이미지를 상기 디텍션 네트워크로 입력하여, 상기 디텍션 네트워크로 하여금 (i) 적어도 하나의 컨벌루션 레이어를 통해 상기 신규 언라벨드 이미지를 적어도 한번 컨벌루션 연산하여 상기 신규 언라벨드 이미지에 대응되는 신규 피쳐 맵을 생성하도록 하거나 생성하도록 지원하고, (ii) RPN(Region Proposal Network)을 통해 상기 신규 피쳐 맵을 참조하여 상기 신규 언라벨드 이미지 상에서 상기 제1 객체 내지 상기 제k3 객체가 있을 것으로 예측되는 후보 영역들에 대한 신규 ROI(region of interest)들을 생성하도록 하거나 생성하도록 지원하며, (iii) 풀링 레이어를 통해 상기 신규 피쳐 맵 상에서 상기 신규 ROI들에 대응되는 각각의 상기 후보 영역들을 ROI 풀링하여 상기 신규 ROI들 각각에 대응되는 신규 풀드 피쳐 맵들을 생성하도록 하거나 생성하도록 지원하고, (iv) 적어도 하나의 FC(Fully-Connected) 레이어를 통해 상기 신규 풀드 피쳐 맵들을 FC 연산하여 상기 신규 ROI들 각각에 대응하는 신규 리그레션 정보(regression information)들과 신규 클래시피케이션 정보(classification information)들을 생성하도록 하거나 생성하도록 지원하며, (v) 상기 신규 ROI들 각각에 대응하는 상기 신규 리그레션 정보들과 상기 신규 클래시피케이션 정보들을 참조하여 상기 신규 언라벨드 이미지 상에 위치하는 상기 제1 객체 내지 상기 제k3 객체 각각에 대응하는 상기 제1 신규 바운딩 박스 내지 상기 제k3 신규 바운딩 박스와, 제1 신규 클래시피케이션 정보 내지 제k3 신규 클래시피케이션 정보를 생성하도록 하거나 생성하도록 지원하는 것을 특징으로 하는 자가 학습 장치가 개시된다.
이 외에도, 본 발명의 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
본 발명은 딥 Q-네트워크(deep Q-network)가 생성한 Q-value를 이용하여 디텍션 네트워크(detection network)의 정확도를 증가시킬 수 있는 최적의 학습 데이터를 효과적으로 선택하는 효과가 있다.
또한, 본 발명은 디텍션 네트워크에 연결된 딥 Q-네트워크에 대하여 디텍션 네트워크의 정확도를 리워드(reward)로 이용한 강화 학습(reinforcement learning)을 수행하여 딥 Q-네트워크가 디텍션 네트워크의 정확도를 증가시킬 수 있는 최적의 학습 데이터를 선택하는 Q-value를 생성하도록 하는 효과가 있다.
또한, 본 발명은 딥 Q-네트워크가 생성하는 Q-value를 바탕으로 선택된 학습 데이터를 이용하여 디텍션 네트워크에 대한 자기지도 학습(self-supervised learning)이 가능하도록 하는 효과가 있다.
본 발명의 실시예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시예들 중 단지 일부일 뿐이며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자(이하 "통상의 기술자")에게 있어서는 발명적 작업이 이루어짐 없이 이 도면들에 기초하여 다른 도면들이 얻어질 수 있다.
도 1은 본 발명의 일 실시예에 따라 딥러닝 기반의 디텍션 네트워크(detection network)에서의 오브젝트 디텍션 결과를 바탕으로 디텍션 네트워크의 자기지도학습에 유용한 학습 데이터를 선택할 수 있도록 딥 Q-네트워크(deep Q-network)를 강화 학습(reinforcement learning)시키기 위한 학습 장치를 개략적으로 도시한 것이고,
도 2는 본 발명의 일 실시예에 따라 딥러닝 기반의 디텍션 네트워크에서의 오브젝트 디텍션 결과를 바탕으로 디텍션 네트워크의 자기지도학습에 유용한 학습 데이터를 선택할 수 있도록 딥 Q-네트워크를 강화 학습시키는 과정을 개략적으로 도시한 것이며,
도 3은 본 발명의 일 실시예에 따른 딥 Q-네트워크의 구조를 개략적으로 도시한 것이고,
도 4는 본 발명의 일 실시예에 따라 딥 Q-네트워크를 이용하여 딥러닝 기반의 디텍션 네트워크에 대한 자기지도학습(self-supervised learning)을 수행하는 자가 학습 장치(self-learning device)를 개략적으로 도시한 것이며,
도 5는 본 발명의 일 실시예에 따라 딥 Q-네트워크를 이용하여 딥러닝 기반의 디텍션 네트워크에 대한 자기지도학습(self-supervised learning)을 수행하는 과정을 개략적으로 도시한 것이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명의 목적들, 기술적 해법들 및 장점들을 분명하게 하기 위하여 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 통상의 기술자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 더욱이 본 발명은 본 명세서에 표시된 실시예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
또한, 본 발명의 상세한 설명 및 청구항들에 걸쳐, "포함하다"라는 단어 및 그것의 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다.
본 발명에서 언급하는 각종 이미지는 포장 또는 비포장 도로 관련 이미지를 포함할 수 있으며, 이 경우 도로 환경에서 등장할 수 있는 물체(가령, 자동차, 사람, 동물, 식물, 물건, 건물, 비행기나 드론과 같은 비행체, 기타 장애물)를 상정할 수 있을 것이나, 반드시 이에 한정되는 것은 아니며, 본 발명에서 언급하는 각종 이미지는 도로와 상관 없는 이미지(가령, 비포장도로, 골목길, 공터, 바다, 호수, 강, 산, 숲, 사막, 하늘, 실내와 관련된 이미지)일 수도 있으며, 이 경우, 비포장도로, 골목길, 공터, 바다, 호수, 강, 산, 숲, 사막, 하늘, 실내 환경에서 등장할 수 있는 물체(가령, 자동차, 사람, 동물, 식물, 물건, 건물, 비행기나 드론과 같은 비행체, 기타 장애물)를 상정할 수 있을 것이나, 반드시 이에 한정되는 것은 아니다. 여기에 제공된 본 개시의 제목 및 요약은 단지 편의를 위한 것이며 실시예의 범위 또는 의미를 제한하거나 해석하지 않는다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따라 딥러닝 기반의 디텍션 네트워크(detection network)에서의 오브젝트 디텍션 결과를 바탕으로 디텍션 네트워크의 자기지도학습(self-supervised learning)에 유용한 학습 데이터를 선택할 수 있도록 딥 Q-네트워크(deep Q-network)를 강화 학습(reinforcement learning)시키기 위한 학습 장치(1000)를 개략적으로 도시한 것이다.
도 1을 참조하면, 학습 장치(1000)는 딥러닝 기반의 디텍션 네트워크에서의 오브젝트 디텍션 결과를 바탕으로 디텍션 네트워크의 자기지도학습에 유용한 학습 데이터를 선택할 수 있도록 딥 Q-네트워크를 강화 학습시키기 위한 인스트럭션들을 저장하는 메모리(1001)와 메모리(1001)에 저장된 인스트럭션들에 대응하여 딥러닝 기반의 디텍션 네트워크에서의 오브젝트 디텍션 결과를 바탕으로 디텍션 네트워크의 자기지도학습에 유용한 학습 데이터를 선택할 수 있도록 딥 Q-네트워크를 강화 학습시키기 위한 동작을 수행하는 프로세서(1002)를 포함할 수 있다.
구체적으로, 학습 장치(1000)는 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.
또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 컴퓨팅 장치는 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
그러나, 컴퓨팅 장치가 본 발명을 실시하기 위한 미디엄, 프로세서 및 메모리가 통합된 형태인 integrated 프로세서를 포함하는 경우를 배제하는 것은 아니다.
이와 같이 구성된 학습 장치(1000)를 이용하여 본 발명의 일 실시예에 따라 딥러닝 기반의 디텍션 네트워크에서의 오브젝트 디텍션 결과를 바탕으로 디텍션 네트워크의 자기지도학습에 유용한 학습 데이터를 선택할 수 있도록 딥 Q-네트워크를 강화 학습시키기 위한 방법을 도 2와 도 3을 참조하여 설명하면 다음과 같다.
먼저, 도 2는 본 발명의 일 실시예에 따라 딥러닝 기반의 디텍션 네트워크(100)에서의 오브젝트 디텍션 결과를 바탕으로 디텍션 네트워크(100)의 자기지도학습에 유용한 학습 데이터를 선택할 수 있도록 딥 Q-네트워크(200)에 대한 강화 학습시키는 과정을 개략적으로 도시한 것이다.
도 2를 참조하면, 학습 장치(1000)는, 객체 탐지를 위한 디텍션 네트워크(100)가 학습 데이터베이스에 저장된 학습 데이터들을 이용하여 학습된 상태에서, 언라벨드 데이터베이스(unlabeled database)에서 적어도 하나의 제1 언라벨드 이미지(unlabeled image)가 획득되면, 제1 언라벨드 이미지를 디텍션 네트워크(100)에 입력하여, 디텍션 네트워크(100)로 하여금, 제1 언라벨드 이미지에 대한 오브젝트 디텍션을 수행하여 제1 오브젝트 디텍션 정보를 생성하도록 할 수 있다. 여기서, 제1 언라벨드 이미지는 언라벨드 데이터베이스로부터 랜덤하게 선택될 수 있다. 또한, 디텍션 네트워크(100)의 초기 학습에 이용된 학습 데이터베이스가 포함한 학습 데이터들은 각 학습 데이터에 대응되는 그라운드 트루스를 이용하여 모두 어노테이션(annotation)된 상태일 수 있다. 그리고, 언라벨드 데이터베이스는 그라운드 트루스가 어노테이션되지 않은 언라벨드 이미지(unlabeled image)들이 저장되어 있을 수 있다.
구체적으로, 학습 장치(1000)는 제1 언라벨드 이미지를 디텍션 네트워크(100)로 입력하여, 디텍션 네트워크(100)로 하여금 적어도 하나의 컨벌루션 레이어를 통해 제1 언라벨드 이미지를 적어도 한번 컨벌루션 연산하여 제1 언라벨드 이미지에 대응되는 제1 피쳐 맵(feature map)을 생성하도록 하고, RPN(Region Proposal Network)을 통해 제1 피쳐 맵을 참조하여 제1 언라벨드 이미지 상에서 제1 객체 내지 제k1 객체가 있을 것으로 예측되는 후보 영역들에 대한 제1 ROI(region of interest)들을 생성하도록 하며, 풀링 레이어를 통해 제1 피쳐 맵 상에서 제1 ROI들에 대응되는 각각의 후보 영역들을 ROI 풀링하여 제1 ROI들 각각에 대응되는 제1 풀드 피쳐 맵(pooled feature map)들을 생성하도록 하고, 적어도 하나의 FC 레이어(Fully-Connected Layer)를 통해 제1 풀드 피쳐 맵들을 제1 FC 연산하여 제1 ROI들 각각에 대한 제1 리그레션 정보(regression information)들과 제1 클래시피케이션 정보(classification information)들을 생성하도록 하며, 제1 ROI들 각각에 대한 제1 리그레션 정보들과 제1 클레시피케이션 정보들로부터 제1 언라벨드 이미지 상에 위치하는 제1 객체 내지 제k1 객체 각각에 대한 제1_1 바운딩 박스 내지 제1_k1 바운딩 박스와, 제1_1 클레시피케이션 정보 내지 제1_k1 클레피시케이션 정보를 생성하도록 할 수 있다. 이때, 제1_1 클래시피케이션 정보 내지 제1_k1 클레시피케이션 정보 각각은 제1_1 클래시피케이션 컨피던스(classification confidence) 내지 제1_k1 클래시피케이션 컨피던스를 포함할 수 있으며, 제1_1 바운딩 박스 내지 제1_k1 바운딩 박스 각각은 제1_1 리그레션 언서튼티(regression uncertainty) 내지 제1_k1 리그레션 언서튼티를 포함할 수 있다. 여기서, k1는 1이상의 정수이며, 제1 언라벨드 이미지 상에 존재하는 객체의 수에 따라 그 값이 달라질 수 있다.
이어서, 학습 장치(1000)는, 제1 오브젝트 디텍션 정보를 참조하여 제1 언라벨드 이미지 상에 포함된 제1 객체 내지 제k1 객체에 대한 제1_1 바운딩 박스 내지 제1_k1 바운딩 박스 각각에 대응되는 제1_1 클래시피케이션 컨피던스 내지 제1_k1 클래시피케이션 컨피던스, 제1_1 리그레션 언서튼티 내지 제1_k1 리그레션 언서튼티, 및 제1_1 풀드 피쳐 맵 내지 제1_k1 풀드 피쳐 맵을 포함하는 제1 스테이트 셋(state set)을 생성할 수 있다.
그리고, 학습 장치(1000)는, 제1 스테이트 셋을 딥 Q-네트워크(200)에 입력하여, 딥 Q-네트워크(200)로 하여금, 제1 스테이트 셋을 러닝 연산하여 제1 언라벨드 이미지에 대응되는 억셉턴스 스코어(acceptance score)와 리젝션 스코어(rejection score)를 포함하는 Q-Value를 생성하도록 하고, Q-Value에 argMax 함수를 적용하여 액션을 생성할 수 있다.
구체적으로, 도 3을 참조하면, 학습 장치(1000)는, 딥 Q-네트워크(200)로 하여금, 제1_1 바운딩 박스에 대응되는 제1_1 클래시피케이션 컨피던스, 제1_1 리그레션 언서튼티, 제1_1 풀드 피쳐 맵 내지 제1_k1 바운딩 박스에 대응되는 제1_ k1 클래시피케이션 컨피던스, 제1_ k1 리그레션 언서튼티 및 제1_k1 풀드 피쳐 맵 각각에 적어도 하나의 제2 FC(Fully Connected) 연산을 적용하여 제1_1 바운딩 박스에 대응되는 제1 인터미디어트 억셉턴스 스코어(intermediate acceptance score)와 제1 인터미디어트 리젝션 스코어(intermediate rejection score) 내지 제1_k1 바운딩 박스에 대응되는 제k1 인터미디어트 억셉턴스 스코어와 제k1 인터미디어트 리젝션 스코어를 생성하도록 할 수 있다.
여기서, 학습 장치(1000)는, 딥 Q-네트워크(200)로 하여금, 제1_1 풀드 피쳐 맵 내지 제1_k1 풀드 피쳐 맵에 적어도 하나의 1 x 1 컨벌루션 연산과 하나의 m x m 컨벌루션 연산을 적용하여 제1 피쳐 값(feature value) 내지 제k1 피쳐 값을 생성한 다음, 제1_1 클래시피케이션 컨피던스 내지 제1_k1 클래시피케이션 컨피던스, 제1_1 리그레션 언서튼티 내지 제1_k1 리그레션 언서튼티 및 제1 피쳐 값 내지 제k1 피쳐 값에 적어도 하나의 제2 FC 연산을 적용하도록 할 수 있다. 이를 통해, 제1 스테이트 셋에서의 각 요소, 즉, 제1_1 클래시피케이션 컨피던스 내지 제1_k1 클래시피케이션 컨피던스, 제1_1 리그레션 언서튼티 내지 제1_k1 리그레션 언서튼티 및 제1_1 풀드 피쳐 맵 내지 제1_k1 풀드 피쳐 맵의 데이터 포맷을 동일 또는 유사하게 한 다음 제2 FC 연산을 수행하도록 할 수 있다. 여기서, m x m은 제1_1 풀드 피쳐 맵 내지 제1_k1 풀드 피쳐 맵의 사이즈에 대응될 수 있다.
일 예로, 도 3에서 예시로 도시한 바와 같이 디텍션 네트워크(100)로부터 생성된 제1_1 풀드 피쳐 맵 내지 제1_k1 풀드 피쳐 맵이 각각 (5 x 5)의 사이즈를 가질 경우, 적어도 하나의 1 x 1 컨벌루션 연산과 하나의 5 x 5 컨벌루션 연산을 적용하여 제1 피쳐 값 내지 제k1 피쳐 값를 생성한 다음, 제1_1 클래시피케이션 컨피던스 내지 제1_k1 클래시피케이션 컨피던스, 제1_1 리그레션 언서튼티 내지 제1_k1 리그레션 언서튼티 및 제1 피쳐 값 내지 제k1 피쳐 값 각각에 적어도 하나의 제2 FC 연산을 적용하여 제1 인터미디어트 억셉턴스 스코어 내지 제k1 인터미디어트 억셉턴스 스코어 및 제1 인터미디어트 리젝션 스코어 내지 제k1 인터미디어트 리젝션 스코어를 생성할 수 있다.
이후, 학습 장치(100)는, 딥 Q-네트워크(200)로 하여금, 제1 인터미디어트 억셉턴스 스코어 내지 제k1 인터미디어트 억셉턴스 스코어를 평균 연산하여 억셉턴스 스코어를 생성하도록 하며, 제1 인터미디어트 리젝션 스코어 내지 제k1 인터미디어트 리젝션 스코어를 평균 연산하여 리젝션 스코어를 생성하도록 함으로써 억셉턴스 스코어와 리젝션 스코어를 포함하는 Q-Value를 생성하도록 할 수 있다.
다시 도 2를 참조하면, 학습 장치(1000)는 deep Q-netwok(200)의 Q-value에 argMax 함수를 적용하여 생성한 액션을 참조하여 액션이 제1 언라벨드 이미지의 억셉턴스(acceptance)에 대응될 경우, 제1 오브젝트 디텍션 정보를 제1 언라벨드 이미지에 라벨로 추가한 라벨드 이미지를 학습 데이터로 학습 데이터베이스에 추가시키고, 제1 언라벨드 이미지를 언라벨드 데이터베이스에서 삭제하며, 학습 데이터베이스에 포함된 적어도 하나의 학습 데이터를 이용하여 디텍션 네트워크(100)를 재학습시키며, 재학습된 디텍션 네트워크(100)를 검증 데이터베이스(validation database)를 이용하여 테스트하여 획득한 재학습된 디텍션 네트워크(100)의 제1 정확도를 참조하여 리워드(reward)를 생성할 수 있다. 여기서, 제1 정확도는 검증 데이터베이스를 이용하여 디텍션 네트워크(100)를 테스트한 결과로부터 획득할 수 있다. 예를 들어, 제1 정확도는 검증 데이터베이스에 포함된 테스트 데이터에 대하여 디텍션 네트워크(100)가 생성한 테스트 오브젝트 디텍션 정보를 테스트 데이터의 그라운드 트루스와 비교하여 생성한 mAP(mean Average Precision)로 설정할 수 있다.
다른 한편, 학습 장치(1000)는 Q-Value에 argMax 함수를 적용하여 생성한 액션을 참조하여 액션이 제1 언라벨드 이미지의 리젝션(rejection)에 대응될 경우, 제1 언라벨드 이미지를 언라벨드 데이터베이스에 삭제하며, 검증 데이터베이스를 이용하여 디텍션 네트워크(100)를 테스트하여 획득한 디텍션 네트워크(100)의 제2 정확도, 즉, 재학습이 이루어지지 않는 현재 상태의 디텍션 네트워크(100)의 제2 정확도를 참조하여 리워드를 생성할 수 있다. 여기서, 제2 정확도는 디텍션 네트워크(100)에 대한 재학습이 이루어지지 않은 상태에서 측정된 것이기 때문에 제2 정확도 측정 이전에 측정된 정확도에서 변화가 없는 상태일 수 있다.
다음으로, 학습 장치(1000)는 언라벨드 데이터베이스에서 적어도 하나의 제2 언라벨드 이미지(unlabeled image)가 획득되면, 제2 언라벨드 이미지를 디텍션 네트워크(100)에 입력하여, 디텍션 네트워크(100)로 하여금, 제2 언라벨드 이미지에 대한 오브젝트 디텍션을 수행하여 제2 오브젝트 디텍션 정보를 생성하도록 할 수 있다. 여기서, 제2 언라벨드 이미지는 언라벨드 데이터베이스로부터 랜덤하게 선택될 수 있다.
구체적으로, 학습 장치(1000)는 제2 언라벨드 이미지를 디텍션 네트워크(100)로 입력하여, 디텍션 네트워크(100)로 하여금 적어도 하나의 컨벌루션 레이어를 통해 제2 언라벨드 이미지를 적어도 한번 컨벌루션 연산하여 제2 언라벨드 이미지에 대응되는 제2 피쳐 맵(feature map)을 생성하도록 하고, RPN(Region Proposal Network)을 통해 제2 피쳐 맵을 참조하여 제2 언라벨드 이미지(unlabeled image) 상에서 제1 객체 내지 제k2 객체가 있을 것으로 예측되는 후보 영역들에 대한 제2 ROI(region of interest)들을 생성하도록 하며, 풀링 레이어를 통해 제2 피쳐 맵 상에서 제2 ROI들에 대응되는 각각의 후보 영역들을 ROI 풀링하여 제2 ROI들 각각에 대응되는 제2 풀드 피쳐 맵들을 생성하도록 하고, 적어도 하나의 FC 레이어를 통해 제2 풀드 피쳐 맵들을 제1 FC 연산하여 제2 ROI들 각각에 대한 제2 리그레션 정보(regression information)들과 제2 클래시피케이션 정보(classification information)들을 생성하도록 하며, 제2 ROI들 각각에 대한 제2 리그레션 정보들과 제2 클래시피케이션 정보들로부터 제2 언라벨드 이미지 상에 위치하는 제1 객체 내지 제k2 객체 각각에 대한 제2_1 바운딩 박스 내지 제2_k2 바운딩 박스와, 제2_1 클래시피케이션 정보 내지 제2_k2 클래시피케이션 정보를 생성하도록 할 수 있다. 이 때, 제2_1 클래시피케이션 정보 내지 제2_k2 클래시피케이션 정보 각각은 제2_1 클래시피케이션 컨피던스(classificiation confidence) 내지 제2_k2 클래시피케이션 컨피던스를 포함할 수 있으며, 제2_1 바운딩 박스 내지 제2_k2 바운딩 박스 각각은 제2_1 리그레션 언서튼티(regression uncertainty) 내지 제2_k2 리그레션 언서튼티를 포함할 수 있다. 여기서, k2는 1 이상의 정수이며, 제2 언라벨드 이미지 상에 포함된 객체의 수에 따라 그 값이 달라질 수 있다.
이어서, 학습 장치(1000)는, 제2 오브젝트 디텍션 정보를 참조하여 제2 언라벨드 이미지 상에 포함된 제1 객체 내지 제k2 객체에 대한 제2_1 바운딩 박스 내지 제2_k2 바운딩 박스 각각에 대응되는 제2_1 클래시피케이션 컨피던스 내지 제2_k2 클래시피케이션 컨피던스, 제2_1 리그레션 언서튼티 내지 제2_k2 리그레션 언서튼티, 및 제2_1 풀드 피쳐 맵 내지 제2_k2 풀드 피쳐 맵을 포함하는 제2 스테이트 셋(state set)을 생성할 수 있다.
다음으로, 학습 장치(1000)는 제1 스테이트 셋, 액션, 리워드 및 제2 스테이트 셋을 트랜지션 벡터(transition vector)로서 메모리에 저장할 수 있다. 여기서, 학습 장치(1000)는 제1 언라벨드 이미지에 대응되는 제1 스테이트 셋, 액션, 리워드를 메모리에 저장한 상태에서, 제2 스테이트 셋이 생성되면 제2 스테이트 셋을 추가로 메모리에 저장할 수 있다. 또한, 트랜지션 벡터의 각 요소는 트랜지션의 각 컴포넌트라 할 수 있고, 트랜지션 벡터는 메모리에 튜플(tuple)의 형태로 저장될 수 있다.
그리고, 학습 장치(1000)는, 메모리로부터 적어도 하나의 학습용 트랜지션 벡터로 사용될 적어도 하나의 특정 트랜지션 벡터를 샘플링하여 미니배치(minibatch)를 생성하고, 미니배치를 이용하여 딥 Q-네트워크(200)가 제1 스테이트 셋 및 제2 스테이트 셋에 따라 리워드를 증가시키기 위한 액션을 출력하도록 딥 Q-네트워크(200)를 학습시킬 수 있다. 여기서, 딥 Q-네트워크(200)의 학습은 미니배치에 포함된 학습용 트랜지션 벡터를 참조하여 벨만 방정식(Bellman's equation)을 이용한 로스 함수(loss function)을 생성한 다음, 로스를 최소화하는 방법으로 수행할 수 있다.
한편, 제1 스테이트 셋, 액션, 리워드 및 제2 스테이트 셋을 생성하는 단계는 반복적으로 수행되어 복수의 트랜지션 벡터를 생성할 수 있으며, 트랜지션 벡터들이 저장된 메모리는 리플레이 메모리(replay memory)를 포함할 수 있다. 따라서, 매 이터레이션(iteration)마다, 학습 장치(1000)는 트랜지션 벡터를 리플레이 메모리로 전송하여 리플레이 메모리로 하여금 싸이클릭 버퍼 (cyclic buffer)의 기설정된 용량에 따라 트랜지션 벡터를 가장 오래된 이전 트랜지션 벡터에 오버라이트(overwrite)하여 저장하도록 할 수 있다. 이를 통해, 학습 장치(1000)는 리플레이 메모리로부터 적어도 하나의 학습용 트랜지션 벡터로 사용될 특정 트랜지션 벡터를 랜덤하게 샘플링하여 미니배치를 생성할 수 있다.
또한, 매 이터레이션마다 미니배치를 샘플링하여 딥 Q-네트워크(200)를 학습시키는 일 예로, 학습 장치(1000)는, 트랜지션 벡터의 축적양에 비례하여 학습용 트랜지션 벡터로 사용될 a*n개나 2^n개의 특정 트랜지션 벡터를 랜덤으로 선택하여 적어도 하나의 미니배치를 생성하여, 각 미니배치를 이용하여 딥 Q-네트워크(200)를 학습시킬 수 있다. 여기서, a와 n은 1 이상의 정수이며, n은 기설정된 이터레이션 수마다 1씩 증가한다.
위와 같은 딥 Q-네트워크(200)에 대한 강화 학습은 아래와 같은 의사 코드(pseudocode)를 이용하여 수행될 수 있다. 아래의 의사 코드에서 딥 Q-네트워크(200)는 Q-Net으로, 디텍션 네트워크(100)는 Detection-Net로 표현되어 있다. 아래의 의사 코드에 따르면, 학습 장치(1000)는 트랜지션 벡터가 생성되는 매 이터레이션마다 미니배치를 생성하여 딥 Q-네트워크(200)를 학습시키는 과정을 반복할 수 있다.
Given Fully annotated Training Database:
Figure pat00001
Given Unlabeled Database:
Figure pat00002
Given Validation Database:
Figure pat00003
Initialize replay memory P to capacity N
Initialize Q-Net with random weights
for episode = 1, M do
Initialize Unlabeled Database:
Figure pat00004
Initialize Training Database:
Figure pat00005
Train Detection-Net with
Figure pat00006
for t = 1, L do
Figure pat00007
Figure pat00008
random select from
Figure pat00009
Figure pat00010
Figure pat00011
Detection-Net(
Figure pat00012
)
Figure pat00013
Figure pat00014
Q-Net(
Figure pat00015
)
Figure pat00016
Figure pat00017
Figure pat00018
if
Figure pat00019
is select then
Figure pat00020
Figure pat00021
Figure pat00022
Train Detection-Net with
Figure pat00023
end if
Figure pat00024
Figure pat00025
Test Detection-Net with
Figure pat00026
Figure pat00027
Figure pat00028
random select from
Figure pat00029
Figure pat00030
Figure pat00031
Detection-Net(
Figure pat00032
)
Store transition (
Figure pat00033
) in P
Sample random minibatch of transitions (
Figure pat00034
) from P
train Q-Net
end for // t
end for // episode
한편, 위와 같은 방법을 사용하여 딥 Q-네트워크(200)의 강화 학습을 진행하는 동시에 디텍션 네트워크(100)에 대한 자기지도학습도 동시에 진행할 수 있으나, 본 발명이 이에 한정되는 것은 아니며, 위와 같이 학습된 딥 Q-네트워크를 이용하여 디텍션 네트워크(100)에 대한 자기지도학습을 수행하는 방법은 아래와 같다.
딥 Q-네트워크(200)이 위와 같이 학습된 상태에서, 자가 학습 장치(self-learning device)가 딥 Q-네트워크(200)을 이용하여 딥러닝 기반의 디텍션 네트워크(100)를 자기지도학습(self-supervised learning)하는 방법을 도 4와 도 5를 참조하여 설명하면 다음과 같다.
도 4는 본 발명의 일 실시예에 따라 딥 Q-네트워크(200)을 이용하여 딥러닝 기반의 디텍션 네트워크에 대한 자기지도학습(self-supervised learning)을 수행하는 자가 학습 장치(2000)를 개략적으로 도시한 것이다.
도 4를 참조하면, 자가 학습 장치(2000)는 딥 Q-네트워크(200)을 이용하여 디텍션 네트워크(100)에 대한 자기지도학습(self-supervised learning)을 수행하기 위한 인스트럭션들을 저장하는 메모리(2001)와 메모리(2001)에 저장된 인스트럭션들에 대응하여 딥 Q-네트워크(200)을 이용하여 디텍션 네트워크(100)에 대한 자기지도학습(self-supervised learning)을 수행하는 프로세서(2002)를 포함할 수 있다.
구체적으로, 자가 학습 장치(2000)는 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.
또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 컴퓨팅 장치는 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
그러나, 컴퓨팅 장치가 본 발명을 실시하기 위한 미디엄, 프로세서 및 메모리가 통합된 형태인 integrated 프로세서를 포함하는 경우를 배제하는 것은 아니다.
한편, 위와 같은 자가 학습 장치(2000)는 라벨링되지 않은 학습 데이터가 지속적으로 제공되는 클라우드, IoT기기, 영상장치, 자율주행 자동차, 로봇 등에 탑재될 수 있으며, 필요에 따라서는 일정 기간마다 디텍션 네트워크(100)와 딥 Q-네트워크(200)의 파라미터를 학습 장치(1000)로 전송하여 업데이트된 딥 Q-네트워크(200)의 파라미터를 학습 장치(1000)로부터 전송받을 수 있다. 이와 같이 학습 장치(1000)와 자가 학습 장치(2000)는 물리적으로 분리되어 서로 데이터를 주고 받을 수 있으나 본 발명이 이에 한정되는 것은 아니며, 용량이나 물리적인 제한이 없는 경우나 필요에 따라서는 학습 장치(1000)와 자가 학습 장치(2000)가 동일한 기기로서 동작할 수 있다.
이와 같이 구성된 본 발명의 일 실시예에 따른 자가 학습 장치(2000)를 이용하여 딥 Q-네트워크(200)을 이용하여 딥러닝 기반의 디텍션 네트워크(100)에 대한 자기지도학습(self-supervised learning)을 수행하는 과정을 도 5를 참조하여 설명하면 다음과 같다. 이하에서는 도 2와 도 3을 참조한 설명으로부터 용이하게 이해 가능한 부분에 대해서는 상세한 설명을 생략하도록 한다.
도 5를 참조하면, 위와 같이 딥 Q-네트워크(200)가 학습된 상태에서, 자가 학습 장치(2000)는 신규 언라벨드 데이터베이스(unlabeled database)에서 선택된 적어도 하나의 신규 언라벨드 이미지(unlabeled image)가 획득되면, 신규 언라벨드 이미지를 디텍션 네트워크(100)에 입력하여, 디텍션 네트워크(100)로 하여금, 신규 언라벨드 이미지에 대한 오브젝트 디텍션을 수행하여 신규 오브젝트 디텍션 정보를 생성하도록 할 수 있다. 여기서, 신규 언라벨드 이미지는 신규 언라벨드 데이터베이스로부터 랜덤하게 선택될 수 있다. 그리고, 신규 언라벨드 데이터베이스는 그라운드 트루스가 어노테이션(annotation)되지 않은 신규 언라벨드 이미지들이 저장되어 있을 수 있다.
즉, 자가 학습 장치(2000)는 신규 언라벨드 이미지를 디텍션 네트워크(100)로 입력하여, 디텍션 네트워크(100)로 하여금 적어도 하나의 컨벌루션 레이어를 통해 신규 언라벨드 이미지를 적어도 한번 컨벌루션 연산하여 신규 언라벨드 이미지에 대응되는 신규 피쳐 맵을 생성하도록 하고, RPN(Region Proposal Network)을 통해 신규 피쳐 맵을 참조하여 신규 언라벨드 이미지 상에서 제1 객체 내지 제k3 객체가 있을 것으로 예측되는 후보 영역들에 대한 신규 ROI들을 생성하도록 하며, 풀링 레이어를 통해 신규 피쳐 맵 상에서 신규 ROI들 각각에 대응되는 각각의 후보 영역들을 ROI 풀링하여 신규 ROI들에 대응되는 신규 풀드 피쳐 맵들을 생성하도록 하고, 적어도 하나의 FC 레이어를 통해 신규 풀드 피쳐 맵들을 제1 FC 연산하여 신규 ROI들 각각에 대한 신규 리그레션 정보들과 신규 클래시피케이션 정보들을 생성하도록 하며, 신규 ROI들 각각에 대한 신규 리그레션 정보들과 신규 클래시피케이션 정보들로부터 신규 언라벨드 이미지 상에 위치하는 제1 객체 내지 제k3 객체에 대한 제1 신규 바운딩 박스 내지 제k3 신규 바운딩 박스와, 제1 신규 클래시피케이션 정보 내지 제k3 신규 클래시피케이션 정보를 생성하도록 할 수 있다. 이때, 제1 신규 클래시피케이션 정보 내지 제k3 신규 클래시피케이션 정보 각각은 제1 신규 클래시피케이션 컨피던스 내지 제k3 클래시피케이션 컨피던스를 포함할 수 있으며, 제1 신규 바운딩 박스 내지 제k3 바운딩 박스 각각은 제1 신규 리그레션 언서튼티 내지 제k3 신규 리그레션 언서튼티를 포함할 수 있다. 여기서, k3는 1이상의 정수이며, 신규 언라벨드 이미지 상에 포함된 객체의 수에 따라 그 값이 달라질 수 있다.
이어서, 자가 학습 장치(2000)는 신규 오브젝트 디텍션 정보를 참조하여 신규 언라벨드 이미지 상에 포함된 적어도 하나의 객체에 대한 제1 신규 바운딩 박스 내지 제k3 신규 바운딩 박스 각각에 대응되는 제1 신규 클래시피케이션 컨피던스 내지 제k3 신규 클래시피케이션 컨피던스, 제1 신규 리그레션 언서튼티 내지 제k3 신규 리그레션 언서튼티 및 제1 신규 풀드 피쳐 맵 내지 제1 신규 풀드 피쳐 맵을 포함하는 신규 스테이트 셋을 생성할 수 있다.
이에 따라, 자가 학습 장치(2000)는 신규 스테이트 셋을 딥 Q-네트워크(200)에 입력하여, 딥 Q-네트워크(200)로 하여금, 신규 스테이트 셋을 러닝 연산하여 신규 언라벨드 이미지에 대응되는 신규 억셉턴스 스코어와 신규 리젝션 스코어를 포함하는 신규 Q-Value를 생성하도록 하고, 신규 Q-Value에 argMax 함수를 적용하여 신규 액션을 생성할 수 있다.
구체적으로, 자가 학습 장치(2000)는, 딥 Q-네트워크(200)로 하여금, 신규 언라벨드 이미지 상에 포함된 제1 객체 내지 제k3 객체에 대한 제1 신규 바운딩 박스에 대응되는 제1 신규 클래시피케이션 컨피던스, 제1 신규 리그레션 언서튼티 및 제1 신규 풀드 피쳐 맵 내지 제1 신규 바운딩 박스에 대응되는 제k3 신규 클래시피케이션 컨피던스, 제k3 신규 리그레션 언서튼티 및 제k3 신규 풀드 피쳐 맵 각각에 적어도 하나의 제2 FC 연산을 적용하여 제1 신규 바운딩 박스에 대응되는 제1 신규 인터미디어트 억셉턴스 스코어(intermediate acceptance score)와 제1 신규 인터미디어트 리젝션 스코어(intermediate rejection score) 내지 제k3 신규 바운딩 박스에 대응되는 제k3 신규 인터미디어트 억셉턴스 스코어와 제k3 신규 인터미디어트 리젝션 스코어를 생성하도록 할 수 있다.
여기서, 자가 학습 장치(2000)는, 딥 Q-네트워크(200)로 하여금, 제1 신규 풀드 피쳐 맵 내지 제k3 신규 풀드 피쳐 맵에 적어도 하나의 1 x 1 컨벌루션 연산과 하나의 m x m 컨벌루션 연산을 적용하여 제1 신규 피쳐 값 내지 제k3 신규 피쳐 값을 생성한 다음, 제1 신규 클래시피케이션 컨피던스 내지 제k3 신규 클래시피케이션 컨피던스, 제1 신규 리그레션 언서튼티 내지 제k3 신규 리그레션 언서튼티 및 제1 신규 피쳐 값 내지 제k3 신규 피쳐 값에 적어도 하나의 FC 연산을 적용하도록 하여 제1 신규 인터미디어트 억셉턴스 스코어 내지 제k3 신규 인터미디어트 억셉턴스 스코어와 제1 신규 인터미디어트 리젝션 스코어 내지 제k3 신규 인터미디어트 리젝션 스코어를 생성하도록 할 수 있다. 이를 통해, 신규 스테이트 셋에서의 각 요소, 즉, 제1 신규 클래시피케이션 컨피던스 내지 제k3 신규 클래시피케이션 컨피던스, 제1 신규 리그레션 언서튼티 내지 제k3 신규 리그레션 언서튼티 및 제1 신규 풀드 피쳐 맵 내지 제k3 신규 풀드 피쳐 맵의 데이터 포맷을 동일 또는 유사하게 한 다음 제2 FC 연산을 수행하도록 할 수 있다.
다음으로, 자가 학습 장치(2000)는, 제1 신규 인터미디어트 억셉턴스 스코어 내지 제k3 신규 인터미디어트 억셉턴스 스코어를 평균 연산하여 신규 억셉턴스 스코어를 생성하도록 하며, 제1 신규 인터미디어트 리젝션 스코어 내지 제k3 신규 인터미디어트 리젝션 스코어를 평균 연산하여 신규 리젝션 스코어를 생성하도록 함으로써 신규 억셉턴스 스코어와 신규 리젝션 스코어를 포함하는 신규 Q-Value를 생성하도록 할 수 있다.
이어서, 자가 학습 장치(2000)는 딥 Q-네트워크(200)의 신규 Q-value에 argmax 함수를 적용하여 생성한 신규 액션을 참조하여 신규 액션이 신규 언라벨드 이미지의 억셉턴스(acceptance)에 대응될 경우, 신규 오브젝트 디텍션 정보를 신규 언라벨드 이미지에 라벨로 추가한 신규 라벨드 이미지를 학습 데이터로 학습 데이터베이스에 추가시키고, 신규 언라벨드 이미지를 신규 언라벨드 데이터베이스에서 삭제하며, 학습 데이터베이스에 포함된 적어도 하나의 학습 데이터를 이용하여 디텍션 네트워크를 재학습시킬 수 있다.
다른 한편, 자가 학습 장치(2000)는 신규 Q-Value에 argMax 함수를 적용하여 생성한 액션을 참조하여 신규 액션이 신규 언라벨드 이미지의 리젝션(rejection)에 대응될 경우, 신규 언라벨드 이미지를 신규 언라벨드 데이터베이스에서 삭제할 수 있다.
위와 같은 디텍션 네트워크(100)에 대한 자기지도학습은 아래와 같은 의사코드(pseudocode)를 이용하여 수행될 수 있다. 아래의 의사코드에서 딥 Q-네트워크(200)는 Q-Net으로, 디텍션 네트워크(100)는 Detection-Net로 표현되어 있다. 아래의 의사코드에 따르면, 자가 학습 장치(2000)는 신규 언라벨드 데이터베이스에서 신규 언라벨드 이미지가 획득될 때마다 신규 스테이트 셋, 신규 Q-value 및 신규 액션을 생성하여 디텍션 네트워크(100)에 대한 학습을 진행할 수 있다.
Given Fully annotated Training Database:
Figure pat00035
Given Unlabeled Database:
Figure pat00036
Train Detection-Net with
Figure pat00037
for t = 1, L do
Figure pat00038
Figure pat00039
random select from
Figure pat00040
Figure pat00041
Figure pat00042
Detection-Net(
Figure pat00043
)
Figure pat00044
Figure pat00045
Q-Net(
Figure pat00046
)
Figure pat00047
Figure pat00048
Figure pat00049
if
Figure pat00050
is select then
Figure pat00051
Figure pat00052
Figure pat00053
Train Detection-Net with
Figure pat00054
end if
end for // t
한편, 위의 디텍션 네트워크(100)의 자기지도학습에 이용된 학습 데이터베이스는 딥 Q-네트워크의 강화 학습 때 디텍션 네트워크(100)의 학습 데이터로 사용된 데이터를 포함할 수 있으나 이에 한정되는 것은 아니며, 딥 Q-네트워크의 강화 학습 때 디텍션 네트워크(100)의 학습 데이터로 사용된 데이터 대신 신규 학습 데이터를 포함하는 학습 데이터베이스일 수 있다.
또한, 자가 학습 장치(2000)는 위의 디텍션 네트워크(100)나 위의 디텍션 네트워크(100)와는 다른 디텍션 네트워크를 사용하여 신규 언라벨드 데이터베이스로부터 선택된 신규 언라벨드 이미지에 대한 신규 오브젝트 디텍션 정보를 생성하도록 할 수 있다. 즉, 딥 Q-네트워크(200)의 강화 학습에 이용된 디텍션 네트워크(100)가 아닌 다른 디텍션 네트워크의 자가지도 학습에 강화 학습을 통해 학습된 딥 Q-네트워크(200)가 사용될 수 있다.
이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
1000: 학습 장치
1001: 메모리
1002: 프로세서
100: 디텍션 네트워크
200: 딥 Q-네트워크
2000: 자가 학습 장치
2001: 메모리
2002: 프로세서

Claims (20)

  1. 딥 Q-네트워크(deep Q-network)를 이용하여 딥러닝 기반의 디텍션 네트워크(detection network)를 자기지도학습(self-supervised learning)하는 방법에 있어서,
    (a) 객체 탐지를 위한 디텍션 네트워크가 학습 데이터베이스에 저장된 학습 데이터들을 이용하여 학습된 상태에서, 언라벨드 데이터베이스(unlabeled database)에서 적어도 하나의 제1 언라벨드 이미지(unlabeled image)가 획득되면, 학습 장치가, (i) 상기 제1 언라벨드 이미지를 상기 디텍션 네트워크에 입력하여, 상기 디텍션 네트워크로 하여금, 상기 제1 언라벨드 이미지에 대한 오브젝트 디텍션을 수행하여 제1 오브젝트 디텍션 정보를 생성하도록 하거나 생성하도록 지원하고, (ii) 상기 제1 오브젝트 디텍션 정보를 참조하여 상기 제1 언라벨드 이미지 상에 포함된 제1 객체에 대한 제1_1 바운딩 박스에 대응되는 제1_1 클래시피케이션 컨피던스(classification confidence), 제1_1 리그레션 언서튼티(regression uncertainty), 제1_1 풀드 피쳐 맵(pooled feature map) 내지 상기 제1 언라벨드 이미지 상에 포함된 제k1 객체에 제1_k1 바운딩 박스 - 상기 k1는 1이상의 정수임 - 에 대응되는 제1_k1 클래시피케이션 컨피던스, 제1_k1 리그레션 언서튼티 및 제1_k1 풀드 피쳐 맵을 포함하는 제1 스테이트 셋(state set)을 생성하거나 생성하도록 지원하며, (iii) 상기 제1 스테이트 셋을 딥 Q-네트워크에 입력하여, 상기 Deep Q-network로 하여금, 상기 제1 스테이트 셋을 러닝 연산하여 상기 제1 언라벨드 이미지에 대응되는 억셉턴스 스코어(acceptance score)와 리젝션 스코어(rejection score)를 포함하는 Q-Value를 생성하도록 하거나 생성하도록 지원하고, (iv) 상기 Q-Value에 argMax 함수를 적용하여 액션(action)을 생성하거나 생성하도록 지원하는 단계;
    (b) 상기 학습 장치가, (i) 상기 액션을 참조하여 (i-1) 상기 액션이 상기 제1 언라벨드 이미지의 억셉턴스(acceptance)에 대응될 경우, 상기 제1 오브젝트 디텍션 정보를 상기 제1 언라벨드 이미지에 라벨로 추가한 라벨드 이미지(labeled image)를 학습 데이터로 상기 학습 데이터베이스에 추가시키고, 상기 제1 언라벨드 이미지를 상기 언라벨드 데이터베이스에서 삭제하며, 상기 학습 데이터베이스에 포함된 적어도 하나의 상기 학습 데이터를 이용하여 상기 디텍션 네트워크를 재학습시키며, 재학습된 상기 디텍션 네트워크를 검증 데이터베이스를 이용하여 테스트하여 획득한 재학습된 상기 디텍션 네트워크의 제1 정확도(accuracy)를 참조하여 리워드를 생성하거나 생성하도록 지원하며, (i-2) 상기 액션이 상기 제1 언라벨드 이미지의 리젝션(rejection)에 대응될 경우, 상기 제1 언라벨드 이미지를 상기 언라벨드 데이터베이스에 삭제하고, 상기 디텍션 네트워크를 상기 검증 데이터베이스를 이용하여 테스트하여 획득한 상기 디텍션 네트워크의 제2 정확도(accuracy)를 참조하여 상기 리워드를 생성하거나 생성하도록 지원하며, (ii) 상기 언라벨드 데이터베이스에서 적어도 하나의 제2 언라벨드 이미지가 획득되면, (ii-1) 상기 제2 언라벨드 이미지를 상기 디텍션 네트워크에 입력하여, 상기 디텍션 네트워크로 하여금, 상기 제2 언라벨드 이미지에 대한 오브젝트 디텍션을 수행하여 제2 오브젝트 디텍션 정보를 생성하도록 하거나 생성하도록 지원하고, (ii-2) 상기 제2 오브텍트 디텍션 정보를 참조하여 상기 제2 언라벨드 이미지 상에 포함된 제1 객체에 대한 제2_1 바운딩 박스에 대응되는 제2_1 클래시피케이션 컨피던스, 제2_1 리그레션 언서튼티 및 제2_1 풀드 피쳐 맵 내지 상기 제2 언라벨드 이미지 상에 포함된 제k2 객체에 대한 제2_k2 바운딩 박스 - 상기 k2는 1이상의 정수임 - 에 대응되는 제2_k2 클래시피케이션 컨피던스, 제2_k2 리그레션 언서튼티 및 제2_k2 풀드 피쳐 맵을 포함하는 제2 스테이트 셋(state set)을 생성하거나 생성하도록 지원하며, (ii-3) 상기 제1 스테이트 셋, 상기 액션, 상기 리워드 및 상기 제2 스테이트 셋을 트랜지션 벡터(transition vector)로서 메모리에 저장하거나 저장하도록 지원하는 단계; 및
    (c) 상기 학습 장치가, 상기 메모리로부터 적어도 하나의 학습용 트랜지션 벡터로 사용될 적어도 하나의 특정 트랜지션 벡터를 샘플링하여 미니배치(minibatch)를 생성하고, 상기 미니배치를 이용하여 상기 딥 Q-네트워크가 상기 제1 스테이트 셋 및 상기 제2 스테이트 셋에 따라 상기 리워드를 증가시키기 위한 액션을 출력하도록 상기 딥 Q-네트워크를 학습시키거나 학습시키도록 지원하는 단계;
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 (a) 단계에서,
    상기 학습 장치는, 상기 딥 Q-네트워크로 하여금, (i) 상기 제1_1 바운딩 박스에 대응되는 상기 제1_1 클래시피케이션 컨피던스, 상기 제1_1 리그레션 언서튼티, 상기 제1_1 풀드 피쳐 맵 내지 상기 제1_k1 바운딩 박스에 대응되는 상기 제1_ k1 클래시피케이션 컨피던스, 상기 제1_ k1 리그레션 언서튼티 및 상기 제1_k1 풀드 피쳐 맵 각각에 적어도 하나의 FC(Fully-Connected) 연산을 적용하여 상기 제1_1 바운딩 박스에 대응되는 제1 인터미디어트 억셉턴스 스코어(intermediate acceptance score)와 제1 인터미디어트 리젝션 스코어(intermediate rejection score) 내지 상기 제1_k1 바운딩 박스에 대응되는 제k1 인터미디어트 억셉턴스 스코어와 제k1 인터미디어트 리젝션 스코어를 생성하도록 하거나 생성하도록 지원하고, (ii) 상기 제1 인터미디어트 억셉턴스 스코어 내지 상기 제k1 인터미디어트 억셉턴스 스코어를 평균 연산하여 상기 억셉턴스 스코어를 생성하도록 하며, 상기 제1 인터미디어트 리젝션 스코어 내지 상기 제k1 인터미디어트 리젝션 스코어를 평균 연산하여 상기 리젝션 스코어를 생성하도록 함으로써 상기 억셉턴스 스코어와 상기 리젝션 스코어를 포함하는 상기 Q-Value를 생성하도록 하거나 생성하도록 지원하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    상기 학습 장치는, 상기 딥 Q-네트워크로 하여금, 상기 제1_1 풀드 피쳐 맵 내지 상기 제1_k1 풀드 피쳐 맵에 적어도 하나의 1 x 1 컨벌루션 연산과 하나의 m x m 컨벌루션 연산을 적용하여 제1 피쳐 값(feature value) 내지 제k1 피쳐 값을 생성하고, 상기 제1_1 클래시피케이션 컨피던스 내지 상기 제1_k1 클래시피케이션 컨피던스, 상기 제1_1 리그레션 언서튼티 내지 상기 제1_k1 리그레션 언서튼티 및 상기 제1 피쳐 값 내지 상기 제k1 피쳐 값에 적어도 하나의 상기 FC 연산을 적용하여 상기 제1 인터미디어트 억셉턴스 스코어 내지 상기 제k1 인터미디어트 억셉턴스 스코어 및 상기 제1 인터미디어트 리젝션 스코어 내지 상기 제k1 인터미디어트 리젝션 스코어를 생성하도록 하거나 생성하도록 지원하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 (a) 단계, 상기 (b) 단계 및 상기 (c) 단계는 반복적으로 수행되어 복수의 상기 트랜지션 벡터를 생성하고,
    매 이터레이션의 상기 (c) 단계에서,
    상기 학습 장치는, 상기 메모리의 상기 트랜지션 벡터의 축적양에 비례하여 상기 학습용 트랜지션 벡터로 사용될 a*n개나 2^n개 - 여기서, a와 n은 1 이상의 정수이며, n은 기설정된 이터레이션 수마다 1씩 증가한다 - 의 상기 특정 트랜지션 벡터를 랜덤으로 선택하여 적어도 하나의 상기 미니배치를 생성하며, 상기 각 미니배치를 이용하여 상기 딥 Q-네트워크를 학습시키거나 학습시키도록 지원하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 (a) 단계, 상기 (b) 단계 및 상기 (c) 단계는 반복적으로 수행되어 복수의 상기 트랜지션 벡터를 생성하고,
    상기 메모리는 리플레이 메모리(replay memory)를 포함하며,
    매 이터레이션의 상기 (c) 단계에서,
    상기 학습 장치는, (i) 상기 트랜지션 벡터를 상기 리플레이 메모리로 전송하여 상기 리플레이 메모리로 하여금 싸이클릭 버퍼(cyclic buffer)의 기설정된 용량에 따라 상기 트랜지션 벡터를 가장 오래된 이전 트랜지션 벡터에 오버라이트(overwrite)하여 저장하도록 하거나 저장하도록 지원하고, (ii) 상기 리플레이 메모리로부터 상기 학습용 트랜지션 벡터로 사용될 상기 특정 트랜지션 벡터를 랜덤하게 샘플링하여 상기 미니배치를 생성하거나 생성하도록 지원하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 (a) 단계에서,
    상기 학습 장치는, 상기 제1 언라벨드 이미지를 상기 디텍션 네트워크로 입력하여, 상기 디텍션 네트워크로 하여금 (i) 적어도 하나의 컨벌루션 레이어를 통해 상기 제1 언라벨드 이미지를 적어도 한번 컨벌루션 연산하여 상기 제1 언라벨드 이미지에 대응되는 제1 피쳐 맵(featue map)을 생성하도록 하거나 생성하도록 지원하고, (ii) RPN(Region Proposal Network)을 통해 상기 제1 피쳐 맵을 참조하여 상기 제1 언라벨드 이미지 상에서 상기 제1 객체 내지 상기 제k1 객체가 있을 것으로 예측되는 후보 영역들에 대한 ROI(region of interest)들을 생성하도록 하거나 생성하도록 지원하며, (iii) 풀링 레이어를 통해 상기 제1 피쳐 맵 상에서 상기 ROI들에 대응되는 각각의 상기 후보 영역들을 ROI 풀링하여 상기 ROI들 각각에 대응되는 풀드 피쳐 맵들 각각을 생성하도록 하거나 생성하도록 지원하고, (iv) 적어도 하나의 FC(Fully-Connected) 레이어를 통해 상기 풀드 피쳐 맵들을 FC 연산하여 상기 ROI들 각각에 대응하는 리그레션 정보(regression information)들과 클래시피케이션 정보(classification information)들을 생성하도록 하거나 생성하도록 지원하며, (v) 상기 ROI들 각각에 대응하는 상기 리그레션 정보들과 상기 클래시피케이션 정보들을 참조하여 상기 제1 언라벨드 이미지 상에 위치하는 상기 제1 객체 내지 상기 제k1 객체 각각에 대응하는 상기 제1_1 바운딩 박스 내지 상기 제1_k1 바운딩 박스와, 상기 제1_1 클래시피케이션 정보 내지 상기 제1_k1 클래시피케이션 정보를 생성하도록 하거나 생성하도록 지원하는 것을 특징으로 하는 방법.
  7. 딥 Q-네트워크(deep Q-network)를 이용하여 딥러닝 기반의 디텍션 네트워크(detection network)를 자기지도학습(self-supervised learning)하는 방법에 있어서,
    (a) 객체 탐지를 위한 디텍션 네트워크가 학습 데이터베이스에 저장된 학습 데이터로 학습된 상태에서, 학습 장치에 의해, (I) 언라벨드 데이터베이스(unlabeled database)에서 적어도 하나의 제1 언라벨드 이미지(unlabeled image)가 획득되면, (i) 상기 제1 언라벨드 이미지를 상기 디텍션 네트워크에 입력하여, 상기 디텍션 네트워크로 하여금, 상기 제1 언라벨드 이미지에 대한 오브젝트 디텍션을 수행하여 제1 오브젝트 디텍션 정보를 생성하도록 하거나 생성하도록 지원하고, (ii) 상기 제1 오브젝트 디텍션 정보를 참조하여 상기 제1 언라벨드 이미지 상에 포함된 제1 객체에 대한 제1_1 바운딩 박스에 대응되는 제1_1 클래시피케이션 컨피던스(classification confidence), 제1_1 리그레션 언서튼티(regression uncertainty), 제1_1 풀드 피쳐 맵(pooled feature map) 내지 상기 제1 언라벨드 이미지 상에 포함된 제k1 객체에 대한 제1_k1 바운딩 박스 - 상기 k1는 1이상의 정수임 - 에 대응되는 제1_k1 클래시피케이션 컨피던스, 제1_k1 리그레션 언서튼티 및 제1_k1 풀드 피쳐 맵을 포함하는 제1 스테이트 셋(state set)을 생성하거나 생성하도록 지원하며, (iii) 상기 제1 스테이트 셋을 딥 Q-네트워크에 입력하여, 상기 딥 Q-네트워크로 하여금, 상기 제1 스테이트 셋을 러닝 연산하여 상기 제1 언라벨드 이미지에 대응되는 억셉턴스 스코어(acceptance score)와 리젝션 스코어(rejection score)를 포함하는 Q-Value를 생성하도록 하거나 생성하도록 지원하고, (iv) 상기 Q-Value에 argMax 함수를 적용하여 액션(action)을 생성하거나 생성하도록 지원하고, (II) (i) 상기 액션을 참조하여 (i-1) 상기 액션이 상기 제1 언라벨드 이미지의 억셉턴스(acceptance)에 대응될 경우, 상기 제1 오브젝트 디텍션 정보를 상기 제1 언라벨드 이미지에 라벨로 추가한 라벨드 이미지(labeled image)를 학습 데이터로 상기 학습 데이터베이스에 추가시키고, 상기 제1 언라벨드 이미지를 상기 언라벨드 데이터베이스에서 삭제하며, 상기 학습 데이터베이스에 포함된 적어도 하나의 상기 학습 데이터를 이용하여 상기 디텍션 네트워크를 재학습시키며, 재학습된 상기 디텍션 네트워크를 검증 데이터베이스를 이용하여 테스트하여 획득한 재학습된 상기 디텍션 네트워크의 제1 정확도를 리워드(reward)로 생성하거나 생성하도록 지원하며, (i-2) 상기 액션이 상기 제1 언라벨드 이미지의 리젝션(rejection)에 대응될 경우, 상기 제1 언라벨드 이미지를 상기 언라벨드 데이터베이스에 삭제하고, 상기 디텍션 네트워크를 상기 검증 데이터베이스를 이용하여 테스트하여 획득한 상기 디텍션 네트워크의 제2 정확도를 상기 리워드로서 생성하거나 생성하도록 지원하며, (ii) 상기 언라벨드 데이터베이스에서 적어도 하나의 제2 언라벨드 이미지가 획득되면, (ii-1) 상기 제2 언라벨드 이미지를 상기 디텍션 네트워크에 입력하여, 상기 디텍션 네트워크로 하여금, 상기 제2 언라벨드 이미지에 대한 오브젝트 디텍션을 수행하여 제2 오브젝트 디텍션 정보를 생성하도록 하거나 생성하도록 지원하고, (ii-2) 상기 제2 오브텍트 디텍션 정보를 참조하여 상기 제2 언라벨드 이미지 상에 포함된 제1 객체에 대한 제2_1 바운딩 박스에 대응되는 제2_1 클래시피케이션 컨피던스, 제2_1 리그레션 언서튼티 및 제2_1 풀드 피쳐 맵 내지 상기 제2 언라벨드 이미지 상에 포함된 제k2 객체에 대한 제2_k2 바운딩 박스 - 상기 k2는 1 이상의 정수임 - 에 대응되는 제2_k2 클래시피케이션 컨피던스, 제2_k2 리그레션 언서튼티 및 제2_k2 풀드 피쳐 맵을 포함하는 제2 스테이트 셋을 생성하거나 생성하도록 지원하며, (ii-3) 상기 제1 스테이트 셋, 상기 액션, 상기 리워드 및 상기 제2 스테이트 셋을 트랜지션 벡터로서 메모리에 저장하거나 저장하도록 지원하고, (III) 상기 메모리로부터 적어도 하나의 학습용 트랜지션 벡터로 사용될 적어도 하나의 특정 트랜지션 벡터를 샘플링하여 미니배치(minibatch)를 생성하고, 상기 미니배치를 이용하여 상기 딥 Q-네트워크가 상기 제1 스테이트 셋 및 상기 제2 스테이트 셋에 따라 상기 리워드를 증가시키기 위한 액션을 출력하도록 상기 딥 Q-네트워크를 학습시키거나 학습시키도록 지원한 상태에서, 자가 학습 장치가, 신규 언라벨드 데이터베이스에서 선택된 적어도 하나의 신규 언라벨드 이미지가 획득되면, (i) 상기 신규 언라벨드 이미지를 상기 디텍션 네트워크에 입력하여, 상기 디텍션 네트워크로 하여금, 상기 신규 언라벨드 이미지에 대한 오브젝트 디텍션을 수행하여 신규 오브젝트 디텍션 정보를 생성하도록 하거나 생성하도록 지원하고, (ii) 상기 신규 오브젝트 디텍션 정보를 참조하여 상기 신규 언라벨드 이미지 상에 포함된 제1 객체에 대한 제1 신규 바운딩 박스에 대응되는 제1 신규 클래시피케이션 컨피던스, 제1 신규 리그레션 언서튼티 및 제1 신규 풀드 피쳐 맵 내지 상기 신규 언라벨드 이미지 상에 포함된 제k3 객체에 대한 제k3 신규 바운딩 박스 - 상기 k3는 1이상의 정수임 - 에 대응되는 제k3 신규 클래시피케이션 컨피던스, 제k3 신규 리그레션 언서튼티 및 제k3 신규 풀드 피쳐 맵을 포함하는 신규 스테이트 셋을 생성하거나 생성하도록 지원하며, (iii) 상기 신규 스테이트 셋을 딥 Q-네트워크에 입력하여, 상기 딥 Q-네트워크로 하여금, 상기 신규 스테이트 셋을 러닝 연산하여 상기 신규 언라벨드 이미지에 대응되는 신규 억셉턴스 스코어와 신규 리젝션 스코어를 포함하는 신규 Q-Value를 생성하도록 하거나 생성하도록 지원하고, (iv) 상기 신규 Q-Value에 argMax 함수를 적용하여 신규 액션을 생성하거나 생성하도록 지원하는 단계; 및
    (b) 상기 자가 학습 장치가, 상기 신규 액션을 참조하여 (i) 상기 신규 액션이 상기 신규 언라벨드 이미지의 억셉턴스(acceptance)에 대응될 경우, 상기 신규 오브젝트 디텍션 정보를 상기 신규 언라벨드 이미지에 라벨로 추가한 신규 라벨드 이미지를 상기 학습 데이터로 상기 학습 데이터베이스에 추가시키고, 상기 신규 언라벨드 이미지를 상기 신규 언라벨드 데이터베이스에서 삭제하며, 상기 학습 데이터베이스에 포함된 적어도 하나의 상기 학습 데이터를 이용하여 상기 디텍션 네트워크를 재학습시키거나 재학습시키도록 지원하고, (ii) 상기 신규 액션이 상기 신규 언라벨드 이미지의 리젝션(rejection)에 대응될 경우, 상기 신규 언라벨드 이미지를 상기 신규 언라벨드 데이터베이스에서 삭제하는 단계;
    를 포함하는 방법.
  8. 제7항에 있어서,
    상기 (a) 단계에서,
    상기 자가 학습 장치는, 상기 딥 Q-네트워크로 하여금, (i) 상기 제1 신규 바운딩 박스에 대응되는 상기 제1 신규 클래시피케이션 컨피던스, 상기 제1 신규 리그레션 언서튼티 및 상기 제1 신규 풀드 피쳐 맵 내지 상기 제1 신규 바운딩 박스에 대응되는 상기 제k3 신규 클래시피케이션 컨피던스, 상기 제k3 신규 리그레션 언서튼티 및 상기 제k3 신규 풀드 피쳐 맵에 적어도 하나의 FC(Fully-Connected) 연산을 적용하여 상기 제1 신규 바운딩 박스에 대응되는 제1 신규 인터미디어트 억셉턴스 스코어(intermediate acceptance score)와 제1 신규 인터미디어트 리젝션 스코어(intermediate rejection score) 내지 상기 제k3 신규 바운딩 박스에 대응되는 제k3 신규 인터미디어트 억셉턴스 스코어와 제k3 신규 인터미디어트 리젝션 스코어를 생성하도록 하거나 생성하도록 지원하고, (ii) 상기 제1 신규 인터미디어트 억셉턴스 스코어 내지 상기 제k3 신규 인터미디어트 억셉턴스 스코어를 평균 연산하여 상기 신규 억셉턴스 스코어를 생성하도록 하며, 상기 제1 신규 인터미디어트 리젝션 스코어 내지 상기 제k3 신규 인터미디어트 리젝션 스코어를 평균 연산하여 상기 신규 리젝션 스코어를 생성하도록 함으로써 상기 신규 억셉턴스 스코어와 상기 신규 리젝션 스코어를 포함하는 상기 신규 Q-Value를 생성하도록 하거나 생성하도록 지원하는 것을 특징으로 하는 방법.
  9. 제8항에 있어서,
    상기 자가 학습 장치는, 상기 딥 Q-네트워크로 하여금, 상기 제1 신규 풀드 피쳐 맵 내지 상기 제k3 신규 풀드 피쳐 맵에 적어도 하나의 1 x 1 컨벌루션 연산과 하나의 m x m 컨벌루션 연산을 적용하여 제1 신규 피쳐 값(feature value) 내지 제k3 신규 피쳐 값을 생성하여, 상기 제1 신규 클래시피케이션 컨피던스 내지 상기 제k3 신규 클래시피케이션 컨피던스, 상기 제1 신규 리그레션 언서튼티 내지 상기 제k3 신규 리그레션 언서튼티 및 상기 제1 신규 피쳐 값 내지 상기 제k3 신규 피쳐 값에 적어도 하나의 상기 FC 연산을 적용하여 상기 제1 신규 인터미디어트 억셉턴스 스코어 내지 상기 제k3 신규 인터미디어트 억셉턴스 스코어 및 상기 제1 신규 인터미디어트 리젝션 스코어 내지 상기 제k3 신규 인터미디어트 리젝션 스코어를 생성하도록 하거나 생성하도록 지원하는 것을 특징으로 하는 방법.
  10. 제7항에 있어서,
    상기 (a) 단계에서,
    상기 자가 학습 장치는, 상기 신규 언라벨드 이미지를 상기 디텍션 네트워크로 입력하여, 상기 디텍션 네트워크로 하여금 (i) 적어도 하나의 컨벌루션 레이어를 통해 상기 신규 언라벨드 이미지를 적어도 한번 컨벌루션 연산하여 상기 신규 언라벨드 이미지에 대응되는 신규 피쳐 맵을 생성하도록 하거나 생성하도록 지원하고, (ii) RPN(Region Proposal Network)을 통해 상기 신규 피쳐 맵을 참조하여 상기 신규 언라벨드 이미지 상에서 상기 제1 객체 내지 상기 제k3 객체가 있을 것으로 예측되는 후보 영역들에 대한 신규 ROI(region of interest)들을 생성하도록 하거나 생성하도록 지원하며, (iii) 풀링 레이어를 통해 상기 신규 피쳐 맵 상에서 상기 신규 ROI들에 대응되는 각각의 상기 후보 영역들을 ROI 풀링하여 상기 신규 ROI들 각각에 대응되는 신규 풀드 피쳐 맵들을 생성하도록 하거나 생성하도록 지원하고, (iv) 적어도 하나의 FC(Fully-Connected) 레이어를 통해 상기 신규 풀드 피쳐 맵들을 FC 연산하여 상기 신규 ROI들 각각에 대응하는 신규 리그레션 정보(regression information)들과 신규 클래시피케이션 정보(classification information)들을 생성하도록 하거나 생성하도록 지원하며, (v) 상기 신규 ROI들 각각에 대응하는 상기 신규 리그레션 정보들과 상기 신규 클래시피케이션 정보들을 참조하여 상기 신규 언라벨드 이미지 상에 위치하는 상기 제1 객체 내지 상기 제k3 객체 각각에 대응하는 상기 제1 신규 바운딩 박스 내지 상기 제k3 신규 바운딩 박스와, 제1 신규 클래시피케이션 정보 내지 제k3 신규 클래시피케이션 정보를 생성하도록 하거나 생성하도록 지원하는 것을 특징으로 하는 방법.
  11. 딥 Q-네트워크(deep Q-network)를 이용하여 딥러닝 기반의 디텍션 네트워크(detection network)를 자기지도학습(self-supervised learning)하는 학습 장치로서,
    인스트럭션들을 저장하는 적어도 하나의 메모리; 및
    상기 인스트럭션들을 실행하기 위해 구성된 적어도 하나의 프로세서;를 포함하되,
    상기 프로세서가, (I) 객체 탐지를 위한 디텍션 네트워크가 학습 데이터베이스에 저장된 학습 데이터들을 이용하여 학습된 상태에서, 언라벨드 데이터베이스(unlabeled database)에서 적어도 하나의 제1 언라벨드 이미지(unlabeled image)가 획득되면, (i) 상기 제1 언라벨드 이미지를 상기 디텍션 네트워크에 입력하여, 상기 디텍션 네트워크로 하여금, 상기 제1 언라벨드 이미지에 대한 오브젝트 디텍션을 수행하여 제1 오브젝트 디텍션 정보를 생성하도록 하거나 생성하도록 지원하고, (ii) 상기 제1 오브젝트 디텍션 정보를 참조하여 상기 제1 언라벨드 이미지 상에 포함된 제1 객체에 대한 제1_1 바운딩 박스에 대응되는 제1_1 클래시피케이션 컨피던스(classification confidence), 제1_1 리그레션 언서튼티(regression uncertainty), 제1_1 풀드 피쳐 맵(pooled feature map) 내지 상기 제1 언라벨드 이미지 상에 포함된 제k1 객체에 제1_k1 바운딩 박스 - 상기 k1는 1이상의 정수임 - 에 대응되는 제1_k1 클래시피케이션 컨피던스, 제1_k1 리그레션 언서튼티 및 제1_k1 풀드 피쳐 맵을 포함하는 제1 스테이트 셋(state set)을 생성하거나 생성하도록 지원하며, (iii) 상기 제1 스테이트 셋을 딥 Q-네트워크에 입력하여, 상기 딥 Q-네트워크로 하여금, 상기 제1 스테이트 셋을 러닝 연산하여 상기 제1 언라벨드 이미지에 대응되는 억셉턴스 스코어(acceptance score)와 리젝션 스코어(rejection score)를 포함하는 Q-Value를 생성하도록 하거나 생성하도록 지원하고, (iv) 상기 Q-Value에 argMax 함수를 적용하여 액션(action)을 생성하거나 생성하도록 지원하는 프로세스, (II) (i) 상기 액션을 참조하여 (i-1) 상기 액션이 상기 제1 언라벨드 이미지의 억셉턴스(acceptance)에 대응될 경우, 상기 제1 오브젝트 디텍션 정보를 상기 제1 언라벨드 이미지에 라벨로 추가한 라벨드 이미지(labeled image)를 학습 데이터로 상기 학습 데이터베이스에 추가시키고, 상기 제1 언라벨드 이미지를 상기 언라벨드 데이터베이스에서 삭제하며, 상기 학습 데이터베이스에 포함된 적어도 하나의 상기 학습 데이터를 이용하여 상기 디텍션 네트워크를 재학습시키며, 재학습된 상기 디텍션 네트워크를 검증 데이터베이스를 이용하여 테스트하여 획득한 재학습된 상기 디텍션 네트워크의 제1 정확도(accuracy)를 참조하여 리워드를 생성하거나 생성하도록 지원하며, (i-2) 상기 액션이 상기 제1 언라벨드 이미지의 리젝션(rejection)에 대응될 경우, 상기 제1 언라벨드 이미지를 상기 언라벨드 데이터베이스에 삭제하고, 상기 디텍션 네트워크를 상기 검증 데이터베이스를 이용하여 테스트하여 획득한 상기 디텍션 네트워크의 제2 정확도(accuracy)를 참조하여 상기 리워드를 생성하거나 생성하도록 지원하며, (ii) 상기 언라벨드 데이터베이스에서 적어도 하나의 제2 언라벨드 이미지가 획득되면, (ii-1) 상기 제2 언라벨드 이미지를 상기 디텍션 네트워크에 입력하여, 상기 디텍션 네트워크로 하여금, 상기 제2 언라벨드 이미지에 대한 오브젝트 디텍션을 수행하여 제2 오브젝트 디텍션 정보를 생성하도록 하거나 생성하도록 지원하고, (ii-2) 상기 제2 오브텍트 디텍션 정보를 참조하여 상기 제2 언라벨드 이미지 상에 포함된 제1 객체에 대한 제2_1 바운딩 박스에 대응되는 제2_1 클래시피케이션 컨피던스, 제2_1 리그레션 언서튼티 및 제2_1 풀드 피쳐 맵 내지 상기 제2 언라벨드 이미지 상에 포함된 제k2 객체에 대한 제2_k2 바운딩 박스 - 상기 k2는 1이상의 정수임 - 에 대응되는 제2_k2 클래시피케이션 컨피던스, 제2_k2 리그레션 언서튼티 및 제2_k2 풀드 피쳐 맵을 포함하는 제2 스테이트 셋(state set)을 생성하거나 생성하도록 지원하며, (ii-3) 상기 제1 스테이트 셋, 상기 액션, 상기 리워드 및 상기 제2 스테이트 셋을 트랜지션 벡터(transition vector)로서 메모리에 저장하거나 저장하도록 지원하는 프로세스, 및 (III) 상기 메모리로부터 적어도 하나의 학습용 트랜지션 벡터로 사용될 적어도 하나의 특정 트랜지션 벡터를 샘플링하여 미니배치(minibatch)를 생성하고, 상기 미니배치를 이용하여 상기 딥 Q-네트워크가 상기 제1 스테이트 셋 및 상기 제2 스테이트 셋에 따라 상기 리워드를 증가시키기 위한 액션을 출력하도록 상기 딥 Q-네트워크를 학습시키거나 학습시키도록 지원하는 프로세스를 수행하는 학습 장치.
  12. 제11항에 있어서,
    상기 (I) 프로세스에서,
    상기 프로세서는, 상기 딥 Q-네트워크로 하여금, (i) 상기 제1_1 바운딩 박스에 대응되는 상기 제1_1 클래시피케이션 컨피던스, 상기 제1_1 리그레션 언서튼티, 상기 제1_1 풀드 피쳐 맵 내지 상기 제1_k1 바운딩 박스에 대응되는 상기 제1_ k1 클래시피케이션 컨피던스, 상기 제1_ k1 리그레션 언서튼티 및 상기 제1_k1 풀드 피쳐 맵 각각에 적어도 하나의 FC(Fully-Connected) 연산을 적용하여 상기 제1_1 바운딩 박스에 대응되는 제1 인터미디어트 억셉턴스 스코어(intermediate acceptance score)와 제1 인터미디어트 리젝션 스코어(intermediate rejection score) 내지 상기 제1_k1 바운딩 박스에 대응되는 제k1 인터미디어트 억셉턴스 스코어와 제k1 인터미디어트 리젝션 스코어를 생성하도록 하거나 생성하도록 지원하고, (ii) 상기 제1 인터미디어트 억셉턴스 스코어 내지 상기 제k1 인터미디어트 억셉턴스 스코어를 평균 연산하여 상기 억셉턴스 스코어를 생성하도록 하며, 상기 제1 인터미디어트 리젝션 스코어 내지 상기 제k1 인터미디어트 리젝션 스코어를 평균 연산하여 상기 리젝션 스코어를 생성하도록 함으로써 상기 억셉턴스 스코어와 상기 리젝션 스코어를 포함하는 상기 Q-Value를 생성하도록 하거나 생성하도록 지원하는 것을 특징으로 하는 학습 장치.
  13. 제12항에 있어서,
    상기 프로세서는, 상기 딥 Q-네트워크로 하여금, 상기 제1_1 풀드 피쳐 맵 내지 상기 제1_k1 풀드 피쳐 맵에 적어도 하나의 1 x 1 컨벌루션 연산과 하나의 m x m 컨벌루션 연산을 적용하여 제1 피쳐 값(feature value) 내지 제k1 피쳐 값을 생성하고, 상기 제1_1 클래시피케이션 컨피던스 내지 상기 제1_k1 클래시피케이션 컨피던스, 상기 제1_1 리그레션 언서튼티 내지 상기 제1_k1 리그레션 언서튼티 및 상기 제1 피쳐 값 내지 상기 제k1 피쳐 값에 적어도 하나의 상기 FC 연산을 적용하여 상기 제1 인터미디어트 억셉턴스 스코어 내지 상기 제k1 인터미디어트 억셉턴스 스코어 및 상기 제1 인터미디어트 리젝션 스코어 내지 상기 제k1 인터미디어트 리젝션 스코어를 생성하도록 하거나 생성하도록 지원하는 것을 특징으로 하는 학습 장치.
  14. 제11항에 있어서,
    상기 (I) 프로세스, 상기 (II) 프로세스 및 상기 (III) 프로세스는 반복적으로 수행되어 복수의 상기 트랜지션 벡터를 생성하고,
    매 이터레이션의 상기 (III) 프로세스에서,
    상기 프로세서는, 상기 메모리의 상기 트랜지션 벡터의 축적양에 비례하여 상기 학습용 트랜지션 벡터로 사용될 a*n개나 2^n개 - 여기서, a와 n은 1 이상의 정수이며, n은 기설정된 이터레이션 수마다 1씩 증가한다 - 의 상기 특정 트랜지션 벡터를 랜덤으로 선택하여 적어도 하나의 상기 미니배치를 생성하며, 상기 각 미니배치를 이용하여 상기 딥 Q-네트워크를 학습시키거나 학습시키도록 지원하는 것을 특징으로 하는 학습 장치.
  15. 제11항에 있어서,
    상기 (I) 프로세스, 상기 (II) 프로세스 및 상기 (III) 프로세스는 반복적으로 수행되어 복수의 상기 트랜지션 벡터를 생성하고,
    상기 메모리는 리플레이 메모리(replay memory)를 포함하며,
    매 이터레이션의 상기 (III) 프로세스에서,
    상기 프로세서는, (i) 상기 트랜지션 벡터를 상기 리플레이 메모리로 전송하여 상기 리플레이 메모리로 하여금 싸이클릭 버퍼(cyclic buffer)의 기설정된 용량에 따라 상기 트랜지션 벡터를 가장 오래된 이전 트랜지션 벡터에 오버라이트(overwrite)하여 저장하도록 하거나 저장하도록 지원하고, (ii) 상기 리플레이 메모리로부터 상기 학습용 트랜지션 벡터로 사용될 상기 특정 트랜지션 벡터를 랜덤하게 샘플링하여 상기 미니배치를 생성하거나 생성하도록 지원하는 것을 특징으로 하는 학습 장치.
  16. 제11항에 있어서,
    상기 (I) 프로세스에서,
    상기 프로세서는, 상기 제1 언라벨드 이미지를 상기 디텍션 네트워크로 입력하여, 상기 디텍션 네트워크로 하여금 (i) 적어도 하나의 컨벌루션 레이어를 통해 상기 제1 언라벨드 이미지를 적어도 한번 컨벌루션 연산하여 상기 제1 언라벨드 이미지에 대응되는 제1 피쳐 맵(featue map)을 생성하도록 하거나 생성하도록 지원하고, (ii) RPN(Region Proposal Network)을 통해 상기 제1 피쳐 맵을 참조하여 상기 제1 언라벨드 이미지 상에서 상기 제1 객체 내지 상기 제k1 객체가 있을 것으로 예측되는 후보 영역들에 대한 ROI(region of interest)들을 생성하도록 하거나 생성하도록 지원하며, (iii) 풀링 레이어를 통해 상기 제1 피쳐 맵 상에서 상기 ROI들에 대응되는 각각의 상기 후보 영역들을 ROI 풀링하여 상기 ROI들 각각에 대응되는 풀드 피쳐 맵들 각각을 생성하도록 하거나 생성하도록 지원하고, (iv) 적어도 하나의 FC(Fully-Connected) 레이어를 통해 상기 풀드 피쳐 맵들을 FC 연산하여 상기 ROI들 각각에 대응하는 리그레션 정보(regression information)들과 클래시피케이션 정보(classification information)들을 생성하도록 하거나 생성하도록 지원하며, (v) 상기 ROI들 각각에 대응하는 상기 리그레션 정보들과 상기 클래시피케이션 정보들을 참조하여 상기 제1 언라벨드 이미지 상에 위치하는 상기 제1 객체 내지 상기 제k1 객체 각각에 대응하는 상기 제1_1 바운딩 박스 내지 상기 제1_k1 바운딩 박스와, 상기 제1_1 클래시피케이션 정보 내지 상기 제1_k1 클래시피케이션 정보를 생성하도록 하거나 생성하도록 지원하는 것을 특징으로 하는 학습 장치.
  17. 딥 Q-네트워크(deep Q-network)를 이용하여 딥러닝 기반의 디텍션 네트워크(detection network)를 자기지도학습(self-supervised learning)하는 자가 학습 장치로서,
    인스트럭션들을 저장하는 적어도 하나의 메모리; 및
    상기 인스트럭션들을 실행하기 위해 구성된 적어도 하나의 프로세서;를 포함하되,
    상기 프로세서가, (I) 학습 장치에 의해, 객체 탐지를 위한 디텍션 네트워크가 학습 데이터베이스에 저장된 학습 데이터로 학습된 상태에서, (i) 언라벨드 데이터베이스(unlabeled database)에서 적어도 하나의 제1 언라벨드 이미지(unlabeled image)가 획득되면, (i-1) 상기 제1 언라벨드 이미지를 상기 디텍션 네트워크에 입력하여, 상기 디텍션 네트워크로 하여금, 상기 제1 언라벨드 이미지에 대한 오브젝트 디텍션을 수행하여 제1 오브젝트 디텍션 정보를 생성하도록 하거나 생성하도록 지원하고, (i-2) 상기 제1 오브젝트 디텍션 정보를 참조하여 상기 제1 언라벨드 이미지 상에 포함된 제1 객체에 대한 제1_1 바운딩 박스에 대응되는 제1_1 클래시피케이션 컨피던스(classification confidence), 제1_1 리그레션 언서튼티(regression uncertainty), 제1_1 풀드 피쳐 맵(pooled feature map) 내지 상기 제1 언라벨드 이미지 상에 포함된 제k1 객체에 대한 제1_k1 바운딩 박스 - 상기 k1는 1이상의 정수임 - 에 대응되는 제1_k1 클래시피케이션 컨피던스, 제1_k1 리그레션 언서튼티 및 제1_k1 풀드 피쳐 맵을 포함하는 제1 스테이트 셋(state set)을 생성하거나 생성하도록 지원하며, (i-3) 상기 제1 스테이트 셋을 딥 Q-네트워크에 입력하여, 상기 딥 Q-네트워크로 하여금, 상기 제1 스테이트 셋을 러닝 연산하여 상기 제1 언라벨드 이미지에 대응되는 억셉턴스 스코어(acceptance score)와 리젝션 스코어(rejection score)를 포함하는 Q-Value를 생성하도록 하거나 생성하도록 지원하고, (i-4) 상기 Q-Value에 argMax 함수를 적용하여 액션(action)을 생성하거나 생성하도록 지원하고, (ii) (ii-1) 상기 액션을 참조하여 (1) 상기 액션이 상기 제1 언라벨드 이미지의 억셉턴스(acceptance)에 대응될 경우, 상기 제1 오브젝트 디텍션 정보를 상기 제1 언라벨드 이미지에 라벨로 추가한 라벨드 이미지(labeled image)를 학습 데이터로 상기 학습 데이터베이스에 추가시키고, 상기 제1 언라벨드 이미지를 상기 언라벨드 데이터베이스에서 삭제하며, 상기 학습 데이터베이스에 포함된 적어도 하나의 상기 학습 데이터를 이용하여 상기 디텍션 네트워크를 재학습시키며, 재학습된 상기 디텍션 네트워크를 검증 데이터베이스를 이용하여 테스트하여 획득한 재학습된 상기 디텍션 네트워크의 제1 정확도를 리워드(reward)로 생성하거나 생성하도록 지원하며, (2) 상기 액션이 상기 제1 언라벨드 이미지의 리젝션(rejection)에 대응될 경우, 상기 제1 언라벨드 이미지를 상기 언라벨드 데이터베이스에 삭제하고, 상기 디텍션 네트워크를 상기 검증 데이터베이스를 이용하여 테스트하여 획득한 상기 디텍션 네트워크의 제2 정확도를 상기 리워드로서 생성하거나 생성하도록 지원하며, (ii-2) 상기 언라벨드 데이터베이스에서 적어도 하나의 제2 언라벨드 이미지가 획득되면, (1) 상기 제2 언라벨드 이미지를 상기 디텍션 네트워크에 입력하여, 상기 디텍션 네트워크로 하여금, 상기 제2 언라벨드 이미지에 대한 오브젝트 디텍션을 수행하여 제2 오브젝트 디텍션 정보를 생성하도록 하거나 생성하도록 지원하고, (2) 상기 제2 오브텍트 디텍션 정보를 참조하여 상기 제2 언라벨드 이미지 상에 포함된 제1 객체에 대한 제2_1 바운딩 박스에 대응되는 제2_1 클래시피케이션 컨피던스, 제2_1 리그레션 언서튼티 및 제2_1 풀드 피쳐 맵 내지 상기 제2 언라벨드 이미지 상에 포함된 제k2 객체에 대한 제2_k2 바운딩 박스 - 상기 k2는 1 이상의 정수임 - 에 대응되는 제2_k2 클래시피케이션 컨피던스, 제2_k2 리그레션 언서튼티 및 제2_k2 풀드 피쳐 맵을 포함하는 제2 스테이트 셋을 생성하거나 생성하도록 지원하며, (3) 상기 제1 스테이트 셋, 상기 액션, 상기 리워드 및 상기 제2 스테이트 셋을 트랜지션 벡터로서 메모리에 저장하거나 저장하도록 지원하고, (iii) 상기 메모리로부터 적어도 하나의 학습용 트랜지션 벡터로 사용될 적어도 하나의 특정 트랜지션 벡터를 샘플링하여 미니배치(minibatch)를 생성하고, 상기 미니배치를 이용하여 상기 딥 Q-네트워크가 상기 제1 스테이트 셋 및 상기 제2 스테이트 셋에 따라 상기 리워드를 증가시키기 위한 액션을 출력하도록 상기 딥 Q-네트워크를 학습시키거나 학습시키도록 지원한 상태에서, 신규 언라벨드 데이터베이스에서 선택된 적어도 하나의 신규 언라벨드 이미지가 획득되면, (i) 상기 신규 언라벨드 이미지를 상기 디텍션 네트워크에 입력하여, 상기 디텍션 네트워크로 하여금, 상기 신규 언라벨드 이미지에 대한 오브젝트 디텍션을 수행하여 신규 오브젝트 디텍션 정보를 생성하도록 하거나 생성하도록 지원하고, (ii) 상기 신규 오브젝트 디텍션 정보를 참조하여 상기 신규 언라벨드 이미지 상에 포함된 제1 객체에 대한 제1 신규 바운딩 박스에 대응되는 제1 신규 클래시피케이션 컨피던스, 제1 신규 리그레션 언서튼티 및 제1 신규 풀드 피쳐 맵 내지 상기 신규 언라벨드 이미지 상에 포함된 제k3 객체에 대한 제k3 신규 바운딩 박스 - 상기 k3는 1이상의 정수임 - 에 대응되는 제k3 신규 클래시피케이션 컨피던스, 제k3 신규 리그레션 언서튼티 및 제k3 신규 풀드 피쳐 맵을 포함하는 신규 스테이트 셋을 생성하거나 생성하도록 지원하며, (iii) 상기 신규 스테이트 셋을 딥 Q-네트워크에 입력하여, 상기 딥 Q-네트워크로 하여금, 상기 신규 스테이트 셋을 러닝 연산하여 상기 신규 언라벨드 이미지에 대응되는 신규 억셉턴스 스코어와 신규 리젝션 스코어를 포함하는 신규 Q-Value를 생성하도록 하거나 생성하도록 지원하고, (iv) 상기 신규 Q-Value에 argMax 함수를 적용하여 신규 액션을 생성하거나 생성하도록 지원하는 프로세스, 및 (II) 상기 신규 액션을 참조하여 (i) 상기 신규 액션이 상기 신규 언라벨드 이미지의 억셉턴스(acceptance)에 대응될 경우, 상기 신규 오브젝트 디텍션 정보를 상기 신규 언라벨드 이미지에 라벨로 추가한 신규 라벨드 이미지를 상기 학습 데이터로 상기 학습 데이터베이스에 추가시키고, 상기 신규 언라벨드 이미지를 상기 신규 언라벨드 데이터베이스에서 삭제하며, 상기 학습 데이터베이스에 포함된 적어도 하나의 상기 학습 데이터를 이용하여 상기 디텍션 네트워크를 재학습시키거나 재학습시키도록 지원하고, (ii) 상기 신규 액션이 상기 신규 언라벨드 이미지의 리젝션(rejection)에 대응될 경우, 상기 신규 언라벨드 이미지를 상기 신규 언라벨드 데이터베이스에서 삭제하는 프로세스를 수행하는 자가 학습 장치.
  18. 제17항에 있어서,
    상기 (I) 프로세스에서,
    상기 프로세서는, 상기 딥 Q-네트워크로 하여금, (i) 상기 제1 신규 바운딩 박스에 대응되는 상기 제1 신규 클래시피케이션 컨피던스, 상기 제1 신규 리그레션 언서튼티 및 상기 제1 신규 풀드 피쳐 맵 내지 상기 제1 신규 바운딩 박스에 대응되는 상기 제k3 신규 클래시피케이션 컨피던스, 상기 제k3 신규 리그레션 언서튼티 및 상기 제k3 신규 풀드 피쳐 맵에 적어도 하나의 FC(Fully-Connected) 연산을 적용하여 상기 제1 신규 바운딩 박스에 대응되는 제1 신규 인터미디어트 억셉턴스 스코어(intermediate acceptance score)와 제1 신규 인터미디어트 리젝션 스코어(intermediate rejection score) 내지 상기 제k3 신규 바운딩 박스에 대응되는 제k3 신규 인터미디어트 억셉턴스 스코어와 제k3 신규 인터미디어트 리젝션 스코어를 생성하도록 하거나 생성하도록 지원하고, (ii) 상기 제1 신규 인터미디어트 억셉턴스 스코어 내지 상기 제k3 신규 인터미디어트 억셉턴스 스코어를 평균 연산하여 상기 신규 억셉턴스 스코어를 생성하도록 하며, 상기 제1 신규 인터미디어트 리젝션 스코어 내지 상기 제k3 신규 인터미디어트 리젝션 스코어를 평균 연산하여 상기 신규 리젝션 스코어를 생성하도록 함으로써 상기 신규 억셉턴스 스코어와 상기 신규 리젝션 스코어를 포함하는 상기 신규 Q-Value를 생성하도록 하거나 생성하도록 지원하는 것을 특징으로 하는 자가 학습 장치.
  19. 제18항에 있어서,
    상기 프로세서는, 상기 딥 Q-네트워크로 하여금, 상기 제1 신규 풀드 피쳐 맵 내지 상기 제k3 신규 풀드 피쳐 맵에 적어도 하나의 1 x 1 컨벌루션 연산과 하나의 m x m 컨벌루션 연산을 적용하여 제1 신규 피쳐 값(feature value) 내지 제k3 신규 피쳐 값을 생성하여, 상기 제1 신규 클래시피케이션 컨피던스 내지 상기 제k3 신규 클래시피케이션 컨피던스, 상기 제1 신규 리그레션 언서튼티 내지 상기 제k3 신규 리그레션 언서튼티 및 상기 제1 신규 피쳐 값 내지 상기 제k3 신규 피쳐 값에 적어도 하나의 상기 FC 연산을 적용하여 상기 제1 신규 인터미디어트 억셉턴스 스코어 내지 상기 제k3 신규 인터미디어트 억셉턴스 스코어 및 상기 제1 신규 인터미디어트 리젝션 스코어 내지 상기 제k3 신규 인터미디어트 리젝션 스코어를 생성하도록 하거나 생성하도록 지원하는 것을 특징으로 하는 자가 학습 장치.
  20. 제17항에 있어서,
    상기 (I) 프로세스에서,
    상기 프로세서는, 상기 신규 언라벨드 이미지를 상기 디텍션 네트워크로 입력하여, 상기 디텍션 네트워크로 하여금 (i) 적어도 하나의 컨벌루션 레이어를 통해 상기 신규 언라벨드 이미지를 적어도 한번 컨벌루션 연산하여 상기 신규 언라벨드 이미지에 대응되는 신규 피쳐 맵을 생성하도록 하거나 생성하도록 지원하고, (ii) RPN(Region Proposal Network)을 통해 상기 신규 피쳐 맵을 참조하여 상기 신규 언라벨드 이미지 상에서 상기 제1 객체 내지 상기 제k3 객체가 있을 것으로 예측되는 후보 영역들에 대한 신규 ROI(region of interest)들을 생성하도록 하거나 생성하도록 지원하며, (iii) 풀링 레이어를 통해 상기 신규 피쳐 맵 상에서 상기 신규 ROI들에 대응되는 각각의 상기 후보 영역들을 ROI 풀링하여 상기 신규 ROI들 각각에 대응되는 신규 풀드 피쳐 맵들을 생성하도록 하거나 생성하도록 지원하고, (iv) 적어도 하나의 FC(Fully-Connected) 레이어를 통해 상기 신규 풀드 피쳐 맵들을 FC 연산하여 상기 신규 ROI들 각각에 대응하는 신규 리그레션 정보(regression information)들과 신규 클래시피케이션 정보(classification information)들을 생성하도록 하거나 생성하도록 지원하며, (v) 상기 신규 ROI들 각각에 대응하는 상기 신규 리그레션 정보들과 상기 신규 클래시피케이션 정보들을 참조하여 상기 신규 언라벨드 이미지 상에 위치하는 상기 제1 객체 내지 상기 제k3 객체 각각에 대응하는 상기 제1 신규 바운딩 박스 내지 상기 제k3 신규 바운딩 박스와, 제1 신규 클래시피케이션 정보 내지 제k3 신규 클래시피케이션 정보를 생성하도록 하거나 생성하도록 지원하는 것을 특징으로 하는 자가 학습 장치.
KR1020220015016A 2021-03-26 2022-02-04 딥 Q-네트워크를 이용하여 딥러닝 기반의 디텍션 네트워크에 대한 자기지도학습(self-supervised learning)을 수행하는 방법 및 이를 이용한 학습 장치 KR20220134429A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/213,853 US11113574B1 (en) 2021-03-26 2021-03-26 Methods for performing self-supervised learning of deep-learning based detection network by using deep Q-network and devices using the same
US17/213,853 2021-03-26

Publications (1)

Publication Number Publication Date
KR20220134429A true KR20220134429A (ko) 2022-10-05

Family

ID=77558963

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220015016A KR20220134429A (ko) 2021-03-26 2022-02-04 딥 Q-네트워크를 이용하여 딥러닝 기반의 디텍션 네트워크에 대한 자기지도학습(self-supervised learning)을 수행하는 방법 및 이를 이용한 학습 장치

Country Status (5)

Country Link
US (1) US11113574B1 (ko)
EP (1) EP4064135A1 (ko)
JP (1) JP7220813B2 (ko)
KR (1) KR20220134429A (ko)
CN (1) CN115130644A (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7024515B2 (ja) * 2018-03-09 2022-02-24 富士通株式会社 学習プログラム、学習方法および学習装置
US11893084B2 (en) * 2021-09-07 2024-02-06 Johnson Controls Tyco IP Holdings LLP Object detection systems and methods including an object detection model using a tailored training dataset
KR102665981B1 (ko) * 2021-11-17 2024-05-14 주식회사 슈프리마 생체 인증 데이터 분류 장치 및 방법
KR20240068261A (ko) * 2022-11-10 2024-05-17 주식회사 슈퍼브에이아이 확장된 오브젝트 클래스를 검출하는 딥러닝 기반의 오브젝트 디텍터를 생성하는 방법 및 이를 이용한 디텍터 생성 장치
CN116385814B (zh) * 2023-03-07 2023-12-05 广州市妇女儿童医疗中心 一种检测目标的超声筛查方法、系统、装置及介质
CN117292119B (zh) * 2023-11-24 2024-03-22 国网智能科技股份有限公司 一种输电多尺度目标检测方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9934440B1 (en) * 2017-10-04 2018-04-03 StradVision, Inc. Method for monitoring blind spot of monitoring vehicle and blind spot monitor using the same
US11084225B2 (en) * 2018-04-02 2021-08-10 Nanotronics Imaging, Inc. Systems, methods, and media for artificial intelligence process control in additive manufacturing
CN111476302B (zh) * 2020-04-08 2023-03-24 北京工商大学 基于深度强化学习的Faster-RCNN目标物体检测方法

Also Published As

Publication number Publication date
EP4064135A1 (en) 2022-09-28
JP7220813B2 (ja) 2023-02-10
CN115130644A (zh) 2022-09-30
JP2022151596A (ja) 2022-10-07
US11113574B1 (en) 2021-09-07

Similar Documents

Publication Publication Date Title
KR20220134429A (ko) 딥 Q-네트워크를 이용하여 딥러닝 기반의 디텍션 네트워크에 대한 자기지도학습(self-supervised learning)을 수행하는 방법 및 이를 이용한 학습 장치
KR102373456B1 (ko) 자동 주차 시스템을 제공하기 위해 결정 지점 간의 관계 및 결정 지점에 대한 리그레션 결과를 이용하여 주차 공간을 검출하는 학습 방법 및 학습 장치, 그리고 이를 이용한 테스팅 방법 및 테스팅 장치
KR102296507B1 (ko) 트래킹 네트워크를 포함한 cnn을 사용하여 객체를 트래킹하는 방법 및 이를 이용한 장치
JP6865364B2 (ja) エッジロスを利用して歩行者イベント、自動車イベント、フォーリングイベント、フォールンイベントを含むイベントを検出するにおいて利用されるセグメンテーション性能向上のための学習方法及び学習装置、並びにそれを利用したテスト方法及びテスト装置
JP6847463B2 (ja) CNN(Convolutional Neural Network)を利用して車線を検出するための学習方法及び学習装置そしてこれを利用したテスト方法及びテスト装置{LEARNING METHOD, LEARNING DEVICE FOR DETECTING LANE USING CNN AND TEST METHOD, TEST DEVICE USING THE SAME}
KR102337358B1 (ko) 모바일 장치 또는 소형 네트워크에 적용 가능한 하드웨어를 최적화하는데 사용될 수 있는 roi를 풀링하기 위하여, 마스킹 파라미터를 이용하는 방법 및 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치
JP6869565B2 (ja) 危険要素検出に利用される学習用イメージデータセットの生成方法及びコンピューティング装置、そしてこれを利用した学習方法及び学習装置{method and computing device for generating image data set to be used for hazard detection and learning method and learning device using the same}
JP6867054B2 (ja) マルチカメラシステム内のダブルエンベディング構成を利用して、道路利用者イベントを検出するために用いられるセグメンテーション性能向上のための学習方法及び学習装置、そしてこれを利用したテスティング方法及びテスティング装置。{learning method and learning device for improving segmentation performance to be used for detecting road user events using double embedding configuration in multi−camera system and testing method and testing device using the same}
JP6980289B2 (ja) 車線モデルを利用して車線を検出し得る学習方法及び学習装置そしてこれを利用したテスト方法及びテスト装置{learning method, learning device for detecting lane using lane model and test method, test device using the same}
JP7092383B2 (ja) 各領域において最適化された自律走行を遂行できるように位置基盤アルゴリズムの選択によってシームレスパラメータ変更を遂行する方法及び装置
KR102373493B1 (ko) V2x 정보 융합 기술을 통해 획득된, 각 객체에 대한 깊이 예측 정보 및 각 객체에 대한 클래스 정보를 이용해 3d 공간을 재구축함으로써 hd 맵을 업데이트하는 학습 방법 및 학습 장치, 그리고 이를 이용한 테스팅 방법 및 테스팅 장치
KR102301631B1 (ko) 협업 주행을 수행하는 자동차들로부터 획득된 주행 이미지들을 통합하는 방법 및 이를 이용한 주행 이미지 통합 장치
JP6978104B2 (ja) Ganを用いて仮想世界における仮想データから取得したトレーニングデータを生成して、自律走行用ニューラルネットワークの学習プロセスに必要なアノテーションコストを削減する学習方法や学習装置、それを利用したテスト方法やテスト装置
JP2020126613A (ja) イメージを分析するために、ディープラーニングネットワークに利用するためのトレーニングイメージに対するラベルリング信頼度を自動的に評価するための方法、及びこれを利用した信頼度評価装置
KR102320995B1 (ko) 객체의 스케일에 따라 모드 전환이 가능한 cnn 기반의 감시용 객체 검출기의 학습 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치
CN110879960A (zh) 生成卷积神经网络学习用图像数据集的方法及计算装置
CN112766388A (zh) 模型获取方法、电子设备和可读存储介质
KR102375278B1 (ko) 사진 스타일 변환을 사용하여 런타임 입력 변환에 의해 실제 세계에서 사용되는 가상 세계에서 학습된 cnn을 허용하기 위한 학습 방법 및 학습 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치
JP7425216B2 (ja) サブ-カーネルサーチングモジュールを利用してオン-デバイスニューラルネットワークモデルを最適化する方法及び装置
KR102313129B1 (ko) 자율 주행에 대한 논리적 근거를 제시하기 위하여, 관리자가 객체 검출기의 객체 검출 프로세스를 평가할 수 있도록 지원하는 방법 및 장치
CN116448134B (zh) 基于风险场与不确定分析的车辆路径规划方法及装置
CN114008638A (zh) 一种使用选择性深度生成重放模块对深度神经网络模型执行可调连续学习的方法和装置
KR20220134428A (ko) 서로 다른 스펙을 가지는 영상 장치들로부터 획득된 이미지들을 이용하여 퍼셉션 네트워크를 학습 및 테스트하는 방법 및 이를 이용한 학습 및 테스트 장치
KR20240068257A (ko) 제1 오브젝트 클래스들을 검출하도록 학습된 오브젝트 디텍터를 제2 오브젝트 클래스들을 검출할 수 있도록 전이 학습하는 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치