KR20200052444A - 신경망을 이용하여 예측 결과를 출력하는 방법, 신경망을 생성하는 방법 및 그 장치들 - Google Patents

신경망을 이용하여 예측 결과를 출력하는 방법, 신경망을 생성하는 방법 및 그 장치들 Download PDF

Info

Publication number
KR20200052444A
KR20200052444A KR1020180130545A KR20180130545A KR20200052444A KR 20200052444 A KR20200052444 A KR 20200052444A KR 1020180130545 A KR1020180130545 A KR 1020180130545A KR 20180130545 A KR20180130545 A KR 20180130545A KR 20200052444 A KR20200052444 A KR 20200052444A
Authority
KR
South Korea
Prior art keywords
neural network
network model
prediction result
input data
generating
Prior art date
Application number
KR1020180130545A
Other languages
English (en)
Inventor
오도관
장철훈
지대현
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020180130545A priority Critical patent/KR20200052444A/ko
Priority to US16/660,228 priority patent/US11681921B2/en
Priority to CN201911029917.3A priority patent/CN111126592A/zh
Publication of KR20200052444A publication Critical patent/KR20200052444A/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
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2155Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the incorporation of unlabelled data, e.g. multiple instance learning [MIL], semi-supervised techniques using expectation-maximisation [EM] or naïve labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24143Distances to neighbourhood prototypes, e.g. restricted Coulomb energy networks [RCEN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • 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
    • 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/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • 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/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • 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/778Active pattern-learning, e.g. online learning of image or video features
    • G06V10/7784Active pattern-learning, e.g. online learning of image or video features based on feedback from supervisors
    • G06V10/7788Active pattern-learning, e.g. online learning of image or video features based on feedback from supervisors the supervisor being a human, e.g. interactive learning with a human teacher
    • 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
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training

Landscapes

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

Abstract

일 실시예에 따른 제2 신경망 모델을 생성하는 방법은 언레이블된 입력 데이터를 제1 신경망 모델에 입력하고, 제1 신경망 모델에 기초하여 입력 데이터에 대응하는 예측 결과를 생성하며, 제1 신경망 모델의 예측 결과 및 예측 결과의 분포 정도에 기초하여 제1 신경망 모델에 대응하는 제2 신경망 모델을 생성한다.

Description

신경망을 이용하여 예측 결과를 출력하는 방법, 신경망을 생성하는 방법 및 그 장치들{METHOD OF OUTPUTTING PREDICTION RESULT USING NEURAL NETWORK, METHOD OF GENERATING NEURAL NETWORK, AND APPARATUSES THEREOF}
아래의 실시예들은 신경망을 이용하여 예측 결과를 출력하는 방법, 신경망을 생성하는 방법 및 그 장치들에 관한 것이다.
딥러닝의 최근의 발전 추세는 정확도를 매우 향상시키며 일부 태스크에서는 인간의 정확도를 넘어서고 있다. 이에 딥러닝의 우수성에 힘입어 자율주행기술도 다시금 각광받고 있는 상황이다. 자율주행 기술 중에서도 딥러닝에 의존하는 대표적인 기술이 카메라 기반의 영상인식 분야이다. 이는 딥러닝의 특성상 다수의 학습 데이터를 필요로 한다. 학습 데이터라고 하는 것은 입력과 출력의 쌍으로 구성된다. 예를 들어 영상인식 분야에서의 입력은 전방 카메라로부터 취득된 영상이고, 출력은 차량 전방에 위치한 객체들의 정보(위치, 클래스 등)이 된다. 이 때 출력은 사람이 판단하여 주석(label or annotation)을 만든다. 출력의 주석을 생성하기 위해서는 많은 비용(시간, 노력 등)이 발생한다. 정확도 향상을 위해 딥러닝의 구조는 더욱 깊고 넓어지면서, 학습 데이터의 양도 그에 비례하게 더욱 많이 필요로 하게 되었다. 실제로도 딥러닝의 기술력보다는 데이터 보유량이 그 조직의 실력으로 대변되는 상황에까지 이르렀다.
일 측에 따르면, 제2 신경망 모델을 생성하는 방법은 언레이블(unlabeled)된 입력 데이터를 제1 신경망 모델에 입력하는 단계; 상기 제1 신경망 모델에 기초하여 상기 입력 데이터에 대응하는 예측 결과를 생성하는 단계; 및 상기 제1 신경망 모델의 예측 결과 및 상기 예측 결과의 분포 정도(degree of distribution)에 기초하여 상기 제1 신경망 모델에 대응하는 제2 신경망 모델을 생성하는 단계를 포함한다.
상기 제1 신경망 모델은 복수의 노드들을 포함하고, 상기 예측하는 단계는 상기 제1 신경망 모델의 복수의 노드들 중 일부 노드를 랜덤하게 드랍-아웃(drop-out)하여 상기 입력 데이터에 대응하는 예측 결과들을 반복적으로 예측하는 단계를 포함할 수 있다.
상기 예측하는 단계는 상기 반복적으로 예측된 예측 결과들의 평균을 산출하는 단계; 및 상기 예측 결과들의 평균을 기초로, 상기 입력 데이터의 수도 레이블(pseudo label)을 결정하는 단계를 포함할 수 있다.
상기 제2 신경망 모델을 생성하는 단계는 상기 제1 신경망 모델의 예측 결과 및 상기 예측 결과의 분포 정보를 곱한 값에 기초하여 상기 제2 신경망 모델을 학습하는 단계를 포함할 수 있다.
상기 제2 신경망 모델을 학습하는 단계는 상기 예측 결과의 분포 정보에 비례하는 가중치를 부여하여 상기 제2 신경망 모델을 학습하는 단계를 포함할 수 있다.
상기 입력 데이터가 영상인 경우, 상기 예측 결과를 생성하는 단계는 상기 입력 데이터에 포함된 객체의 클래스를 예측하는 단계; 및 상기 입력 데이터에 포함된 객체의 검출을 위한 바운딩 박스를 예측하는 단계 중 적어도 하나를 포함할 수 있다.
상기 입력 데이터가 음성인 경우, 상기 예측 결과를 생성하는 단계는 상기 입력 데이터에 포함된 음성을 인식하는 단계를 포함할 수 있다.
상기 제2 신경망 모델은 상기 제1 신경망 모델에 기초한 온-디바이스 학습(On-Device Learning)의 결과, 혹은 상기 제1 신경망 모델에 기초한 도메인 적응(Domain Adaptation)의 결과에 해당할 수 있다.
일 측에 따르면, 대상 데이터를 수신하는 단계; 및 제1 신경망 모델에 기초하여 생성된 제2 신경망 모델을 이용하여 상기 대상 데이터에 대응하는 예측 결과를 출력하는 단계를 포함하고, 상기 예측 결과는 상기 예측 결과의 분포 정도를 기초로, 상기 대상 데이터가 상기 제1 신경망 모델의 예측 결과에 대응하는 수도 레이블에 해당함을 나타내는 제1 구간, 상기 대상 데이터가 상기 예측 결과에 대응하는 수도 레이블에 해당함을 알 수 없는 제2 구간 및 상기 대상 데이터가 상기 예측 결과에 대응하는 수도 레이블에 해당하지 않음을 나타내는 제3 구간으로 구분되고, 상기 제1 신경망 모델은 상기 제1 구간 및 상기 제3 구간에 대응하는 예측 결과를 출력하고, 상기 제2 신경망 모델은 상기 제1 구간, 상기 제2 구간 및 상기 제3 구간에 대응하는 예측 결과를 출력한다.
상기 제2 신경망 모델은 상기 제1 신경망 모델에서 획득된 예측 결과의 분포 정도에 따른 가중치에 의해 학습될 수 있다.
상기 제2 신경망 모델은 상기 제2 신경망 모델에 대응하는 제1 신경망 모델에 입력 데이터를 입력함으로써 획득된 예측 결과 및 상기 예측 결과의 분포 정도에 기초하여 생성된 학습 데이터에 의해 학습될 수 있다.
일 실시예에 따르면, 제2 신경망 모델을 생성하는 장치는 언레이블된 입력 데이터를 수신하는 통신 인터페이스; 및 상기 입력 데이터를 제1 신경망 모델에 입력하고, 상기 제1 신경망 모델에 기초하여 상기 입력 데이터에 대응하는 예측 결과를 생성하며, 상기 제1 신경망 모델의 예측 결과 및 상기 예측 결과의 분포 정도에 기초하여 상기 제1 신경망 모델에 대응하는 제2 신경망 모델을 생성하는 프로세서를 포함한다.
상기 제1 신경망 모델은 복수의 노드들을 포함하고, 상기 프로세서는 상기 제1 신경망 모델의 복수의 노드들 중 일부 노드를 랜덤하게 드랍-아웃하여 상기 입력 데이터에 대응하는 예측 결과들을 반복적으로 예측할 수 있다.
상기 프로세서는 상기 반복적으로 예측된 예측 결과들의 평균을 산출하고, 상기 예측 결과들의 평균을 기초로, 상기 입력 데이터의 수도 레이블을 결정할 수 있다.
상기 프로세서는 상기 제1 신경망 모델의 예측 결과 및 상기 예측 결과의 분포 정보를 곱한 값에 기초하여 상기 제2 신경망 모델을 학습할 수 있다.
상기 프로세서는 상기 예측 결과의 분포 정보에 비례하는 가중치를 부여하여 상기 제2 신경망 모델을 학습할 수 있다.
상기 프로세서는 상기 입력 데이터가 영상인 경우, 상기 입력 데이터에 포함된 객체의 클래스를 예측하거나, 상기 입력 데이터에 포함된 객체의 검출을 위한 바운딩 박스를 예측하거나, 또는 상기 입력 데이터에 포함된 객체의 클래스 및 상기 입력 데이터에 포함된 객체의 검출을 위한 바운딩 박스를 예측할 수 있다.
상기 프로세서는 상기 입력 데이터가 음성인 경우, 상기 입력 데이터에 포함된 음성을 인식할 수 있다.
일 실시예에 따르면, 예측 결과를 출력하는 장치는 대상 데이터를 수신하는 통신 인터페이스; 및 제1 신경망 모델에 기초하여 생성된 제2 신경망 모델을 이용하여 상기 대상 데이터에 대응하는 예측 결과를 출력하는 프로세서를 포함하고, 상기 예측 결과는 상기 예측 결과의 분포 정도를 기초로, 상기 대상 데이터가 상기 제1 신경망 모델의 예측 결과에 대응하는 수도 레이블에 해당함을 나타내는 제1 구간, 상기 대상 데이터가 상기 예측 결과에 대응하는 수도 레이블에 해당함을 알 수 없는 제2 구간 및 상기 대상 데이터가 상기 예측 결과에 대응하는 수도 레이블에 해당하지 않음을 나타내는 제3 구간으로 구분되고, 상기 제1 신경망 모델은 상기 제1 구간 및 상기 제3 구간에 대응하는 예측 결과를 출력하고, 상기 제2 신경망 모델은 상기 제1 구간, 상기 제2 구간 및 상기 제3 구간에 대응하는 예측 결과를 출력한다.
상기 제2 신경망 모델은 상기 제1 신경망 모델에서 획득된 예측 결과의 분포 정도에 따른 가중치에 의해 학습될 수 있다.
도 1은 서로 다른 국가들에서의 도로 상황을 도시한 도면.
도 2는 일 실시예에 따른 제2 신경망 모델을 생성하는 방법을 설명하기 위한 도면.
도 3은 일 실시예에 따른 입력 데이터에 대응하는 예측 결과, 및 예측 결과의 분포 정도를 설명하기 위한 도면.
도 4는 일 실시예에 따른 제1 신경망 모델 및 제2 신경망 모델 간의 지식 전파(Knowledge Distillation) 과정을 설명하기 위한 도면.
도 5는 일 실시예에 따라 제2 신경망 모델을 생성하는 방법을 나타낸 흐름도.
도 6은 일 실시예에 따라 예측 결과를 출력하는 방법을 나타낸 흐름도.
도 7은 일 실시예에 따라 제2 신경망 모델을 생성하는 장치의 블록도.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
딥러닝의 발전에 따라 입력영상을 분석하여, 원하는 결과를 예측하는 다양한 어플리케이션이 발전하고 있다. 일 예로, 차량의 주행영상을 분석하여, 주행 파라미터 혹은 주행 보조 정보를 생성하는 어플리케이션의 정확도가 향상되고 있다. 하지만, 학습에 사용된 데이터와 유사한 상황(in-distribution)에서 딥러닝의 성능이 매우 좋아졌지만, 학습에 보여지지 않은 상황(out-of-distribution)에 대해서는 딥러닝의 과-확신("Over-Confident")한 특성 때문에 성능저하가 일어날 수 있다. 데이터는 많을수록 좋으나, 학습에 유용한 데이터 또는 정보를 선별하는 기술이 필요하다.
도 1은 서로 다른 국가들에서의 도로 상황을 도시한 도면이다. 도 1을 참조하면, 중국의 고속 도로를 나타낸 영상(110), 베트남의 표차로교차로를 나타낸 영상(120) 및 영국의 신호등을 나타낸 영상(130)이 도시된다. 나라 별로 도로의 상황이 달라, 한 나라의 데이터를 기반으로 학습된 신경망을 다른 나라에서 바로 이용하는 경우, 신경망의 예측 결과를 신뢰하기 어려울 수 있다.
예를 들어, 한국의 개발팀에서 많은 비용을 들여 한국에서는 완벽에 가까운 정확도를 보이는 자율 주행 기술을 개발했다고 하자. 하지만, 한국에서 개발된 자율 주행 차량은 한국의 교통 시설과 인프라, 교통 법규 등을 기준으로 개발된 것이므로 영상(110), 영상(120), 및 영상(130)과 같은 서로 다른 나라의 교통 상황에는 적용하기 어렵다. 이는 딥러닝이 학습 데이터로 주어지는 환경에만 과도하게 적응되기 때문이다.
아래에서 설명할 실시예들은 후술하는 지식 전파(Knowledge Distillation)에 의해 무수히 많은 양의 학습데이터를 생성하고, 불확실성 지표로 모아진 학습 데이터를 잘 정제함으로써 다른 나라에 수출된 차량이 해당 나라의 도로를 달리며 자체적으로 자가 발전하는 온 디바이스 학습(On-Device Learning) 기술을 제공할 수 있다. 실시예들은 국가별 주행영상 인식의 적응(adaptation) 외에도, 사용자별 음성 인식의 적응 등 다양한 도메인 적응(Domain Adaptation) 분야에서 활용될 수 있다.
아래에서 상세히 설명하겠으나, 실시예들은 제1 신경망 모델에 기초하여, 제2 신경망 모델을 생성할 수 있다. 제1 신경망 모델은 제1 도메인에서의 딥러닝을 통하여 기 학습된 모델일 수 있다. 실시예들에 의하면, 제2 신경망 모델은 제2 도메인에서 동작하기 적합하도록 생성될 수 있다. 이 때, 제2 신경망 모델을 생성하기 위하여 제2 도메인의 입력 데이터를 수동으로 레이블링할 필요 없이, 제1 신경망 모델의 확실성(certainty)을 활용하여 제2 도메인의 입력 데이터를 자동으로 레이블링할 수 있다. 또한, 제1 신경망 모델의 불확실성(uncertainty)을 함께 활용하여 제2 도메인의 신뢰도를 향상시킬 수 있다.
도 2는 일 실시예에 따른 제2 신경망 모델을 생성하는 방법을 설명하기 위한 도면이다. 도 2를 참조하면, 일 실시예에 따른 제1 신경망 모델(210) 및 제2 신경망 모델(230)이 도시된다.
입력 영상(201)이 수신되면, 제1 신경망 모델(210)은 드랍 아웃(Drop-Out)을 통해 우측의 확실성(Certainty)와 불확실성(Uncertainty)를 도출할 수 있다. 일 실시예에 따르면, 확실성 및 불확실성은 랜덤 드랍 아웃을 통한 반복적인(iterative) 연산에 기초하여 통계적으로 결정될 수 있다. 확실성(Certainty)는 제1 신경망 모델(210)이 추론할 수 있는 가장 확률적으로 높은 신뢰도의 결과를 의미하고, 불확실성(Uncertainty)는 제1 신경망 모델(210)의 추론이 어느 영역에서 불안정한가를 보여주는 정보일 수 있다.
입력 영상(201)은 제2 도메인의 언레이블 영상일 수 있다. 제1 신경망 모델(210)은 입력 영상(201)을 인식하는 도중, 임의의 노드를 드랍 아웃 함으로써 예측 결과에 다변성(variation)을 줄 수 있다. 일 실시예에 따르면, 신경망 내 인코딩부의 마지막 레이어나 디코딩부의 첫 레이어에 포함된 노드들 중 임의의 노드(들)이 드랍 아웃될 수 있다. 물론, 실시예에 따라서 다른 레이어도 드랍 아웃의 대상이 될 수 있다.
드랍 아웃 된 노드(들)의 출력은 해당 이터레이션에서 다음 레이어로 전달되지 않을 수 있다. 동일한 입력 데이터에 대응하여 랜덤 드랍 아웃을 이용하여 처리되는 복수의 이터레이션들은 미니 배치(mini-batch)라고 지칭될 수 있다.
랜덤 드랍 아웃을 통하여, 이터레이션마다 제1 신경망 모델에서 출력되는 예측 결과는 상이할 수 있다. 일 실시예에 따르면, 예측 결과들의 평균은 확실성으로 이용되고, 예측 결과들의 분산은 불확실성으로 이용될 수 있다. 확실성 및 불확실성에 대하여는 아래의 도 3을 참조하여 구체적으로 설명한다.
제2 신경망은 확실성 및 불확실성을 함께 고려하여 생성될 수 있다. 예를 들어, 제2 신경망은 확실성 및 불확실성을 함께 고려하여 계산되는 로스(loss)에 기초하여 학습될 수 있다. 실시예들에 따라 제2 신경망을 학습하는 기법은, 확실성 뿐 아니라 불확실성을 함께 고려한다는 점, 그리고 언레이블 입력 데이터의 레이블링이 자동으로 수행된다는 점에서 불확실성-인지 지식 전파(uncertainty-aware knowledge distillation) 기법으로 지칭될 수 있다.
일 실시예에서는 이러한 확실성 및 불확실성을 통해 학습에 사용되 데이터와 유사하지 않은 상황의 새로운 입력 영상이 입력되더라도 제1 신경망 모델이 이로부터 제2 신경망의 학습에 도움이 되는 유용한 정보(예를 들어, 불확실성 영역과 불확실성 영역에서 통계적으로 구해진 정답)를 추출할 수 있다. 제1 신경망 모델은 불확실성 영역과 불확실성 영역에서 통계적으로 구해진 정답을 이용해 제2 신경망 모델을 재학습 시킴으로써 스스로 자가 학습할 수 있다. 제1 신경망 모델 및 제2 신경망에 모델에 대하여는 아래의 도 4를 참조하여 구체적으로 설명한다.
도 3은 일 실시예에 따른 입력 데이터에 대응하는 예측 결과, 및 예측 결과의 분포 정도를 설명하기 위한 도면이다. 도 3을 참조하면, 입력 데이터(310), 입력 데이터에 대응하는 예측 결과(330) 및 예측 결과의 분포 정도(350)가 도시된다.
일 실시예에 따른 제1 신경망 모델은 다양한 세그먼테이션 기법들에 의해 입력 데이터(310)에 포함된 객체들의 클래스 레이블을 예측 결과(330)와 같이 예측할 수 있다. 이때, 예측 결과는 제1 신경망 모델이 추론할 수 가장 확률적으로 높은 신뢰도의 결과로서 전술한 확실성(Certainty)에 해당할 수 있다. 예측 결과(330)는 복수의 이터레이션들에 의한 예측 결과들의 평균으로, 픽셀 별로 객체의 클래스를 지시하는 정보(예를 들어, 색상 등)에 매핑될 수 있다.
입력 데이터(310)에 포함된 픽셀의 클래스 레이블의 사후 분포, 다시 말해 예측 결과의 분포 정도(350)를 생성하기 위해, 제1 신경망 모델은 예를 들어, 제1 신경망 모델의 복수의 노드들 중 일부 노드를 랜덤하게 드랍-아웃(drop-out)하여 몬테 카를로(Monte Carlo) 샘플링 및 베이지언(Bayesian) 접근 방법을 이용할 수 있다.
예측 결과의 분포 정도(350)은 제1 신경망 모델의 추론이 어느 영역에서 불안정한가를 보여주는 불확실성을 나타낸다. 이러한 불확실성은 예를 들어, 1) 레이블을 생성하는 사람들 사이의 편차, 2) 구분하기 어려운 클래스 간, 및 3) 미리 정의되지 않은 클래스에 대해 발생한다. 분포 정도(350)는 복수의 이터레이션들에 의한 예측 결과들의 분산으로, 픽셀 별로 불확실성을 지시하는 정보(예를 들어, 확률 등)로 표현될 수 있다. 예측 결과들의 분산이 클수록, 불확실성이 클 수 있다.
1)은 주로 클래스의 경계에서 발생한다. 각각의 주석자가 매번 서로 간의 일관된 규칙으로 항상 "자동차"의 경계를 정확하게 주석해낼 수 없기 때문이다. 2)는 예를 들어, 녹색 계열의 "나무"클래스와 "잔디"클래스에서 주로 발생할 수 있다. 둘 다 녹색 계열의 특징을 가지고 있기 때문에 구분하기가 어렵기 때문이다. 3)은 예를, 들어, 자전거를 타는 사람이 메고 있는 "배낭"과 같이 학습 데이터에 "배낭"이라는 클래스가 정의되어 있지 않은 경우에 발생할 수 있다. 이러한 불확실성은 학습 데이터에 많이 등장함에 따라 현저히 감소될 수 있는 지표이다. 일 실시예에서는 이러한 불확실성, 다시 말해 학습 데이터에서의 노출 정도 또는 예측 결과의 분포 정도를 예측하여 학습에 사용된 데이터와 유사한 상황 및 유사하지 않은 상황을 구분할 수 있다.
도 4는 일 실시예에 따른 제1 신경망 모델 및 제2 신경망 모델 간의 지식 전파(Knowledge Distillation) 과정을 설명하기 위한 도면이다. 도 4를 참조하면, 언레이블된 데이터(401), 레이블된 데이터(403), 교사 모델(410), 및 학생 모델(430)이 도시된다.
지식 전파는 '숨은 지식(Dark Knowledge)'이라고도 불리며, 충분히 학습되어 좋은 성능을 내는 교사 모델(410)로부터 언레이블된 데이터(401)의 결과를 입력으로 하여 생성되는 결과를 학생 모델(430)에게 가르쳐주는 방법이다. 다시 말해, 교사 모델(410)가 배운 지식을 교사 모델(410)만의 스타일로 다시 표현하여 학생 모델(430)에게 지식을 전파하는 방식이다.
이는 지도 학습(Supervised Learning)에서 학습 데이터로 사용될 수 없는 무한한 양의 언레이블된 데이터(401)를 이용하여 교사 모델(410)에게 보여줌으로써, 교사 모델(410)이 제공하는 정답을 주석화하여 무한한 양의 학습 데이터를 생성하는데 활용할 수도 있다.
일 실시예에 따른 생성 장치가 사전에 학습된 교사 모델(410)을 이용하여 학생 모델(430)을 학습하는 동작을 개략적으로 설명하기 위한 도면이다.
교사 모델(410)은 특정한 입력 데이터에 대하여 특정한 출력 데이터를 생성하도록 학습된 모델로써, 예를 들어, 신경망(neural network)를 포함할 수 있다. 신경망은 연결선에 의해 연결된 복수의 인공 뉴런들을 이용하여 생물학적인 시스템의 계산 능력을 모방하는 인식 모델이다. 신경망은 생물학적인 뉴런의 기능을 단순화시킨 인공 뉴런들을 이용하고, 인공 뉴런들은 연결 가중치(connection weight)를 가지는 연결선을 통해 상호 연결될 수 있다. 신경망의 파라미터인 연결 가중치는 연결선이 가지는 값으로써, 연결 강도를 나타낼 수 있다. 신경망은 인공 뉴런들을 통해 인간의 인지 작용 또는 학습 과정을 수행할 수 있다. 신경망의 인공 뉴런은 노드(node)라 지칭될 수 있다.
신경망은 복수의 레이어를 포함할 수 있다. 예를 들어, 신경망은 입력 레이어, 하나 이상의 히든 레이어 및 출력 레이어를 포함할 수 있다. 입력 레이어는 신경망의 학습을 위한 입력 데이터를 수신하여 히든 레이어로 전달할 수 있고, 출력 레이어는 히든 레이어의 노드들로부터 수신된 신호에 기초하여 신경망의 출력 데이터를 생성할 수 있다. 하나 이상의 히든 레이어가 입력 레이어 및 출력 레이어 사이에 위치할 수 있고, 입력 레이어를 통해 전달된 입력 데이터를 예측하기 쉬운 값으로 변환할 수 있다. 입력 레이어 및 하나 이상의 히든 레이어에 포함된 노드들은 연결 가중치를 가지는 연결선을 통해 서로 연결될 수 있고, 히든 레이어 및 출력 레이어에 포함된 노드들도 연결 가중치를 가지는 연결선을 통해 서로 연결될 수 있다. 입력 레이어, 하나 이상의 히든 레이어 및 출력 레이어는 복수의 노드들을 포함할 수 있다. 히든 레이어는 CNN(convolutional neural network)에서의 콘볼루션 필터(convolution filter) 또는 완전 연결 레이어(fully connected layer)이거나, 특별한 기능이나 특징을 기준으로 묶인 다양한 종류의 필터 또는 레이어를 나타낼 수 있다.
신경망 중에서 복수의 히든 레이어를 포함하는 신경망을 딥 신경망(deep neural network)라 한다. 딥 신경망을 학습 시키는 것을 딥 러닝(deep learning)이라 한다. 신경망의 노드 중에서, 히든 레이어에 포함된 노드를 가리켜 히든 노드라 한다.
학생 모델(430)은 감독 학습(supervised learning)을 통해 학습될 수 있다. 감독 학습이란 입력 데이터를 신경망에 입력하여 입력 데이터에 대응하는 출력 데이터를 획득하였을 때에, 출력 데이터가 입력 데이터로부터 획득하고자 하는 실측 자료 데이터와 일치하도록 연결선들의 연결 가중치를 업데이트함으로써, 신경망의 출력 데이터를 실측 자료 데이터에 수렴하게 만드는 방법이다. 일실시예에 따른 생성 장치는 학생 모델(430)을, 델타 규칙(delta rule) 및 오류 역전파 학습(back propagation learning) 등을 이용하여 학습할 수 있다. 보다 구체적으로, 생성 장치는 교사 모델(410)의 확실성 및 불확실성을 함께 고려하여, 학생 모델(430)에 포함된 노드들 사이의 연결 가중치를 업데이트함으로써, 학생 모델(430)을 학습할 수 있다. 이하 신경망을 학습하거나 또는 학습시킨다는 것은 신경망의 파라미터를 학습시키는 것으로 이해될 수 있다. 또한, 학습된 신경망은 학습된 파라미터가 적용된 신경망으로 이해될 수 있다.
일실시예에 따른 생성 장치가 적용되는 교사 모델(410) 및 학생 모델(430)은 예를 들어, 이미지 형태의 입력 데이터에 포함된 객체를 식별할 수 있다. 보다 구체적으로, 교사 모델(410) 및 학생 모델(430)은 입력 데이터에 포함된 객체를 미리 설정된 클래스(예를 들어, 차량, 보행자, 도로 등)로 분류할 수 있다. 생성 장치는 입력 데이터를 교사 모델(410)로 입력하여, 교사 모델(410)이 입력 데이터로부터 생성한 레이블 값들을 획득할 수 있다. 생성 장치는 교사 모델(410)이 입력 데이터로부터 예측하는 값들의 분산에 기초하여 불확실성을 결정할 수 있다.
도 5는 일 실시예에 따라 제2 신경망 모델을 생성하는 방법을 나타낸 흐름도이다. 도 5를 참조하면, 일 실시예에 따른 제2 신경망 모델을 생성하는 장치(이하, 생성 장치)는 언레이블(unlabeled)된 입력 데이터를 제1 신경망 모델에 입력한다(510). 제1 신경망 모델은 복수의 노드들을 포함할 수 있다. 제1 신경망 모델은 전술한 교사 모델(teacher model)일 수 있다. 생성 장치는 제1 신경망 모델의 복수의 노드들 중 일부 노드를 랜덤하게 드랍-아웃(drop-out)하여 입력 데이터에 대응하는 예측 결과들을 반복적으로 예측할 수 있다. 생성 장치는 반복적으로 예측된 예측 결과들의 평균을 산출하고, 예측 결과들의 평균을 기초로 입력 데이터의 수도 레이블(pseudo label)을 결정할 수 있다.
생성 장치는 제1 신경망 모델에 기초하여 입력 데이터에 대응하는 예측 결과를 생성한다(520). 예를 들어, 입력 데이터가 영상인 경우, 생성 장치는 입력 데이터에 포함된 객체의 클래스를 예측하거나, 및/또는 입력 데이터에 포함된 객체의 검출을 위한 바운딩 박스의 위치 및 크기를 예측할 수 있다. 입력 데이터가 주행영상인 경우, 제1 도메인은 제1 국가이고, 제2 도메인은 제2 국가일 수 있다.
또는 입력 데이터가 음성인 경우, 생성 장치는 입력 데이터에 포함된 음성을 인식할 수 있다. 입력 데이터가 음성인 경우, 제1 도메인은 제1 사용자이고, 제2 도메인은 제2 사용자일 수 있다.
생성 장치는 제1 신경망 모델의 예측 결과 및 예측 결과의 분포 정도(degree of distribution)에 기초하여 제1 신경망 모델에 대응하는 제2 신경망 모델을 생성한다(530). 생성 장치는 예측 결과의 분포 정보에 비례하는 가중치를 부여하여 제2 신경망 모델을 학습할 수 있다. 일 예로, 생성 장치는 제1 신경망 모델의 예측 결과 및 예측 결과의 분포 정보를 곱한 값에 기초하여 제2 신경망 모델을 학습할 수 있다.
제2 신경망 모델은 예를 들어, 전술한 학생 모델일 수 있다. 실시예에 따라서, 제2 신경망 모델은 제1 신경망 모델보다 동일하거나 적은 개수의 히든 레이어를 포함하거나 또는 제1 신경망 모델 보다 동일하거나 적은 개수의 필터 또는 노드를 포함할 수 있다. 제2 신경망 모델은 모델 경량화(model compression)에 의해 제1 신경망 모델보다 경량화된 신경망을 포함할 수 있다. 일 실시예에 따르면, 경량화된 제2 신경망 모델은 칩 형태로 ADAS(Advanced Driver Assistance System) 및 자율 주행 차량의 인식기 형태로 탑재될 수 있다.
도 6은 일 실시예에 따라 예측 결과를 출력하는 방법을 나타낸 흐름도이다. 도 6을 참조하면, 일 실시예에 따른 예측 결과를 출력하는 장치(이하, '출력 장치')는 대상 데이터를 수신한다(610). 대상 데이터는 전술한 과정을 통해 학습된 제2 신경망 모델을 인식하고자 하는 데이터로써, 예를 들어, 이미지 데이터, 비디오 데이터, 음성 데이터, 시계열 데이터(time-series data), 센서 데이터 또는 이들의 다양한 조합을 포함할 수 있다.
출력 장치는 제1 신경망 모델에 기초하여 생성된 제2 신경망 모델을 이용하여 대상 데이터에 대응하는 예측 결과를 출력한다(620). 여기서, 예측 결과는 예측 결과의 분포 정도를 기초로, 대상 데이터가 제1 신경망 모델의 예측 결과에 대응하는 수도 레이블에 해당함을 나타내는 제1 구간, 대상 데이터가 예측 결과에 대응하는 수도 레이블에 해당함을 알 수 없는 제2 구간 및 대상 데이터가 예측 결과에 대응하는 수도 레이블에 해당하지 않음을 나타내는 제3 구간으로 구분된다. 제1 구간은 '긍정(Positive) 구간', 제2 구간은 '불확실성(Uncertainty) 구간', 제3 구간은 '부정(Negative) 구간'이라고도 부를 수 있다. 또한, 제1 구간 및 제3 구간은 대상 데이터가 예측 결과에 대응하는 수도 레이블에 해당하는지 여부를 알 수 있는 구간이라는 점에서 '확실성(Certainty) 구간'이라고 부를 수 있다.
제1 신경망 모델은 제1 구간 및 제3 구간에 대응하는 예측 결과를 출력하고, 제2 신경망 모델은 제1 구간, 제2 구간 및 제3 구간에 대응하는 예측 결과를 출력할 수 있다.
이때, 제2 신경망 모델은 제1 신경망 모델에서 획득된 예측 결과의 분포 정도에 따라 각 구간에 부여되는 서로 다른 가중치에 의해 학습될 수 있다. 또한, 제2 신경망 모델은 제2 신경망 모델에 대응하는 제1 신경망 모델에 입력 데이터를 입력함으로써 획득된 예측 결과 및 예측 결과의 분포 정도에 기초하여 생성된 학습 데이터에 의해 학습될 수 있다.
일 실시예에서 제1 신경망 모델 및 제2 신경망 모델을 구성하는 신경망은 이미지 형태의 입력 데이터에 존재하는 피사체를 식별하는데 뿐만 아니라 다양한 목적으로 활용될 수 있다. 예를 들어, 제1 신경망 모델은 이미지 형태의 입력 데이터로부터 입력 데이터 내에 존재하는 사람의 얼굴을 인식할 수 있다. 이 경우, 제2 신경망 모델은 제1 신경망 모델이 입력 데이터에 대응하여 사람의 얼굴을 인식한 결과를 정제하여 생성된 학습 데이터에 기초하여 학습될 수 있다. 또 다른 예로, 제1 신경망 모델은 음성 데이터를 텍스트 데이터로 변환할 수 있다. 이 경우, 제2 신경망 모델은 제1 신경망 모델이 음성 데이터에 대응하여 출력한 텍스트 데이터를 정제하여 생성된 학습 데이터를 학습할 수 있다. 이 외에도, 신경망은 감정 인식, 상황 인식 등에 활용될 수 있다.
제2 신경망 모델은 대상 데이터로부터 획득한 정보를 출력할 수 있는데, 출력되는 정보는 제1 신경망 모델이 입력 데이터로부터 획득한 정보와 유사할 수 있다. 예를 들어, 제1 신경망 모델이 이미지 형태의 입력 데이터에 존재하는 피사체의 종류를 미리 설정된 복수의 클래스 각각과 매칭될 확률을 이용하여 나타내는 경우, 제2 신경망 모델은 이미지 형태의 대상 데이터에 존재하는 피사체의 종류를 미리 설정된 복수의 클래스 각각과 매칭될 확률로 나타낼 수 있다.
도 7은 일 실시예에 따라 제2 신경망 모델을 생성하는 장치의 블록도이다. 도 7을 참조하면, 일 실시예에 따른 생성 장치(700)는 프로세서(710), 통신 인터페이스(730) 및 메모리(750)를 포함한다. 프로세서(710), 통신 인터페이스(730) 및 메모리(750)는 통신 버스(705)를 통해 서로 통신할 수 있다.
프로세서(710)는 통신 인터페이스(730)를 통해 수신한 언레이블된 입력 데이터를 제1 신경망 모델에 입력한다. 프로세서(710)는 제1 신경망 모델에 기초하여 입력 데이터에 대응하는 예측 결과를 생성한다. 프로세서(710)는 제1 신경망 모델의 예측 결과 및 예측 결과의 분포 정도에 기초하여 제1 신경망 모델에 대응하는 제2 신경망 모델을 생성한다.
제1 신경망 모델은 복수의 노드들 및 복수의 레이어들을 포함할 수 있다. 프로세서(710)는 제1 신경망 모델의 복수의 노드들 중 일부 노드를 랜덤하게 드랍-아웃하여 입력 데이터에 대응하는 예측 결과들을 반복적으로 예측할 수 있다.
또한, 프로세서(710)는 도 1 내지 도 6을 통해 전술한 적어도 하나의 방법 또는 적어도 하나의 방법에 대응되는 알고리즘을 수행할 수 있다. 프로세서(710)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
프로세서(710)는 프로그램을 실행하고, 생성 장치(700)를 제어할 수 있다. 프로세서(710)에 의하여 실행되는 프로그램 코드는 메모리(750)에 저장될 수 있다.
메모리(750)는 상술한 프로세서(710)에서의 처리 과정에서 생성되는 다양한 정보들을 저장할 수 있다. 이 밖에도, 메모리(750)는 각종 데이터와 프로그램 등을 저장할 수 있다. 메모리(750)는 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(750)는 하드 디스크 등과 같은 대용량 저장 매체를 구비하여 각종 데이터를 저장할 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (20)

  1. 언레이블(unlabeled)된 입력 데이터를 제1 신경망 모델에 입력하는 단계;
    상기 제1 신경망 모델에 기초하여 상기 입력 데이터에 대응하는 예측 결과를 생성하는 단계; 및
    상기 제1 신경망 모델의 예측 결과 및 상기 예측 결과의 분포 정도(degree of distribution)에 기초하여 상기 제1 신경망 모델에 대응하는 제2 신경망 모델을 생성하는 단계
    를 포함하는, 제2 신경망 모델을 생성하는 방법.
  2. 제1항에 있어서,
    상기 제1 신경망 모델은 복수의 노드들을 포함하고,
    상기 예측하는 단계는
    상기 제1 신경망 모델의 복수의 노드들 중 일부 노드를 랜덤하게 드랍-아웃(drop-out)하여 상기 입력 데이터에 대응하는 예측 결과들을 반복적으로 예측하는 단계
    를 포함하는, 제2 신경망 모델을 생성하는 방법.
  3. 제2항에 있어서,
    상기 예측하는 단계는
    상기 반복적으로 예측된 예측 결과들의 평균을 산출하는 단계; 및
    상기 예측 결과들의 평균을 기초로, 상기 입력 데이터의 수도 레이블(pseudo label)을 결정하는 단계
    를 포함하는, 제2 신경망 모델을 생성하는 방법.
  4. 제1항에 있어서,
    상기 제2 신경망 모델을 생성하는 단계는
    상기 제1 신경망 모델의 예측 결과 및 상기 예측 결과의 분포 정보를 곱한 값에 기초하여 상기 제2 신경망 모델을 학습하는 단계
    를 포함하는, 제2 신경망 모델을 생성하는 방법.
  5. 제4항에 있어서,
    상기 제2 신경망 모델을 학습하는 단계는
    상기 예측 결과의 분포 정보에 비례하는 가중치를 부여하여 상기 제2 신경망 모델을 학습하는 단계
    를 포함하는, 제2 신경망 모델을 생성하는 방법.
  6. 제1항에 있어서,
    상기 입력 데이터가 영상인 경우,
    상기 예측 결과를 생성하는 단계는
    상기 입력 데이터에 포함된 객체의 클래스를 예측하는 단계; 및
    상기 입력 데이터에 포함된 객체의 검출을 위한 바운딩 박스를 예측하는 단계
    중 적어도 하나를 포함하는, 제2 신경망을 생성하는 방법.
  7. 제1항에 있어서,
    상기 입력 데이터가 음성인 경우,
    상기 예측 결과를 생성하는 단계는
    상기 입력 데이터에 포함된 음성을 인식하는 단계
    를 포함하는, 제2 신경망을 생성하는 방법.
  8. 제1항에 있어서,
    상기 제2 신경망 모델은
    상기 제1 신경망 모델에 기초한 온-디바이스 학습(On-Device Learning)의 결과, 혹은 상기 제1 신경망 모델에 기초한 도메인 적응(Domain Adaptation)의 결과에 해당하는, 제2 신경망 모델을 생성하는 방법.
  9. 대상 데이터를 수신하는 단계; 및
    제1 신경망 모델에 기초하여 생성된 제2 신경망 모델을 이용하여 상기 대상 데이터에 대응하는 예측 결과를 출력하는 단계
    를 포함하고,
    상기 예측 결과는
    상기 예측 결과의 분포 정도를 기초로, 상기 대상 데이터가 상기 제1 신경망 모델의 예측 결과에 대응하는 수도 레이블에 해당함을 나타내는 제1 구간, 상기 대상 데이터가 상기 예측 결과에 대응하는 수도 레이블에 해당함을 알 수 없는 제2 구간 및 상기 대상 데이터가 상기 예측 결과에 대응하는 수도 레이블에 해당하지 않음을 나타내는 제3 구간으로 구분되고,
    상기 제1 신경망 모델은
    상기 제1 구간 및 상기 제3 구간에 대응하는 예측 결과를 출력하고,
    상기 제2 신경망 모델은
    상기 제1 구간, 상기 제2 구간 및 상기 제3 구간에 대응하는 예측 결과를 출력하는,
    예측 결과를 출력하는 방법.
  10. 제9항에 있어서,
    상기 제2 신경망 모델은
    상기 제1 신경망 모델에서 획득된 예측 결과의 분포 정도에 따른 가중치에 의해 학습되는, 예측 결과를 출력하는 방법.
  11. 하드웨어와 결합되어 제1항 내지 제10항 중 어느 하나의 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
  12. 언레이블된 입력 데이터를 수신하는 통신 인터페이스; 및
    상기 입력 데이터를 제1 신경망 모델에 입력하고, 상기 제1 신경망 모델에 기초하여 상기 입력 데이터에 대응하는 예측 결과를 생성하며, 상기 제1 신경망 모델의 예측 결과 및 상기 예측 결과의 분포 정도에 기초하여 상기 제1 신경망 모델에 대응하는 제2 신경망 모델을 생성하는 프로세서
    를 포함하는, 제2 신경망 모델을 생성하는 장치.
  13. 제12항에 있어서,
    상기 제1 신경망 모델은 복수의 노드들을 포함하고,
    상기 프로세서는
    상기 제1 신경망 모델의 복수의 노드들 중 일부 노드를 랜덤하게 드랍-아웃하여 상기 입력 데이터에 대응하는 예측 결과들을 반복적으로 예측하는, 제2 신경망 모델을 생성하는 장치.
  14. 제13항에 있어서,
    상기 프로세서는
    상기 반복적으로 예측된 예측 결과들의 평균을 산출하고, 상기 예측 결과들의 평균을 기초로, 상기 입력 데이터의 수도 레이블을 결정하는, 제2 신경망 모델을 생성하는 장치.
  15. 제12항에 있어서,
    상기 프로세서는
    상기 제1 신경망 모델의 예측 결과 및 상기 예측 결과의 분포 정보를 곱한 값에 기초하여 상기 제2 신경망 모델을 학습하는, 제2 신경망 모델을 생성하는 장치.
  16. 제15항에 있어서,
    상기 프로세서는
    상기 예측 결과의 분포 정보에 비례하는 가중치를 부여하여 상기 제2 신경망 모델을 학습하는, 제2 신경망 모델을 생성하는 장치.
  17. 제12항에 있어서,
    상기 프로세서는
    상기 입력 데이터가 영상인 경우,
    상기 입력 데이터에 포함된 객체의 클래스를 예측하거나, 상기 입력 데이터에 포함된 객체의 검출을 위한 바운딩 박스를 예측하거나, 또는 상기 입력 데이터에 포함된 객체의 클래스 및 상기 입력 데이터에 포함된 객체의 검출을 위한 바운딩 박스를 예측하는, 제2 신경망을 생성하는 장치.
  18. 제12항에 있어서,
    상기 프로세서는
    상기 입력 데이터가 음성인 경우,
    상기 입력 데이터에 포함된 음성을 인식하는, 제2 신경망을 생성하는 장치.
  19. 대상 데이터를 수신하는 통신 인터페이스; 및
    제1 신경망 모델에 기초하여 생성된 제2 신경망 모델을 이용하여 상기 대상 데이터에 대응하는 예측 결과를 출력하는 프로세서
    를 포함하고,
    상기 예측 결과는
    상기 예측 결과의 분포 정도를 기초로, 상기 대상 데이터가 상기 제1 신경망 모델의 예측 결과에 대응하는 수도 레이블에 해당함을 나타내는 제1 구간, 상기 대상 데이터가 상기 예측 결과에 대응하는 수도 레이블에 해당함을 알 수 없는 제2 구간 및 상기 대상 데이터가 상기 예측 결과에 대응하는 수도 레이블에 해당하지 않음을 나타내는 제3 구간으로 구분되고,
    상기 제1 신경망 모델은
    상기 제1 구간 및 상기 제3 구간에 대응하는 예측 결과를 출력하고,
    상기 제2 신경망 모델은
    상기 제1 구간, 상기 제2 구간 및 상기 제3 구간에 대응하는 예측 결과를 출력하는,
    예측 결과를 출력하는 장치.
  20. 제19항에 있어서,
    상기 제2 신경망 모델은
    상기 제1 신경망 모델에서 획득된 예측 결과의 분포 정도에 따른 가중치에 의해 학습되는, 예측 결과를 출력하는 장치.
KR1020180130545A 2018-10-30 2018-10-30 신경망을 이용하여 예측 결과를 출력하는 방법, 신경망을 생성하는 방법 및 그 장치들 KR20200052444A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020180130545A KR20200052444A (ko) 2018-10-30 2018-10-30 신경망을 이용하여 예측 결과를 출력하는 방법, 신경망을 생성하는 방법 및 그 장치들
US16/660,228 US11681921B2 (en) 2018-10-30 2019-10-22 Method of outputting prediction result using neural network, method of generating neural network, and apparatus therefor
CN201911029917.3A CN111126592A (zh) 2018-10-30 2019-10-25 输出预测结果、生成神经网络的方法及装置和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180130545A KR20200052444A (ko) 2018-10-30 2018-10-30 신경망을 이용하여 예측 결과를 출력하는 방법, 신경망을 생성하는 방법 및 그 장치들

Publications (1)

Publication Number Publication Date
KR20200052444A true KR20200052444A (ko) 2020-05-15

Family

ID=70326918

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180130545A KR20200052444A (ko) 2018-10-30 2018-10-30 신경망을 이용하여 예측 결과를 출력하는 방법, 신경망을 생성하는 방법 및 그 장치들

Country Status (3)

Country Link
US (1) US11681921B2 (ko)
KR (1) KR20200052444A (ko)
CN (1) CN111126592A (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220072963A (ko) * 2020-11-25 2022-06-03 파크시스템스 주식회사 원자 현미경에서 목표 위치를 인식하기 위한 장치 및 방법
KR20220091713A (ko) * 2020-12-24 2022-07-01 포항공과대학교 산학협력단 도메인 적응을 이용한 레이다 기반 탐지 시스템 및 그 방법
KR20220126930A (ko) * 2021-03-10 2022-09-19 한전케이디엔주식회사 부분방전 위험도 예측 장치 및 방법
WO2022220496A1 (ko) * 2021-04-16 2022-10-20 주식회사 온코크로스 신경망 기반의 생물학적상태데이터 변환 장치 및 그 방법
KR102461998B1 (ko) * 2021-11-15 2022-11-04 주식회사 에너자이(ENERZAi) 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템
KR102461997B1 (ko) * 2021-11-15 2022-11-04 주식회사 에너자이(ENERZAi) 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템
KR20240024679A (ko) * 2022-08-17 2024-02-26 국방과학연구소 적대적 강인성을 위한 신경망모델의 학습방법 및 이를 위한 장치

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10678244B2 (en) 2017-03-23 2020-06-09 Tesla, Inc. Data synthesis for autonomous control systems
US11893393B2 (en) 2017-07-24 2024-02-06 Tesla, Inc. Computational array microprocessor system with hardware arbiter managing memory requests
US11157441B2 (en) 2017-07-24 2021-10-26 Tesla, Inc. Computational array microprocessor system using non-consecutive data formatting
US11409692B2 (en) 2017-07-24 2022-08-09 Tesla, Inc. Vector computational unit
US10671349B2 (en) 2017-07-24 2020-06-02 Tesla, Inc. Accelerated mathematical engine
US11561791B2 (en) 2018-02-01 2023-01-24 Tesla, Inc. Vector computational unit receiving data elements in parallel from a last row of a computational array
US11215999B2 (en) 2018-06-20 2022-01-04 Tesla, Inc. Data pipeline and deep learning system for autonomous driving
US11361457B2 (en) 2018-07-20 2022-06-14 Tesla, Inc. Annotation cross-labeling for autonomous control systems
US11636333B2 (en) 2018-07-26 2023-04-25 Tesla, Inc. Optimizing neural network structures for embedded systems
US11562231B2 (en) 2018-09-03 2023-01-24 Tesla, Inc. Neural networks for embedded devices
SG11202103493QA (en) 2018-10-11 2021-05-28 Tesla Inc Systems and methods for training machine models with augmented data
KR102633140B1 (ko) * 2018-10-23 2024-02-05 삼성전자주식회사 주행 정보를 결정하는 방법 및 장치
US11196678B2 (en) 2018-10-25 2021-12-07 Tesla, Inc. QOS manager for system on a chip communications
US11816585B2 (en) 2018-12-03 2023-11-14 Tesla, Inc. Machine learning models operating at different frequencies for autonomous vehicles
US11537811B2 (en) 2018-12-04 2022-12-27 Tesla, Inc. Enhanced object detection for autonomous vehicles based on field view
US11610117B2 (en) 2018-12-27 2023-03-21 Tesla, Inc. System and method for adapting a neural network model on a hardware platform
US10997461B2 (en) 2019-02-01 2021-05-04 Tesla, Inc. Generating ground truth for machine learning from time series elements
US11150664B2 (en) 2019-02-01 2021-10-19 Tesla, Inc. Predicting three-dimensional features for autonomous driving
US11567514B2 (en) 2019-02-11 2023-01-31 Tesla, Inc. Autonomous and user controlled vehicle summon to a target
US10956755B2 (en) 2019-02-19 2021-03-23 Tesla, Inc. Estimating object properties using visual image data
US11501115B2 (en) * 2020-02-14 2022-11-15 International Business Machines Corporation Explaining cross domain model predictions
CN112749728A (zh) * 2020-08-13 2021-05-04 腾讯科技(深圳)有限公司 学生模型训练方法、装置、计算机设备及存储介质
CN112434725B (zh) * 2020-10-30 2023-06-09 四川新网银行股份有限公司 一种部署到html5的模型压缩方法
US20220148189A1 (en) * 2020-11-10 2022-05-12 Nec Laboratories America, Inc. Multi-domain semantic segmentation with label shifts
US20220351033A1 (en) * 2021-04-28 2022-11-03 Arm Limited Systems having a plurality of neural networks
CN113011570B (zh) * 2021-04-30 2023-04-07 电子科技大学 一种采用神经网络压缩***的人脸表情识别方法
CN113450764B (zh) * 2021-07-08 2024-02-06 平安科技(深圳)有限公司 文本语音识别方法、装置、设备及存储介质
WO2023019391A1 (en) * 2021-08-16 2023-02-23 Robert Bosch Gmbh Method and apparatus for knowledge distillation
US11450225B1 (en) 2021-10-14 2022-09-20 Quizlet, Inc. Machine grading of short answers with explanations
CN114330510B (zh) * 2021-12-06 2024-06-25 北京大学 模型训练方法、装置、电子设备和存储介质
US11945456B2 (en) * 2022-01-31 2024-04-02 Ford Global Technologies, Llc Vehicle control for optimized operation
CN114579608B (zh) * 2022-04-26 2022-08-02 阿里巴巴达摩院(杭州)科技有限公司 基于表格数据的人机交互方法、装置及设备
CN115099988A (zh) * 2022-06-28 2022-09-23 腾讯科技(深圳)有限公司 模型训练方法、数据处理方法、设备及计算机介质
US20240062064A1 (en) * 2022-08-17 2024-02-22 Mindtrace.Ai Usa, Inc. Artificial Intelligence Computing Systems for Efficiently Learning Underlying Features of Data
GB2624270A (en) * 2022-11-09 2024-05-15 Samsung Electronics Co Ltd Method for training a machine learning model to perform object detection
CN117474914B (zh) * 2023-12-27 2024-04-12 湖南大学 一种基于轻量化神经网络的飞机蒙皮表面缺陷检测方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8914300B2 (en) 2001-08-10 2014-12-16 Rockwell Automation Technologies, Inc. System and method for dynamic multi-objective optimization of machine selection, integration and utilization
US8010476B2 (en) * 2007-06-04 2011-08-30 Siemens Medical Solutions Usa, Inc. System and method for medical predictive models using likelihood gamble pricing
KR101945185B1 (ko) 2012-01-12 2019-02-07 삼성전자주식회사 로봇 및 이상 상황 판단과 대응방법
US10867597B2 (en) * 2013-09-02 2020-12-15 Microsoft Technology Licensing, Llc Assignment of semantic labels to a sequence of words using neural network architectures
DE102015015784A1 (de) * 2015-12-08 2017-06-08 WSH Engineering Services GbR (vertretungsberechtigter Gesellschafter: Hieronymi, Andreas, 61440 Oberursel) Verfahren zur Erfassung von arteriellen Parametern eines Menschen und Vorrichtung zur Durchführung des Verfahrens
CN106682649A (zh) * 2017-01-24 2017-05-17 成都容豪电子信息科技有限公司 一种基于深度学习的车型识别方法
US20180240031A1 (en) * 2017-02-17 2018-08-23 Twitter, Inc. Active learning system
US20180268292A1 (en) * 2017-03-17 2018-09-20 Nec Laboratories America, Inc. Learning efficient object detection models with knowledge distillation
US10783394B2 (en) * 2017-06-20 2020-09-22 Nvidia Corporation Equivariant landmark transformation for landmark localization
KR102570278B1 (ko) 2017-07-31 2023-08-24 삼성전자주식회사 교사 모델로부터 학생 모델을 트레이닝하는데 사용되는 학습 데이터를 생성하는 장치 및 방법
CA3071685C (en) * 2017-08-09 2023-11-21 Allen Institute Systems, devices, and methods for image processing to generate an image having predictive tagging
CN107644235A (zh) * 2017-10-24 2018-01-30 广西师范大学 基于半监督学习的图像自动标注方法
US11017550B2 (en) * 2017-11-15 2021-05-25 Uatc, Llc End-to-end tracking of objects
CN108182389B (zh) * 2017-12-14 2021-07-30 华南师范大学 基于大数据与深度学习的用户数据处理方法、机器人***
US10546393B2 (en) * 2017-12-30 2020-01-28 Intel Corporation Compression in machine learning and deep learning processing

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220072963A (ko) * 2020-11-25 2022-06-03 파크시스템스 주식회사 원자 현미경에서 목표 위치를 인식하기 위한 장치 및 방법
KR20220091713A (ko) * 2020-12-24 2022-07-01 포항공과대학교 산학협력단 도메인 적응을 이용한 레이다 기반 탐지 시스템 및 그 방법
KR20220126930A (ko) * 2021-03-10 2022-09-19 한전케이디엔주식회사 부분방전 위험도 예측 장치 및 방법
WO2022220496A1 (ko) * 2021-04-16 2022-10-20 주식회사 온코크로스 신경망 기반의 생물학적상태데이터 변환 장치 및 그 방법
KR102461998B1 (ko) * 2021-11-15 2022-11-04 주식회사 에너자이(ENERZAi) 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템
KR102461997B1 (ko) * 2021-11-15 2022-11-04 주식회사 에너자이(ENERZAi) 신경망 모델의 경량화 방법, 신경망 모델의 경량화 장치, 및 신경망 모델의 경량화 시스템
KR20240024679A (ko) * 2022-08-17 2024-02-26 국방과학연구소 적대적 강인성을 위한 신경망모델의 학습방법 및 이를 위한 장치

Also Published As

Publication number Publication date
CN111126592A (zh) 2020-05-08
US11681921B2 (en) 2023-06-20
US20200134427A1 (en) 2020-04-30

Similar Documents

Publication Publication Date Title
KR20200052444A (ko) 신경망을 이용하여 예측 결과를 출력하는 방법, 신경망을 생성하는 방법 및 그 장치들
KR102570278B1 (ko) 교사 모델로부터 학생 모델을 트레이닝하는데 사용되는 학습 데이터를 생성하는 장치 및 방법
US10963738B2 (en) Method for processing input on basis of neural network learning and apparatus therefor
Lefèvre et al. A survey on motion prediction and risk assessment for intelligent vehicles
US20180336471A1 (en) Semi-supervised regression with generative adversarial networks
KR20200075344A (ko) 검출기, 객체 검출 방법, 학습기 및 도메인 변환을 위한 학습 방법
US11610097B2 (en) Apparatus and method for generating sampling model for uncertainty prediction, and apparatus for predicting uncertainty
KR20200022739A (ko) 데이터 증강에 기초한 인식 모델 트레이닝 방법 및 장치, 이미지 인식 방법 및 장치
KR102011788B1 (ko) 계층적 시각 특징을 이용한 시각 질의 응답 장치 및 방법
TW201706918A (zh) 作爲供神經網路的訓練準則的濾波器特異性
CN111931929A (zh) 一种多任务模型的训练方法、装置及存储介质
US20220405682A1 (en) Inverse reinforcement learning-based delivery means detection apparatus and method
Hu et al. A framework for probabilistic generic traffic scene prediction
US20200134455A1 (en) Apparatus and method for training deep learning model
KR20200128938A (ko) 모델 학습 방법 및 장치
US20190278879A1 (en) System and method for determination of air entrapment in ladles
KR20210002018A (ko) 뉴럴 네트워크의 글로벌 불확실성을 추정하기 위한 방법
CN110659723A (zh) 基于人工智能的数据处理方法、装置、介质及电子设备
CN112861945B (zh) 一种多模态融合谎言检测方法
CN108804528B (zh) 一种数据融合方法及装置
US20230230484A1 (en) Methods for spatio-temporal scene-graph embedding for autonomous vehicle applications
EP3639109A1 (en) Systems and methods for event prediction using schema networks
WO2023078134A1 (zh) 生成神经网络的方法、装置、设备、存储介质和计算机程序产品
CN112418432A (zh) 分析多个物理对象之间的相互作用
CN111967567A (zh) 具有求解半定规划的层的神经网络