KR102653754B1 - 자율 주행용 뉴로모픽 프로세서 - Google Patents
자율 주행용 뉴로모픽 프로세서 Download PDFInfo
- Publication number
- KR102653754B1 KR102653754B1 KR1020210171120A KR20210171120A KR102653754B1 KR 102653754 B1 KR102653754 B1 KR 102653754B1 KR 1020210171120 A KR1020210171120 A KR 1020210171120A KR 20210171120 A KR20210171120 A KR 20210171120A KR 102653754 B1 KR102653754 B1 KR 102653754B1
- Authority
- KR
- South Korea
- Prior art keywords
- autonomous driving
- driving
- processor
- output
- data
- Prior art date
Links
- 230000000946 synaptic effect Effects 0.000 claims description 50
- 210000000225 synapse Anatomy 0.000 claims description 28
- 210000002569 neuron Anatomy 0.000 claims description 24
- 238000012937 correction Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 16
- 238000000034 method Methods 0.000 claims description 15
- 230000002401 inhibitory effect Effects 0.000 claims description 12
- 230000005764 inhibitory process Effects 0.000 claims description 3
- SAZUGELZHZOXHB-UHFFFAOYSA-N acecarbromal Chemical compound CCC(Br)(CC)C(=O)NC(=O)NC(C)=O SAZUGELZHZOXHB-UHFFFAOYSA-N 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 6
- 210000004556 brain Anatomy 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012421 spiking Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
-
- 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
- B60W40/00—Estimation 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/02—Estimation 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
-
- 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
- B60W40/00—Estimation 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/08—Estimation 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 drivers or passengers
-
- 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
- B60W50/04—Monitoring the functioning of the control system
-
- 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
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/005—Handover processes
- B60W60/0051—Handover processes from occupants to vehicle
-
- 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
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/005—Handover processes
- B60W60/0053—Handover processes from vehicle to occupant
-
- 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
-
- 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
- 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/0008—Feedback, closed loop systems or details of feedback error signal
-
- 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/0019—Control system elements or transfer functions
- B60W2050/0022—Gains, weighting coefficients or weighting functions
-
- 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/0062—Adapting control system settings
- B60W2050/007—Switching between manual and automatic parameter input, and vice versa
-
- 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
- B60W2540/00—Input parameters relating to occupants
- B60W2540/30—Driving style
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Feedback Control In General (AREA)
Abstract
본 발명에 따른 자율 주행 시스템은 자율 주행 구동에 필요한 데이터를 수집하여 출력하는 센서와, 상기 센서로부터 입력되는 데이터에 기초하여 자율 주행 구동 데이터를 출력하는 제1 프로세서와, 상기 센서로부터 입력되는 데이터와 상기 제1 프로세서로부터 입력되는 상기 자율 주행 구동 데이터 및 인간 운전자의 주행으로부터 입력되는 구동 데이터 사이의 차이에 기초하여 구동 데이터 조정 값을 출력하는 제2 프로세서와, 상기 제1 프로세서로부터 출력되는 상기 자율 주행 구동 데이터와, 상기 제2 프로세서로부터 출력되는 상기 구동 데이터 조정 값에 기초하여 주행을 구동하는 구동부를 포함한다.
Description
본 발명은 자율 주행용 뉴로모픽 프로세서에 관한 것으로서, 특히 자율주행 보정 학습을 위한 뉴로모픽 프로세서에 관한 것이다.
최근 딥 러닝(Deep Learning) 기술은 다양한 분야의 작업에서 놀라운 성능을 보여주며 엄청난 관심을 모으고 있다. 특히, 인간의 두뇌를 모방한 뉴로모픽 컴퓨팅(Neuromorphic Computing) 기술은 두뇌의 저전력 병렬 신호 처리 방식을 모방한 프로세서를 개발하여 기존 폰노이만 기반 컴퓨팅이 갖는 메모리 접근 병목 현상의 한계를 극복하였다. 다만, 현재까지 개발된 대부분의 뉴로모픽 프로세서는 대규모 스파이킹 신경망 알고리즘 연구를 위한 고속 시뮬레이터로 활용되는 데 그치는 경향이 있다. 최근에는 뉴로모픽 컴퓨팅 기술을 실제 생활에 적용할 수 있는 다양한 어플리케이션 개발 움직임이 있다.
한편, 인공 지능의 대표적인 활용 어플리케이션으로 자율 주행이 대표적으로 부각되고 있다. 자율 주행의 경우, 그 구동 조절이 숙련된 인간의 운전 수준만큼 고도화되기 위해서는 다중 상태 공간과 행동 공간 사이에 복잡하고 비선행적인 매핑(mapping)을 구현해야 하는 과제가 있다.
본 발명이 해결하고자 하는 과제는 인간의 운전 수준만큼 고도화된 자율 주행 구동을 구현하기 위하여 매 상황 마다 숙련된 인간이 실행하는 구동 데이터(예컨대, 액셀 및 브레이크 강도, 휠 강 각도 등)와 자율 주행 구동 프로세서의 구동 데이터 간의 차이를 뉴로모픽 프로세서가 실시간으로 학습하도록 구현하는 데 있다.
또한, 본 발명이 해결하고자 하는 다른 과제는 인간의 숙련된 제어 능력(예컨대, 운전 능력)을 자율 구동 조절 프로세서가 실시간 학습하도록 하여 그 제어 능력을 전수하도록 구현하는 데 있다.
본 발명의 일 실시예에 따른 자율 주행 시스템은 자율 주행 구동에 필요한 데이터를 수집하여 출력하는 센서와 상기 센서로부터 입력되는 데이터에 기초하여 자율 주행 구동 데이터를 출력하는 제1 프로세서와, 상기 센서로부터 입력되는 데이터와 상기 제1 프로세서로부터 입력되는 상기 자율 주행 구동 데이터 및 인간 운전자의 주행으로부터 입력되는 구동 데이터 사이의 차이에 기초하여 구동 데이터 조정 값을 출력하는 제2 프로세서와, 상기 제1 프로세서로부터 출력되는 상기 자율 주행 구동 데이터와 상기 제2 프로세서로부터 출력되는 상기 구동 데이터 조정 값에 기초하여 주행을 구동하는 구동부를 포함한다.
여기서, 상기 자율 주행 시스템은 상기 제1 프로세서로부터 출력되는 자율 주행 구동 데이터에 기초하여 구동할 지, 또는 인간 운전자 운행에 기초하여 구동할 지 여부를 결정하는 주행 주체 선택부를 더 포함한다.
여기서, 상기 제1 프로세서로부터 출력되는 자율 주행 구동데이터와 인간 운전자의 주행으로부터 출력되는 구동 데이터의 차이가 상기 제2 프로세서로 피드백된다.
여기서, 상기 제2 프로세서는 상기 센서로부터 입력되는 데이터를 다수의 뉴런 스파이크 출력으로 표현하는 코딩부와, 상기 코딩부의 출력에 기초하여 상태 공간을 생성하는 상태 공간 생성부와, 상기 상태 공간 생성부로부터 시냅스 가중치를 읽어오고, 오차 스파이크를 이용하여 상기 시냅스 가중치를 수정하여 출력하는 시냅스 가중치 처리부와, 상기 시냅스 가중치 처리부로부터 입력되는 수정된 시냅스 가중치에 기초하여 자율 주행 구동에 필요한 운동 출력을 생성하는 운동 출력 생성부와, 상기 운동 출력 생성부에서 출력되는 운동 출력 값을 소정의 목표 값과 비교하고, 그 차이에 기초한 오차 스파이크를 상기 시냅스 가중치 처리부로 피드백하는 오차 생성부를 포함한다.
여기서, 상기 시냅스 가중치 처리부는 오차 스파이크가 발생한 경우, 상기 시냅스 가중치를 소정 값만큼 하향 조정한다. 상기 소정 값은 뉴런 스파이크의 발생 시간과 상기 오차 스파이크의 발생 시간 사이의 시간 차에 따라 변화할 수 있다.
여기서, 상기 시냅스 가중치 처리부는 오차 스파이크가 발생하지 않은 경우, 상기 시냅스 가중치를 소정 값만큼 상향 조정한다. 상기 소정 값은 상수일 수 있다.
여기서, 상기 제2 프로세서는 상기 센서로부터 출력되는 데이터를 다수의 뉴런 스파이크 출력으로 표현하는 코딩부와, 상기 코딩부의 출력에 기초하여 상태 공간을 생성하는 상태 공간 생성부와, 상기 상태 공간 생성부로부터 시냅스 가중치를 읽어오고, 오차 스파이크를 이용하여 상기 시냅스 가중치를 수정하여 출력하는 제1 시냅스 가중치 처리부와, 상기 제1 시냅스 가중치 처리부로부터 입력되는 수정된 시냅스 가중치에 기초하여 운동 출력을 억제하는 억제 스파이크를 생성하는 억제 출력 생성부와, 상기 코딩부로부터 입력되는 뉴런 스파이크와 상기 억제 출력 생성부에서 출력되는 억제 스파이크를 이용하여 수정된 시냅스 가중치를 출력하는 제2 시냅스 가중치 처리부와, 상기 제2 시냅스 가중치 처리부로부터 입력되는 수정된 시냅스 가중치에 기초하여 자율 주행 구동에 필요한 운동 출력을 생성하는 운동 출력 생성부와, 상기 운동 출력 생성부에서 출력되는 운동 출력 값을 소정의 목표 값과 비교하고 그 차이에 기초한 오차 스파이크를 상기 제1 시냅스 가중치 처리부로 피드백하는 오차 생성부를 포함한다.
본 발명의 다른 실시예에 따른 자율 주행을 위한 보정 학습 방법은, 자율 주행 구동 데이터를 출력하는 단계와, 자율 주행 모드 여부를 확인하는 단계와, 자율 주행 모드인 경우, 상기 자율 주행 구동 데이터와 구동 데이터 조정 값에 기초하여 주행을 구동하는 단계와, 자율 주행 모드가 아닌 경우, 인간 운전자에 의하여 입력되는 구동 데이터에 기초하여 주행을 구동하는 단계를 포함한다.
여기서, 자율 주행 모드가 아닌 경우, 인간 운전자에 의하여 입력되는 구동 데이터와 상기 자율 주행 구동 데이터 사이의 차이 값에 기초하여 보정 학습을 수행하는 단계를 더 포함한다.
여기서, 인간 운전자에 의하여 입력되는 구동 데이터와 상기 자율 주행 구동 데이터 사이의 차이 값에 기초하여 오차 스파이크를 출력하는 단계를 더 포함한다.
여기서, 상기 구동 데이터 조정 값은 센서로부터 입력되는 데이터와, 상기 자율 주행 구동 데이터 및 인간 운전자의 주행으로부터 입력되는 구동 데이터 사이의 차이에 기초하여 결정된다.
여기서, 상기 구동 데이터 조정 값은, 센서로부터 입력되는 데이터에 대한 뉴런 스파이크와, 오차 스파이크의 발생 여부에 따라 결정된다.
여기서, 상기 오차 스파이크가 발생하는 경우, 시냅스 가중치를 소정 값만큼 하향 조정한다.
여기서, 상기 시냅스 가중치 처리부는 오차 스파이크가 발생하지 않은 경우, 상기 시냅스 가중치를 소정 값만큼 상향 조정한다.
본 발명에 따르면, 숙련된 인간이 실행하는 구동 데이터와 자율 주행 프로세서의 구동 데이터 간의 차이를 뉴로모픽 프로세서가 실시간으로 학습하도록 하여 인간의 운전 수준만큼 고도화된 자율 주행 구동을 구현할 수 있게 된다. 또한, 인간의 숙련된 제어 능력을 자율 구동 조절 프로세서가 실시간 학습하도록 하여 그 제어 능력을 전수받을 수 있게 된다.
도 1은 본 발명의 일 실시예에 따른 자율 주행용 보정 학습 시스템의 블록도이다.
도 2는 본 발명의 일 실시예에 따른 자율 주행용 보정 학습 시스템의 동작을 설명하는 순서도이다.
도 3a 및 도 3b는 본 발명의 일 실시예에 따른 뉴로모픽 프로세서의 구성도를 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 시냅스 가중치 학습 알고리즘을 나타낸 순서도이다.
도 5a 및 도 5b는 본 발명의 다른 실시예에 따른 뉴로모픽 프로세서의 구성도를 나타낸 도면이다
도 2는 본 발명의 일 실시예에 따른 자율 주행용 보정 학습 시스템의 동작을 설명하는 순서도이다.
도 3a 및 도 3b는 본 발명의 일 실시예에 따른 뉴로모픽 프로세서의 구성도를 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 시냅스 가중치 학습 알고리즘을 나타낸 순서도이다.
도 5a 및 도 5b는 본 발명의 다른 실시예에 따른 뉴로모픽 프로세서의 구성도를 나타낸 도면이다
이하, 첨부 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예로 한정되지 않는다. 그리고, 도면에서는 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 본 발명의 일 실시예에 따른 자율 주행용 보정 학습 시스템(100)의 블록도이다. 도 1을 참고하면, 자율 주행용 보정 학습 시스템(100)은 센서(10), 자율주행 구동 프로세서(20), 뉴로모픽 프로세서(30), 주행 주체 선택부(40) 및 구동부(50)를 포함한다. 센서(10)는 자율 주행 구동에 필요한 데이터를 수집하여 출력한다. 센서 데이터로는 선행 차량과의 상대 속도, 선행 차량과의 상대 거리, 차선과의 각도, 액셀 및 브레이크 강도, 스티어링 각도 등이 될 수 있으며, 반드시 이에 한정되지는 않는다. 즉, 이 분야의 당업자가 용이하게 생각할 수 있는 다양한 데이터가 포함될 수 있다. 센서(10)에서 출력된 데이터는 자율 주행 구동 프로세서(20)로 입력된다. 자율 주행 구동 프로세서(20)는 센서(10)로부터 입력되는 데이터를 수신하여 자율 주행 구동 데이터를 계산하여 출력한다. 자율 주행 구동 데이터는 자율 주행에 필요한 데이터로서 액셀 및 브레이크 강도, 스티어링(steering) 각도 등이 포함될 수 있으나, 반드시 이에 한정되지는 않는다. 이 역시, 이 분야의 당업자가 용이하게 생각할 수 있는 다양한 구동 데이터가 포함될 수 있다. 또한, 센서(10)에서 출력된 데이터는 뉴로모픽 프로세서(30)로 입력된다. 뉴로모픽 프로세서(30)는 센서(10)로부터 입력되는 각 데이터별로 인간 운전자(1)의 구동에 따른 데이터(예컨대, 액셀 및 브레이크 강도, 스티어링 각도)와 자율 주행 구동 프로세서(30)에서 출력되는 자율 주행 구동 데이터(예컨대, 액셀 및 브레이크 강도, 스티어링 각도) 간의 차이를 실시간으로 학습하고, 학습된 값을 출력한다. 도 1을 참고하면, 자율 주행 구동 프로세서(20)에서 출력되는 자율 주행 구동 데이터와 인간 운전자(1)로부터 입력되는 구동 데이터의 차 값이 뉴로모픽 프로세서(30)로 피드백된다. 주행 주체 선택부(40)는 주행 주체를 인간 운전자(1)와 자율 주행 구동 프로세서(20) 중에서 하나를 선택한다. 구동부(50)는 주행 주체 선택부(40)의 선택에 따라 인간 운전자(1) 또는 자율 주행 구동 프로세스(20)에 의해 주행을 구동한다.
도 2는 본 발명의 일 실시예에 따른 자율 주행용 보정 학습 시스템(100)의 동작을 설명하는 순서도이다. 도 2를 참고하면, 자율 주행 구동 프로세서(20)가 구동 데이터를 출력하면(S10), 주행 주체 선택부(40)는 자율 주행 모드 여부에 따라 주행 주체를 선택한다(S11). 자율 주행 모드인 경우 자율 주행 구동 프로세서(20)에 의하여 구동되고, 자율 주행 모드가 아닌 경우 인간 운전자(1)에 의하여 구동된다. 자율 주행 모드인 경우(S11에서"예"), 자율 주행 구동 프로세서(20)의 출력 값과 뉴로모픽 프로세서(30)의 출력 값의 합을 생성한다(S12). 여기서, 뉴로모픽 프로세서(30)의 출력은 자율 주행 구동 프로세서(20)의 구동 데이터와 인간 운전자(1)에 의한 구동 데이터 간의 차이에 기초하여 학습된 보정 값을 포함한다. 이후, 구동부(50)는 자율 주행 구동 프로세서(20)의 출력 값과 뉴로모픽 프로세서(30)의 출력 값에 기초하여 주행 구동한다(S14). 한편, 자율 주행 모드가 아닌 경우(S11에서"아니오"), 인간 운전자(1)에 의하여 생성되는 구동 데이터가 출력되고(S13), 구동부(50)는 이 구동 데이터에 기초하여 주행을 구동한다(S15). 한편, 뉴로모픽 프로세서는 인간 운전자(1)에 의하여 출력되는 구동 데이터와 자율 주행 구동 프로세서(20)로부터 출력되는 구동 데이터를 비교하고 그 차이 값에 기초하여 학습을 수행한다(S16).
도 3a 및 도 3b는 본 발명의 일 실시예에 따른 뉴로모픽 프로세서(30)의 구성도를 나타낸 도면이다. 도 3a 및 도 3b를 참고하면, 뉴로모픽 프로세서(30)는 군집 코딩부(31), 상태 공간 생성부(33), 시냅스 가중치 읽기/쓰기부(35), 운동 출력 생성부(37) 및 오차 생성부(39)를 포함한다. 군집 코딩부(31)는 센서(10)로부터 입력되는 센서 데이터(예컨대, 선행 차량과의 상대 속도, 선행 차량과의 상대적 거리, 차선과의 각도)를 다수의 뉴런 스파이크 출력 조합의 표현한다. 여기서, 각 뉴런은 특정 입력 정보에 대한 응답 분포를 갖는다. 상태 공간 생성부(33)는 센서(10)로부터 입력된 데이터의 각 속성 정보(예컨대, 거리, 속도, 각도)가 축이 되는 상태 공간을 생성한다. 상태 공간(state space)은 문제 해결 과정에서 초기 상태로부터 도달할 수 있는 모드 상태들의 집합 또는 문제의 해(解)가 될 가능성이 있는 모든 상태들의 집합을 말한다. 본 실시예에서, 상태 공간에서 특정 영역의 활성화 정도는 해당 뉴런의 스파이크 빈도로 나타낸다. 이후, 시냅스 가중치 읽기/쓰기부(35)는 상태 공간부(33)로부터 입력 정보에 대해 반응하는 뉴런과 연결된 시냅스 가중치를 읽어온다. 또한, 오차 생성부(39)로부터 생성되어 입력되는 오차 스파이크를 이용하여 시냅스 가중치를 수정하여 출력한다. 운동 출력 생성부(37)는 시냅스 가중치 읽기/쓰기부(35)에서 출력된 수정된 시냅스 가중치를 이용하여 자율 주행 구동에 필요한 운동 출력을 생성한다. 운동 출력으로는 액셀 및 브레이크 강도, 스티어링 휠 등이 될 수 있으며, 반드시 이에 한정되는 것은 아니다. 오차 생성부(39)는 운동 출력 생성부(37)에서 출력되는 운동 출력과 목표 값을 비교하고, 그 차이만큼 오차 스파이크를 생성하여 시냅스 가중치 읽기/쓰기부(35)로 피드백한다. 도 3b에 도시된 바와 같이, 운동 출력 생성부(37)로부터 출력되는 액셀 강도 및 스티어링 휠은 각각의 목표 값과 비교되고, 그 차이 값이 시냅스 가중치 읽기/쓰기부(35)로 피드백된다.
도 4는 본 발명의 일 실시예에 따른 시냅스 가중치 학습 알고리즘을 나타낸 순서도이다. 도 4를 참고하면, 뉴런 스파이크가 발생한 후(S41), 오차 스파이크가 발생하는 지 여부를 판단한다(S42). 오차 스파이크가 발생한 경우(S42에서"예"), 시냅스 가중치를 소정의 수식(())에 따라 하향 조정한다. 여기서, 뉴런 스파이크와 오차 스파이크가 발생한 시간 차를 라 하면, () 만큼 시냅스 가중치를 하향 조정하게 된다. 본 실시예에서, 소정의 수식(())이 시간의 함수로 표시되어 있으나, 반드시 시간의 함수일 필요는 없다. 따라서, 일정 상수 이거나, 다른 규칙에 따라 시냅스 가중치가 조정될 수 있다. 그 다음, 수정된 시냅스 가중치를 저장한다(S45). 만일, 오차 스파이크가 발생하지 않은 경우(S42에서"아니오"), 시냅스 가중치를 소정의 값( 따라 상향 조정한다. 여기서, 소정의 값( 은 상수일 수 있으며, 반드시 이에 한정되는 것은 아니다. 그 다음, 수정된 시냅스 가중치를 저장한다(S45).
도 5a 및 도 5b는 본 발명의 다른 실시예에 따른 뉴로모픽 프로세서(30)의 구성도를 나타낸 도면이다. 도 5a 및 도 5b를 참고하면, 뉴로모픽 프로세서(30)는 군집 코딩부(31), 상태 공간 생성부(33), 제1 시냅스 가중치 읽기/쓰기부(51), 억제 출력 생성부(52), 제2 시냅스 가중치 읽기/쓰기부(53), 운동 출력 생성부(37) 및 오차 생성부(39)를 포함한다. 여기서, 도 3a 및 도 3b의 뉴로모픽 프로세서(30)에 대한 설명 부분에서 기술한 구성요소와 동일 또는 유사한 구성 요소에 대해서는 그 설명을 생략하거나 간략하게 기술한다.
군집 코딩부(31)는 센서(10)로부터 입력되는 센서 데이터(예컨대, 선행 차량과의 상대 속도, 선행 차량과의 상대적 거리, 차선과의 각도)를 다수의 뉴런 스파이크 출력 조합의 표현한다. 여기서, 각 뉴런은 특정 입력 정보에 대한 응답 분포를 갖는다. 상태 공간 생성부(33)는 군집 코딩부(31)로부터 입력되는 뉴런 스파이크를 통하여 데이터의 각 속성 정보(예컨대, 거리, 속도, 각도)가 축이 되는 상태 공간을 생성한다. 이후, 제1 시냅스 가중치 읽기/쓰기부(51)는 상태 공간 생성부(33)로부터 입력 정보에 대해 반응하는 뉴런과 연결된 시냅스 가중치을 읽어온다. 또한, 상태 공간에서 발생한 뉴런 스파이크와 오차 생성부(39)로부터 생성되어 입력되는 오차 스파이크를 통하여 시냅스 가중치를 학습하고 시냅스 가중치를 수정하여 출력한다. 억제 출력 생성부(52)는 제1 시냅스 가중치 읽기/쓰기부(51)로부터 입력되는 수정된 시냅스 가중치를 이용하여, 상태 공간에서 활성화된 뉴런에 연결된 시냅스를 통하여 운동 출력을 억제하는 억제 스파이크를 출력한다. 제2 시냅스 가중치 읽기/쓰기부(53)는 군집 코딩부(31)에서 입력되는 뉴런 스파이크와 억제 출력 생성부(52)에서 입력되는 억제 출력을 통해 발생한 억제 스파이크를 이용하여 시냅스 가중치를 학습하고, 수정된 시냅스 가중치를 출력한다. 운동 출력 생성부(37)는 제2 시냅스 가중치 읽기/쓰기부(53)에서 출력된 수정된 시냅스 가중치를 이용하여 자율 주행 구동에 필요한 운동 출력을 생성한다. 운동 출력으로는 각도, 액셀 및 브레이크 강도 등이 될 수 있으나, 반드시 이에 한정되는 것은 아니다. 오차 생성부(39)는 운동 출력 생성부(37)에서 출력되는 운동 출력과 목표 값을 비교하고, 그 차이만큼 오차 스파이크를 생성하여 제1 시냅스 가중치 읽기/쓰기부(51)로 피드백한다. 도 5b에 도시된 바와 같이, 운동 출력 생성부(37)로부터 출력되는 액셀 강도는 소정의 목표 값과 비교되고, 그 차이 값이 제1 시냅스 가중치 읽기/쓰기부(51)로 피드백된다.
이상에서 본 발명의 다양한 실시예에 대해 설명하였지만, 이들 다양한 실시예는 반드시 단독으로 구현될 필요는 없고, 둘 이상의 실시예가 결합될 수도 있다. 또한, 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리 범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리 범위에 속하는 것이다.
Claims (18)
- 자율 주행 시스템에 있어서,
자율 주행 구동에 필요한 데이터를 수집하여 출력하는 센서와,
상기 센서로부터 입력되는 데이터에 기초하여 자율 주행 구동 데이터를 출력하는 제1 프로세서와,
상기 센서로부터 입력되는 데이터와, 상기 제1 프로세서로부터 입력되는 상기 자율 주행 구동 데이터 및 인간 운전자의 주행으로부터 입력되는 구동 데이터 사이의 차이에 기초하여 구동 데이터 조정 값을 출력하는 제2 프로세서와,
상기 제1 프로세서로부터 출력되는 상기 자율 주행 구동 데이터와, 상기 제2 프로세서로부터 출력되는 상기 구동 데이터 조정 값에 기초하여 주행을 구동하는 구동부를 포함하되,
상기 제1 프로세서로부터 출력되는 자율 주행 구동데이터와 인간 운전자의 주행으로부터 출력되는 구동 데이터의 차이가 상기 제2 프로세서로 피드백되는, 자율 주행 시스템.
- 제1항에 있어서, 상기 제1 프로세서로부터 출력되는 자율 주행 구동 데이터에 기초하여 구동할 지, 또는 인간 운전자 운행에 기초하여 구동할 지 여부를 결정하는 주행 주체 선택부를 더 포함하는, 자율 주행 시스템.
- 삭제
- 제1항에 있어서, 상기 제2 프로세서는
상기 센서로부터 입력되는 데이터를 다수의 뉴런 스파이크 출력으로 표현하는 코딩부와,
상기 코딩부의 출력에 기초하여 상태 공간을 생성하는 상태 공간 생성부와,
상기 상태 공간 생성부로부터 시냅스 가중치를 읽어오고, 오차 스파이크를 이용하여 상기 시냅스 가중치를 수정하여 출력하는 시냅스 가중치 처리부와,
상기 시냅스 가중치 처리부로부터 입력되는 수정된 시냅스 가중치에 기초하여 자율 주행 구동에 필요한 운동 출력을 생성하는 운동 출력 생성부와,
상기 운동 출력 생성부에서 출력되는 운동 출력 값을 소정의 목표 값과 비교하고, 그 차이에 기초한 오차 스파이크를 상기 시냅스 가중치 처리부로 피드백하는 오차 생성부
를 포함하는 자율 주행 시스템. - 제4항에 있어서, 상기 시냅스 가중치 처리부는 오차 스파이크가 발생한 경우, 상기 시냅스 가중치를 소정 값만큼 하향 조정하는, 자율 주행 시스템
- 제5항에 있어서, 상기 소정 값은 뉴런 스파이크의 발생 시간과 상기 오차 스파이크의 발생 시간 사이의 시간 차에 따라 변화하는, 자율 주행 시스템.
- 제4항에 있어서, 상기 시냅스 가중치 처리부는 오차 스파이크가 발생하지 않은 경우, 상기 시냅스 가중치를 소정 값만큼 상향 조정하는, 자율 주행 시스템.
- 제7항에 있어서, 상기 소정 값은 상수인 것인, 자율 주행 시스템.
- 제1항에 있어서, 상기 제2 프로세서는
상기 센서로부터 출력되는 데이터를 다수의 뉴런 스파이크 출력으로 표현하는 코딩부와,
상기 코딩부의 출력에 기초하여 상태 공간을 생성하는 상태 공간 생성부와,
상기 상태 공간 생성부로부터 시냅스 가중치를 읽어오고, 오차 스파이크를 이용하여 상기 시냅스 가중치를 수정하여 출력하는 제1 시냅스 가중치 처리부와,
상기 제1 시냅스 가중치 처리부로부터 입력되는 수정된 시냅스 가중치에 기초하여 운동 출력을 억제하는 억제 스파이크를 생성하는 억제 출력 생성부와,
상기 코딩부로부터 입력되는 뉴런 스파이크와 상기 억제 출력 생성부에서 출력되는 억제 스파이크를 이용하여 수정된 시냅스 가중치를 출력하는 제2 시냅스 가중치 처리부와,
상기 제2 시냅스 가중치 처리부로부터 입력되는 수정된 시냅스 가중치에 기초하여 자율 주행 구동에 필요한 운동 출력을 생성하는 운동 출력 생성부와,
상기 운동 출력 생성부에서 출력되는 운동 출력 값을 소정의 목표 값과 비교하고 그 차이에 기초한 오차 스파이크를 상기 제1 시냅스 가중치 처리부로 피드백하는 오차 생성부
를 포함하는 자율 주행 시스템. - 자율 주행을 위한 보정 학습 방법으로서,
자율 주행 구동 데이터를 출력하는 단계와,
자율 주행 모드 여부를 확인하는 단계와,
자율 주행 모드인 경우, 상기 자율 주행 구동 데이터와 구동 데이터 조정 값에 기초하여 주행을 구동하는 단계와,
자율 주행 모드가 아닌 경우, 인간 운전자에 의하여 입력되는 구동 데이터에 기초하여 주행을 구동하고, 인간 운전자에 의하여 입력되는 구동 데이터와 상기 자율 주행 구동 데이터 사이의 차이 값에 기초하여 보정 학습을 수행하는 단계를 포함하고,
인간 운전자에 의하여 입력되는 구동 데이터와 상기 자율 주행 구동 데이터 사이의 차이 값에 기초하여 오차 스파이크를 출력하는 단계를 더 포함하는, 자율 주행을 위한 보정 학습 방법. - 삭제
- 삭제
- 제10항에 있어서, 상기 구동 데이터 조정 값은 센서로부터 입력되는 데이터와, 상기 자율 주행 구동 데이터 및 인간 운전자의 주행으로부터 입력되는 구동 데이터 사이의 차이에 기초하여 결정되는, 자율 주행을 위한 보정 학습 방법.
- 제10항에 있어서, 상기 구동 데이터 조정 값은, 센서로부터 입력되는 데이터에 대한 뉴런 스파이크와, 오차 스파이크의 발생 여부에 따라 결정되는, 자율 주행을 위한 보정 학습 방법.
- 제14항에 있어서, 상기 오차 스파이크가 발생하는 경우, 시냅스 가중치를 소정 값만큼 하향 조정하는, 자율 주행을 위한 보정 학습 방법.
- 제15항에 있어서, 상기 소정 값은 뉴런 스파이크의 발생 시간과 상기 오차 스파이크의 발생 시간 사이의 시간 차에 따라 변화하는, 자율 주행을 위한 보정 학습 방법.
- 제14항에 있어서, 상기 오차 스파이크가 발생하지 않은 경우, 상기 시냅스 가중치를 소정 값만큼 상향 조정하는, 자율 주행을 위한 보정 학습 방법.
- 제17항에 있어서, 상기 소정 값은 상수인 것인, 자율 주행을 위한 보정 학습 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210171120A KR102653754B1 (ko) | 2021-12-02 | 2021-12-02 | 자율 주행용 뉴로모픽 프로세서 |
US18/073,146 US20230174100A1 (en) | 2021-12-02 | 2022-12-01 | Autonomous driving system and correction learning method for autonomous driving |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210171120A KR102653754B1 (ko) | 2021-12-02 | 2021-12-02 | 자율 주행용 뉴로모픽 프로세서 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230083056A KR20230083056A (ko) | 2023-06-09 |
KR102653754B1 true KR102653754B1 (ko) | 2024-04-03 |
Family
ID=86608961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210171120A KR102653754B1 (ko) | 2021-12-02 | 2021-12-02 | 자율 주행용 뉴로모픽 프로세서 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230174100A1 (ko) |
KR (1) | KR102653754B1 (ko) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015159341A1 (ja) | 2014-04-14 | 2015-10-22 | 三菱電機株式会社 | 運転支援装置および運転支援方法 |
JP2017013749A (ja) | 2015-07-06 | 2017-01-19 | トヨタ自動車株式会社 | 自動運転車両の制御装置 |
WO2018154995A1 (ja) * | 2017-02-22 | 2018-08-30 | ジヤトコ株式会社 | 車両制御装置及び車両制御方法 |
JP2018179031A (ja) | 2017-04-04 | 2018-11-15 | 株式会社デンソー | 制御装置 |
JP2019156232A (ja) | 2018-03-14 | 2019-09-19 | 本田技研工業株式会社 | 車両制御装置 |
JP2020044938A (ja) * | 2018-09-18 | 2020-03-26 | 本田技研工業株式会社 | 車両の制御システム及び車両の制御方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9098811B2 (en) * | 2012-06-04 | 2015-08-04 | Brain Corporation | Spiking neuron network apparatus and methods |
DE102016220201A1 (de) | 2016-10-17 | 2018-04-19 | Continental Automotive Gmbh | Gleichspannungswandler mit aktiver Rückflusssperre und Verfahren zum Betreiben eines Gleichspannungswandlers |
US10581888B1 (en) * | 2017-07-31 | 2020-03-03 | EMC IP Holding Company LLC | Classifying software scripts utilizing deep learning networks |
EP3782087A4 (en) * | 2018-04-17 | 2022-10-12 | HRL Laboratories, LLC | PROGRAMMING MODEL FOR NEUROMORPHIC BAYESIAN COMPILATOR |
US10955842B2 (en) | 2018-05-24 | 2021-03-23 | GM Global Technology Operations LLC | Control systems, control methods and controllers for an autonomous vehicle |
JP7035204B2 (ja) * | 2018-09-06 | 2022-03-14 | 本田技研工業株式会社 | 車両制御装置、自動運転車開発システム、車両制御方法、およびプログラム |
US12050982B1 (en) * | 2019-09-26 | 2024-07-30 | Reflex Arc, Llc | Delay spiking neural networks |
-
2021
- 2021-12-02 KR KR1020210171120A patent/KR102653754B1/ko active IP Right Grant
-
2022
- 2022-12-01 US US18/073,146 patent/US20230174100A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015159341A1 (ja) | 2014-04-14 | 2015-10-22 | 三菱電機株式会社 | 運転支援装置および運転支援方法 |
JP2017013749A (ja) | 2015-07-06 | 2017-01-19 | トヨタ自動車株式会社 | 自動運転車両の制御装置 |
WO2018154995A1 (ja) * | 2017-02-22 | 2018-08-30 | ジヤトコ株式会社 | 車両制御装置及び車両制御方法 |
JP2018179031A (ja) | 2017-04-04 | 2018-11-15 | 株式会社デンソー | 制御装置 |
JP2019156232A (ja) | 2018-03-14 | 2019-09-19 | 本田技研工業株式会社 | 車両制御装置 |
JP2020044938A (ja) * | 2018-09-18 | 2020-03-26 | 本田技研工業株式会社 | 車両の制御システム及び車両の制御方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20230083056A (ko) | 2023-06-09 |
US20230174100A1 (en) | 2023-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sutton | Adapting bias by gradient descent: An incremental version of delta-bar-delta | |
Smart | Making reinforcement learning work on real robots | |
Cutler et al. | Autonomous drifting using simulation-aided reinforcement learning | |
Tan et al. | Integrating temporal difference methods and self-organizing neural networks for reinforcement learning with delayed evaluative feedback | |
KR101578333B1 (ko) | 적응적 거동의 신경 시스템 | |
US11126190B2 (en) | Learning systems and methods | |
US11347221B2 (en) | Artificial neural networks having competitive reward modulated spike time dependent plasticity and methods of training the same | |
Mahadevan | Enhancing transfer in reinforcement learning by building stochastic models of robot actions | |
Torresen | Scalable evolvable hardware applied to road image recognition | |
Michaelis et al. | Robust trajectory generation for robotic control on the neuromorphic research chip Loihi | |
Al Iqbal | Empirical learning aided by weak domain knowledge in the form of feature importance | |
Williams et al. | Locally weighted regression pseudo-rehearsal for online learning of vehicle dynamics | |
KR102653754B1 (ko) | 자율 주행용 뉴로모픽 프로세서 | |
Dale et al. | Using artificial evolution and selection to model insect navigation | |
KR102191346B1 (ko) | 버스트 스파이크에 기반한 스파이킹 신경망 생성 방법 및 스파이킹 신경망 기반 추론 장치 | |
Millington | Associative reinforcement learning for optimal control | |
Florian | Biologically inspired neural networks for the control of embodied agents | |
US20220351035A1 (en) | Apparatus and method for neural network learning using synapse based on multi element | |
Plagianakos et al. | Evolutionary training of hardware realizable multilayer perceptrons | |
Giraldo et al. | Sailboat navigation control system based on spiking neural networks | |
Kolb et al. | Learning to Request Guidance in Emergent Communication | |
Nadin | Anticipatory computing: from a high-level theory to hybrid computing implementations | |
Kotsiantis et al. | Local voting of weak classifiers | |
Bahr et al. | Development and Validation of Active Roll Control based on Actor-critic Neural Network Reinforcement Learning. | |
D'Aiuto | INVERSE REINFORCEMENT LEARNING FOR ADAS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |