KR102653754B1 - 자율 주행용 뉴로모픽 프로세서 - Google Patents

자율 주행용 뉴로모픽 프로세서 Download PDF

Info

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
Application number
KR1020210171120A
Other languages
English (en)
Other versions
KR20230083056A (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 한국과학기술연구원
Priority to KR1020210171120A priority Critical patent/KR102653754B1/ko
Priority to US18/073,146 priority patent/US20230174100A1/en
Publication of KR20230083056A publication Critical patent/KR20230083056A/ko
Application granted granted Critical
Publication of KR102653754B1 publication Critical patent/KR102653754B1/ko

Links

Classifications

    • 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
    • B60W60/001Planning or execution of driving tasks
    • 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
    • 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/08Estimation 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
    • 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
    • B60W50/00Details 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/04Monitoring the functioning of the control system
    • 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
    • B60W60/005Handover processes
    • B60W60/0051Handover processes from occupants to vehicle
    • 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
    • B60W60/005Handover processes
    • B60W60/0053Handover processes from vehicle to occupant
    • 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
    • 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
    • B60W50/00Details 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/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • 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
    • B60W50/00Details 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/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0008Feedback, closed loop systems or details of feedback error signal
    • 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
    • B60W50/00Details 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/0001Details of the control system
    • B60W2050/0019Control system elements or transfer functions
    • B60W2050/0022Gains, weighting coefficients or weighting functions
    • 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
    • B60W50/00Details 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/0062Adapting control system settings
    • B60W2050/007Switching between manual and automatic parameter input, and vice versa
    • 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
    • B60W2540/00Input parameters relating to occupants
    • B60W2540/30Driving 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

자율 주행용 뉴로모픽 프로세서 {NEUROMORPHIC PROCESSOR FOR AUTONOMOUS DRIVING}
본 발명은 자율 주행용 뉴로모픽 프로세서에 관한 것으로서, 특히 자율주행 보정 학습을 위한 뉴로모픽 프로세서에 관한 것이다.
최근 딥 러닝(Deep Learning) 기술은 다양한 분야의 작업에서 놀라운 성능을 보여주며 엄청난 관심을 모으고 있다. 특히, 인간의 두뇌를 모방한 뉴로모픽 컴퓨팅(Neuromorphic Computing) 기술은 두뇌의 저전력 병렬 신호 처리 방식을 모방한 프로세서를 개발하여 기존 폰노이만 기반 컴퓨팅이 갖는 메모리 접근 병목 현상의 한계를 극복하였다. 다만, 현재까지 개발된 대부분의 뉴로모픽 프로세서는 대규모 스파이킹 신경망 알고리즘 연구를 위한 고속 시뮬레이터로 활용되는 데 그치는 경향이 있다. 최근에는 뉴로모픽 컴퓨팅 기술을 실제 생활에 적용할 수 있는 다양한 어플리케이션 개발 움직임이 있다.
한편, 인공 지능의 대표적인 활용 어플리케이션으로 자율 주행이 대표적으로 부각되고 있다. 자율 주행의 경우, 그 구동 조절이 숙련된 인간의 운전 수준만큼 고도화되기 위해서는 다중 상태 공간과 행동 공간 사이에 복잡하고 비선행적인 매핑(mapping)을 구현해야 하는 과제가 있다.
한국공개특허공보 10-2018-0109190 미국등록특허공보 US 10,955,842
본 발명이 해결하고자 하는 과제는 인간의 운전 수준만큼 고도화된 자율 주행 구동을 구현하기 위하여 매 상황 마다 숙련된 인간이 실행하는 구동 데이터(예컨대, 액셀 및 브레이크 강도, 휠 강 각도 등)와 자율 주행 구동 프로세서의 구동 데이터 간의 차이를 뉴로모픽 프로세서가 실시간으로 학습하도록 구현하는 데 있다.
또한, 본 발명이 해결하고자 하는 다른 과제는 인간의 숙련된 제어 능력(예컨대, 운전 능력)을 자율 구동 조절 프로세서가 실시간 학습하도록 하여 그 제어 능력을 전수하도록 구현하는 데 있다.
본 발명의 일 실시예에 따른 자율 주행 시스템은 자율 주행 구동에 필요한 데이터를 수집하여 출력하는 센서와 상기 센서로부터 입력되는 데이터에 기초하여 자율 주행 구동 데이터를 출력하는 제1 프로세서와, 상기 센서로부터 입력되는 데이터와 상기 제1 프로세서로부터 입력되는 상기 자율 주행 구동 데이터 및 인간 운전자의 주행으로부터 입력되는 구동 데이터 사이의 차이에 기초하여 구동 데이터 조정 값을 출력하는 제2 프로세서와, 상기 제1 프로세서로부터 출력되는 상기 자율 주행 구동 데이터와 상기 제2 프로세서로부터 출력되는 상기 구동 데이터 조정 값에 기초하여 주행을 구동하는 구동부를 포함한다.
여기서, 상기 자율 주행 시스템은 상기 제1 프로세서로부터 출력되는 자율 주행 구동 데이터에 기초하여 구동할 지, 또는 인간 운전자 운행에 기초하여 구동할 지 여부를 결정하는 주행 주체 선택부를 더 포함한다.
여기서, 상기 제1 프로세서로부터 출력되는 자율 주행 구동데이터와 인간 운전자의 주행으로부터 출력되는 구동 데이터의 차이가 상기 제2 프로세서로 피드백된다.
여기서, 상기 제2 프로세서는 상기 센서로부터 입력되는 데이터를 다수의 뉴런 스파이크 출력으로 표현하는 코딩부와, 상기 코딩부의 출력에 기초하여 상태 공간을 생성하는 상태 공간 생성부와, 상기 상태 공간 생성부로부터 시냅스 가중치를 읽어오고, 오차 스파이크를 이용하여 상기 시냅스 가중치를 수정하여 출력하는 시냅스 가중치 처리부와, 상기 시냅스 가중치 처리부로부터 입력되는 수정된 시냅스 가중치에 기초하여 자율 주행 구동에 필요한 운동 출력을 생성하는 운동 출력 생성부와, 상기 운동 출력 생성부에서 출력되는 운동 출력 값을 소정의 목표 값과 비교하고, 그 차이에 기초한 오차 스파이크를 상기 시냅스 가중치 처리부로 피드백하는 오차 생성부를 포함한다.
여기서, 상기 시냅스 가중치 처리부는 오차 스파이크가 발생한 경우, 상기 시냅스 가중치를 소정 값만큼 하향 조정한다. 상기 소정 값은 뉴런 스파이크의 발생 시간과 상기 오차 스파이크의 발생 시간 사이의 시간 차에 따라 변화할 수 있다.
여기서, 상기 시냅스 가중치 처리부는 오차 스파이크가 발생하지 않은 경우, 상기 시냅스 가중치를 소정 값만큼 상향 조정한다. 상기 소정 값은 상수일 수 있다.
여기서, 상기 제2 프로세서는 상기 센서로부터 출력되는 데이터를 다수의 뉴런 스파이크 출력으로 표현하는 코딩부와, 상기 코딩부의 출력에 기초하여 상태 공간을 생성하는 상태 공간 생성부와, 상기 상태 공간 생성부로부터 시냅스 가중치를 읽어오고, 오차 스파이크를 이용하여 상기 시냅스 가중치를 수정하여 출력하는 제1 시냅스 가중치 처리부와, 상기 제1 시냅스 가중치 처리부로부터 입력되는 수정된 시냅스 가중치에 기초하여 운동 출력을 억제하는 억제 스파이크를 생성하는 억제 출력 생성부와, 상기 코딩부로부터 입력되는 뉴런 스파이크와 상기 억제 출력 생성부에서 출력되는 억제 스파이크를 이용하여 수정된 시냅스 가중치를 출력하는 제2 시냅스 가중치 처리부와, 상기 제2 시냅스 가중치 처리부로부터 입력되는 수정된 시냅스 가중치에 기초하여 자율 주행 구동에 필요한 운동 출력을 생성하는 운동 출력 생성부와, 상기 운동 출력 생성부에서 출력되는 운동 출력 값을 소정의 목표 값과 비교하고 그 차이에 기초한 오차 스파이크를 상기 제1 시냅스 가중치 처리부로 피드백하는 오차 생성부를 포함한다.
본 발명의 다른 실시예에 따른 자율 주행을 위한 보정 학습 방법은, 자율 주행 구동 데이터를 출력하는 단계와, 자율 주행 모드 여부를 확인하는 단계와, 자율 주행 모드인 경우, 상기 자율 주행 구동 데이터와 구동 데이터 조정 값에 기초하여 주행을 구동하는 단계와, 자율 주행 모드가 아닌 경우, 인간 운전자에 의하여 입력되는 구동 데이터에 기초하여 주행을 구동하는 단계를 포함한다.
여기서, 자율 주행 모드가 아닌 경우, 인간 운전자에 의하여 입력되는 구동 데이터와 상기 자율 주행 구동 데이터 사이의 차이 값에 기초하여 보정 학습을 수행하는 단계를 더 포함한다.
여기서, 인간 운전자에 의하여 입력되는 구동 데이터와 상기 자율 주행 구동 데이터 사이의 차이 값에 기초하여 오차 스파이크를 출력하는 단계를 더 포함한다.
여기서, 상기 구동 데이터 조정 값은 센서로부터 입력되는 데이터와, 상기 자율 주행 구동 데이터 및 인간 운전자의 주행으로부터 입력되는 구동 데이터 사이의 차이에 기초하여 결정된다.
여기서, 상기 구동 데이터 조정 값은, 센서로부터 입력되는 데이터에 대한 뉴런 스파이크와, 오차 스파이크의 발생 여부에 따라 결정된다.
여기서, 상기 오차 스파이크가 발생하는 경우, 시냅스 가중치를 소정 값만큼 하향 조정한다.
여기서, 상기 시냅스 가중치 처리부는 오차 스파이크가 발생하지 않은 경우, 상기 시냅스 가중치를 소정 값만큼 상향 조정한다.
본 발명에 따르면, 숙련된 인간이 실행하는 구동 데이터와 자율 주행 프로세서의 구동 데이터 간의 차이를 뉴로모픽 프로세서가 실시간으로 학습하도록 하여 인간의 운전 수준만큼 고도화된 자율 주행 구동을 구현할 수 있게 된다. 또한, 인간의 숙련된 제어 능력을 자율 구동 조절 프로세서가 실시간 학습하도록 하여 그 제어 능력을 전수받을 수 있게 된다.
도 1은 본 발명의 일 실시예에 따른 자율 주행용 보정 학습 시스템의 블록도이다.
도 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 프로세서와,
    상기 센서로부터 입력되는 데이터와, 상기 제1 프로세서로부터 입력되는 상기 자율 주행 구동 데이터 및 인간 운전자의 주행으로부터 입력되는 구동 데이터 사이의 차이에 기초하여 구동 데이터 조정 값을 출력하는 제2 프로세서와,
    상기 제1 프로세서로부터 출력되는 상기 자율 주행 구동 데이터와, 상기 제2 프로세서로부터 출력되는 상기 구동 데이터 조정 값에 기초하여 주행을 구동하는 구동부를 포함하되,
    상기 제1 프로세서로부터 출력되는 자율 주행 구동데이터와 인간 운전자의 주행으로부터 출력되는 구동 데이터의 차이가 상기 제2 프로세서로 피드백되는, 자율 주행 시스템.
  2. 제1항에 있어서, 상기 제1 프로세서로부터 출력되는 자율 주행 구동 데이터에 기초하여 구동할 지, 또는 인간 운전자 운행에 기초하여 구동할 지 여부를 결정하는 주행 주체 선택부를 더 포함하는, 자율 주행 시스템.
  3. 삭제
  4. 제1항에 있어서, 상기 제2 프로세서는
    상기 센서로부터 입력되는 데이터를 다수의 뉴런 스파이크 출력으로 표현하는 코딩부와,
    상기 코딩부의 출력에 기초하여 상태 공간을 생성하는 상태 공간 생성부와,
    상기 상태 공간 생성부로부터 시냅스 가중치를 읽어오고, 오차 스파이크를 이용하여 상기 시냅스 가중치를 수정하여 출력하는 시냅스 가중치 처리부와,
    상기 시냅스 가중치 처리부로부터 입력되는 수정된 시냅스 가중치에 기초하여 자율 주행 구동에 필요한 운동 출력을 생성하는 운동 출력 생성부와,
    상기 운동 출력 생성부에서 출력되는 운동 출력 값을 소정의 목표 값과 비교하고, 그 차이에 기초한 오차 스파이크를 상기 시냅스 가중치 처리부로 피드백하는 오차 생성부
    를 포함하는 자율 주행 시스템.
  5. 제4항에 있어서, 상기 시냅스 가중치 처리부는 오차 스파이크가 발생한 경우, 상기 시냅스 가중치를 소정 값만큼 하향 조정하는, 자율 주행 시스템
  6. 제5항에 있어서, 상기 소정 값은 뉴런 스파이크의 발생 시간과 상기 오차 스파이크의 발생 시간 사이의 시간 차에 따라 변화하는, 자율 주행 시스템.
  7. 제4항에 있어서, 상기 시냅스 가중치 처리부는 오차 스파이크가 발생하지 않은 경우, 상기 시냅스 가중치를 소정 값만큼 상향 조정하는, 자율 주행 시스템.
  8. 제7항에 있어서, 상기 소정 값은 상수인 것인, 자율 주행 시스템.
  9. 제1항에 있어서, 상기 제2 프로세서는
    상기 센서로부터 출력되는 데이터를 다수의 뉴런 스파이크 출력으로 표현하는 코딩부와,
    상기 코딩부의 출력에 기초하여 상태 공간을 생성하는 상태 공간 생성부와,
    상기 상태 공간 생성부로부터 시냅스 가중치를 읽어오고, 오차 스파이크를 이용하여 상기 시냅스 가중치를 수정하여 출력하는 제1 시냅스 가중치 처리부와,
    상기 제1 시냅스 가중치 처리부로부터 입력되는 수정된 시냅스 가중치에 기초하여 운동 출력을 억제하는 억제 스파이크를 생성하는 억제 출력 생성부와,
    상기 코딩부로부터 입력되는 뉴런 스파이크와 상기 억제 출력 생성부에서 출력되는 억제 스파이크를 이용하여 수정된 시냅스 가중치를 출력하는 제2 시냅스 가중치 처리부와,
    상기 제2 시냅스 가중치 처리부로부터 입력되는 수정된 시냅스 가중치에 기초하여 자율 주행 구동에 필요한 운동 출력을 생성하는 운동 출력 생성부와,
    상기 운동 출력 생성부에서 출력되는 운동 출력 값을 소정의 목표 값과 비교하고 그 차이에 기초한 오차 스파이크를 상기 제1 시냅스 가중치 처리부로 피드백하는 오차 생성부
    를 포함하는 자율 주행 시스템.
  10. 자율 주행을 위한 보정 학습 방법으로서,
    자율 주행 구동 데이터를 출력하는 단계와,
    자율 주행 모드 여부를 확인하는 단계와,
    자율 주행 모드인 경우, 상기 자율 주행 구동 데이터와 구동 데이터 조정 값에 기초하여 주행을 구동하는 단계와,
    자율 주행 모드가 아닌 경우, 인간 운전자에 의하여 입력되는 구동 데이터에 기초하여 주행을 구동하고, 인간 운전자에 의하여 입력되는 구동 데이터와 상기 자율 주행 구동 데이터 사이의 차이 값에 기초하여 보정 학습을 수행하는 단계를 포함하고,
    인간 운전자에 의하여 입력되는 구동 데이터와 상기 자율 주행 구동 데이터 사이의 차이 값에 기초하여 오차 스파이크를 출력하는 단계를 더 포함하는, 자율 주행을 위한 보정 학습 방법.
  11. 삭제
  12. 삭제
  13. 제10항에 있어서, 상기 구동 데이터 조정 값은 센서로부터 입력되는 데이터와, 상기 자율 주행 구동 데이터 및 인간 운전자의 주행으로부터 입력되는 구동 데이터 사이의 차이에 기초하여 결정되는, 자율 주행을 위한 보정 학습 방법.
  14. 제10항에 있어서, 상기 구동 데이터 조정 값은, 센서로부터 입력되는 데이터에 대한 뉴런 스파이크와, 오차 스파이크의 발생 여부에 따라 결정되는, 자율 주행을 위한 보정 학습 방법.
  15. 제14항에 있어서, 상기 오차 스파이크가 발생하는 경우, 시냅스 가중치를 소정 값만큼 하향 조정하는, 자율 주행을 위한 보정 학습 방법.
  16. 제15항에 있어서, 상기 소정 값은 뉴런 스파이크의 발생 시간과 상기 오차 스파이크의 발생 시간 사이의 시간 차에 따라 변화하는, 자율 주행을 위한 보정 학습 방법.
  17. 제14항에 있어서, 상기 오차 스파이크가 발생하지 않은 경우, 상기 시냅스 가중치를 소정 값만큼 상향 조정하는, 자율 주행을 위한 보정 학습 방법.
  18. 제17항에 있어서, 상기 소정 값은 상수인 것인, 자율 주행을 위한 보정 학습 방법.
KR1020210171120A 2021-12-02 2021-12-02 자율 주행용 뉴로모픽 프로세서 KR102653754B1 (ko)

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)

* Cited by examiner, † Cited by third party
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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016220201A1 (de) 2016-10-17 2018-04-19 Continental Automotive Gmbh Gleichspannungswandler mit aktiver Rückflusssperre und Verfahren zum Betreiben eines Gleichspannungswandlers
US10955842B2 (en) 2018-05-24 2021-03-23 GM Global Technology Operations LLC Control systems, control methods and controllers for an autonomous vehicle

Patent Citations (6)

* Cited by examiner, † Cited by third party
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
US20230174100A1 (en) 2023-06-08
KR20230083056A (ko) 2023-06-09

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
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
CN112347923A (zh) 一种基于对抗生成网络的路侧端行人轨迹预测算法
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
KR102653754B1 (ko) 자율 주행용 뉴로모픽 프로세서
Williams et al. Locally weighted regression pseudo-rehearsal for online learning of vehicle dynamics
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
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
Heikkonen et al. Self-organization and autonomous robots
Dubey et al. Connecting context-specific adaptation in humans to meta-learning
Bahr et al. Development and Validation of Active Roll Control based on Actor-critic Neural Network Reinforcement Learning.
Allegra INVERSE REINFORCEMENT LEARNING FOR AUTONOMOUS DRIVING
D'Aiuto INVERSE REINFORCEMENT LEARNING FOR ADAS
Gepperth Incremental learning with a homeostatic self-organizing neural model

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right