KR20210064070A - 센서 데이터 프로세싱 방법 및 디바이스 - Google Patents
센서 데이터 프로세싱 방법 및 디바이스 Download PDFInfo
- Publication number
- KR20210064070A KR20210064070A KR1020200155146A KR20200155146A KR20210064070A KR 20210064070 A KR20210064070 A KR 20210064070A KR 1020200155146 A KR1020200155146 A KR 1020200155146A KR 20200155146 A KR20200155146 A KR 20200155146A KR 20210064070 A KR20210064070 A KR 20210064070A
- Authority
- KR
- South Korea
- Prior art keywords
- determining
- sensor data
- neural network
- state
- status
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/28—Design optimisation, verification or simulation using fluid dynamics, e.g. using Navier-Stokes equations or computational fluid dynamics [CFD]
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0265—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
- G05B13/027—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/29—Graphical models, e.g. Bayesian networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/042—Knowledge-based neural networks; Logical representations of neural networks
-
- G06N3/0427—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G06N3/0454—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0001—Details of the control system
- B60W2050/0002—Automatic control, details of type of controller or control system architecture
- B60W2050/0004—In digital systems, e.g. discrete-time systems involving sampling
- B60W2050/0005—Processor details or data handling, e.g. memory registers or chip architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60Y—INDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
- B60Y2400/00—Special features of vehicle units
- B60Y2400/30—Sensors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2113/00—Details relating to the application field
- G06F2113/08—Fluids
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/14—Force analysis or force optimisation, e.g. static or dynamic forces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Automation & Control Theory (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Probability & Statistics with Applications (AREA)
- Medical Informatics (AREA)
- Fuzzy Systems (AREA)
- Transportation (AREA)
- Human Computer Interaction (AREA)
- Fluid Mechanics (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Algebra (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Feedback Control In General (AREA)
- Image Analysis (AREA)
Abstract
다양한 실시예들에 따르면, 센서 데이터를 프로세싱하기 위한 방법이 제공되고, 이 방법은 입력 센서 데이터를 수신하는 단계, 각각의 종료 상태에 대해, 상태 시퀀스를 결정하는 단계를 포함하는, 초기 상태로서 입력 센서 데이터로부터 시작하여, 복수의 종료 상태들을 결정하는 단계를 포함하고, 여기서 상태 시퀀스를 결정하는 단계는, 초기 상태에서 시작하여 종료 상태까지 시퀀스의 각각의 상태에 대해, 제1 베이지안 신경 네트워크가 각자의 상태를 입력하는 것에 응답하여 드리프트 항의 표본을 결정하는 것, 제2 베이지안 신경 네트워크가 각자의 상태를 입력하는 것에 응답하여 확산 항의 표본을 결정하는 것, 및 드리프트 항의 표본을 드리프트 항으로서 포함하고 확산 항의 표본을 확산 항으로서 포함하는 확률 미분 방정식을 샘플링함으로써 후속 상태를 결정하는 것을 포함한다. 이 방법은 결정된 복수의 종료 상태들로부터 종료 상태 확률 분포를 결정하는 단계 및 종료 상태 확률 분포로부터 입력 센서 데이터의 프로세싱 결과를 결정하는 단계를 추가로 포함한다.
Description
본 개시는 센서 데이터를 프로세싱하기 위한 방법 및 디바이스에 관한 것이다.
센서 데이터의 회귀 분석의 결과는 다양한 제어 태스크에 적용될 수 있다. 예를 들어, 자율 주행 운전(autonomous driving) 시나리오에서, 차량은 최대 속력을 도출하기 위해 도로의 곡률을 나타내는 센서 데이터의 회귀 분석을 수행할 수 있다. 그렇지만, 많은 애플리케이션에서, 결과가 무엇인지(예를 들면, 상기 예에서의 최대 속력)뿐만 아니라 결과가 얼마나 확실한지도 관련성이 있다. 예를 들어, 자율 주행 운전 시나리오에서, 차량 제어기는 차량을 그에 따라 제어하기 전에 최대 가능한 최대 속력의 예측이 충분한 확실성을 갖는지 여부를 고려해야 한다.
간행물 [Ricky T. Q. Chen, Yulia Rubanova, Jesse Bettencourt, David Duvenaud, "Neural Ordinary Differential Equations", NeurIPS, 2018]은 학습 시스템의 일반 빌딩 블록으로서 상미분 방정식(Ordinary Differential Equation, ODE)의 역학을 좌우하는 신경 네트워크를 소개한다. 입력 패턴은 이 ODE에 대한 초기 값으로서 설정된다. 그렇지만, 이것은 완전히 결정론적인 역학 시스템(fully deterministic dynamical system)이며, 따라서 불확실성을 표현할 수 없다.
상기를 고려하여, 출력에 대한 불확실성 정보를 제공하는 유연한 머신 학습 접근법이 바람직하다.
독립 청구항 1(아래의 예 1에 대응함) 및 독립 청구항 7(아래의 예 7에 대응함)의 특징들을 갖는 방법 및 디바이스는 유동 역학(flow dynamics)을 확률 미분 방정식(stochastic differential equation, SDE)으로서 모델링하고 예측 불확실성을 정량화함으로써 결정론적 접근법에 비해 향상된 강건성을 달성하는 것을 가능하게 한다. 구체적으로, SDE의 드리프트(drift) 항 및 확산(diffusion) 항에 베이지안 신경 네트워크(Bayesian neural network, BNN)를 할당함으로써 강건성이 개선된다. 이러한 방식으로 BNN을 사용함으로써, BNN 가중치로부터 나오는 (확산에 대한 Wiener 과정 이외의) 제2 확률성(stochasticity) 소스가 도입되어, 강건성 및 예측 불확실성 할당의 품질을 개선시킨다.
추가적으로, 드롭아웃(dropout)에 기초한 접근법에 비해, 독립 청구항들에 따른 방법 및 디바이스는 수동 드롭아웃 비율 튜닝을 필요로 하지 않으며 고정 비율 드롭아웃보다 더 풍부한 솔루션 패밀리를 제공한다.
이하에서, 다양한 예가 주어진다.
예 1은 센서 데이터를 프로세싱하기 위한 방법이며, 이 방법은 입력 센서 데이터를 수신하는 단계; 각각의 종료 상태에 대해, 상태 시퀀스를 결정하는 단계를 포함하는, 초기 상태로서 입력 센서 데이터로부터 시작하여, 복수의 종료 상태들을 결정하는 단계 - 상태 시퀀스를 결정하는 단계는, 초기 상태에서 시작하여 종료 상태까지 시퀀스의 각각의 상태에 대해, 제1 베이지안 신경 네트워크가 각자의 상태를 입력하는 것에 응답하여 드리프트 항의 표본을 결정하는 것; 제2 베이지안 신경 네트워크가 각자의 상태를 입력하는 것에 응답하여 확산 항의 표본을 결정하는 것; 및 드리프트 항의 표본을 드리프트 항으로서 포함하고 확산 항의 표본을 확산 항으로서 포함하는 확률 미분 방정식을 샘플링함으로써 후속 상태를 결정하는 것을 포함함 -; 결정된 복수의 종료 상태들로부터 종료 상태 확률 분포를 결정하는 단계; 및 종료 상태 확률 분포로부터 입력 센서 데이터의 프로세싱 결과를 결정하는 단계를 포함한다.
예 2는 예 1에 따른 방법이며, 확률적 경사 랑주뱅 역학(stochastic gradient Langevin dynamics)을 사용하여 제1 베이지안 신경 네트워크 및 제2 베이지안 신경 네트워크를 훈련시키는 단계를 추가로 포함한다.
SGLD는 모델 파라미터들을 추론하여, 근사 분포의 제한된 표현력(expressiveness)과 같은 변분 추론(variational inference)의 단점을 피할 수 있게 한다.
예 3은 예 1 또는 예 2에 따른 방법이며, 여기서 프로세싱 결과는 제어 값 및 제어 값에 관한 불확실성 정보를 포함한다.
불확실성 정보는 모델의 잘못된 예측들(또는 적어도 모델이 확신하지 않은 예측)을 식별하고 따라서 잘못된 제어 결정을 피할 수 있게 한다.
예 4는 예 3에 따른 방법이며, 여기서 종료 상태 확률 분포를 결정하는 단계는 종료 상태의 평균 벡터 및 공분산 행렬을 추정하는 단계를 포함하고, 여기서 종료 상태 확률 분포로부터 프로세싱 결과를 결정하는 단계는 종료 상태들의 추정된 평균 벡터로부터 예측 평균을 결정하고 종료 상태들의 추정된 공분산 행렬로부터 예측 분산을 결정하는 단계를 포함한다.
따라서 벡터 값 종료 상태는, 예를 들어, 액추에이터 제어에 사용될 수 있는 1차원 값(분산 면에서의 불확실성 정보를 포함함)으로 축소될 수 있다.
예 5는 예 4에 따른 방법이며, 여기서 프로세싱 결과를 결정하는 단계는 추정된 평균 벡터 대 1차원 예측 평균의 아핀 매핑 및 추정된 공분산 행렬 대 1차원 예측 분산의 선형 매핑을 수행하는 선형 계층에 의해 추정된 평균 벡터 및 추정된 공분산 행렬을 프로세싱하는 단계를 포함한다.
프로세싱 결과의 선형 미분은 종료 상태 확률 분포로부터 프로세싱 결과로의 불확실성 정보의 적절한 전파를 가능하게 한다.
예 6은 예 1 내지 예 5 중 어느 한 예에 따른 방법이며, 프로세싱 결과를 사용하여 액추에이터를 제어하는 단계를 포함한다.
제1 예의 접근법에 기초하여 액추에이터를 제어하는 것은, 예를 들면, 차량의 안전한 제어를 보장할 수 있게 한다.
예 7은 예 1 내지 예 6 중 어느 한 예에 따른 방법을 수행하도록 적합화된 신경 네트워크 디바이스이다.
예 8은 센서 데이터를 제공하도록 적합화된 센서 및 예 7에 따른 신경 네트워크 디바이스를 포함하는, 소프트웨어 또는 하드웨어 에이전트, 특히 로봇이며, 여기서 신경 네트워크 디바이스는 센서 데이터의 회귀 또는 분류를 수행하도록 구성된다.
예 9는 예 8에 따른 소프트웨어 또는 하드웨어 에이전트이며, 액추에이터 및, 신경 네트워크 디바이스로부터의 출력을 사용하여 적어도 하나의 액추에이터를 제어하도록 구성된 제어기를 포함한다.
예 10은, 컴퓨터에 의해 실행될 때, 컴퓨터로 하여금 예 1 내지 예 6 중 어느 한 예에 따른 방법을 수행하게 하는 컴퓨터 명령어들을 포함하는 컴퓨터 프로그램이다.
예 11은, 컴퓨터에 의해 실행될 때, 컴퓨터로 하여금 예 1 내지 예 6 중 어느 한 예에 따른 방법을 수행하게 하는 컴퓨터 명령어들을 포함하는 컴퓨터 판독 가능 매체이다.
도면에서, 유사한 참조 문자는 일반적으로 상이한 시점에 걸쳐 동일한 부분을 가리킨다. 도면이 반드시 일정한 축척으로 되어 있는 것은 아니며, 그 대신에 일반적으로 본 발명의 원리들을 예시하는 것에 중점을 두고 있다. 이하의 설명에서, 다양한 양태들이 이하의 도면들을 참조하여 설명된다.
도 1은 자율 주행 운전 시나리오에서의 회귀의 예를 도시한다.
도 2는 실시예에 따른 머신 학습 모델의 예시를 도시한다.
도 3은 실시예에 따른 센서 데이터를 프로세싱하기 위한 방법을 예시하는 흐름 다이어그램을 도시한다.
도 1은 자율 주행 운전 시나리오에서의 회귀의 예를 도시한다.
도 2는 실시예에 따른 머신 학습 모델의 예시를 도시한다.
도 3은 실시예에 따른 센서 데이터를 프로세싱하기 위한 방법을 예시하는 흐름 다이어그램을 도시한다.
이하의 상세한 설명은 본 발명이 실시될 수 있는 본 개시의 특정 세부 사항 및 양태들을, 예시로서, 도시하는 첨부 도면을 참조한다. 다른 양태들이 이용될 수 있고, 본 발명의 범위를 벗어나지 않으면서 구조적, 논리적, 및 전기적 변경이 이루어질 수 있다. 본 개시의 일부 양태들이 본 개시의 하나 이상의 다른 양태들과 조합되어 새로운 양태들을 형성할 수 있기 때문에, 본 개시의 다양한 양태들이 반드시 상호 배타적이지는 않다.
이하에서, 다양한 예들이 더 상세히 설명될 것이다.
도 1은 자율 주행 운전 시나리오에서의 회귀의 예를 도시한다.
도 1의 예에서, 차량(101), 예를 들어, 자동차, 밴 또는 모터사이클은 차량 제어기(102)를 구비하고 있다.
차량 제어기(102)는 데이터 프로세싱 컴포넌트들, 예를 들면, 프로세서(예를 들면, CPU(central processing unit))(103) 및 차량 제어기(102)가 그에 따라 동작하는 제어 소프트웨어 및 프로세서(103)가 조작하는 데이터를 저장하기 위한 메모리(104)를 포함한다.
이 예에서, 저장된 제어 소프트웨어는, 프로세서(103)에 의해 실행될 때, 프로세서로 하여금 회귀 알고리즘(105)을 구현하게 하는 명령어들을 포함한다.
메모리(104)에 저장된 데이터는 하나 이상의 센서(107)로부터의 입력 센서 데이터를 포함할 수 있다. 예를 들어, 하나 이상의 센서(107)는 차량(101)의 속력 및 도로의 곡률을 나타내는 센서 데이터(예를 들어, 도로의 방향을 결정하기 위해 대상체 검출에 의해 프로세싱된 이미지 센서 데이터로부터 도출될 수 있음), 도로의 상태 등을 측정하는 센서를 포함할 수 있다. 따라서, 센서 데이터는, 예를 들어, 다차원(곡률, 도로 상태, ...)일 수 있다. 회귀 결과는, 예를 들어, 1차원일 수 있다.
차량 제어기(102)는 센서 데이터를 프로세싱하고 회귀 결과, 예를 들면, 최대 속력을 결정하며, 회귀 결과를 사용하여 차량을 제어할 수 있다. 예를 들어, 회귀 결과가 차량(101)의 측정된 현재 속력보다 높은 최대 속력을 나타내는 경우 차량 제어기는 브레이크(108)를 작동시킬 수 있다.
회귀 알고리즘(105)은 머신 학습 모델(106)을 포함할 수 있다. 머신 학습 모델(106)은 (최대 속력과 같은) 예측을 하기 위해 훈련 데이터를 사용하여 훈련될 수 있다. 제어 태스크에 관련된 안전 문제로 인해, 회귀 결과뿐만 아니라 회귀 결과에 대한 확실성의 표시를 출력하는 머신 학습 모델(106)이 선택될 수 있다. 제어기(102)는 차량(101)을 제어할 때 이러한 확실성을 고려할 수 있으며, 예를 들어, 예측의 확실성이 낮은(예를 들어, 미리 결정된 임계치 미만인) 경우에 예측된 최대 속력보다 낮더라도 브레이크를 걸 수 있다.
널리 사용되는 머신 학습 모델은 딥 신경 네트워크이다. 딥 신경 네트워크는 입력 데이터(환언하면, 입력 패턴)를 출력 데이터(출력 패턴)로 비선형적으로 변환하는 함수를 구현하도록 훈련된다. 신경 네트워크가 잔차 신경 네트워크인 경우, 그의 프로세싱 파이프라인은 짝수 시간 구간에 걸쳐 이산화된 ODE(ordinary differential equation) 시스템으로 볼 수 있다. 이 모델을 연속 시간 ODE 면에서 바꾸어 말하면 신경 ODE라고 지칭된다.
다양한 실시예에 따르면, 활성화 맵의 흐름을 모델링하기 위한 중간 단계로서 SDE(statistical differential equation)를 푸는 것을 포함하는 (예를 들어, 머신 학습 모델(106)로서 사용될 수 있는) 일반 베이지안 신경 모델이 제공된다. SDE의 드리프트 함수와 확산 함수는 베이지안 신경 네트(BNN)로서 구현된다.
Neural-ODE 접근법에 따르면, 신경 네트워크의 프로세싱은 다음과 같이 수식화되고:
여기서 θ는 신경 네트워크의 파라미터들을 반영하고, ht+1은 계층 t+1의 출력이다. 이것은 스텝 크기 1을 사용하여 ODE를 풀기 위한 명시적 오일러 스킴(explicit Euler-scheme)으로서 해석될 수 있다.
이러한 해석에 의해, 상기 방정식은 다음과 같이 재수식화될 수 있다:
따라서, ODE 미적분이 신경 네트워크를 통해 전파하는 데 사용될 수 있다. 이 방정식을 확률적으로 만들기 위해, 확률적 상미분 방정식(stochastic ordinary differential equation)이 고려된다. 일반적 형태로, 이는 다음과 같이 주어진다:
이 방정식은 결정론적 부분을 모델링하는 드리프트 와, 확률적 부분을 모델링하는 확산 에 의해 좌우된다. 의 경우, 표준 ODE가 획득된다. 위의 방정식을 푸는 것은, 미분 방정식의 확률적 부분을 반영하는, 브라운 운동 에 대해 적분하는 것을 필요로 한다. 이 미분 방정식의 통상적이고 쉬운 하나의 근사 방법은 Euler-Maruyama 스킴이다:
ΔW는 다음 속성을 갖는 가우시안 랜덤 변수이다.
이 근사는 변수 xi가 벡터 일 때에도 성립한다. 그 경우에, 확산 항은 입력 및 시간의 행렬 값 함수 이며 대응하는 ΔW는 P차원 단위 행렬인 IP를 갖는 P 독립 Wiener 과정 로서 모델링된다.
위에서 언급된 바와 같이, 다양한 실시예에 따르면, μ(xi, ti) 및 σ(xi, ti) 각각은 각자의 베이지안 신경 네트워크(BNN)에 의해 제공되며, 여기서 μ(xi, ti)를 계산하는 BNN의 가중치는 θ1에 의해 표기되고, σ(xi, ti)를 계산하는 BNN의 가중치는 θ2에 의해 표기된다. 가중치는 BNN들 사이에서 적어도 부분적으로 공유될 수 있으며, 즉 이다.
결과적인 확률적 머신 학습 모델은 다음과 같이 기술될 수 있다.
첫 번째 라인은 SDE 파라미터(이 경우에 BNN의 가중치)에 대한 사전확률(prior)이고, 두 번째 라인은 SDE의 해이며, 마지막 라인은 머신 학습 모델의 출력 공간에 적합한 우도(likelihood)이다. T는 모델 용량에 대응하는 흐름의 지속시간이다.
도 2는 머신 학습 모델의 예시를 도시한다.
입력은 벡터 x이다.
초기 조건으로서 (입력 관측치) 벡터 x에 대해, 연속 시간 활성화 맵 h(t)를 나타내는 확률 과정(201)의 실현은 SDE의 해로서 결정된다. 1부터 T까지의 모든 t에 대한 h(t)(예를 들면, h(0) = x)는 매 순간 t에서의 입력 패턴 x의 잠재 표현으로 볼 수 있다. 이 결정을 수행하는 머신 학습 모델의 부분은 DBNN(Differential Bayesian Neural Net)이라고 지칭된다. 이는 (각각 h(t)와 t를 입력으로서 받는) SDE의 평균 항 및 확산 항을, 제각기, 제공하는 BNN(202, 203)을 포함한다. DBNN은 (입력 벡터 x와 동일한 차원의 벡터일 수 있는) 출력 값 h(T)를 출력한다.
애플리케이션에 따라, 추가(예를 들면, 선형) 계층(204)은 모델의 출력 y, 예를 들면, 입력 센서 데이터 벡터 x에 대한 회귀 결과를 계산한다. 이러한 추가 계층(204)은 특히 (종료 상태로 볼 수 있는) h(T)의 차원을 원하는 출력 차원으로 감소시킬 수 있으며, 예를 들면, 벡터 h(T)로부터 실수 y를 생성할 수 있다.
확률 과정의 확률 분포는 다음과 같이 주어지고
여기서 B(t)는 Wiener 과정 W(t)에 대응하는 브라운 운동이다. 방정식의 우변에서의 두 번째 적분은, 첫 번째 적분과 달리, Ito 적분이라는 점에 유의해야 한다. 관련 SDE는
이고, 여기서 m(.,.)은 역학의 흐름을 좌우하는 드리프트 항이고 L(.,.)은 매 순간에서의 모션을 지터링하는 확산 항이다. 확률 는 모든 신경 네트워크 아키텍처에 걸쳐 일반화되는 닫힌 형태 표현식(closed-form expression)을 갖지 않는다. 그렇지만, Euler-Maruyama와 같은 이산화 규칙(discretization rule)에 의해 그것으로부터 근사 표본을 취하는 것이 가능하다.
일 실시예에 따르면, 차선책으로서, 확률 과정은 다음에 따라 Monte Carlo 적분에 의해 우도에서 주변화되고
여기서 는 m 번째 Euler-Maruyama 추출(draw)의 시간 T에서의 실현이다. 확률 과정을 적분한 후, 모델은 에 대한 근사 사후 추론 문제에 의해 훈련될 수 있다. 확률 과정 h에 대한 표본 기반 해법은 자연스럽게 Markov Chain Monte Carlo(MCMC) 스킴에 통합된다. 일 실시예에 따르면, 블록 감쇠 구조(block decay structure)를 갖는 SGLD(Stochastic Gradient Langevin Dynamics)는 (신경 네트워크를 효과적으로 훈련시키는 데 필수적인) 서브루틴으로서 경사 하강법 알고리즘의 이점을 얻기 위해 사용된다.
이하에서, 모델에 대한 훈련 알고리즘, 즉 (복수의 미니배치(minibatch)를 포함하는) 훈련 데이터로부터 θ1 및 θ2를 결정하는 지도 학습 알고리즘이 설명된다.
경사 가 역전파를 사용하여 결정될 수 있다는 점에 유의해야 한다. 게다가 θ1의 확률 분포와 θ2의 확률 분포가 훈련된 BNN(202, 203)에 도달하기 위해 (예를 들면, 마지막 100 i에 대한) 최신 반복의 값을 저장하는 것에 의해 결정될 수 있다는 점에 유의해야 한다.
회귀를 위해, 추가 선형 계층(204)은 출력 차원성을 매칭시키기 위해 h(T)보다 위에 배치된다. 분포 의 속성이 평균 m(θ1) 및 공분산 (의 Cholesky 분해)의 면에서 추정될 수 있기 때문이다. 양쪽 모멘트가 결정되고 이어서 선형 계층(204)을 통해 전파될 수 있다. 따라서 예측 평균은 로서 모델링되고 예측 분산은 로서 모델링된다. 상관성이 없는 활성화 맵 차원을 가정하여 를 대각 행렬로서 설계하는 것이 가능하다.
게다가, 는 DBNN 출력을 그의 Cholesky 분해에 할당함으로써 파라미터화될 수 있거나 또는 형태의 임의의 다른 구조를 취할 수 있다. P < D를 선택할 때, 고차원 입력에 대해 학습 가능한 파라미터의 개수를 크게 줄일 수 있다.
요약하면, 다양한 실시예에 따르면, 도 3에 예시된 바와 같은 방법이 제공된다.
도 3은 실시예에 따른 센서 데이터를 프로세싱하기 위한 방법을 예시하는 흐름 다이어그램(300)을 도시한다.
301에서, 입력 센서 데이터가 수신된다.
302에서, 초기 상태로서 입력 센서 데이터로부터 시작하여, 복수의 종료 상태가 결정된다.
이것은, 각각의 종료 상태에 대해, 상태 시퀀스를 결정하는 것을 포함하며, 여기서 상태 시퀀스를 결정하는 것은, 초기 상태에서 시작하여 종료 상태까지 시퀀스의 각각의 상태에 대해,
제1 베이지안 신경 네트워크가 각자의 상태를 입력하는 것에 응답하여 드리프트 항의 표본을 결정하는 것;
제2 베이지안 신경 네트워크가 각자의 상태를 입력하는 것에 응답하여 확산 항의 표본을 결정하는 것; 및
드리프트 항의 표본을 드리프트 항으로서 포함하고 확산 항의 표본을 확산 항으로서 포함하는 확률 미분 방정식을 샘플링함으로써 후속 상태를 결정하는 것을 포함한다.
303에서, 결정된 복수의 종료 상태들로부터 종료 상태 확률 분포가 결정된다.
304에서, 종료 상태 확률 분포로부터 입력 센서 데이터의 프로세싱 결과가 결정된다.
다양한 실시예에 따르면, 환언하면, BNN은 확률 미분 방정식을 푸는 각각의 단계에서 드리프트 항 및 확산 항을 제공하는 데 사용된다. (브라운 운동을 샘플링함으로써) 확률 미분 방정식을 푸는 것에 의해 제공되는 불확실성 정보 이외에 (BNN 가중치를 샘플링함으로써) BNN에 의해 제공되는 불확실성 정보는, 예를 들면, 센서 데이터에 따라 디바이스를 제어하기 위한, 예를 들어, 회귀 결과인, 프로세싱 결과에 대한 정보를 제공한다.
도 3의 접근법은 입력 패턴을 출력 패턴에 매핑하는 모든 학습 시스템에서 일반 빌딩 블록으로서 사용될 수 있다. 이는 풍부한 매핑 패밀리를 제공하는 중간 프로세싱 단계로서 역할할 수 있으며, 그의 파라미터는 이어서 특정 데이터 세트에 맞게 튜닝될 수 있다. 피드포워드 신경 네트워크가 사용될 수 있는 곳이면 어디에서나, 도 3의 접근법이 사용될 수 있다. 게다가, 이 예측에 따라 다운스트림 액션을 취하기 전에 컴퓨터 시스템의 예측이 정당화될 필요가 있거나 또는 그의 불확실성이 고려될 필요가 있는 안전 필수(safety-critical) 애플리케이션에서 특히 유용하다.
특히, 도 3의 접근법은 출력에 대해 우도 분포가 표현될 수 있는 모든 지도 학습 셋업에서 적용될 수 있다(예를 들면, 연속 출력에 대한 정규 분포, 이산 출력에 대한 다항 분포). 게다가, 이는 잠재 표현이 관측치와 동일한 차원을 갖는 임의의 생성적 방법(generative method)에서 적용될 수 있다. 이는 결과적인 BNN 가중치 분포를, 변분 추론과 같은, 추론 문제에서 근사 분포로서 사용하는 하이퍼넷에서 추가로 적용될 수 있다. 애플리케이션의 예는 이미지 분할 및 강화 학습이다.
도 3의 방법은 하나 이상의 데이터 프로세싱 유닛을 포함하는 하나 이상의 컴퓨터에 의해 수행될 수 있다. 용어 "데이터 프로세싱 유닛"은 데이터 또는 신호의 프로세싱을 가능하게 하는 임의의 유형의 엔티티로 이해될 수 있다. 예를 들어, 데이터 또는 신호는 데이터 프로세싱 유닛에 의해 수행되는 적어도 하나(즉, 하나 이상의) 특정 기능에 따라 처리될 수 있다. 데이터 프로세싱 유닛은 아날로그 회로, 디지털 회로, 복합 신호 회로, 로직 회로, 마이크로프로세서, 마이크로컨트롤러, 중앙 프로세싱 유닛(CPU), 그래픽 프로세싱 유닛(GPU), 디지털 신호 프로세서(DSP), 프로그래머블 게이트 어레이(FPGA) 집적 회로 또는 이들의 임의의 조합을 포함할 수 있거나 또는 그로부터 형성될 수 있다. 아래에서 더 상세히 설명될 각자의 기능을 구현하는 임의의 다른 방법은 또한 데이터 프로세싱 유닛 또는 로직 회로로 이해될 수 있다. 본 명세서에서 상세히 설명된 방법 단계들 중 하나 이상이 데이터 프로세싱 유닛에 의해 수행되는 하나 이상의 특정 기능을 통해 데이터 프로세싱 유닛에 의해 실행(예를 들면, 구현)될 수 있다는 것이 이해될 것이다.
제1 베이지안 신경 네트워크 및 제2 베이지안 신경 네트워크는, 복수의 훈련 데이터 유닛들 각각에 대해, 훈련 데이터 유닛의 입력 센서 훈련 데이터에 대한 프로세싱 결과를 훈련 데이터 유닛의 기준 값과 비교함으로써 훈련될 수 있다.
일반적으로, 도 3의 접근법은 입력 센서 데이터로부터 제어 데이터를 생성하는 데, 예를 들면, 로봇을 제어하기 위한 데이터를 생성하는 데 사용될 수 있다. 용어 "로봇"은 컴퓨터 제어 기계, 차량, 가전 기기, 전동 공구, 제조 기계, 개인 어시스턴트 또는 액세스 제어 시스템과 같은 (움직임이 제어되는 기계 부품을 갖는) 임의의 물리적 시스템을 지칭하는 것으로 이해될 수 있다.
신경 네트워크는 데이터를 회귀하거나 분류하는 데 사용될 수 있다. 용어 분류(classification)는, 예를 들면, (픽셀 단위 분류로 간주될 수 있는) 이미지의 시맨틱 분할(semantic segmentation)을 포함하는 것으로 이해된다. 용어 분류는 또한, 예를 들면, (대상체가 존재하는지 여부의 분류로 간주될 수 있는) 대상체의 검출을 포함하는 것으로 이해된다. 특히, 회귀는 시계열 모델링(time-series modelling)을 포함한다.
비록 특정 실시예가 본 명세서에서 예시되고 설명되었지만, 본 발명의 범위를 벗어나지 않으면서 다양한 대안적인 및/또는 등가적인 구현이 도시되고 설명된 특정 실시예를 대체할 수 있다는 것이 본 기술 분야의 통상의 기술자에 의해 이해될 것이다. 본 출원은 본 명세서에서 논의된 특정 실시예의 임의의 개조 또는 변형을 커버하는 것으로 의도되어 있다. 따라서, 본 발명이 청구항 및 그 균등물에 의해서만 제한되는 것으로 의도된다.
Claims (11)
- 센서 데이터를 프로세싱하기 위한 방법이며,
입력 센서 데이터를 수신하는 단계;
각각의 종료 상태에 대해, 상태 시퀀스를 결정하는 단계를 포함하는, 초기 상태로서 상기 입력 센서 데이터로부터 시작하여, 복수의 종료 상태들을 결정하는 단계 - 상기 상태 시퀀스를 결정하는 단계는, 상기 초기 상태에서 시작하여 상기 종료 상태까지 상기 시퀀스의 각각의 상태에 대해,
제1 베이지안 신경 네트워크가 각자의 상태를 입력하는 것에 응답하여 드리프트 항의 표본을 결정하는 것;
제2 베이지안 신경 네트워크가 각자의 상태를 입력하는 것에 응답하여 확산 항의 표본을 결정하는 것; 및
상기 드리프트 항의 상기 표본을 드리프트 항으로서 포함하고 상기 확산 항의 상기 표본을 확산 항으로서 포함하는 확률 미분 방정식을 샘플링함으로써 후속 상태를 결정하는 것을 포함함 -;
결정된 복수의 종료 상태들로부터 종료 상태 확률 분포를 결정하는 단계; 및
종료 상태 확률 분포로부터 상기 입력 센서 데이터의 프로세싱 결과를 결정하는 단계를 포함하는, 방법. - 제1항에 있어서,
확률적 경사 랑주뱅 역학을 사용하여 상기 제1 베이지안 신경 네트워크 및 상기 제2 베이지안 신경 네트워크를 훈련시키는 단계를 추가로 포함하는, 방법. - 제1항 또는 제2항에 있어서, 상기 프로세싱 결과는 제어 값 및 상기 제어 값에 관한 불확실성 정보를 포함하는, 방법.
- 제3항에 있어서, 상기 종료 상태 확률 분포를 결정하는 단계는 상기 종료 상태의 평균 벡터 및 공분산 행렬을 추정하는 단계를 포함하고, 상기 종료 상태 확률 분포로부터 상기 프로세싱 결과를 결정하는 단계는 상기 종료 상태들의 상기 추정된 평균 벡터로부터 예측 평균을 결정하고 상기 종료 상태들의 상기 추정된 공분산 행렬로부터 예측 분산을 결정하는 단계를 포함하는, 방법.
- 제4항에 있어서, 상기 프로세싱 결과를 결정하는 단계는, 상기 추정된 평균 벡터 대 1차원 예측 평균의 아핀 매핑 및 상기 추정된 공분산 행렬 대 1차원 예측 분산의 선형 매핑을 수행하는 선형 계층에 의해 상기 추정된 평균 벡터 및 상기 추정된 공분산 행렬을 프로세싱하는 단계를 포함하는, 방법.
- 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 프로세싱 결과를 사용하여 액추에이터를 제어하는 단계를 포함하는, 방법.
- 제1항 내지 제6항 중 어느 한 항에 따른 방법을 수행하도록 적합화된 신경 네트워크 디바이스.
- 소프트웨어 또는 하드웨어 에이전트, 특히 로봇이며,
센서 데이터를 제공하도록 적합화된 센서; 및
제7항에 따른 신경 네트워크 디바이스를 포함하며, 상기 신경 네트워크 디바이스는 상기 센서 데이터의 회귀 또는 분류를 수행하도록 구성되는, 소프트웨어 또는 하드웨어 에이전트. - 제8항에 있어서, 액추에이터 및, 상기 신경 네트워크 디바이스로부터의 출력을 사용하여 적어도 하나의 액추에이터를 제어하도록 구성된 제어기를 포함하는, 소프트웨어 또는 하드웨어 에이전트.
- 컴퓨터에 의해 실행될 때, 상기 컴퓨터로 하여금 제1항 내지 제6항 중 어느 한 항에 따른 방법을 수행하게 하는 컴퓨터 명령어들을 포함하는 컴퓨터 프로그램.
- 컴퓨터에 의해 실행될 때, 상기 컴퓨터로 하여금 제1항 내지 제6항 중 어느 한 항에 따른 방법을 수행하게 하는 컴퓨터 명령어들을 포함하는 컴퓨터 판독 가능 매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19211130.0 | 2019-11-25 | ||
EP19211130.0A EP3825921A1 (en) | 2019-11-25 | 2019-11-25 | Method and device for processing sensor data |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210064070A true KR20210064070A (ko) | 2021-06-02 |
Family
ID=68655319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200155146A KR20210064070A (ko) | 2019-11-25 | 2020-11-19 | 센서 데이터 프로세싱 방법 및 디바이스 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210158158A1 (ko) |
EP (1) | EP3825921A1 (ko) |
KR (1) | KR20210064070A (ko) |
CN (1) | CN112836439A (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113361596B (zh) * | 2021-06-04 | 2022-10-04 | 安徽农业大学 | 一种传感器数据增广方法、系统及存储介质 |
US20230057100A1 (en) * | 2021-08-20 | 2023-02-23 | Robert Bosch Gmbh | Method and system for a continuous discrete recurrent kalman network |
-
2019
- 2019-11-25 EP EP19211130.0A patent/EP3825921A1/en active Pending
-
2020
- 2020-10-30 US US17/086,057 patent/US20210158158A1/en active Pending
- 2020-11-19 KR KR1020200155146A patent/KR20210064070A/ko active Search and Examination
- 2020-11-24 CN CN202011329844.2A patent/CN112836439A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20210158158A1 (en) | 2021-05-27 |
CN112836439A (zh) | 2021-05-25 |
EP3825921A1 (en) | 2021-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Morton et al. | Analysis of recurrent neural networks for probabilistic modeling of driver behavior | |
Boots et al. | Hilbert space embeddings of predictive state representations | |
CN111226232A (zh) | 混合生成器模型 | |
KR102310490B1 (ko) | 재귀적 신경망에서 시계열 데이터의 데이터 누락 및 노이즈에 강건한 gru 기반의 셀 구조 설계 | |
KR20220107302A (ko) | 순환 신경망에서의 거리 메트릭 및 클러스터링 | |
US20200394521A1 (en) | Using back propagation computation as data | |
Hu et al. | A framework for probabilistic generic traffic scene prediction | |
JP6847386B2 (ja) | ニューラルネットワークの正則化 | |
JP2009176283A (ja) | 物体特性のロバストな推定を用いる適応型運転者支援システム | |
KR20210064070A (ko) | 센서 데이터 프로세싱 방법 및 디바이스 | |
JP2021111399A (ja) | 損失関数に基づいてトレーニングされたモデルの処理 | |
JP2014178861A (ja) | 異常運転行動検出装置 | |
JP2020191088A (ja) | 半定値計画問題を解く層を有するニューラルネットワーク | |
EP3783538A1 (en) | Analysing interactions between multiple physical objects | |
Look et al. | Differential bayesian neural nets | |
CN114722995A (zh) | 训练神经随机微分方程的神经漂移网络和神经扩散网络的设备和方法 | |
US20200134498A1 (en) | Dynamic boltzmann machine for predicting general distributions of time series datasets | |
WO2023205431A1 (en) | Distortion prediction for additive manufacturing using image analysis | |
JP2020181318A (ja) | 最適化装置、最適化方法、及びプログラム | |
CN115186727A (zh) | 用于图像分类的不确定性评估的方法、设备和计算机程序 | |
CN115599296A (zh) | 一种分布式存储系统的节点自动伸缩方法及系统 | |
Kozlowski et al. | Internalizing knowledge for anticipatory classifier systems in discretized real-valued environments | |
JP7386462B2 (ja) | 演算装置および学習済みモデル | |
WO2022077345A1 (en) | Method and apparatus for neural network based on energy-based latent variable models | |
Utkin et al. | Uncertainty interpretation of the machine learning survival model predictions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination |