KR102300910B1 - 딥러닝 기반 장치의 학습에 사용되는 가상 세계 시뮬레이터의 물리 엔진을 캘리브레이션하는 방법 및 장치, 그리고 이를 위한 실제 상태 네트워크를 학습하는 방법 및 이를 이용한 학습 장치 - Google Patents

딥러닝 기반 장치의 학습에 사용되는 가상 세계 시뮬레이터의 물리 엔진을 캘리브레이션하는 방법 및 장치, 그리고 이를 위한 실제 상태 네트워크를 학습하는 방법 및 이를 이용한 학습 장치 Download PDF

Info

Publication number
KR102300910B1
KR102300910B1 KR1020200001711A KR20200001711A KR102300910B1 KR 102300910 B1 KR102300910 B1 KR 102300910B1 KR 1020200001711 A KR1020200001711 A KR 1020200001711A KR 20200001711 A KR20200001711 A KR 20200001711A KR 102300910 B1 KR102300910 B1 KR 102300910B1
Authority
KR
South Korea
Prior art keywords
virtual
information
learning
frame information
real
Prior art date
Application number
KR1020200001711A
Other languages
English (en)
Other versions
KR20200094639A (ko
Inventor
김용중
김인수
김학경
남운현
부석훈
성명철
유우주
정경중
제홍모
조호진
Original Assignee
주식회사 스트라드비젼
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 스트라드비젼 filed Critical 주식회사 스트라드비젼
Publication of KR20200094639A publication Critical patent/KR20200094639A/ko
Application granted granted Critical
Publication of KR102300910B1 publication Critical patent/KR102300910B1/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/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • 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
    • G06V20/588Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • B60W40/04Traffic conditions
    • 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/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • 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/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • 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/092Reinforcement learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • 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
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06V20/584Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of vehicle lights or traffic lights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Multimedia (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Neurology (AREA)
  • Human Computer Interaction (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Image Analysis (AREA)
  • Feedback Control In General (AREA)

Abstract

본 발명은 딥러닝(Deep Learning) 기반 장치의 학습에 사용되는 가상 세계 시뮬레이터(Virtual World Simulator)의 물리 엔진(Physics Engine)을 캘리브레이션(Calibration)하는 방법에 있어서, 캘리브레이션 장치는, (a) 가상 환경 상의 가상 현재 상태(Virtual Current State)에 대응되는 가상 현재 프레임 정보가 획득되면, (i) 가상 현재 프레임 정보를 딥러닝 기반 장치로 전송함으로써, 가상 액션 정보를 출력하도록 하고, (ii) 가상 현재 프레임 정보와 가상 액션 정보를 물리 엔진으로 전송함으로써, 가상 현재 프레임 정보와 가상 액션 정보에 대응되는 가상 다음 프레임(Virtual Next Frame) 정보를 출력하도록 하고, (iii) 가상 현재 프레임 정보와 가상 액션 정보를, 실제 환경 상의 액션에 응답하여 예측 다음 프레임(Predicted Next Frame) 정보를 출력하도록 학습된 실제 상태 네트워크(Real State Network)로 전송함으로써, 예측 실제 다음 프레임 정보를 출력하도록 하는 단계; 및 (b) 이전 캘리브레이션된 파라미터를 캘리브레이션하여, 현재 캘리브레이션된 파라미터(Current Calibrated Parameter)를 생성하는 단계;를 포함하는 방법에 관한 것이다.

Description

딥러닝 기반 장치의 학습에 사용되는 가상 세계 시뮬레이터의 물리 엔진을 캘리브레이션하는 방법 및 장치, 그리고 이를 위한 실제 상태 네트워크를 학습하는 방법 및 이를 이용한 학습 장치{METHOD AND DEVICE FOR CALIBRATING PHYSICS ENGINE OF VIRTUAL WORLD SIMULATOR TO BE USED FOR LEARNING OF DEEP LEARNING-BASED DEVICE, AND A LEARNING METHOD AND LEARNING DEVICE FOR REAL STATE NETWORK USED THEREFOR}
본 발명은 딥러닝(Deep Learning) 기반 장치의 학습에 사용되는 가상 세계 시뮬레이터(Virtual World Simulator)에 관한 것으로, 보다 상세하게는, 실제 세계(Real World) 내에서 다음 상태(Next State)를 모델링하는 실제 상태 네트워크(Real State Network)를 이용하여 딥러닝 기반 장치의 학습에 사용되는 가상 세계 시뮬레이터의 물리 엔진(Physics Engine)을 캘리브레이션(Calibration)하는 방법 및 장치, 그리고, 이를 위한 실제 상태 네트워크를 학습하는 방법 및 학습 장치에 관한 것이다.
자율 주행 자동차 등과 같은 딥러닝(Deep Learning) 기반 장치는 일반적으로 단기 플래닝(Short-Term Planning)에 의해 입력된 최근 수 프레임 내지 수십 프레임 동안의 정보를 바탕으로 다음에 취할 액션(Action)을 결정한다.
일 예로, 자율 주행 자동차의 경우, 각각의 프레임에서 획득되는 정보인, 검출된 객체의 바운딩 박스(Bounding Box)와 좌/우 방향 등의 메타 데이터(Meta Data), 또는 세그멘테이션 이미지(Segmentation Image)를 바탕으로, (i) 스티어링 각도 변화량, (ii) 브레이크 페달 압력, (iii) 액셀러레이터 페달 압력과 같은 3차원 실제값 벡터(Real-Valued Vector)의 액션을 출력하게 되며, 그에 따라 자율 주행 자동차는 상기 액션에 응답하여 자율 주행을 하게 된다.
이러한, 딥러닝 기반 장치는 입력 상태(State)에 따라 적정한 액션을 결정하도록 학습되어야 하며, 이를 위한 다양한 학습 방법이 있으나, 현재는 일반적으로 온팔러시 강화 학습(On-Policy Reinforcement Learning)을 이용하고 있다.
또한, 딥러닝 기반 장치는 실제 세계(Real World)에서 학습될 수 있으나, 다양한 트레이닝 데이터를 획득하기가 어려우며, 시간이 많이 소요될 뿐만 아니라 학습에 많은 비용이 소요되는 단점이 있다.
따라서, 딥러닝 기반 장치를 가상 세계(Virtual World)에서 학습하는 방법이 제안되고 있다.
하지만, 가상 세계에서 학습할 경우, 가상 환경과 실제 환경 사이의 갭(Gap)으로 인해 학습 결과의 신뢰성에 문제가 발생하고 있다.
일 예로, 딥러닝 기반의 장치가 자율 주행 자동차일 경우, 가상 세계 시뮬레이터(Virtual World Simulator)의 물리 엔진(Physics Engine)은, “현재 속도와 주변 상황의 상태”에 응답하여 “스티어링 휠을 소정 각도로 회전하고 브레이크를 소정의 압력으로 밟는 액션”을 취하면, “차량의 주행 속력, 위치, 주변 상황 등이 바뀐 다음 상태(Next State)”를 출력하게 되며, 이에 따라 자율 주행 자동차를 학습시키게 된다.
하지만, 가상 세계 시뮬레이터의 물리 엔진에 의해 생성된 다음 상태와, 실제 세계의 다음 상태 사이의 오차가 클수록, 가상 세계에서 학습된 최적 액션(Optimal Action)이 실제 세계에서 최적화되지 않는 문제점이 있다.
일 예로, 자율 주행 자동차의 경우, 가상 세계 상의 위험한 상황에서 사고를 피할 수 있는 적절한 액션을 학습했는데, 실제 세계의 같은 상황에서 상기 적절한 액션을 취했으나 사고가 발생하는 문제점이 있다.
본 발명은 상술한 문제점을 모두 해결하는 것을 그 목적으로 한다.
본 발명은 가상 세계 시뮬레이터(Virtual World Simulator)의 물리 엔진(Physics Engine)으로 하여금 가상 세계와 실제 세계 사이의 갭(Gap)을 최소화하는 다음 상태(Next State)를 출력할 수 있도록 하는 것을 다른 목적으로 한다.
본 발명은 가상 세계가 실제 세계와 더 가까워지도록 가상 세계 시뮬레이터의 물리 엔진을 캘리브레이션(Calibration)하는 것을 또 다른 목적으로 한다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한, 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 태양에 따르면, 딥러닝(Deep Learning) 기반 장치의 학습에 사용되는 가상 세계 시뮬레이터(Virtual World Simulator)의 물리 엔진(Physics Engine)을 캘리브레이션(Calibration)하는 방법에 있어서, (a) 가상 환경(Virtual Environment) 상의 가상 현재 상태(Virtual Current State)에 대응되는 가상 현재 프레임(Virtual Current Frame) 정보가 상기 가상 세계 시뮬레이터로부터 획득되면, 캘리브레이션 장치가, (i) 상기 가상 현재 프레임 정보를 상기 딥러닝 기반 장치로 전송함으로써, 상기 딥러닝 기반 장치로 하여금, 이전 학습 파라미터를 이용하여 상기 가상 현재 프레임 정보에 대하여 연산을 적용하도록 하여, 상기 가상 현재 프레임 정보에 대응되는 가상 액션(Virtual Action) 정보를 출력하도록 하는 프로세스, (ii) 상기 가상 현재 프레임 정보와 상기 가상 액션 정보를 상기 가상 세계 시뮬레이터의 상기 물리 엔진으로 전송함으로써, 상기 물리 엔진으로 하여금, 이전 캘리브레이션된 파라미터(Previous Calibrated Parameter)를 이용하여 상기 가상 현재 프레임 정보와 상기 가상 액션 정보에 대하여 연산을 적용하도록 하여, 상기 가상 현재 프레임 정보와 상기 가상 액션 정보에 대응되는 가상 다음 프레임(Virtual Next Frame) 정보를 출력하도록 하는 프로세스, 및 (iii) 상기 가상 현재 프레임 정보와 상기 가상 액션 정보를 실제 상태 네트워크(Real State Network) - 상기 실제 상태 네트워크는 실제 환경(Real Environment) 상의 다수의 실제 최근 프레임(Real Recent Frame) 정보에서 상기 딥러닝 기반 장치에 의해 수행된 실제 액션(Real Action)에 대한 실제 액션 정보에 응답하여 다수의 예측 다음 프레임(Predicted Next Frame) 정보를 출력하도록 학습된 상태임 - 로 전송함으로써, 상기 실제 상태 네트워크로 하여금 학습된 예측 파라미터를 이용하여 상기 가상 현재 프레임 정보에 대응되는 다수의 가상 최근 프레임(Virtual Recent Frame) 정보와 상기 가상 액션 정보에 대하여 연산을 적용하도록 하여 예측 실제 다음 프레임(Predicted Real Next Frame) 정보를 출력하도록 하는 프로세스를 수행하는 단계; 및 (b) 상기 캘리브레이션 장치가, 상기 가상 다음 프레임 정보와 상기 예측 실제 다음 프레임 정보를 참조하여 생성된 적어도 하나의 로스가 최소화되도록, 상기 물리 엔진의 상기 이전 캘리브레이션된 파라미터를 캘리브레이션하고 최적화하여, 현재 캘리브레이션된 파라미터(Current Calibrated Parameter)를 최적화된 파라미터로 생성하는 프로세스를 수행하는 것을 특징으로 하는 단계;를 포함하는 것을 특징으로 한다.
일 실시예에서, (c) 상기 캘리브레이션 장치가, 상기 가상 액션 정보에 대응되는 리워드(Reward) 정보와 상기 가상 다음 프레임 정보를 상기 딥러닝 기반 장치로 전송함으로써, 상기 딥러닝 기반 장치로 하여금, 상기 가상 다음 프레임 정보와 상기 리워드 정보를 이용한 온팔러시 강화 학습(On-Policy Reinforcement Learning)을 통해 상기 이전 학습 파라미터를 업데이트하도록 하는 단계;를 더 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 (a) 단계의 상기 (iii) 프로세스에서, 상기 캘리브레이션 장치는, 상기 가상 현재 프레임 정보와 상기 가상 액션 정보를 상기 실제 상태 네트워크로 전송하는 프로세스를 수행함으로써, 상기 실제 상태 네트워크로 하여금, 상기 가상 현재 프레임 정보와 이전에 전송 받은 k개의 가상 이전 프레임 정보를 참조하여 상기 다수의 가상 최근 프레임 정보를 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (iii) 프로세스에서, 상기 캘리브레이션 장치는, 상기 가상 현재 프레임 정보와 상기 가상 액션 정보를 상기 실제 상태 네트워크로 전송하는 프로세스를 수행함으로써, 상기 실제 상태 네트워크로 하여금, (iii-1) (iii-1-1) 상기 가상 현재 프레임 정보와 상기 k개의 가상 이전 프레임 정보를 컨캐터네이팅(Concatenating)하여 생성된 가상 현재 프레임 상태 합(Virtual Current Frame State Sum)에 대하여 컨벌루션 연산(Convolution Operation)을 적용하여 제1 차원 벡터(Dimension Vector)를 생성하도록 하며, (iii-1-2) 상기 가상 액션 정보에 대하여 FC(Fully Connected) 연산을 적용하여 제2 차원 벡터를 생성하도록 하고, (iii-2) 상기 제1 차원 벡터와 상기 제2 차원 벡터의 컨캐터네이팅 결과에 대하여 디컨벌루션 연산을 적용하여 상기 예측 실제 다음 프레임 정보를 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 가상 현재 프레임 상태 합은, (i) HxWxC 텐서(Tensor)인 상기 가상 현재 프레임 정보와 (ii) k개의 상기 가상 이전 프레임 정보를 컨캐터네이팅하여 생성된 HxWx(K+1) 텐서이고, 상기 제1 차원 벡터는 HWC-차원 벡터며, 상기 제2 차원 벡터를 L-차원 벡터라 할 경우, 상기 예측 실제 다음 프레임 정보는, 상기 제1 차원 벡터와 상기 제2 차원 벡터를 컨캐터네이팅하여 생성된 1x1x(HWC+L) 텐서에 대하여 디컨벌루션 연산을 적용하여 생성된 HxWxC 텐서인 것을 특징으로 한다.
일 실시예에서, 상기 (b) 단계에서, 상기 캘리브레이션 장치는, (i) 상기 이전 캘리브레이션된 파라미터 중 하나의 이전 캘리브레이션된 파라미터를 선택하는 프로세스, (ii) 상기 선택된 하나의 이전 캘리브레이션된 파라미터를, 상기 로스를 이용하여 캘리브레이션하되, 기설정된 학습률에 따라 캘리브레이션하여, 하나의 현재 캘리브레이션된 파라미터를 최적화된 파라미터(Optimized Parameter)로 생성하는 프로세스, 및 (iii) (iii-1) 상기 물리 엔진으로 하여금, 상기 하나의 현재 캘리브레이션된 파라미터와, 상기 하나의 이전 캘리브레이션된 파라미터를 제외한 나머지 이전 캘리브레이션된 파라미터를 이용하여, 상기 가상 현재 프레임 정보와 상기 가상 액션 정보에 대하여 연산을 적용하도록 하여, 새로운 가상 다음 프레임 정보를 생성하도록 하는 프로세스, 및 (iii-2) 상기 새로운 가상 다음 프레임 정보와 상기 예측 실제 다음 프레임 정보를 참조하여 생성된 적어도 하나의 새로운 로스를 이용하여 상기 로스가 감소되었는지를 확인하는 프로세스를, 상기 로스가 감소할 때까지 반복하는 것을 특징으로 한다.
일 실시예에서, 상기 이전 캘리브레이션된 파라미터 모두에 대하여 상기 로스가 감소되지 않았을 경우, 상기 캘리브레이션 장치는, 상기 기설정된 학습률을 감소시키고 상기 (i) 프로세스, 상기 (ii) 프로세스, 및 상기 (iii) 프로세스를 수행하는 것을 특징으로 한다.
본 발명의 다른 태양에 따르면, 실제 환경(Real Environment)에서 딥러닝(Deep Learning) 기반 장치에 의해 다수의 실제 최근 프레임(Real Recent Frame) 정보에서 수행된 실제 액션(Real Action)에 대한 실제 액션 정보에 응답하는 예측 다음 프레임(Predicted Next Frame) 정보를 생성하는 실제 상태 네트워크(Real State Network)를 학습하는 방법에 있어서, (a) 상기 실제 환경에서 상기 딥러닝 기반 장치에 의해 수행된 상기 실제 액션에 대한 상기 다수의 실제 액션 정보에 대응되는 다수의 궤적(Trajectory) 정보가 트레이닝 데이터로 획득되면, 학습 장치가, 특정 궤적 정보의 특정 시점에서의 실제 현재 프레임(Real Current Frame) 정보와 k개의 이전 실제 프레임(Previous Real Frame) 정보를 참조하여 다수의 학습용 최근 프레임 정보를 생성하는 프로세스를 수행하는 단계; (b) 상기 학습 장치가, 상기 특정 시점의 상기 특정 궤적 정보의 실제 현재 액션 정보를 참조하여 획득된 학습용 액션 정보와 상기 다수의 학습용 최근 프레임 정보를 상기 실제 상태 네트워크로 입력함으로써, 상기 실제 상태 네트워크로 하여금 예측 파라미터를 이용하여 상기 다수의 학습용 최근 프레임 정보와 상기 학습용 액션 정보에 대하여 연산을 적용하도록 하여 상기 예측 다음 프레임 정보를 출력하도록 하는 프로세스를 수행하는 단계; 및 (c) 상기 학습 장치가, 상기 특정 궤적 정보에서의 상기 실제 현재 프레임 정보 다음의 실제 다음 프레임 정보와 상기 예측 다음 프레임 정보를 참조하여 생성된 적어도 하나의 로스를 이용하여 상기 로스가 최소화되도록 상기 예측 파라미터를 업데이트하는 프로세스를 수행하는 단계;를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 (b) 단계에서, 상기 학습 장치는, (i) (i-1) 상기 다수의 학습용 최근 프레임 정보를 컨캐터네이팅(Concatenating)하여 생성된 학습용 현재 프레임 상태 합(Current Frame State Sum)을 상기 실제 상태 네트워크의 CNN(Convolutional Neural Network)으로 입력하여, 상기 CNN으로 하여금 상기 학습용 현재 프레임 상태 합에 대하여 컨벌루션 연산을 적용하여 제1 특징(Feature)을 출력하도록 하는 프로세스, 및 (i-2) 상기 학습용 액션 정보를 상기 실제 상태 네트워크의 적어도 하나의 FC 레이어(Fully Connected Layer)로 입력하여, 상기 적어도 하나의 FC 레이어로 하여금 상기 학습용 액션 정보에 대하여 FC 연산을 적용하여 제2 특징을 출력하도록 하는 프로세스, 및 (ii) 상기 제1 특징과 상기 제2 특징을 컨캐터네이팅하여 생성된 컨캐터네이팅된 특징을 디컨벌루션 레이어(Deconvolution Layer)에 입력하여, 상기 디컨벌루션 레이어로 하여금 상기 컨캐터네이팅된 특징에 대하여 디컨벌루션 연산을 적용하여 상기 예측 다음 프레임 정보를 출력하도록 하는 프로세스를 수행하는 것을 특징으로 한다.
일 실시예에서, 상기 학습 장치는, (i) 상기 CNN으로 하여금, HxWxC 텐서(Tensor)인 상기 다수의 학습용 최근 프레임 정보를 컨캐터네이팅하여 생성된 HxWx(K+1) 텐서인 상기 학습용 현재 프레임 상태 합을, HWC-차원 벡터(Dimension Vector)인 상기 제1 특징으로 출력하도록 하는 프로세스, (ii) 상기 적어도 하나의 FC 레이어로 하여금, 3-차원 벡터인 상기 학습용 액션 정보를, L-차원 벡터인 상기 제2 특징으로 출력하도록 하는 프로세스, 및 (iii) 상기 디컨벌루션 레이어로 하여금, 상기 제1 특징과 상기 제2 특징을 컨캐터네이팅하여 생성된 1x1x(HWC+L) 텐서를, HxWxC 텐서인 상기 예측 다음 프레임 정보로 출력하도록 하는 프로세스를 수행하는 것을 특징으로 한다.
일 실시예에서, 상기 학습 장치는, 상기 로스를 이용한 경사 하강법(Gradient Descent)에 따라 상기 적어도 하나의 CNN, 상기 적어도 하나의 FC 레이어, 및 상기 디컨벌루션 레이어 중 적어도 하나의 파라미터를 업데이트하는 것을 특징으로 한다.
본 발명의 다른 태양에 따르면, 딥러닝(Deep Learning) 기반 장치의 학습에 사용되는 가상 세계 시뮬레이터(Virtual World Simulator)의 물리 엔진(Physics Engine)을 캘리브레이션(Calibration)하는 캘리브레이션 장치에 있어서, 인스트럭션을 저장하는 적어도 하나의 메모리; 및 (I) 가상 환경(Virtual Environment) 상의 가상 현재 상태(Virtual Current State)에 대응되는 가상 현재 프레임(Virtual Current Frame) 정보가 상기 가상 세계 시뮬레이터로부터 획득되면, (i) 상기 가상 현재 프레임 정보를 상기 딥러닝 기반 장치로 전송함으로써, 상기 딥러닝 기반 장치로 하여금, 이전 학습 파라미터를 이용하여 상기 가상 현재 프레임 정보에 대하여 연산을 적용하도록 하여, 상기 가상 현재 프레임 정보에 대응되는 가상 액션(Virtual Action) 정보를 출력하도록 하는 프로세스, (ii) 상기 가상 현재 프레임 정보와 상기 가상 액션 정보를 상기 가상 세계 시뮬레이터의 상기 물리 엔진으로 전송함으로써, 상기 물리 엔진으로 하여금, 이전 캘리브레이션된 파라미터(Previous Calibrated Parameter)를 이용하여 상기 가상 현재 프레임 정보와 상기 가상 액션 정보에 대하여 연산을 적용하도록 하여, 상기 가상 현재 프레임 정보와 상기 가상 액션 정보에 대응되는 가상 다음 프레임(Virtual Next Frame) 정보를 출력하도록 하는 프로세스, 및 (iii) 상기 가상 현재 프레임 정보와 상기 가상 액션 정보를 실제 상태 네트워크(Real State Network) - 상기 실제 상태 네트워크는 실제 환경(Real Environment) 상의 다수의 실제 최근 프레임(Real Recent Frame) 정보에서 상기 딥러닝 기반 장치에 의해 수행된 실제 액션(Real Action)에 대한 실제 액션 정보에 대응하여 다수의 예측 다음 프레임(Predicted Next Frame) 정보를 출력하도록 학습된 상태임 - 로 전송함으로써, 상기 실제 상태 네트워크로 하여금 학습된 예측 파라미터를 이용하여 상기 가상 현재 프레임 정보에 대응되는 다수의 가상 최근 프레임(Virtual Recent Frame) 정보와 상기 가상 액션 정보에 대하여 연산을 적용하도록 하여 예측 실제 다음 프레임(Predicted Real Next Frame) 정보를 출력하도록 하는 프로세스; 및 (II) 상기 가상 다음 프레임 정보와 상기 예측 실제 다음 프레임 정보를 참조하여 생성된 적어도 하나의 로스가 최소화되도록, 상기 물리 엔진의 상기 이전 캘리브레이션된 파라미터를 캘리브레이션하고 최적화하여, 현재 캘리브레이션된 파라미터(Current Calibrated Parameter)를 최적화된 파라미터로 생성하는 프로세스를 수행하기 위한 상기 인스트럭션을 실행하거나 타 장치로 하여금 실행하도록 구성된 적어도 하나의 프로세서;를 포함하는 것을 특징으로 한다.
일 실시예에서, (III) 상기 프로세서가, 상기 가상 액션 정보에 대응되는 리워드(Reward) 정보와 상기 가상 다음 프레임 정보를 상기 딥러닝 기반 장치로 전송함으로써, 상기 딥러닝 기반 장치로 하여금, 상기 가상 다음 프레임 정보와 상기 리워드 정보를 이용한 온팔러시 강화 학습(On-Policy Reinforcement Learning)을 통해 상기 이전 학습 파라미터를 업데이트하도록 하는 프로세스;를 더 수행하는 것을 특징으로 한다.
일 실시예에서, 상기 (iii) 프로세스에서, 상기 프로세서는, 상기 가상 현재 프레임 정보와 상기 가상 액션 정보를 상기 실제 상태 네트워크로 전송하는 프로세스를 수행함으로써, 상기 실제 상태 네트워크로 하여금, 상기 가상 현재 프레임 정보와 이전에 전송 받은 k개의 가상 이전 프레임 정보를 참조하여 상기 다수의 가상 최근 프레임 정보를 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 (iii) 프로세스에서, 상기 프로세서는, 상기 가상 현재 프레임 정보와 상기 가상 액션 정보를 상기 실제 상태 네트워크로 전송하는 프로세스를 수행함으로써, 상기 실제 상태 네트워크로 하여금, (iii-1) (iii-1-1) 상기 가상 현재 프레임 정보와 상기 k개의 가상 이전 프레임 정보를 컨캐터네이팅(Concatenating)하여 생성된 가상 현재 프레임 상태 합(Virtual Current Frame State Sum)에 대하여 컨벌루션 연산(Convolution Operation)을 적용하여 제1 차원 벡터(Dimension Vector)를 생성하도록 하며, (iii-1-2) 상기 가상 액션 정보에 대하여 FC(Fully Connected) 연산을 적용하여 제2 차원 벡터를 생성하도록 하고, (iii-2) 상기 제1 차원 벡터와 상기 제2 차원 벡터의 컨캐터네이팅 결과에 대하여 디컨벌루션 연산을 적용하여 상기 예측 실제 다음 프레임 정보를 생성하도록 하는 것을 특징으로 한다.
일 실시예에서, 상기 가상 현재 프레임 상태 합은, (i) HxWxC 텐서(Tensor)인 상기 가상 현재 프레임 정보와 (ii) k개의 상기 가상 이전 프레임 정보를 컨캐터네이팅하여 생성된 HxWx(K+1) 텐서이고, 상기 제1 차원 벡터는 HWC-차원 벡터며, 상기 제2 차원 벡터를 L-차원 벡터라 할 경우, 상기 예측 실제 다음 프레임 정보는, 상기 제1 차원 벡터와 상기 제2 차원 벡터를 컨캐터네이팅하여 생성된 1x1x(HWC+L) 텐서에 대하여 디컨벌루션 연산을 적용하여 생성된 HxWxC 텐서인 것을 특징으로 한다.
일 실시예에서, 상기 (II) 프로세스에서, 상기 프로세서는, (II-1) 상기 이전 캘리브레이션된 파라미터 중 하나의 이전 캘리브레이션된 파라미터를 선택하는 프로세스, (II-2) 상기 선택된 하나의 이전 캘리브레이션된 파라미터를, 상기 로스를 이용하여 캘리브레이션하되, 기설정된 학습률에 따라 캘리브레이션하여, 하나의 현재 캘리브레이션된 파라미터를 최적화된 파라미터(Optimized Parameter)로 생성하는 프로세스, 및 (II-3) (II-3a) 상기 물리 엔진으로 하여금, 상기 하나의 현재 캘리브레이션된 파라미터와, 상기 하나의 이전 캘리브레이션된 파라미터를 제외한 나머지 이전 캘리브레이션된 파라미터를 이용하여, 상기 가상 현재 프레임 정보와 상기 가상 액션 정보에 대하여 연산을 적용하도록 하여, 새로운 가상 다음 프레임 정보를 생성하도록 하는 프로세스, 및 (II-3b) 상기 새로운 가상 다음 프레임 정보와 상기 예측 실제 다음 프레임 정보를 참조하여 생성된 적어도 하나의 새로운 로스를 이용하여 상기 로스가 감소되었는지를 확인하는 프로세스를, 상기 로스가 감소할 때까지 반복하는 것을 특징으로 한다.
일 실시예에서, 상기 이전 캘리브레이션된 파라미터 모두에 대하여 상기 로스가 감소되지 않았을 경우, 상기 프로세서는, 상기 기설정된 학습률을 감소시키고 상기 (i) 프로세스, 상기 (ii) 프로세스, 및 상기 (iii) 프로세스를 수행하는 것을 특징으로 한다.
본 발명의 다른 태양에 따르면, 실제 환경(Real Environment)에서 딥러닝(Deep Learning) 기반 장치에 의해 다수의 실제 최근 프레임(Real Recent Frame) 정보에서 수행된 실제 액션(Real Action)에 대한 실제 액션 정보에 대응하는 예측 다음 프레임(Predicted Next Frame) 정보를 생성하는 실제 상태 네트워크(Real State Network)를 학습하는 학습 장치에 있어서, 인스트럭션을 저장하는 적어도 하나의 메모리; 및 (I) 상기 실제 환경에서 상기 딥러닝 기반 장치에 의해 수행된 상기 실제 액션에 대한 상기 다수의 실제 액션 정보에 대응되는 다수의 궤적(Trajectory) 정보가 트레이닝 데이터로 획득되면, 특정 궤적 정보의 특정 시점에서의 실제 현재 프레임(Real Current Frame) 정보와 k개의 이전 실제 프레임(Previous Real Frame) 정보를 참조하여 다수의 학습용 최근 프레임 정보를 생성하는 프로세스; (II) 상기 특정 시점의 상기 특정 궤적 정보의 실제 현재 액션 정보를 참조하여 획득된 학습용 액션 정보와 상기 다수의 학습용 최근 프레임 정보를 상기 실제 상태 네트워크로 입력함으로써, 상기 실제 상태 네트워크로 하여금 예측 파라미터를 이용하여 상기 다수의 학습용 최근 프레임 정보와 상기 학습용 액션 정보에 대하여 연산을 적용하도록 하여 상기 예측 다음 프레임 정보를 출력하도록 하는 프로세스; 및 (III) 상기 특정 궤적 정보에서의 상기 실제 현재 프레임 정보 다음의 실제 다음 프레임 정보와 상기 예측 다음 프레임 정보를 참조하여 생성된 적어도 하나의 로스를 이용하여 상기 로스가 최소화되도록 상기 예측 파라미터를 업데이트하는 프로세스를 수행하기 위한 상기 인스트럭션을 실행하거나 타 장치로 하여금 실행하도록 구성된 적어도 하나의 프로세서;를 포함하는 것을 특징으로 한다.
일 실시예에서, 상기 (II) 프로세스에서, 상기 프로세서는, (i) (i-1) 상기 다수의 학습용 최근 프레임 정보를 컨캐터네이팅(Concatenating)하여 생성된 학습용 현재 프레임 상태 합(Current Frame State Sum)을 상기 실제 상태 네트워크의 CNN(Convolutional Neural Network)으로 입력하여, 상기 CNN으로 하여금 상기 학습용 현재 프레임 상태 합에 대하여 컨벌루션 연산을 적용하여 제1 특징(Feature)을 출력하도록 하는 프로세스, 및 (i-2) 상기 학습용 액션 정보를 상기 실제 상태 네트워크의 적어도 하나의 FC 레이어(Fully Connected Layer)로 입력하여, 상기 적어도 하나의 FC 레이어로 하여금 상기 학습용 액션 정보에 대하여 FC 연산을 적용하여 제2 특징을 출력하도록 하는 프로세스, 및 (ii) 상기 제1 특징과 상기 제2 특징을 컨캐터네이팅하여 생성된 컨캐터네이팅된 특징을 디컨벌루션 레이어(Deconvolution Layer)에 입력하여, 상기 디컨벌루션 레이어로 하여금 상기 컨캐터네이팅된 특징에 대하여 디컨벌루션 연산을 적용하여 상기 예측 다음 프레임 정보를 출력하도록 하는 프로세스를 수행하는 것을 특징으로 한다.
일 실시예에서, 상기 프로세서는, (i) 상기 CNN으로 하여금, HxWxC 텐서(Tensor)인 상기 다수의 학습용 최근 프레임 정보를 컨캐터네이팅하여 생성된 HxWx(K+1) 텐서인 상기 학습용 현재 프레임 상태 합을, HWC-차원 벡터(Dimension Vector)인 상기 제1 특징으로 출력하도록 하는 프로세스, (ii) 상기 적어도 하나의 FC 레이어로 하여금, 3-차원 벡터인 상기 학습용 액션 정보를, L-차원 벡터인 상기 제2 특징으로 출력하도록 하는 프로세스, 및 (iii) 상기 디컨벌루션 레이어로 하여금, 상기 제1 특징과 상기 제2 특징을 컨캐터네이팅하여 생성된 1x1x(HWC+L) 텐서를, HxWxC 텐서인 상기 예측 다음 프레임 정보로 출력하도록 하는 프로세스를 수행하는 것을 특징으로 한다.
일 실시예에서, 상기 프로세서는, 상기 로스를 이용한 경사 하강법(Gradient Descent)에 따라 상기 적어도 하나의 CNN, 상기 적어도 하나의 FC 레이어, 및 상기 디컨벌루션 레이어 중 적어도 하나의 파라미터를 업데이트하는 것을 특징으로 한다.
이 외에도, 본 발명의 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
본 발명은 가상 세계와 실제 세계 사이의 갭(Gap)을 최소화하도록 가상 세계 시뮬레이터(Virtual World Simulator)의 물리 엔진(Physics Engine)을 캘리브레이션(Calibration)함으로써, 가상 세계에서 학습된 딥러닝(Deep Learning) 기반 장치의 단기 계획(Short-Term Planning)을 더 신뢰성 있게 실제 세계에 적용할 수 있는 효과가 있다.
본 발명은 주어진 가상 환경의 신뢰성을 입증하기 위해, 물리 엔진과 실제 환경 모델 간의 로스를 신뢰성 척도(Reliability Measure)로 사용할 수 있는 다른 효과가 있다.
본 발명의 실시예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시예들 중 단지 일부일 뿐이며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자(이하 "통상의 기술자")에게 있어서는 발명적 작업이 이루어짐 없이 이 도면들에 기초하여 다른 도면들이 얻어질 수 있다.
도 1은 본 발명의 일 실시예에 따른 딥러닝(Deep Learning) 기반 장치의 학습에 사용되는 가상 세계 시뮬레이터(Virtual World Simulator)의 물리 엔진(Physics Engine)을 캘리브레이션(Calibration)하는 캘리브레이션 장치를 개략적으로 도시한 것이고,
도 2는 본 발명의 일 실시예에 따른 딥러닝 기반 장치의 학습에 사용되는 가상 세계 시뮬레이터의 물리 엔진을 캘리브레이션하는 방법을 개략적으로 도시한 것이고,
도 3은 본 발명의 일 실시예에 따른 실제 환경(Real Environment)에서 딥러닝 기반 장치에 의해 다수의 실제 최근 프레임(Real Recent Frame) 정보에서 수행된 실제 액션(Real Action)에 대한 실제 액션 정보에 대응되는 예측 다음 프레임(Predicted Next Frame) 정보를 생성하는 실제 상태 네트워크(Real State Network)를 학습하는 학습 장치를 개략적으로 도시한 것이고,
도 4는 본 발명의 일 실시예에 따른 실제 환경에서 딥러닝 기반 장치에 의해 다수의 실제 최근 프레임 정보에서 수행된 실제 액션에 대한 실제 액션 정보에 대응되는 예측 다음 프레임 정보를 생성하는 실제 상태 네트워크를 학습하는 방법을 개략적으로 도시한 것이고,
도 5는 본 발명의 일 실시예에 따른 실제 상태 네트워크를 학습하기 위한 적어도 하나의 궤적(Trajectory)를 생성하는 방법을 개략적으로 도시한 것이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명의 목적들, 기술적 해법들 및 장점들을 분명하게 하기 위하여 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 통상의 기술자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다.
또한, 본 발명의 상세한 설명 및 청구항들에 걸쳐, "포함하다"라는 단어 및 그것의 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다.
더욱이 본 발명은 본 명세서에 표시된 실시예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
본 발명에서 언급하는 각종 이미지는 포장 또는 비포장 도로 관련 이미지를 포함할 수 있으며, 이 경우 도로 환경에서 등장할 수 있는 물체(가령, 자동차, 사람, 동물, 식물, 물건, 건물, 비행기나 드론과 같은 비행체, 기타 장애물)를 상정할 수 있을 것이나, 반드시 이에 한정되는 것은 아니며, 본 발명에서 언급하는 각종 이미지는 도로와 상관 없는 이미지(가령, 비포장도로, 골목길, 공터, 바다, 호수, 강, 산, 숲, 사막, 하늘, 실내와 관련된 이미지)일 수도 있으며, 이 경우, 비포장도로, 골목길, 공터, 바다, 호수, 강, 산, 숲, 사막, 하늘, 실내 환경에서 등장할 수 있는 물체(가령, 자동차, 사람, 동물, 식물, 물건, 건물, 비행기나 드론과 같은 비행체, 기타 장애물)를 상정할 수 있을 것이나, 반드시 이에 한정되는 것은 아니다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 딥러닝(Deep Learning) 기반 장치의 학습에 사용되는 가상 세계 시뮬레이터(Virtual World Simulator)의 물리 엔진(Physics Engine)을 캘리브레이션(Calibration)하는 캘리브레이션 장치를 개략적으로 도시한 것이다. 도 1을 참조하면, 캘리브레이션 장치(1000)는 딥러닝 기반 장치의 학습을 위한 가상 세계 시뮬레이터의 물리 엔진을 캘리브레이션하기 위한 인스트럭션(Instruction)을 저장하는 메모리(1100)와 메모리(110)에 저장된 인스트럭션에 대응하여 딥러닝 기반 장치의 학습을 위한 가상 세계 시뮬레이터의 물리 엔진을 캘리브레이션하기 위한 프로세스를 수행하는 프로세서(1200)를 포함할 수 있다.
구체적으로, 캘리브레이션 장치(1000)는 전형적으로 적어도 하나의 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 적어도 하나의 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.
또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 컴퓨팅 장치는 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
그러나, 컴퓨팅 장치가 본 발명을 실시하기 위한 프로세서, 메모리, 미디엄 또는 기타 다른 컴퓨팅 구성요소의 어떠한 조합을 포함하는 통합 장치(Integrated Device)를 배제하는 것은 아니다.
이와 같이 구성된 본 발명의 일 실시예에 따른 캘리브레이션 장치(1000)를 이용하여 딥러닝 기반 장치의 학습을 위한 가상 세계 시뮬레이터의 물리 엔진을 캘리브레이션하는 방법을 도 2를 참조하여 설명하면 다음과 같다.
먼저, 가상 세계 시뮬레이터(100)는 에이전트(Agent)인 딥러닝 기반 장치(300)의 학습을 위하여 기설정된 가상 환경에서 가상 현재 상태(Virtual Current State)에 대응되는 가상 현재 프레임(Virtual Current Frame) 정보
Figure 112020001334322-pat00001
를 생성할 수 있다. 이때, 가상 현재 상태는 딥러닝 기반 장치(300)의 동작 상태 정보, 주변 환경 정보, 동작 조건 등을 포함할 수 있으며, 딥러닝 기반 장치(300)는 자율 주행 자동차, 자율 주행 비행기, 로봇 등과 같이 딥러닝 알고리즘에 의해 학습된 조건에 따라 동작하는 모든 장치를 포함할 수 있다. 일 예로, 딥러닝 기반 장치가 자율주행 자동차일 경우, 가상 현재 상태는 자율주행 자동차 정보, 주변 자동차 정보, 도로 정보, 교통 신호 정보, 주변 환경 정보 등과 같은 다양한 주행 정보를 포함할 수 있다.
다음으로, 가상 환경에서 가상 현재 상태에 대응되는 가상 현재 프레임 정보
Figure 112020001334322-pat00002
가 가상 세계 시뮬레이터(100)로부터 획득되면, 캘리브레이션 장치(1000)는, 획득된 가상 현재 프레임 정보
Figure 112020001334322-pat00003
를 딥러닝 기반 장치(300)로 전송함으로써, 딥러닝 기반 장치(300)로 하여금 이전 학습 파라미터를 이용하여 가상 현재 프레임 정보
Figure 112020001334322-pat00004
에 대하여 연산을 적용하도록 하여, 가상 현재 프레임 정보
Figure 112020001334322-pat00005
에 대응되는 가상 액션(Virtual Action) 정보
Figure 112020001334322-pat00006
를 출력하도록 할 수 있다(S2).
또한, 캘리브레이션 장치(1000)는 가상 세계 시뮬레이터(100)로부터 획득된 가상 현재 프레임 정보
Figure 112020001334322-pat00007
와 딥러닝 기반 장치(300)로부터 출력된 가상 액션 정보
Figure 112020001334322-pat00008
을 가상 세계 시뮬레이터(100)의 물리 엔진 F(110)으로 전송함으로써, 물리 엔진 F(110)로 하여금 이전 캘리브레이션된 파라미터(Previous Calibrated Parameter)를 이용하여 가상 현재 프레임 정보
Figure 112020001334322-pat00009
와 가상 액션 정보
Figure 112020001334322-pat00010
에 대하여 연산을 적용하도록 하여, 가상 현재 프레임 정보
Figure 112020001334322-pat00011
와 가상 액션 정보
Figure 112020001334322-pat00012
에 대응되는 가상 다음 프레임(Virtual Next Frame) 정보
Figure 112020001334322-pat00013
를 출력하도록 할 수 있다(S3).
이에 더하여, 캘리브레이션 장치(1000)는 가상 세계 시뮬레이터(100)로부터 획득된 가상 현재 프레임 정보
Figure 112020001334322-pat00014
와 딥러닝 기반 장치(300)로부터 출력된 가상 액션 정보
Figure 112020001334322-pat00015
을 실제 상태 네트워크(Real State Network)(200)로 전송함으로써, 실제 상태 네트워크(200)로 하여금 학습된 예측 파라미터를 이용하여 가상 현재 프레임 정보
Figure 112020001334322-pat00016
에 대응되는 다수의 가상 최근 프레임 정보와 가상 액션 정보
Figure 112020001334322-pat00017
에 대하여 연산을 적용하여, 예측 실제 다음 프레임(Predicted Real Next Frame) 정보
Figure 112020001334322-pat00018
를 출력하도록 할 수 있다(S5). 즉, 실제 상태 네트워크(200)는 다수의 가상 최근 프레임 정보와 가상 액션 정보를 참조하여 실제 세계에서 일어나리라 예측되는 다음 프레임 정보를 출력할 수 있다. 본 발명 전반에 걸쳐, 다수의 가상 최근 프레임 정보는 k+1개의 가상 최근 프레임 정보일 수 있지만, 이에 한정되는 것은 아니다.
이때, 실제 상태 네트워크(200)는, 실제 환경에서 딥러닝 기반 장치(300)에 의해 다수의 실제 최근 프레임 정보에서 수행된 실제 액션에 대한 실제 액션 정보에 대응하여 다수의 예측 다음 프레임 정보를 출력하도록 학습된 상태일 수 있으며, 이에 대해서는 다음에 상세히 설명하기로 한다. 본 발명 전반에 걸쳐, 다수의 예측 다음 프레임 정보는 k+1개의 예측 다음 프레임 정보일 수 있고, 다수의 실제 최근 프레임 정보는 k+1개의 실제 최근 프레임 정보일 수 있지만, 이에 한정되는 것은 아니다.
그리고, 캘리브레이션 장치(1000)는, 가상 현재 프레임 정보와 가상 액션 정보를 실제 상태 네트워크(200)로 전송함으로써, 실제 상태 네트워크(200)로 하여금, 가상 현재 프레임 정보와 이전에 전송받은 k개의 가상 이전 프레임(Virtual Previous Frame) 정보를 참조하여 다수의 가상 최근 프레임 정보를 생성하도록 할 수 있다. 다른 예로, 캘리브레이션 장치(1000)는 가상 현재 프레임 정보와 이전에 전송받은 k개의 가상 이전 프레임 정보를 참조하여 가상 최근 프레임 정보를 생성하여 이를 실제 상태 네트워크(200)로 전송할 수도 있다.
즉, 캘리브레이션 장치(1000)는, 가상 현재 프레임 정보와 가상 액션 정보를 실제 상태 네트워크(200)로 전송함으로써, 실제 상태 네트워크(200)로 하여금, 가상 현재 프레임 정보와 k개의 가상 이전 프레임 정보를 컨캐터네이팅(Concatenating)하여 생성된 가상 현재 프레임 상태 합(Virtual Current Frame State Sum)을 생성하도록 하는 프로세스를 수행할 수 있다. 다른 예로, 캘리브레이션 장치(1000)는 가상 현재 프레임 정보와 k개의 가상 이전 프레임 정보를 컨캐터네이팅하여 생성된 가상 현재 프레임 상태 합을 생성하여, 이를 실제 상태 네트워크(200)로 전송할 수도 있다.
이때, 가상 현재 프레임 상태 합
Figure 112020001334322-pat00019
Figure 112020001334322-pat00020
와 같이 나타낼 수 있으며, 예측 실제 다음 상태
Figure 112020001334322-pat00021
Figure 112020001334322-pat00022
와 같이 나타낼 수 있다.
한편, 실제 상태 네트워크(200)는, (i) (i-1) 가상 현재 프레임 상태 합
Figure 112020001334322-pat00023
에 대하여 컨벌루션 연산을 적용하여 제1 차원 벡터(Dimension Vector)를 생성하며, (i-2) 가상 액션 정보에 대하여 FC 연산(Fully Connected Operation)을 적용하여 제2 차원 벡터를 생성한 다음, (ii) 제1 차원 벡터와 제2 차원 벡터의 컨캐터네이팅 결과에 대하여 디컨벌루션 연산을 적용하여 예측 실제 다음 프레임 정보를 생성할 수 있다.
이때, 가상 현재 프레임 상태 합
Figure 112020001334322-pat00024
은 (i) HxWxC 텐서(Tensor)인 가상 현재 프레임 정보와 (ii) k개의 가상 이전 프레임 정보를 컨캐터네이팅하여 생성된 HxWx(K+1) 텐서일 수 있다. 또한, 제1 차원 벡터는 HWC-차원 벡터일 수 있으며, 제2 차원 벡터를 L-차원 벡터라 할 경우, 예측 실제 다음 프레임 정보는, 제1 차원 벡터와 제2 차원 벡터를 컨캐터네이팅하여 생성된 1x1x(HWC+L) 텐서에 대하여 디컨벌루션 연산을 적용하여 생성된 HxWxC 텐서일 수 있다. 그리고, 가상 액션 정보는 3-차원 벡터일 수 있으며, 일 예로, 딥러닝 기반의 장치(300)가 자율 주행 자동차일 경우, 가상 액션 정보는 스티어링 각도 변화량 정보, 브레이크 페달 압력 정보, 엑셀레이터 페달 압력 정보에 대응될 수 있다.
다음으로, 캘리브레이션 장치(1000)는, 가상 세계 시뮬레이터(100)의 물리 엔진 F(110)에서 출력된 가상 다음 프레임 정보와 실제 상태 네트워크(200)에서 출력된 예측 실제 다음 프레임 정보를 참조하여 생성된 적어도 하나의 로스가 최소되하도록, 물리 엔진 F(110)의 이전 캘리브레이션된 파라미터 (Previous Calibrated Parameter)를 캘리브레이션하고 최적화(Optimize)하여, 현재 캘리브레이션된 파라미터(Current Calibrated Parameter)를 최적화된 파라미터로 생성하는 프로세스를 수행할 수 있다(S6). 그 결과, 물리 엔진 F(110)은 가상 환경과 실제 환경 사이의 갭(Gap)이 최소화된 가상 다음 프레임을 플래닝할 수 있다.
즉, 캘리브레이션 장치(1000)는, 물리 엔진 F(110)에서 생성된 가상 다음 프레임 정보
Figure 112020001334322-pat00025
와 실제 상태 네트워크 (200)에서 생성된 예측 실제 다음 프레임 정보
Figure 112020001334322-pat00026
을 참조하여 적어도 하나의 로스
Figure 112020001334322-pat00027
를 산출할 수 있거나, 로스 레이어로 하여금 로스
Figure 112020001334322-pat00028
를 산출하도록 한 다음, 로스
Figure 112020001334322-pat00029
를 참조하여 물리 엔진 F(110)을 최적화할 수 있다.
한편, 가상 세계 시뮬레이터(100)의 물리 엔진 F(110)이 미분 불가능한 함수일 경우, 다음과 같은 방법에 의해 이전 캘리브레이션된 파라미터가 최적화될 수 있다.
즉, 캘리브레이션 장치(1000)는 (i) 물리 엔진(110)의 이전 캘리브레이션된 파라미터 중 하나의 이전 캘리브레이션된 파라미터를 선택하는 프로세스, 및 (ii) 선택된 하나의 이전 캘리브레이션된 파라미터를, 로스를 이용하여 캘리브레이션 하되, 기설정된 학습율에 따라 캘리브레이션하여, 하나의 현재 캘리브레이션된 파라미터를 최적화된 파라미터로 생성하는 프로세스를 수행한다. 그리고, 캘리브레이션 장치(1000)는, (i) 물리 엔진 F(110)으로 하여금, 하나의 현재 캘리브레이션된 파라미터와, 하나의 이전 캘리브레이션된 파라미터를 제외한 나머지 이전 캘리브레이션된 파라미터를 이용하여, 가상 현재 프레임 정보와 가상 액션 정보에 대하여 연산을 적용하도록 하여, 새로운 가상 다음 프레임 정보를 생성하도록 하는 프로세스, 및 (ii) 새로운 가상 다음 프레임 정보와 예측 실제 다음 프레임 정보를 참조하여 생성된 적어도 하나의 새로운 로스를 이용하여 로스가 감소되었는지를 확인하는 프로세스를, 로스가 감소할때까지 반복할 수 있다.
그리고, 이전 캘리브레이션된 파라미터 모두에 대하여 로스가 감소되지 않았을 경우, 캘리브레이션 장치(1000)는 기설정된 학습률을 감소시킨 이후, 상기의 프로세스를 수행할 수 있다.
또한, 캘리브레이션 장치(1000)는, 물리 엔진 F(110)에서 출력된 가상 다음 프레임 정보
Figure 112020001334322-pat00030
와, 딥러닝 기반 장치(300)에서 출력된 가상 액션 정보에 대응되는 리워드(Reward) 정보
Figure 112020001334322-pat00031
를 딥러닝 기반 장치(300)로 전송(S4)함으로써, 딥러닝 기반 장치(300)로 하여금, 가상 다음 프레임 정보
Figure 112020001334322-pat00032
와 리워드 정보
Figure 112020001334322-pat00033
를 이용한 온팔러시 강화 학습(On-Policy Reinforcement Learning)을 통해 이전 학습 파라미터를 업데이트하도록 할 수 있다. 이 때, 리워드 정보는 가상 현재 프레임 정보에 응답하여 딥러닝 기반 장치(300)에 의해 수행된 가상 액션 정보가 적정하였는지를 나타내는 결과일 수 있으며, 리워드 정보는 물리 엔진F(110)에서 생성되거나 캘리브레이션 장치(1000)에서 생성될 수 있다.
도 3은 본 발명의 일 실시예에 따른 실제 환경에서 딥러닝 기반 장치에 의해 다수의 실제 최근 프레임 정보에서 수행된 실제 액션에 대한 실제 액션 정보에 대응되는 예측 다음 프레임 정보를 생성하는 실제 상태 네트워크를 학습하는 학습 장치를 개략적으로 도시한 것이다. 도 3을 참조하면, 학습 장치(2000)는, 실제 환경에서 딥러닝 기반 장치에 의해 다수의 실제 최근 프레임 정보에서 수행된 실제 액션에 대한 실제 액션 정보에 대응되는 예측 다음 프레임 정보를 출력하는 실제 상태 네트워크를 학습하기 위한 인스트럭션을 저장하는 메모리(2100)와, 메모리(2100)에 저장된 인스트럭션에 대응하여 실제 환경에서 딥러닝 기반 장치에 의해 다수의 실제 최근 프레임 정보에서 수행된 실제 액션에 대한 실제 액션 정보에 대응되는 예측 다음 프레임 정보를 출력하는 실제 상태 네트워크를 학습하는 프로세스를 수행하는 프로세서(2200)를 포함할 수 있다.
구체적으로, 학습 장치(2000)는 전형적으로 적어도 하나의 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소를 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 적어도 하나의 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다. 또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 컴퓨팅 장치는 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
그러나, 컴퓨팅 장치가 본 발명을 실시하기 위한 프로세서, 메모리, 미디엄 또는 기타 다른 컴퓨팅 구성요소의 어떠한 조합을 포함하는 통합 장치(Integrated Device)를 배제하는 것은 아니다.
이와 같이 구성된 본 발명의 일 실시예에 따른 학습 장치(2000)를 이용하여 실제 환경에서 딥러닝 기반 장치에 의해 다수의 실제 최근 프레임 정보에서 수행된 실제 액션에 대한 실제 액션 정보에 대응되는 예측 다음 프레임 정보를 출력하도록 학습하는 방법을 도 4를 참조하여 설명하면 다음과 같다. 아래의 설명에서는 도 2를 참조한 설명으로부터 용이하게 이해 가능한 부분에 대해서는 상세한 설명을 생략하기로 한다.
먼저, 학습 장치(2000)는 실제 환경에서 딥러닝 기반 장치에 의해 동작된 실제 액션에 대한 다수의 실제 액션 정보에 대응되는 다수의 궤적(Trajectory) 정보를 트레이닝 데이터로 획득할 수 있다.
이때, 도 5를 참조하면, N개의 궤적 정보는 실제 환경같은 다양한 환경에서 딥러닝 기반 장치인 에이전트에 의해 생성될 수 있으며, 딥러닝 기반 장치는 (i) 실제 환경에 대한 정보인 현재 프레임
Figure 112020001334322-pat00034
를 생성하는 프로세스, (ii) 현재 프레임
Figure 112020001334322-pat00035
에 대응되는 액션
Figure 112020001334322-pat00036
을 생성하는 프로세스, 및 (iii) 액션
Figure 112020001334322-pat00037
에 따라 변경되는 다음 프레임
Figure 112020001334322-pat00038
을 생성하는 프로세스를 반복함으로써, N개의 궤적 정보를 생성할 수 있다. N개의 궤적 정보는 다음과 같이 예시적으로 나타내어질 수 있다.
Figure 112020001334322-pat00039
Figure 112020001334322-pat00040
,
Figure 112020001334322-pat00041
,…,
Figure 112020001334322-pat00042
,
Figure 112020001334322-pat00043
Figure 112020001334322-pat00044
Figure 112020001334322-pat00045
,
Figure 112020001334322-pat00046
,…,
Figure 112020001334322-pat00047
,
Figure 112020001334322-pat00048
Figure 112020001334322-pat00049
Figure 112020001334322-pat00050
,
Figure 112020001334322-pat00051
,…,
Figure 112020001334322-pat00052
,
Figure 112020001334322-pat00053
이때, 각각의 N개의 궤적 정보의 각각의 길이
Figure 112020001334322-pat00054
, 각각의 시작 지점
Figure 112020001334322-pat00055
, 및 딥러닝 기반 장치의 액션 패턴(
Figure 112020001334322-pat00056
)(예를 들어, 자율 주행 차량의 운전 패턴)은 서로 달라도 무방하다.
그리고, 학습 장치(2000)는 트레이닝 데이터로 획득된 다수의 궤적 정보 중 특정 궤적 정보의 특정 시점에서의 실제 현재 프레임 정보와 k개의 이전 실제 프레임 정보를 참조하여 다수의 학습용 최근 프레임 정보를 생성하는 프로세스를 수행할 수 있다.
다음으로, 학습 장치(2000)는, 특정 시점의 특정 궤적 정보의 실제 현재 액션 정보를 참조하여 획득된 학습용 액션 정보와 다수의 학습용 최근 프레임 정보를 실제 상태 네트워크(200)로 입력함으로써, 실제 상태 네트워크(200)로 하여금 예측 파라미터를 이용하여 다수의 학습용 최근 프레임 정보와 학습용 액션 정보에 대하여 연산을 적용하도록 하여 예측 다음 프레임 정보를 출력하도록 하는 프로세스를 수행할 수 있다.
일 예로, 학습 장치(2000)는 (i) 다수의 학습용 최근 프레임 정보를 컨캐터네이팅하여 생성된 학습용 현재 프레임 상태 합을 실제 상태 네트워크(200)의 CNN(Convolutional Neural Network)으로 입력하여, CNN으로 하여금 학습용 현재 프레임 상태 합에 대하여 컨벌루션 연산을 적용하여 제1 특징을 출력하도록 하는 프로세스, 및 (ii) 학습용 액션 정보를 실제 상태 네트워크(200)의 적어도 하나의 FC 레이어(Fully Connected Layer)로 입력하여, 적어도 하나의 FC 레이어로 하여금 학습용 액션 정보에 대하여 FC 연산을 적용하여 제2 특징을 출력하도록 하는 프로세스를 수행할 수 있다. 그리고, 학습 장치(2000)는 제1 특징과 제2 특징을 컨캐터네이팅하여 생성된 컨캐터네이팅된 특징을 디컨벌루션 레이어에 입력하여, 디컨벌루션 레이어로 하여금 컨캐터네이팅 특징에 대하여 디컨벌루션 연산을 적용하여 예측 다음 프레임 정보를 출력하도록 하는 프로세스를 수행할 수 있다.
이때, 학습용 현재 프레임 상태 합
Figure 112020001334322-pat00057
Figure 112020001334322-pat00058
와 같이 나타낼 수 있으며, 예측 다음 프레임 정보
Figure 112020001334322-pat00059
Figure 112020001334322-pat00060
와 같이 나타낼 수 있다.
즉, 학습 장치(2000)는, (i) CNN로 하여금, HxWxC 텐서인 다수의 학습용 최근 프레임 정보를 컨캐터네이팅하여 생성된 HxWx(K+1) 텐서인 학습용 현재 프레임 상태 합을, HWC-차원 벡터인 제1 특징으로 출력하도록 하는 프로세스, (ii) 적어도 하나의 FC 레이어로 하여금, 3-차원 벡터인 학습용 액션 정보를 L-차원 벡터인 제2 특징으로 출력하도록 하는 프로세스, 및 (iii) 디컨벌루션 레이어로 하여금, 제1 특징과 제2 특징을 컨캐터네이팅하여 생성된 1x1x(HWC+L) 텐서를, HxWxC 텐서인 예측 다음 프레임 정보로 출력하도록 하는 프로세스를 수행할 수 있다.
다음으로, 학습 장치(2000)는 특정 궤적 정보에서의 실제 현재 프레임 정보 다음의 실제 다음 프레임 정보와 예측 다음 프레임 정보를 참조하여 생성된 적어도 하나의 로스를 이용하여 로스가 최소화되도록 예측 파라미터를 업데이트하는 프로세스를 수행할 수 있다.
즉, 학습 장치(2000)는 특정 궤적 정보의 실제 다음 프레임 정보
Figure 112020001334322-pat00061
와 실제 상태 네트워크(200)로부터 출력되는 예측 다음 프레임 정보
Figure 112020001334322-pat00062
를 참조하여 적어도 하나의 로스
Figure 112020001334322-pat00063
를 산출하거나, 로스 레이어로 하여금 로스
Figure 112020001334322-pat00064
를 산출하도록 한 다음, 로스
Figure 112020001334322-pat00065
를 참조하여 실제 상태 네트워크(200)를 학습할 수 있다.
이때, 학습 장치(2000)는 경사 하강법(Gradient Descent)에 따라 실제 상태 네트워크(200)의 예측 파라미터를 업데이트하는 프로세스를 수행할 수 있고, 일 예로, 적어도 하나의 CNN, 적어도 하나의 FC 레이어, 및 디컨벌루션 레이어 중 적어도 하나의 파라미터를 업데이트할 수 있다.
그리고, 학습 장치(2000)는 N개의 실제 세계 궤적을 이용하여 실제 상태 네트워크(200)의 로스가 수렴하도록 상기 학습 프로세스를 반복할 수 있다.
또한, 이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
1000: 캘리브레이션 장치,
1100: 메모리,
1200: 프로세서,
2000: 학습 장치,
2100: 메모리,
2200: 프로세서,
100: 가상 세계 시뮬레이터,
110: 물리 엔진,
200: 실제 상태 네트워크,
300: 딥러닝 기반 장치

Claims (22)

  1. 딥러닝(Deep Learning) 기반 장치의 학습에 사용되는 가상 세계 시뮬레이터(Virtual World Simulator)의 물리 엔진(Physics Engine)을 캘리브레이션(Calibration)하는 방법에 있어서,
    (a) 가상 환경(Virtual Environment) 상의 가상 현재 상태(Virtual Current State)에 대응되는 가상 현재 프레임(Virtual Current Frame) 정보가 상기 가상 세계 시뮬레이터로부터 획득되면, 캘리브레이션 장치가, (i) 상기 가상 현재 프레임 정보를 상기 딥러닝 기반 장치로 전송함으로써, 상기 딥러닝 기반 장치로 하여금, 이전 학습 파라미터를 이용하여 상기 가상 현재 프레임 정보에 대하여 연산을 적용하도록 하여, 상기 가상 현재 프레임 정보에 대응되는 가상 액션(Virtual Action) 정보를 출력하도록 하는 프로세스, (ii) 상기 가상 현재 프레임 정보와 상기 가상 액션 정보를 상기 가상 세계 시뮬레이터의 상기 물리 엔진으로 전송함으로써, 상기 물리 엔진으로 하여금, 이전 캘리브레이션된 파라미터(Previous Calibrated Parameter)를 이용하여 상기 가상 현재 프레임 정보와 상기 가상 액션 정보에 대하여 연산을 적용하도록 하여, 상기 가상 현재 프레임 정보와 상기 가상 액션 정보에 대응되는 가상 다음 프레임(Virtual Next Frame) 정보를 출력하도록 하는 프로세스, 및 (iii) 상기 가상 현재 프레임 정보와 상기 가상 액션 정보를 실제 상태 네트워크(Real State Network) - 상기 실제 상태 네트워크는 실제 환경(Real Environment) 상의 다수의 실제 최근 프레임(Real Recent Frame) 정보에서 상기 딥러닝 기반 장치에 의해 수행된 실제 액션(Real Action)에 대한 실제 액션 정보에 응답하여 다수의 예측 다음 프레임(Predicted Next Frame) 정보를 출력하도록 학습된 상태임 - 로 전송함으로써, 상기 실제 상태 네트워크로 하여금 학습된 예측 파라미터를 이용하여 상기 가상 현재 프레임 정보에 대응되는 다수의 가상 최근 프레임(Virtual Recent Frame) 정보와 상기 가상 액션 정보에 대하여 연산을 적용하도록 하여 예측 실제 다음 프레임(Predicted Real Next Frame) 정보를 출력하도록 하는 프로세스를 수행하는 단계; 및
    (b) 상기 캘리브레이션 장치가, 상기 가상 다음 프레임 정보와 상기 예측 실제 다음 프레임 정보를 참조하여 생성된 적어도 하나의 로스가 최소화되도록, 상기 물리 엔진의 상기 이전 캘리브레이션된 파라미터를 캘리브레이션하고 최적화하여, 현재 캘리브레이션된 파라미터(Current Calibrated Parameter)를 최적화된 파라미터로 생성하는 프로세스를 수행하는 것을 특징으로 하는 단계;
    를 포함하는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서,
    (c) 상기 캘리브레이션 장치가, 상기 가상 액션 정보에 대응되는 리워드(Reward) 정보와 상기 가상 다음 프레임 정보를 상기 딥러닝 기반 장치로 전송함으로써, 상기 딥러닝 기반 장치로 하여금, 상기 가상 다음 프레임 정보와 상기 리워드 정보를 이용한 온팔러시 강화 학습(On-Policy Reinforcement Learning)을 통해 상기 이전 학습 파라미터를 업데이트하도록 하는 단계;
    를 더 포함하는 것을 특징으로 하는 방법.
  3. 제 1 항에 있어서,
    상기 (a) 단계의 상기 (iii) 프로세스에서,
    상기 캘리브레이션 장치는, 상기 가상 현재 프레임 정보와 상기 가상 액션 정보를 상기 실제 상태 네트워크로 전송하는 프로세스를 수행함으로써, 상기 실제 상태 네트워크로 하여금, 상기 가상 현재 프레임 정보와 이전에 전송 받은 k개의 가상 이전 프레임 정보를 참조하여 상기 다수의 가상 최근 프레임 정보를 생성하도록 하는 것을 특징으로 하는 방법.
  4. 제 3 항에 있어서,
    상기 (iii) 프로세스에서,
    상기 캘리브레이션 장치는, 상기 가상 현재 프레임 정보와 상기 가상 액션 정보를 상기 실제 상태 네트워크로 전송하는 프로세스를 수행함으로써, 상기 실제 상태 네트워크로 하여금, (iii-1) (iii-1-1) 상기 가상 현재 프레임 정보와 상기 k개의 가상 이전 프레임 정보를 컨캐터네이팅(Concatenating)하여 생성된 가상 현재 프레임 상태 합(Virtual Current Frame State Sum)에 대하여 컨벌루션 연산(Convolution Operation)을 적용하여 제1 차원 벡터(Dimension Vector)를 생성하도록 하며, (iii-1-2) 상기 가상 액션 정보에 대하여 FC(Fully Connected) 연산을 적용하여 제2 차원 벡터를 생성하도록 하고, (iii-2) 상기 제1 차원 벡터와 상기 제2 차원 벡터의 컨캐터네이팅 결과에 대하여 디컨벌루션 연산을 적용하여 상기 예측 실제 다음 프레임 정보를 생성하도록 하는 것을 특징으로 하는 방법.
  5. 제 4 항에 있어서,
    상기 가상 현재 프레임 상태 합은, (i) HxWxC 텐서(Tensor)인 상기 가상 현재 프레임 정보와 (ii) k개의 상기 가상 이전 프레임 정보를 컨캐터네이팅하여 생성된 HxWx(K+1) 텐서이고,
    상기 제1 차원 벡터는 HWC-차원 벡터며,
    상기 제2 차원 벡터를 L-차원 벡터라 할 경우, 상기 예측 실제 다음 프레임 정보는, 상기 제1 차원 벡터와 상기 제2 차원 벡터를 컨캐터네이팅하여 생성된 1x1x(HWC+L) 텐서에 대하여 디컨벌루션 연산을 적용하여 생성된 HxWxC 텐서인 것을 특징으로 하는 방법.
  6. 제 1 항에 있어서,
    상기 (b) 단계에서,
    상기 캘리브레이션 장치는, (i) 상기 이전 캘리브레이션된 파라미터 중 하나의 이전 캘리브레이션된 파라미터를 선택하는 프로세스, (ii) 상기 선택된 하나의 이전 캘리브레이션된 파라미터를, 상기 로스를 이용하여 캘리브레이션 하되, 기설정된 학습률에 따라 캘리브레이션하여, 하나의 현재 캘리브레이션된 파라미터를 최적화된 파라미터(Optimized Parameter)로 생성하는 프로세스, 및 (iii) (iii-1) 상기 물리 엔진으로 하여금, 상기 하나의 현재 캘리브레이션된 파라미터와, 상기 하나의 이전 캘리브레이션된 파라미터를 제외한 나머지 이전 캘리브레이션된 파라미터를 이용하여, 상기 가상 현재 프레임 정보와 상기 가상 액션 정보에 대하여 연산을 적용하도록 하여, 새로운 가상 다음 프레임 정보를 생성하도록 하는 프로세스, 및 (iii-2) 상기 새로운 가상 다음 프레임 정보와 상기 예측 실제 다음 프레임 정보를 참조하여 생성된 적어도 하나의 새로운 로스를 이용하여 상기 로스가 감소되었는지를 확인하는 프로세스를, 상기 로스가 감소할 때까지 반복하는 것을 특징으로 하는 방법.
  7. 제 6 항에 있어서,
    상기 이전 캘리브레이션된 파라미터 모두에 대하여 상기 로스가 감소되지 않았을 경우, 상기 캘리브레이션 장치는, 상기 기설정된 학습률을 감소시키고 상기 (i) 프로세스, 상기 (ii) 프로세스, 및 상기 (iii) 프로세스를 수행하는 것을 특징으로 하는 방법.
  8. 실제 환경(Real Environment)에서 딥러닝(Deep Learning) 기반 장치에 의해 다수의 실제 최근 프레임(Real Recent Frame) 정보에서 수행된 실제 액션(Real Action)에 대한 실제 액션 정보에 대응하는 예측 다음 프레임(Predicted Next Frame) 정보를 생성하는 실제 상태 네트워크(Real State Network)를 학습하는 방법에 있어서,
    (a) 상기 실제 환경에서 상기 딥러닝 기반 장치에 의해 수행된 상기 실제 액션에 대한 상기 다수의 실제 액션 정보에 대응되는 다수의 궤적(Trajectory) 정보가 트레이닝 데이터로 획득되면, 학습 장치가, 특정 궤적 정보의 특정 시점에서의 실제 현재 프레임(Real Current Frame) 정보와 k개의 이전 실제 프레임(Previous Real Frame) 정보를 참조하여 다수의 학습용 최근 프레임 정보를 생성하는 프로세스를 수행하는 단계;
    (b) 상기 학습 장치가, 상기 특정 시점의 상기 특정 궤적 정보의 실제 현재 액션 정보를 참조하여 획득된 학습용 액션 정보와 상기 다수의 학습용 최근 프레임 정보를 상기 실제 상태 네트워크로 입력함으로써, 상기 실제 상태 네트워크로 하여금 예측 파라미터를 이용하여 상기 다수의 학습용 최근 프레임 정보와 상기 학습용 액션 정보에 대하여 연산을 적용하도록 하여 상기 예측 다음 프레임 정보를 출력하도록 하는 프로세스를 수행하는 단계; 및
    (c) 상기 학습 장치가, 상기 특정 궤적 정보에서의 상기 실제 현재 프레임 정보 다음의 실제 다음 프레임 정보와 상기 예측 다음 프레임 정보를 참조하여 생성된 적어도 하나의 로스를 이용하여 상기 로스가 최소화되도록 상기 예측 파라미터를 업데이트하는 프로세스를 수행하는 단계;
    를 포함하는 것을 특징으로 하는 방법.
  9. 제 8 항에 있어서,
    상기 (b) 단계에서,
    상기 학습 장치는, (i) (i-1) 상기 다수의 학습용 최근 프레임 정보를 컨캐터네이팅(Concatenating)하여 생성된 학습용 현재 프레임 상태 합(Current Frame State Sum)을 상기 실제 상태 네트워크의 CNN(Convolutional Neural Network)으로 입력하여, 상기 CNN으로 하여금 상기 학습용 현재 프레임 상태 합에 대하여 컨벌루션 연산을 적용하여 제1 특징(Feature)을 출력하도록 하는 프로세스, 및 (i-2) 상기 학습용 액션 정보를 상기 실제 상태 네트워크의 적어도 하나의 FC 레이어(Fully Connected Layer)로 입력하여, 상기 적어도 하나의 FC 레이어로 하여금 상기 학습용 액션 정보에 대하여 FC 연산을 적용하여 제2 특징을 출력하도록 하는 프로세스, 및 (ii) 상기 제1 특징과 상기 제2 특징을 컨캐터네이팅하여 생성된 컨캐터네이팅된 특징을 디컨벌루션 레이어(Deconvolution Layer)에 입력하여, 상기 디컨벌루션 레이어로 하여금 상기 컨캐터네이팅된 특징에 대하여 디컨벌루션 연산을 적용하여 상기 예측 다음 프레임 정보를 출력하도록 하는 프로세스를 수행하는 것을 특징으로 하는 방법.
  10. 제 9 항에 있어서,
    상기 학습 장치는, (i) 상기 CNN으로 하여금, HxWxC 텐서(Tensor)인 상기 다수의 학습용 최근 프레임 정보를 컨캐터네이팅하여 생성된 HxWx(K+1) 텐서인 상기 학습용 현재 프레임 상태 합을, HWC-차원 벡터(Dimension Vector)인 상기 제1 특징으로 출력하도록 하는 프로세스, (ii) 상기 적어도 하나의 FC 레이어로 하여금, 3-차원 벡터인 상기 학습용 액션 정보를, L-차원 벡터인 상기 제2 특징으로 출력하도록 하는 프로세스, 및 (iii) 상기 디컨벌루션 레이어로 하여금, 상기 제1 특징과 상기 제2 특징을 컨캐터네이팅하여 생성된 1x1x(HWC+L) 텐서를, HxWxC 텐서인 상기 예측 다음 프레임 정보로 출력하도록 하는 프로세스를 수행하는 것을 특징으로 하는 방법.
  11. 제 9 항에 있어서,
    상기 학습 장치는, 상기 로스를 이용한 경사 하강법(Gradient Descent)에 따라 상기 적어도 하나의 CNN, 상기 적어도 하나의 FC 레이어, 및 상기 디컨벌루션 레이어 중 적어도 하나의 파라미터를 업데이트하는 것을 특징으로 하는 방법.
  12. 딥러닝(Deep Learning) 기반 장치의 학습에 사용되는 가상 세계 시뮬레이터(Virtual World Simulator)의 물리 엔진(Physics Engine)을 캘리브레이션(Calibration)하는 캘리브레이션 장치에 있어서,
    인스트럭션을 저장하는 적어도 하나의 메모리; 및
    (I) 가상 환경(Virtual Environment) 상의 가상 현재 상태(Virtual Current State)에 대응되는 가상 현재 프레임(Virtual Current Frame) 정보가 상기 가상 세계 시뮬레이터로부터 획득되면, (i) 상기 가상 현재 프레임 정보를 상기 딥러닝 기반 장치로 전송함으로써, 상기 딥러닝 기반 장치로 하여금, 이전 학습 파라미터를 이용하여 상기 가상 현재 프레임 정보에 대하여 연산을 적용하도록 하여, 상기 가상 현재 프레임 정보에 대응되는 가상 액션(Virtual Action) 정보를 출력하도록 하는 프로세스, (ii) 상기 가상 현재 프레임 정보와 상기 가상 액션 정보를 상기 가상 세계 시뮬레이터의 상기 물리 엔진으로 전송함으로써, 상기 물리 엔진으로 하여금, 이전 캘리브레이션된 파라미터(Previous Calibrated Parameter)를 이용하여 상기 가상 현재 프레임 정보와 상기 가상 액션 정보에 대하여 연산을 적용하도록 하여, 상기 가상 현재 프레임 정보와 상기 가상 액션 정보에 대응되는 가상 다음 프레임(Virtual Next Frame) 정보를 출력하도록 하는 프로세스, 및 (iii) 상기 가상 현재 프레임 정보와 상기 가상 액션 정보를 실제 상태 네트워크(Real State Network) - 상기 실제 상태 네트워크는 실제 환경(Real Environment) 상의 다수의 실제 최근 프레임(Real Recent Frame) 정보에서 상기 딥러닝 기반 장치에 의해 수행된 실제 액션(Real Action)에 대한 실제 액션 정보에 응답하여 다수의 예측 다음 프레임(Predicted Next Frame) 정보를 출력하도록 학습된 상태임 - 로 전송함으로써, 상기 실제 상태 네트워크로 하여금 학습된 예측 파라미터를 이용하여 상기 가상 현재 프레임 정보에 대응되는 다수의 가상 최근 프레임(Virtual Recent Frame) 정보와 상기 가상 액션 정보에 대하여 연산을 적용하도록 하여 예측 실제 다음 프레임(Predicted Real Next Frame) 정보를 출력하도록 하는 프로세스; 및 (II) 상기 가상 다음 프레임 정보와 상기 예측 실제 다음 프레임 정보를 참조하여 생성된 적어도 하나의 로스가 최소화되도록, 상기 물리 엔진의 상기 이전 캘리브레이션된 파라미터를 캘리브레이션하고 최적화하여, 현재 캘리브레이션된 파라미터(Current Calibrated Parameter)를 최적화된 파라미터로 생성하는 프로세스를 수행하기 위한 상기 인스트럭션을 실행하거나 타 장치로 하여금 실행하도록 구성된 적어도 하나의 프로세서;
    를 포함하는 것을 특징으로 하는 캘리브레이션 장치.
  13. 제 12 항에 있어서,
    (III) 상기 프로세서가, 상기 가상 액션 정보에 대응되는 리워드(Reward) 정보와 상기 가상 다음 프레임 정보를 상기 딥러닝 기반 장치로 전송함으로써, 상기 딥러닝 기반 장치로 하여금, 상기 가상 다음 프레임 정보와 상기 리워드 정보를 이용한 온팔러시 강화 학습(On-Policy Reinforcement Learning)을 통해 상기 이전 학습 파라미터를 업데이트하도록 하는 프로세스;
    를 더 수행하는 것을 특징으로 하는 캘리브레이션 장치.
  14. 제 12 항에 있어서,
    상기 (iii) 프로세스에서,
    상기 프로세서는, 상기 가상 현재 프레임 정보와 상기 가상 액션 정보를 상기 실제 상태 네트워크로 전송하는 프로세스를 수행함으로써, 상기 실제 상태 네트워크로 하여금, 상기 가상 현재 프레임 정보와 이전에 전송 받은 k개의 가상 이전 프레임 정보를 참조하여 상기 다수의 가상 최근 프레임 정보를 생성하도록 하는 것을 특징으로 하는 캘리브레이션 장치.
  15. 제 14 항에 있어서,
    상기 (iii) 프로세스에서,
    상기 프로세서는, 상기 가상 현재 프레임 정보와 상기 가상 액션 정보를 상기 실제 상태 네트워크로 전송하는 프로세스를 수행함으로써, 상기 실제 상태 네트워크로 하여금, (iii-1) (iii-1-1) 상기 가상 현재 프레임 정보와 상기 k개의 가상 이전 프레임 정보를 컨캐터네이팅(Concatenating)하여 생성된 가상 현재 프레임 상태 합(Virtual Current Frame State Sum)에 대하여 컨벌루션 연산(Convolution Operation)을 적용하여 제1 차원 벡터(Dimension Vector)를 생성하도록 하며, (iii-1-2) 상기 가상 액션 정보에 대하여 FC(Fully Connected) 연산을 적용하여 제2 차원 벡터를 생성하도록 하고, (iii-2) 상기 제1 차원 벡터와 상기 제2 차원 벡터의 컨캐터네이팅 결과에 대하여 디컨벌루션 연산을 적용하여 상기 예측 실제 다음 프레임 정보를 생성하도록 하는 것을 특징으로 하는 캘리브레이션 장치.
  16. 제 15 항에 있어서,
    상기 가상 현재 프레임 상태 합은, (i) HxWxC 텐서(Tensor)인 상기 가상 현재 프레임 정보와 (ii) k개의 상기 가상 이전 프레임 정보를 컨캐터네이팅하여 생성된 HxWx(K+1) 텐서이고,
    상기 제1 차원 벡터는 HWC-차원 벡터며,
    상기 제2 차원 벡터를 L-차원 벡터라 할 경우, 상기 예측 실제 다음 프레임 정보는, 상기 제1 차원 벡터와 상기 제2 차원 벡터를 컨캐터네이팅하여 생성된 1x1x(HWC+L) 텐서에 대하여 디컨벌루션 연산을 적용하여 생성된 HxWxC 텐서인 것을 특징으로 하는 캘리브레이션 장치.
  17. 제 12 항에 있어서,
    상기 (II) 프로세스에서,
    상기 프로세서는, (II-1) 상기 이전 캘리브레이션된 파라미터 중 하나의 이전 캘리브레이션된 파라미터를 선택하는 프로세스, (II-2) 상기 선택된 하나의 이전 캘리브레이션된 파라미터를, 상기 로스를 이용하여 캘리브레이션하되, 기설정된 학습률에 따라 캘리브레이션하여, 하나의 현재 캘리브레이션된 파라미터를 최적화된 파라미터(Optimized Parameter)로 생성하는 프로세스, 및 (II-3) (II-3a) 상기 물리 엔진으로 하여금, 상기 하나의 현재 캘리브레이션된 파라미터와, 상기 하나의 이전 캘리브레이션된 파라미터를 제외한 나머지 이전 캘리브레이션된 파라미터를 이용하여, 상기 가상 현재 프레임 정보와 상기 가상 액션 정보에 대하여 연산을 적용하도록 하여, 새로운 가상 다음 프레임 정보를 생성하도록 하는 프로세스, 및 (II-3b) 상기 새로운 가상 다음 프레임 정보와 상기 예측 실제 다음 프레임 정보를 참조하여 생성된 적어도 하나의 새로운 로스를 이용하여 상기 로스가 감소되었는지를 확인하는 프로세스를, 상기 로스가 감소할 때까지 반복하는 것을 특징으로 하는 캘리브레이션 장치.
  18. 제 17 항에 있어서,
    상기 이전 캘리브레이션된 파라미터 모두에 대하여 상기 로스가 감소되지 않았을 경우, 상기 프로세서는, 상기 기설정된 학습률을 감소시키고 상기 (i) 프로세스, 상기 (ii) 프로세스, 및 상기 (iii) 프로세스를 수행하는 것을 특징으로 하는 캘리브레이션 장치.
  19. 실제 환경(Real Environment)에서 딥러닝(Deep Learning) 기반 장치에 의해 다수의 실제 최근 프레임(Real Recent Frame) 정보에서 수행된 실제 액션(Real Action)에 대한 실제 액션 정보에 대응하는 예측 다음 프레임(Predicted Next Frame) 정보를 생성하는 실제 상태 네트워크(Real State Network)를 학습하는 학습 장치에 있어서,
    인스트럭션을 저장하는 적어도 하나의 메모리; 및
    (I) 상기 실제 환경에서 상기 딥러닝 기반 장치에 의해 수행된 상기 실제 액션에 대한 상기 다수의 실제 액션 정보에 대응되는 다수의 궤적(Trajectory) 정보가 트레이닝 데이터로 획득되면, 특정 궤적 정보의 특정 시점에서의 실제 현재 프레임(Real Current Frame) 정보와 k개의 이전 실제 프레임(Previous Real Frame) 정보를 참조하여 다수의 학습용 최근 프레임 정보를 생성하는 프로세스; (II) 상기 특정 시점의 상기 특정 궤적 정보의 실제 현재 액션 정보를 참조하여 획득된 학습용 액션 정보와 상기 다수의 학습용 최근 프레임 정보를 상기 실제 상태 네트워크로 입력함으로써, 상기 실제 상태 네트워크로 하여금 예측 파라미터를 이용하여 상기 다수의 학습용 최근 프레임 정보와 상기 학습용 액션 정보에 대하여 연산을 적용하도록 하여 상기 예측 다음 프레임 정보를 출력하도록 하는 프로세스; 및 (III) 상기 특정 궤적 정보에서의 상기 실제 현재 프레임 정보 다음의 실제 다음 프레임 정보와 상기 예측 다음 프레임 정보를 참조하여 생성된 적어도 하나의 로스를 이용하여 상기 로스가 최소화되도록 상기 예측 파라미터를 업데이트하는 프로세스를 수행하기 위한 상기 인스트럭션을 실행하거나 타 장치로 하여금 실행하도록 구성된 적어도 하나의 프로세서;
    를 포함하는 것을 특징으로 하는 캘리브레이션 장치.
  20. 제 19 항에 있어서,
    상기 (II) 프로세스에서,
    상기 프로세서는, (i) (i-1) 상기 다수의 학습용 최근 프레임 정보를 컨캐터네이팅(Concatenating)하여 생성된 학습용 현재 프레임 상태 합(Current Frame State Sum)을 상기 실제 상태 네트워크의 CNN(Convolutional Neural Network)으로 입력하여, 상기 CNN으로 하여금 상기 학습용 현재 프레임 상태 합에 대하여 컨벌루션 연산을 적용하여 제1 특징(Feature)을 출력하도록 하는 프로세스, 및 (i-2) 상기 학습용 액션 정보를 상기 실제 상태 네트워크의 적어도 하나의 FC 레이어(Fully Connected Layer)로 입력하여, 상기 적어도 하나의 FC 레이어로 하여금 상기 학습용 액션 정보에 대하여 FC 연산을 적용하여 제2 특징을 출력하도록 하는 프로세스, 및 (ii) 상기 제1 특징과 상기 제2 특징을 컨캐터네이팅하여 생성된 컨캐터네이팅된 특징을 디컨벌루션 레이어(Deconvolution Layer)에 입력하여, 상기 디컨벌루션 레이어로 하여금 상기 컨캐터네이팅된 특징에 대하여 디컨벌루션 연산을 적용하여 상기 예측 다음 프레임 정보를 출력하도록 하는 프로세스를 수행하는 것을 특징으로 하는 캘리브레이션 장치.
  21. 제 20 항에 있어서,
    상기 프로세서는, (i) 상기 CNN으로 하여금, HxWxC 텐서(Tensor)인 상기 다수의 학습용 최근 프레임 정보를 컨캐터네이팅하여 생성된 HxWx(K+1) 텐서인 상기 학습용 현재 프레임 상태 합을, HWC-차원 벡터(Dimension Vector)인 상기 제1 특징으로 출력하도록 하는 프로세스, (ii) 상기 적어도 하나의 FC 레이어로 하여금, 3-차원 벡터인 상기 학습용 액션 정보를, L-차원 벡터인 상기 제2 특징으로 출력하도록 하는 프로세스, 및 (iii) 상기 디컨벌루션 레이어로 하여금, 상기 제1 특징과 상기 제2 특징을 컨캐터네이팅하여 생성된 1x1x(HWC+L) 텐서를, HxWxC 텐서인 상기 예측 다음 프레임 정보로 출력하도록 하는 프로세스를 수행하는 것을 특징으로 하는 캘리브레이션 장치.
  22. 제 20 항에 있어서,
    상기 프로세서는, 상기 로스를 이용한 경사 하강법(Gradient Descent)에 따라 상기 적어도 하나의 CNN, 상기 적어도 하나의 FC 레이어, 및 상기 디컨벌루션 레이어 중 적어도 하나의 파라미터를 업데이트하는 것을 특징으로 하는 캘리브레이션 장치.
KR1020200001711A 2019-01-30 2020-01-06 딥러닝 기반 장치의 학습에 사용되는 가상 세계 시뮬레이터의 물리 엔진을 캘리브레이션하는 방법 및 장치, 그리고 이를 위한 실제 상태 네트워크를 학습하는 방법 및 이를 이용한 학습 장치 KR102300910B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962798691P 2019-01-30 2019-01-30
US62/798,691 2019-01-30
US16/723,450 US10776542B2 (en) 2019-01-30 2019-12-20 Method and device for calibrating physics engine of virtual world simulator to be used for learning of deep learning-based device, and a learning method and learning device for real state network used therefor
US16/723,450 2019-12-20

Publications (2)

Publication Number Publication Date
KR20200094639A KR20200094639A (ko) 2020-08-07
KR102300910B1 true KR102300910B1 (ko) 2021-09-13

Family

ID=69177075

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200001711A KR102300910B1 (ko) 2019-01-30 2020-01-06 딥러닝 기반 장치의 학습에 사용되는 가상 세계 시뮬레이터의 물리 엔진을 캘리브레이션하는 방법 및 장치, 그리고 이를 위한 실제 상태 네트워크를 학습하는 방법 및 이를 이용한 학습 장치

Country Status (5)

Country Link
US (1) US10776542B2 (ko)
EP (1) EP3690750A1 (ko)
JP (1) JP6865365B2 (ko)
KR (1) KR102300910B1 (ko)
CN (1) CN111738046A (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102264571B1 (ko) * 2020-10-30 2021-06-15 주식회사 애자일소다 계층 구조를 갖는 의사결정 에이전트
DE102020215302A1 (de) * 2020-12-03 2022-06-09 Robert Bosch Gesellschaft mit beschränkter Haftung Dynamikabhängige Verhaltensplanung für zumindest teilweise automatisiert fahrende Fahrzeuge

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190303759A1 (en) 2018-03-27 2019-10-03 Nvidia Corporation Training, testing, and verifying autonomous machines using simulated environments

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014117888A1 (de) * 2014-12-04 2016-10-13 Connaught Electronics Ltd. Online-Kalibrierung eines Kraftfahrzeug-Kamerasystems
WO2017004803A1 (en) * 2015-07-08 2017-01-12 Xiaoou Tang An apparatus and a method for semantic image labeling
US10019652B2 (en) * 2016-02-23 2018-07-10 Xerox Corporation Generating a virtual world to assess real-world video analysis performance
EP3435296A4 (en) * 2016-03-25 2019-07-03 Sony Corporation INFORMATION PROCESSING DEVICE
US10902343B2 (en) * 2016-09-30 2021-01-26 Disney Enterprises, Inc. Deep-learning motion priors for full-body performance capture in real-time
KR20180094725A (ko) * 2017-02-16 2018-08-24 삼성전자주식회사 자율 주행을 위한 차량 제어 방법, 차량 제어 장치 및 자율 주행을 위한 학습 방법
US10678846B2 (en) * 2017-03-10 2020-06-09 Xerox Corporation Instance-level image retrieval with a region proposal network
US10475165B2 (en) * 2017-04-06 2019-11-12 Disney Enterprises, Inc. Kernel-predicting convolutional neural networks for denoising

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190303759A1 (en) 2018-03-27 2019-10-03 Nvidia Corporation Training, testing, and verifying autonomous machines using simulated environments

Also Published As

Publication number Publication date
US10776542B2 (en) 2020-09-15
JP6865365B2 (ja) 2021-04-28
KR20200094639A (ko) 2020-08-07
CN111738046A (zh) 2020-10-02
EP3690750A1 (en) 2020-08-05
JP2020123338A (ja) 2020-08-13
US20200242289A1 (en) 2020-07-30

Similar Documents

Publication Publication Date Title
KR102264394B1 (ko) 카메라로부터 획득된 이미지와, 이에 대응하는, 레이더 또는 라이더를 통해 획득된 포인트 클라우드 맵을 뉴럴 네트워크의 각각의 컨벌루션 스테이지 별로 통합하는 학습 방법 및 학습 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치
JP6857371B2 (ja) 安全な自律走行を支援する学習方法、そしてこれを利用した学習装置、テスト方法、及びテスト装置
US11087175B2 (en) Learning method and learning device of recurrent neural network for autonomous driving safety check for changing driving mode between autonomous driving mode and manual driving mode, and testing method and testing device using them
CN110197027B (zh) 一种自动驾驶测试方法、装置、智能设备和服务器
CN111507150B (zh) 利用基于深度神经网络的多重图像块组合识别人脸的方法
JP6857370B2 (ja) ターゲット物体予測ネットワーク及びターゲット物体統合ネットワークを利用して、重要業績評価指標のようなユーザー要求事項に係る最適化のための再構成可能なネットワーク基盤の物体検出器を学習する方法及び学習装置、並びにこれを利用したテスティング方法及びテスティング装置
KR102373487B1 (ko) 최근 주행 경로에 대한 궤적 기반 행동 분석을 수행하여 차량의 모드를 수동 주행 모드에서 자율 주행 모드로 변경할 지 여부를 판단하는 학습 방법 및 학습 장치
CN111462193B (zh) 用于多摄像机或环绕视图监控的对象检测方法及装置
JP6978104B2 (ja) Ganを用いて仮想世界における仮想データから取得したトレーニングデータを生成して、自律走行用ニューラルネットワークの学習プロセスに必要なアノテーションコストを削減する学習方法や学習装置、それを利用したテスト方法やテスト装置
KR102300910B1 (ko) 딥러닝 기반 장치의 학습에 사용되는 가상 세계 시뮬레이터의 물리 엔진을 캘리브레이션하는 방법 및 장치, 그리고 이를 위한 실제 상태 네트워크를 학습하는 방법 및 이를 이용한 학습 장치
CN111460877B (zh) 利用图像级联及cnn的客体检测方法及装置
CN111488978B (zh) 为了元学习用于调整残差网络的方法及装置
KR102337358B1 (ko) 모바일 장치 또는 소형 네트워크에 적용 가능한 하드웨어를 최적화하는데 사용될 수 있는 roi를 풀링하기 위하여, 마스킹 파라미터를 이용하는 방법 및 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치
KR102190103B1 (ko) 인공 신경망의 상용화 서비스 제공 방법
CN111462129A (zh) 按网格单元利用加权卷积滤波器的图像分割方法及装置
CN114194211B (zh) 一种自动驾驶方法、装置及电子设备和存储介质
KR102320995B1 (ko) 객체의 스케일에 따라 모드 전환이 가능한 cnn 기반의 감시용 객체 검출기의 학습 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치
JP6892157B2 (ja) V2x情報融合技術によって取得された、各物体に対する深さ予測情報及び各物体に対するクラス情報を利用して3d空間を再構築することによりhdマップをアップデートする学習方法及び学習装置、そしてこれを利用したテスティング方法及びテスティング装置
JP7021236B2 (ja) 視覚入力を使用したエージェントナビゲーション
CN110879960A (zh) 生成卷积神经网络学习用图像数据集的方法及计算装置
KR20220088497A (ko) 서브-커널 써칭 모듈을 사용하여 온-디바이스 뉴럴 네트워크 모델을 최적화하는 방법 및 장치
JP7413249B2 (ja) 情報処理装置、情報処理方法
US20230196749A1 (en) Training Neural Networks for Object Detection
US20230211799A1 (en) Method and apparatus for autonomous driving control based on road graphical neural network
US20240118985A1 (en) Selection of runtime performance estimator using machine learning

Legal Events

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