KR102622243B1 - 리스크 척도를 나타내는 파라미터에 기반하여 훈련된 모델을 사용하여, 주어진 상황에 대한 디바이스의 행동을 결정하는 방법 및 시스템 - Google Patents

리스크 척도를 나타내는 파라미터에 기반하여 훈련된 모델을 사용하여, 주어진 상황에 대한 디바이스의 행동을 결정하는 방법 및 시스템 Download PDF

Info

Publication number
KR102622243B1
KR102622243B1 KR1020200181547A KR20200181547A KR102622243B1 KR 102622243 B1 KR102622243 B1 KR 102622243B1 KR 1020200181547 A KR1020200181547 A KR 1020200181547A KR 20200181547 A KR20200181547 A KR 20200181547A KR 102622243 B1 KR102622243 B1 KR 102622243B1
Authority
KR
South Korea
Prior art keywords
risk
model
behavior
situation
rewards
Prior art date
Application number
KR1020200181547A
Other languages
English (en)
Other versions
KR20220090732A (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 KR1020200181547A priority Critical patent/KR102622243B1/ko
Priority to JP2021171002A priority patent/JP7297842B2/ja
Priority to US17/518,695 priority patent/US20220198225A1/en
Publication of KR20220090732A publication Critical patent/KR20220090732A/ko
Priority to KR1020240000735A priority patent/KR20240008386A/ko
Application granted granted Critical
Publication of KR102622243B1 publication Critical patent/KR102622243B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/092Reinforcement learning
    • 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
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0251Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
    • 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
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Multimedia (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Game Theory and Decision Science (AREA)
  • Electromagnetism (AREA)
  • Business, Economics & Management (AREA)

Abstract

디바이스의 제어와 연관된 리스크 척도(risk-measure)를 나타내는 파라미터를 사용하여 상황에 대한 디바이스의 행동에 따른 보상의 분포를 학습한 학습 모델에 대해, 환경의 특성을 고려한 리스크 척도를 나타내는 파라미터를 설정하고, 설정된 파라미터에 기반하여, 해당 환경에서의 디바이스의 제어 시 주어진 상황에 따른 디바이스의 행동을 결정하는 방법이 제공된다. 구현된 학습 모델에 대해서는, 환경의 특성에 따라 리스크 척도를 나타내는 파라미터가 상이하게 설정될 수 있다.

Description

리스크 척도를 나타내는 파라미터에 기반하여 훈련된 모델을 사용하여, 주어진 상황에 대한 디바이스의 행동을 결정하는 방법 및 시스템{METHOD AND SYSTEM FOR DETERMINING ACTION OF DEVICE FOR GIVEN STATE USING MODEL TRAINED BASED ON RISK MEASURE PARAMETER}
아래의 설명은 상황에 따른 디바이스의 행동을 결정하는 방법에 관한 것으로, 디바이스의 제어와 연관된 리스크 척도(risk-measure)를 나타내는 파라미터를 사용하여 디바이스의 행동에 따른 보상의 분포를 학습한 모델을 통해, 상황에 따른 디바이스의 행동을 결정하는 방법과 해당 모델을 학습시키는 방법에 관한 것이다.
강화 학습(Reinforcement Learning)은 기계 학습(Machine Learning)의 일종으로, 주어진 상황(또는 상태)(state)에 대해 최적의 행동(action)을 선택하도록 하는 학습 방법이다. 강화 학습의 대상이 되는 컴퓨터 프로그램은 에이전트(agent)라고 명명할 수 있다. 에이전트는 주어진 상황에 대해 자신이 취할 행동을 나타내는 폴리시(정책)(policy)을 수립하며, 최대의 보상을 얻을 수 있도록 하는 폴리시를 수립하기 위해 모델을 학습시킬 수 있다. 이러한 강화 학습은, 자율주행 차량이나 자율주행 로봇을 제어하기 위한 알고리즘을 구현하기 위해 사용될 수 있다.
예를 들어, 한국 등록특허 제10-1771643호(등록일 2017년 08월 21일)에는 절대 좌표를 인식하여 목적지까지 자동으로 이동할 수 있는 자율주행 로봇 및 이의 네비게이션 방법이 개시되어 있다.
상기에서 설명된 정보는 단지 이해를 돕기 위한 것이며, 종래 기술의 일부를 형성하지 않는 내용을 포함할 수 있다.
디바이스의 제어와 연관된 리스크 척도를 나타내는 파라미터를 사용하여, 상황에 대한 디바이스의 행동에 따른 보상의 분포를 학습시키는, 모델 학습 방법을 제공할 수 있다.
리스크 척도를 나타내는 파라미터를 사용하여 상황에 대한 디바이스의 행동에 따른 보상의 분포를 학습한 학습 모델에 대해, 환경의 특성을 고려한 리스크 척도를 나타내는 파라미터를 설정하여, 해당 환경에서의 디바이스의 제어 시 주어진 상황에 따른 디바이스의 행동을 결정하는 방법을 제공할 수 있다.
일 측면에 따르면, 컴퓨터 시스템에서 실행되는, 상황에 따른 디바이스의 행동을 결정하는 방법에 있어서, 상기 디바이스의 제어와 연관된 리스크 척도(risk-measure)를 나타내는 파라미터를 사용하여 상황에 대한 상기 디바이스의 행동에 따른 보상의 분포를 학습한 학습 모델에 대해, 상기 디바이스가 제어되는 환경에 대한 상기 리스크 척도를 나타내는 파라미터를 설정하는 단계, 상기 설정된 파라미터에 기반하여, 상기 환경에서의 상기 디바이스의 제어 시 주어진 상황에 따른 상기 디바이스의 행동을 결정하는 단계를 포함하고, 상기 학습 모델에 대해서는, 상기 환경의 특성에 따라 상기 리스크 척도를 나타내는 파라미터가 상이하게 설정 가능한, 상황에 따른 디바이스의 행동을 결정하는 방법이 제공된다.
상기 디바이스의 행동을 결정하는 단계는, 상기 설정된 리스크 척도를 나타내는 파라미터의 값 또는 상기 파라미터의 값이 나타내는 범위에 따라, 상기 주어진 상황에 대해 리스크를 더 회피하거나 또는 리스크를 더 추구하도록 상기 디바이스의 행동을 결정할 수 있다.
상기 디바이스는 자율주행하는 로봇이고, 상기 디바이스의 행동을 결정하는 단계는, 상기 설정된 리스크 척도를 나타내는 파라미터의 값이 소정의 값 이상이거나 또는 상기 파라미터의 값이 소정의 범위 이상을 나타낼 경우, 리스크를 더 추구하도록 하는 상기 로봇의 행동으로서 상기 로봇의 직진 또는 상기 로봇의 가속을 결정할 수 있다.
상기 학습 모델은, 분위수 회귀 분석(quantile regression) 방법을 사용하여, 상황에 대한 상기 디바이스의 행동에 따라 획득될 수 있는 보상들의 분포를 학습한 것일 수 있다.
상기 학습 모델은, 소정의 제1 범위에 속하는 제1 파라미터 값들에 대응하는 상기 보상들의 값들을 학습하되, 상기 제1 범위에 대응하는 제2 범위에 속하는 상기 리스크 척도를 나타내는 파라미터를 샘플링하여, 상기 보상들의 분포 내에서, 상기 샘플링된 리스크 척도를 나타내는 파라미터에 대응하는 보상의 값을 함께 학습하고, 상기 제1 파라미터의 값들 중 최소값은 상기 보상들의 값들 중 최소값에 대응하고, 상기 제1 파라미터의 값들 중 최대값은 상기 보상들의 값들 중 최대값에 대응할 수 있다.
상기 제1 범위는 0~1이고, 상기 제2 범위는 0~1이고, 상기 학습 모델의 학습 시에 상기 제2 범위에 속하는 상기 리스크 척도를 나타내는 파라미터는 랜덤으로 샘플링될 수 있다.
상기 제1 파라미터 값들의 각각은 백분율 위치를 나타내고, 상기 제1 파라미터 값들의 각각은 해당하는 백분율 위치의 상기 보상들의 값에 대응할 수 있다.
상기 학습 모델은, 상황에 대한 상기 디바이스의 행동을 예측하기 위한 제1 모델 및 상기 예측된 행동에 따른 보상을 예측하기 위한 제2 모델을 포함하고, 상기 제1 모델 및 상기 제2 모델 각각은 상기 리스크 척도를 나타내는 파라미터를 사용하여 학습된 것이고, 상기 제1 모델은 상기 제2 모델로부터 예측된 보상이 최대가 되는 행동을 상기 디바이스의 다음 행동으로서 예측하도록 학습될 수 있다.
상기 디바이스는 자율주행하는 로봇이고, 상기 제1 모델 및 상기 제2 모델은, 상기 로봇의 주위의 장애물의 위치, 상기 로봇이 이동할 경로, 및 상기 로봇의 속도에 기반하여, 상기 디바이스의 행동 및 상기 보상을 각각 예측할 수 있다.
상기 학습 모델은, 상황에 대한 상기 디바이스의 행동에 따른 보상의 추정을 반복함으로써, 상기 보상의 분포를 학습하고, 각 반복은 상기 디바이스의 출발지로부터 목적지로의 이동을 나타내는 각 에피소드에 대한 학습 및 상기 학습 모델의 업데이트를 포함하고, 상기 각 에피소드가 시작될 때, 상기 리스크 척도를 나타내는 파라미터가 샘플링되고, 샘플링된 상기 리스크 척도를 나타내는 파라미터는 상기 각 에피소드의 종료 시까지 고정될 수 있다.
상기 학습 모델의 업데이트는, 버퍼에 저장된 샘플링된 상기 리스크 척도를 나타내는 파라미터를 사용하여 수행되거나, 상기 리스크 척도를 나타내는 파라미터를 리샘플링하여, 리샘플링된 상기 리스크 척도를 나타내는 파라미터를 사용하여 수행될 수 있다.
상기 리스크 척도(risk-measure)를 나타내는 파라미터는, CVaR (Conditional Value-at-Risk) 리스크 척도를 나타내는 파라미터로서 0 초과 1 이하의 범위의 수 이거나, 멱법칙(power-law) 리스크 척도로서 0 미만의 범위의 수일 수 있다.
상기 디바이스는 자율주행하는 로봇이고, 상기 리스크 척도를 나타내는 파라미터를 설정하는 단계는, 상기 환경에서의 상기 로봇의 자율주행 동안, 사용자에 의해 요청된 값에 기반하여, 상기 학습 모델에 상기 리스크 척도를 나타내는 파라미터를 설정할 수 있다.
다른 일 측면에 있어서, 컴퓨터 시스템에 있어서, 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 디바이스의 제어와 연관된 리스크 척도(risk-measure)를 나타내는 파라미터를 사용하여 상황에 대한 상기 디바이스의 행동에 따른 보상의 분포를 학습한 학습 모델에 대해, 상기 디바이스가 제어되는 환경에 대한 상기 리스크 척도를 나타내는 파라미터를 설정하고, 상기 설정된 파라미터에 기반하여, 상기 환경에서의 상기 디바이스의 제어 시, 주어진 상황에 따른 상기 디바이스의 행동을 결정하고, 상기 학습 모델에 대해서는, 상기 환경의 특성에 따라 상기 리스크 척도를 나타내는 파라미터가 상이하게 설정 가능한, 컴퓨터 시스템이 제공된다.
또 다른 일 측면에 있어서, 컴퓨터 시스템에서 실행되는, 상황에 따른 디바이스의 행동을 결정하기 위해 사용되는 모델을 학습시키는 방법에 있어서,상기 모델에, 상기 디바이스의 제어와 연관된 리스크 척도(risk-measure)를 나타내는 파라미터를 사용하여, 상황에 대한 상기 디바이스의 행동에 따른 보상의 분포를 학습시키는 단계를 포함하고, 학습된 상기 모델에 대해서는, 환경의 특성에 따라 상기 리스크 척도를 나타내는 파라미터가 상이하게 설정 가능하고, 학습된 상기 모델에 상기 디바이스가 제어되는 환경에 대한 상기 리스크 척도를 나타내는 파라미터가 설정됨에 따라, 상기 모델을 통해, 상기 설정된 파라미터에 기반하여, 상기 환경에서의 상기 디바이스의 제어 시 주어진 상황에 따른 상기 디바이스의 행동이 결정될 수 있다. 되는, 모델을 학습시키는 방법.
상기 학습시키는 단계는, 상기 모델에, 분위수 회귀 분석(quantile regression) 방법을 사용하여, 상황에 대한 상기 디바이스의 행동에 따라 획득될 수 있는 보상들의 분포를 학습시킬 수 있다.
상기 학습시키는 단계는, 상기 모델에, 소정의 제1 범위에 속하는 제1 파라미터 값들에 대응하는 상기 보상들의 값들을 학습시키되, 상기 제1 범위에 대응하는 제2 범위에 속하는 상기 리스크 척도를 나타내는 파라미터를 샘플링하여, 상기 보상들의 분포 내에서, 상기 샘플링된 리스크 척도를 나타내는 파라미터에 대응하는 보상의 값을 함께 학습시키고, 상기 제1 파라미터의 값들 중 최소값은 상기 보상들의 값들 중 최소값에 대응하고, 상기 제1 파라미터의 값들 중 최대값은 상기 보상들의 값들 중 최대값에 대응할 수 있다.
상기 모델은, 상황에 대한 상기 디바이스의 행동을 예측하기 위한 제1 모델 및 상기 예측된 행동에 따른 보상을 예측하기 위한 제2 모델을 포함하고, 상기 제1 모델 및 상기 제2 모델 각각은 상기 리스크 척도를 나타내는 파라미터를 사용하여 학습된 것이고, 상기 학습시키는 단계는, 상기 제1 모델을 상기 제2 모델로부터 예측된 보상이 최대가 되는 행동을 상기 디바이스의 다음 행동으로서 예측하도록 학습시킬 수 있다.
물건을 파지하는 로봇 및 자율주행 로봇을 비롯한 디바이스의 상황에 따른 행동을 결정함에 있어서, 해당 디바이스의 제어와 연관된 리스크 척도를 나타내는 파라미터를 사용하여 디바이스의 행동에 따른 보상의 분포를 학습한 모델을 사용할 수 있다.
모델을 다시 학습시킬 필요 없이, 다양한 리스크 척도를 나타내는 파라미터를 모델에 대해 설정할 수 있다.
모델에 대해 환경의 특성이 고려된 리스크 척도를 나타내는 파라미터가 설정될 수 있음으로써, 이러한 파라미터가 설정된 모델을 사용하여, 디바이스가 주어진 환경의 특성에 따라 리스크를 회피 또는 추구하면서 제어될 수 있다.
도 1은 일 실시예에 따른, 상황에 따른 디바이스의 행동을 결정하는 방법을 수행하는 컴퓨터 시스템을 나타낸다.
도 2는 일 실시예에 따른, 컴퓨터 시스템의 프로세서를 나타낸다.
도 3은 일 실시예에 따른, 상황에 따른 디바이스의 행동을 결정하는 방법을 나타내는 흐름도이다.
도 4는 일 예에 따른, 학습 모델에 의해 학습된 디바이스의 행동에 따른 보상의 분포를 나타낸다.
도 5는 일 예에 따른, 설정된 리스크 척도를 나타내는 파라미터에 따라, 환경 내에서 제어되는 로봇을 나타낸다.
도 6은 일 예에 따른, 상황에 따른 디바이스의 행동을 결정하는 모델의 아키텍처를 나타낸다.
도 7은 일 예에 따른, 학습 모델을 훈련시키기 위한 시뮬레이션의 환경을 나타낸다.
도 8a 및 도 8b는 일 예에 따른, 학습 모델을 훈련시키기 위한 시뮬레이션에 있어서의 로봇의 센서 설정을 나타낸다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 일 실시예에 따른, 상황에 따른 디바이스의 행동을 결정하는 방법을 수행하는 컴퓨터 시스템을 나타낸다.
후술될 실시예들에 따른 상황에 따른 디바이스의 행동을 결정하는 방법을 수행하는 컴퓨터 시스템은 도 1에서 도시된 컴퓨터 시스템(100)에 의해 구현될 수 있다.
컴퓨터 시스템(100)은 후술될 상황에 따른 디바이스의 행동을 결정하기 위한 모델을 구축하기 위한 시스템일 수 있다. 구축된 모델이 탑재되는 컴퓨터 시스템(100)에 탑재될 수 있다. 컴퓨터 시스템(100)을 통해 구축된 모델은 디바이스의 제어를 위한 프로그램인 에이전트(agent)에 탑재될 수 있다. 또는, 컴퓨터 시스템(100)은 디바이스에 포함될 수도 있다. 말하자면, 컴퓨터 시스템(100)는 디바이스의 제어 시스템을 구성할 수 있다.
디바이스는 주어진 상황(상태)에 따라 특정한 행동(즉, 제어 동작)을 수행하는 장치일 수 있다. 디바이스는, 예컨대, 자율주행 로봇일 수 있다. 또는, 디바이스는 서비스를 제공하는 서비스 로봇일 수 있다. 서비스 로봇이 제공하는 서비스는 공간 내에서 음식물, 상품 또는 택배를 배달하는 배달 서비스 또는 사용자를 공간 내의 특정한 위치로 안내하는 길 안내 서비스를 포함할 수 있다. 또는, 디바이스는 물건을 파지하거나 집어올리는 등의 동작을 수행하는 로봇일 수 있다. 그 밖에도, 주어진 상황(상태)에 따라 특정한 제어 동작을 수행 가능한 장치라면 실시예의 모델을 사용하여 행동이 결정되는 디바이스가 될 수 있다. 제어 동작은 강화 학습에 기반한 알고리즘에 따라 제어될 수 있는 여하한 디바이스의 동작일 수 있다.
'상황(상태)'은 환경 내에서 제어되는 디바이스가 직면하는 상황을 나타낼 수 있다. 예컨대, 디바이스가 자율주행 로봇인 경우, '상황(상태)'은 자율주행 로봇이 출발지로부터 목적지로 이동함에 따라 직면하는 여하한 상황(예컨대, 장애물이 전방 또는 주위에 위치하는 상황 등)을 나타낼 수 있다.
도 1에서 도시된 것처럼, 컴퓨터 시스템(100)은 구성요소로서, 메모리(110), 프로세서(120), 통신 인터페이스(130) 및 입출력 인터페이스(140)를 포함할 수 있다.
메모리(110)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 디스크 드라이브와 같은 비소멸성 대용량 기록장치는 메모리(110)와는 구분되는 별도의 영구 저장 장치로서 컴퓨터 시스템(100)에 포함될 수도 있다. 또한, 메모리(110)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(110)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 메모리(110)로 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 인터페이스(130)를 통해 메모리(110)에 로딩될 수도 있다. 예를 들어, 소프트웨어 구성요소들은 네트워크(160)를 통해 수신되는 파일들에 의해 설치되는 컴퓨터 프로그램에 기반하여 컴퓨터 시스템(100)의 메모리(110)에 로딩될 수 있다.
프로세서(120)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(110) 또는 통신 인터페이스(130)에 의해 프로세서(120)로 제공될 수 있다. 예를 들어 프로세서(120)는 메모리(110)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.
통신 인터페이스(130)은 네트워크(160)를 통해 컴퓨터 시스템(100)이 다른 장치와 서로 통신하기 위한 기능을 제공할 수 있다. 일례로, 컴퓨터 시스템(100)의 프로세서(120)가 메모리(110)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이나 명령, 데이터, 파일 등이 통신 인터페이스(130)의 제어에 따라 네트워크(160)를 통해 다른 장치들로 전달될 수 있다. 역으로, 다른 장치로부터의 신호나 명령, 데이터, 파일 등이 네트워크(160)를 거쳐 컴퓨터 시스템(100)의 통신 인터페이스(130)를 통해 컴퓨터 시스템(100)으로 수신될 수 있다. 통신 인터페이스(130)를 통해 수신된 신호나 명령, 데이터 등은 프로세서(120)나 메모리(110)로 전달될 수 있고, 파일 등은 컴퓨터 시스템(100)이 더 포함할 수 있는 저장 매체(상술한 영구 저장 장치)로 저장될 수 있다.
통신 인터페이스(130)를 통한 통신 방식은 제한되지 않으며, 네트워크(160)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용하는 통신 방식뿐만 아니라 기기들간의 근거리 유선/무선 통신을 포함될 수 있다. 예를 들어, 네트워크(160)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(160)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으며, 이에 제한되지 않는다.
입출력 인터페이스(140)는 입출력 장치(150)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 마이크, 키보드, 카메라 또는 마우스 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(140)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 입출력 장치(150)는 컴퓨터 시스템(100)과 하나의 장치로 구성될 수도 있다.
또한, 다른 실시예들에서 컴퓨터 시스템(100)은 도 1의 구성요소들보다 더 적은 혹은 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요는 없다. 예를 들어, 컴퓨터 시스템(100)은 상술한 입출력 장치(150) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.
아래에서, 실시예의 상황에 따른 디바이스의 행동을 결정하는 방법을 수행하고, 상황에 따른 디바이스의 행동을 결정하기 위해 학습된 모델을 구축하는, 컴퓨터 시스템의 프로세서(120)에 대해 더 자세하게 설명한다.
관련하여, 도 2는 일 실시예에 따른, 컴퓨터 시스템의 프로세서를 나타낸다.
도시된 것처럼, 프로세서(120)는 학습부(201), 및 결정부(202)를 포함할 수 있다. 이러한 프로세서(120)의 구성요소들은 적어도 하나의 프로그램 코드에 의해 제공되는 제어 명령에 따라 프로세서(120)에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다.
예컨대, 실시예의 상황에 따른 디바이스의 행동을 결정하기 위해 사용되는 모델을 학습(또는 훈련)시키기 위한 프로세서(120)의 동작의 기능적인 표현으로서 학습부(201)가 사용될 수 있고, 학습된 모델을 사용하여 주어진 상황에 따른 디바이스의 행동을 결정하기 위한 프로세서(120)의 동작의 기능적인 표현으로서 결정부(202)가 사용될 수 있다.
프로세서(120) 및 프로세서(120)의 구성요소들은 도 3에서 도시된 단계들(310 내지 330)을 수행할 수 있다. 예를 들어, 프로세서(120) 및 프로세서(120)의 구성요소들은 메모리(110)가 포함하는 운영체제의 코드와 상술한 적어도 하나의 프로그램 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 적어도 하나의 프로그램 코드는 자율주행 학습 방법을 처리하기 위해 구현된 프로그램의 코드에 대응될 수 있다.
프로세서(120)는 실시예의 방법을 수행하기 위한 프로그램 파일에 저장된 프로그램 코드를 메모리(110)에 로딩할 수 있다. 이러한 프로그램 파일은 메모리(110)와는 구분되는 영구 저장 장치에 저장되어 있을 수 있고, 프로세서(120)는 버스를 통해 영구 저장 장치에 저장된 프로그램 파일로부터 프로그램 코드가 메모리(110)에 로딩되도록 컴퓨터 시스템(100)을 제어할 수 있다. 이 때, 프로세서(120)의 구성요소들은 메모리(110)에 로딩된 프로그램 코드 중 대응하는 부분의 명령을 실행하여 단계들(310 내지 330)에 대응하는 동작을 수행할 수 있다. 후술될 단계들(310 내지 330)을 비롯한 동작들의 실행을 위해, 프로세서(120)의 구성요소들은 직접 제어 명령에 따른 연산을 처리하거나 또는 컴퓨터 시스템(100)을 제어할 수 있다.
후술될 상세한 설명에서는, 컴퓨터 시스템(100), 프로세서(120) 또는 프로세서(120)의 구성요소들에 의해 수행되는 동작은 설명의 편의상 컴퓨터 시스템(100)에 의해 수행되는 동작으로 설명될 수 있다.
도 3은 일 실시예에 따른, 상황에 따른 디바이스의 행동을 결정하는 방법을 나타내는 흐름도이다.
도 3을 참조하여, 상황에 따른 디바이스의 행동을 결정하기 위해 사용되는 (학습) 모델을 학습시키고, 학습된 모델을 사용하여 상황에 따른 디바이스의 행동을 결정하는 방법에 대해 더 자세하게 설명한다.
단계(310)에서, 컴퓨터 시스템(100)은 상황에 따른 디바이스의 행동을 결정하기 위해 사용되는 모델을 학습시킬 수 있다. 상기 모델은 심층 강화 학습에 기반한 알고리즘을 사용하여 학습된 모델일 수 있다. 컴퓨터 시스템(100)은 (디바이스의 행동을 결정하기 위한) 모델에 대해, 디바이스의 제어와 연관된 리스크 척도(risk-measure)를 나타내는 파라미터를 사용하여, 상황에 대한 상기 디바이스의 행동에 따른 보상의 분포를 학습시킬 수 있다.
단계(320)에서, 컴퓨터 시스템(100)은 이러한 디바이스의 제어와 연관된 리스크 척도(risk-measure)를 나타내는 파라미터를 사용하여 상황에 대한 디바이스의 행동에 따른 보상의 분포를 학습한 (학습) 모델에 대해, 디바이스가 제어되는 환경에 대한 리스크 척도를 나타내는 파라미터를 설정할 수 있다. 실시예에서는, 학습 모델에 대해서는, 디바이스가 제어되는 환경의 특성에 따라 리스크 척도를 나타내는 파라미터가 상이하게 설정될 수 있다. 구축된 학습 모델에 대한, 리스크 척도를 나타내는 파라미터의 설정은 해당 학습 모델이 적용되는 디바이스를 운용하는 사용자에 의해 이루어질 수 있다. 예컨대, 사용자는 자신이 사용하는 사용자 단말이나 디바이스의 사용자 인터페이스를 통해, 디바이스가 환경 내에서 제어될 시 고려할 리스크 척도를 나타내는 파라미터를 설정할 수 있다. 디바이스가 자율주행하는 로봇인 경우에 있어서, 환경에서의 로봇의 자율주행 동안(또는 자율주행의 전 또는 후에), 사용자에 의해 요청된 값에 기반하여, 학습 모델에 대해 리스크 척도를 나타내는 파라미터를 설정할 수 있다. 설정되는 파라미터는 디바이스가 제어되는 환경의 특성을 고려한 것일 수 있다.
일례로, 자율주행 로봇인 디바이스가 제어되는 환경이 장애물이나 보행자가 출몰할 확률이 높은 장소일 경우, 사용자는 학습 모델에 대해 보다 리스크를 회피하도록 하는 값에 해당하는 파라미터를 설정할 수 있다. 또는, 자율주행 로봇인 디바이스가 제어되는 환경이 장애물이나 보행자가 출몰할 확률이 낮고, 로봇이 주행하는 통로가 넓은 장소일 경우, 사용자는 학습 모델에 대해 보다 리스크를 추구하도록 하는 값에 해당하는 파라미터를 설정할 수 있다.
단계(330)에서, 컴퓨터 시스템(100)은 설정된 파라미터에 기반하여(즉, 설정된 파라미터에 기반한 전술한 학습 모델에 의한 결과 값에 기반하여), 환경에서의 디바이스의 제어 시에 주어진 상황에 따른 디바이스의 행동을 결정할 수 있다. 말하자면, 컴퓨터 시스템(100)은 설정된 리스크 척도를 나타내는 파라미터에 따른 리스크 척도를 고려하여 디바이스를 제어할 수 있다. 이에 따라, 디바이스는 직면한 상황에 대해 리스크를 회피하도록 제어될 수 있고(예컨대, 통로에서 장애물에 직면한 경우, 장애물이 없는 다른 통로로 주행하거나, 속도를 상당히 낮추어 조심스럽게 장애물을 회피하는 등), 직면한 상황에 대해 보다 리스크를 추구하도록 제어될 수도 있다(예컨대, 통로에서 장애물에 직면한 경우, 장애물이 있는 통로를 그대로 통과하거나, 좁은 통로를 통과 시 속도를 줄이지 않고 통과하는 것 등).
컴퓨터 시스템(100)은 설정된 리스크 척도를 나타내는 파라미터의 값 또는 해당 파라미터의 값이 나타내는 범위(예컨대, 해당 파라미터 값 이하/미만)에 따라, 주어진 상황에 대해 리스크를 더 회피하거나 또는 리스크를 더 추구하도록 디바이스의 행동을 결정할 수 있다. 말하자면, 설정된 리스크 척도를 나타내는 파라미터의 값 또는 그 범위는 디바이스의 제어에 있어서 디바이스가 고려하는 리스크 척도에 대응할 수 있다.
예컨대, 디바이스가 자율주행하는 로봇인 경우에 있어서, 컴퓨터 시스템(100)은 (학습 모델에 대해) 설정된 리스크 척도를 나타내는 파라미터의 값이 소정의 값 이상이거나 또는 파라미터의 값이 소정의 범위 이상을 나타낼 경우, 리스크를 더 추구하도록 하는 로봇의 행동으로서 로봇의 직진 또는 로봇의 가속을 결정할 수 있다. 반대로, 리스크를 덜 추구하는(즉, 회피하는) 로봇의 행동은 다른 통로로의 우회 또는 로봇의 감속이 될 수 있다.
관련하여, 도 5는 일 예에 따른, 설정된 리스크 척도를 나타내는 파라미터에 따라, 환경 내에서 제어되는 로봇을 나타낸다. 도시된 로봇(500)은 자율주행 로봇으로서 전술한 디바이스에 대응할 수 있다. 도시된 것처럼, 로봇(500)은 장애물(510)을 마주한 상황에서 장애물을 회피하여 이동할 수 있다. 로봇(500)의 제어를 위해 사용되는 학습 모델에 대해 설정된 파라미터가 나타내는 리스크 척도에 따라, 로봇(500)의 이러한 장애물(510) 회피의 동작은 앞서 설명한 것처럼 상이하게 될 수 있다.
한편, 디바이스가 물건을 파지하는(또는 줍는) 로봇인 경우, 리스크를 더 추구하도록 하는 로봇의 행동은 보다 과감하게(예컨대, 보다 빠른 속도 및/또는 큰 힘으로) 물건을 파지하는 것일 수 있고, 반대로, 리스크를 덜 추구하는 로봇의 행동은 보다 조심스럽게(예컨대, 보다 느린 속도 및/또는 작은 힘으로) 물건을 파지하는 것일 수 있다.
또는, 디바이스가 다리를 포함하는 로봇인 경우, 리스크를 더 추구하도록 하는 로봇의 행동은 보다 과감한 동작(예컨대, 보다 보폭이 큰 동작 및/또는 빠른 속도)일 수 있고, 반대로, 리스크를 덜 추구하는 로봇의 행동은 보다 조심스러운 동작(예컨대, 보다 보폭이 작은 동작 및/또는 느린 속도)일 수 있다.
이와 같이, 실시예에서는, 실시예에서, 학습 모델에 대해 디바이스가 제어되는 환경의 특성이 고려된 리스크 척도를 나타내는 파라미터가 다양하게(즉, 여러 상이한 값으로) 설정될 수 있고, 환경에 맞는 정도의 리스크 척도가 고려되어 디바이스가 제어될 수 있다.
실시예의 학습 모델은 최초 학습 시에 리스크 척도를 나타내는 파라미터를 사용하여 디바이스의 행동에 따른 보상의 분포를 학습한 것으로서, 이러한 리스크 척도를 나타내는 파라미터를 학습 모델에 대해 설정함에 있어서, 파라미터를 재설정할 때마다 학습 모델을 다시 학습(훈련)시킬 필요가 없다.
아래에서, 학습 모델이 리스크 척도를 나타내는 파라미터를 사용하여 디바이스의 행동에 따른 보상의 분포를 학습하는 방법에 대해 더 자세하게 설명한다.
실시예의 학습 모델은 상황(상태)에 대해 디바이스가 행동을 수행할 경우, 그에 따라 획득되는 보상을 학습할 수 있다. 이러한 보상은 행동의 수행에 따라 획득되는 누적 보상일 수 있다. 누적 보상은, 일례로, 디바이스가 출발지로부터 목적지까지 이동하는 자율주행 로봇인 경우, 로봇이 목적지까지 도달할 때까지의 행동에 따라 획득되는 누적 보상일 수 있다. 학습 모델은 복수회(예컨대, 백만회) 반복된, 상황에 대한 디바이스의 행동에 따라 획득되는 보상들을 학습할 수 있다. 이 때, 학습 모델은 상황에 대한 디바이스의 행동에 따라 획득되는 보상들의 분포를 학습할 수 있다. 이러한 보상의 분포는 확률 분포를 나타낼 수 있다.
예컨대, 실시예의 학습 모델은, 분위수 회귀 분석(quantile regression) 방법을 사용하여, 상황에 대한 디바이스의 행동에 따라 획득될 수 있는 (누적) 보상들의 분포를 학습할 수 있다.
관련하여, 도 4는 일 예에 따른, 학습 모델에 의해 학습된 디바이스의 행동에 따른 보상의 분포를 나타낸다. 도 4는 분위수 회귀 분석(quantile regression) 방법에 따라 학습 모델이 학습한 보상들의 분포를 나타낼 수 있다.
상황(s)에 대해 행동(a)가 수행될 경우에는 보상(Q)이 주어질 수 있다. 이 때, 행동이 적절한 것일수록 보상은 높게 될 수 있다. 실시예의 학습 모델은 이러한 보상에 대한 분포를 학습할 수 있다.
상황에 대해 디바이스가 행동을 했을 시 획득될 수 있는 보상들은 최대값과 최소값이 존재할 수 있다. 최대값은 무수한 반복들(예컨대, 백만회) 중에서 디바이스의 행동이 가장 긍정적인 경우의 누적 보상일 수 있고, 최소값은 무수한 반복들 중에서 디바이스의 행동이 가장 부정적인 경우의 누적 보상일 수 있다. 이러한 최소값부터 최대값까지의 보상들을 각각 분위수(quantile)에 대응시켜 나열할 수 있다. 예컨대, 0~1의 분위수에 대해, 0에는 최소값(백만등)에 해당하는 보상의 값이 대응되고, 1에는 최대값(1등)에 해당하는 보상의 값이 대응되며, 0.5에는 중간(50만등)에 해당하는 보상의 값이 대응될 수 있다. 학습 모델은 이와 같은 보상들의 분포를 학습할 수 있다. 따라서, 분위수(τ)에 대응하는 보상의 값 Q가 학습될 수 있다.
즉, 학습 모델은, 소정의 제1 범위에 속하는 제1 파라미터 값들(분위수로서, 도 4의 τ에 대응)에 (예컨대, 일대일로) 대응하는 보상들의 값들(도 4의 Q에 대응)을 학습할 수 있다. 이 때, 제1 파라미터의 값들 중 최소값(도 4에서는 0)은 보상들의 값들 중 최소값에 대응하고, 제1 파라미터의 값들 중 최대값(도 4에서는 1)은 보상들의 값들 중 최대값에 대응할 수 있다. 또한, 학습 모델은 이와 같은 보상들의 분포를 학습함에 있어서, 리스크 척도를 나타내는 파라미터를 함께 학습할 수 있다. 예컨대, 학습 모델은 제1 범위에 대응하는 제2 범위에 속하는 리스크 척도를 나타내는 파라미터(도 4의 β에 대응)를 샘플링하여, 보상들의 분포 내에서, 샘플링된 리스크 척도를 나타내는 파라미터에 대응하는 보상의 값을 함께 학습할 수 있다. 말하자면, 학습 모델은 도 4의 분포를 학습함에 있어서 샘플링된 리스크 척도를 나타내는 파라미터(예컨대, β = 0.5)를 더 고려할 수 있고, 거기에 대응하는 보상의 값을 학습할 수 있다.
리스크 척도를 나타내는 파라미터(예컨대, β = 0.5)에 대응하는 보상의 값은 해당 파라미터와 동일한 제1 파라미터(예컨대, τ = 0.5)에 해당하는 보상의 값일 수 있다. 또는, 리스크 척도를 나타내는 파라미터(예컨대, β = 0.5)에 대응하는 보상의 값은 해당 파라미터와 동일한 제1 파라미터(예컨대, τ = 0.5) 이하에 해당하는 보상의 값들의 평균일 수 있다.
도시된 것처럼, 일례로, τ에 대응하는 제1 파라미터의 제1 범위는 0~1일 수 있고, 리스크 척도를 나타내는 파라미터 제2 범위는 0~1가 될 수 있다. 제1 파라미터 값들의 각각은 백분율 위치를 나타낼 수 있고, 이러한 제1 파라미터 값들의 각각은 해당하는 백분율 위치의 보상들의 값에 대응할 수 있다. 말하자면, 학습 모델은 상황과, 그에 대한 행동, 상위 % 값을 입력하는 것에 따라 획득되는 보상을 예측하도록 학습될 수 있다.
제2 범위는 제1 범위와 동일한 것으로 예시되었으나, 이는 상이하게 될 수도 있다. 예컨대, 제2 범위는 0미만이 될 수도 있다. 학습 모델의 학습 시에 제2 범위에 속하는 리스크 척도를 나타내는 파라미터는 랜덤으로 샘플링될 수 있다.
한편, 도 4에서의 Q는 0~1의 값으로 정규화된 것일 수 있다.
즉, 실시예에서는 도 4에서 도시된 것과 같은 보상의 분포를 학습함에 있어서, 샘플링된 β를 고정하여 학습할 수 있고, 따라서, 학습된 모델에 대해서는 (환경에 맞는 정도의 리스크 척도가 고려된 디바이스의 제어를 위해) 디바이스가 제어되는 환경의 특성이 고려된 리스크 척도를 나타내는 파라미터(β)가 다양하게 재설정될 수 있다. 단순히 행동에 따라 획득되는 보상들의 평균을 학습하거나, 리스크 척도를 나타내는 파라미터(β)를 고려하지 않고 보상들의 분포만을 학습하는 경우에 비해, 실시예에서는 파라미터(β)의 재설정 시 학습 모델을 다시 학습(훈련)시키는 작업이 요구되지 않을 수 있다.
도 4에서 도시된 것처럼, β가 클수록(즉, 1에 가까울수록) 디바이스는 리스크를 더 추구하도록 제어될 수 있고, β가 작을수록(즉, 0에 가까울수록) 디바이스는 리스크를 회피하도록 제어될 수 있다. 구축된 학습 모델에 대해, 디바이스를 운용하는 사용자가 적절한 β를 설정하는 것을 통해, 디바이스는 리스크를 더 회피하거나 또는 덜 회피하도록 제어될 수 있다. 디바이스가 자율주행 로봇인 경우, 사용자는 디바이스를 제어하기 위한 학습 모델에 대해 β 값을 로봇의 주행 전 또는 후에 적용할 수 있고, 로봇이 주행하는 도중에도 로봇이 고려하는 리스크 척도를 변경하기 위해 β 값을 변경 설정할 수 있다.
일례로, 학습 모델에 대해 β가 0.9로 설정된다면, 제어되는 디바이스는 항상 상위 10%의 보상을 얻을 것으로 예측하여 행동할 수 있게 되므로, 보다 리스크를 추구하는 방향으로 제어될 수 있다. 반대로, 학습 모델에 대해 β가 0.1로 설정된다면, 제어되는 디바이스는 항상 하위 10%의 보상을 얻을 것으로 예측하여 행동할 수 있게 되므로, 보다 리스크를 회피하는 방향으로 제어될 수 있다.
따라서, 실시예에서는, 디바이스의 행동을 결정함에 있어서, 리스크에 대한 예측을 얼마나 긍정적으로 또는 부정적으로 할 것인지에 대한 파라미터가 추가로 (실시간으로) 설정될 수 있으며, 따라서, 리스크에 대해 더 민감하게 반응할 수 있도록 하는 디바이스가 구현될 수 있다. 이는, 디바이스가 포함하는 센서의 시야각 등의 한계로, 환경의 일부만을 관찰 가능한 상황에서 디바이스의 보다 안전한 주행을 보장할 수 있다.
실시예에서, 리스크 척도를 나타내는 파라미터(β)는 확률 분포(즉, 보상 분포)를 왜곡(distortion)시키는 파라미터일 수 있다. β는 그 값에 따라 보다 리스크를 추구하도록 또는 보다 리스크를 회피하도록 확률 분포(즉, 디바이스의 행동에 따라 획득되는 보상들의 (확률) 분포)를 왜곡시키기 위한 파라미터로서 정의될 수 있다. 말하자면, β는 제1 파라미터(τ)에 대응하여 학습된 보상의 확률 분포를 왜곡시키기 위한 파라미터일 수 있다. 실시예에서는, 변경 설정할 수 있는 β에 따라 디바이스가 얻을 수 있는 보상들의 분포가 왜곡될 수 있고, 디바이스는 β에 따라 더 비관적인 방향으로 또는 더 낙관적인 방향으로 동작될 수 있다.
이상 도 1 및 도 2를 참조하여 전술된 기술적 특징들에 대한 설명은 도 3 내지 도 5에 대해서도 그대로 적용될 수 있는 바, 중복되는 설명은 생략한다.
아래에서는, 도 5 내지 도 8b를 참조하여, 전술한 컴퓨터 시스템(100)에 의해 구축되는 학습 모델에 대해 더 자세하게 설명한다.
도 6은 일 예에 따른, 상황에 따른 디바이스의 행동을 결정하는 모델의 아키텍처를 나타낸다.
도 7은 일 예에 따른, 학습 모델을 훈련시키기 위한 시뮬레이션의 환경을 나타낸다. 도 8a 및 도 8b는 일 예에 따른, 학습 모델을 훈련시키기 위한 시뮬레이션에 있어서의 로봇의 센서 설정을 나타낸다.
전술한 학습 모델은, 디바이스의 리스크-민감 내비게이션을 위한 모델로서, 리스크-조건부 분포 기반 소프트 액터-크리틱(Risk-Conditioned Distributional Soft Actor-Critic; RC-DSAC) 알고리즘에 기반하여 구축된 모델일 수 있다.
심층 강화 학습(RL)에 기반한 현대의 내비게이션 알고리즘은 유망한 효율성과 견고성을 보여주지만, 그러나 대부분의 심층 RL 알고리즘은 리스크 중립적인 방식으로 작동하며, 이로 인해, 비교적 드물지만 심각한 결과가 될 수 있는 행동으로부터 사용자를 보호하려는 (이러한 보호로 인해 성능 손실이 거의 발생하지 않더라도) 특별한 시도를 하지 않는다. 또한, 이러한 알고리즘들은, 통상적으로, 알고리즘들을 운용하는 환경들의 엄청난 복잡성에도 불구하고, 훈련 중에 충돌 비용 및 일부 도메인 무작위화를 추가하는 것을 넘어, 그들이 훈련된 모델에서 부정확한 상황에서 안전을 보장하기 위한 어떤 조치도 제공하지 않고 있다.
본 개시에서는 불확실성-인식(uncertainty-aware) 폴리시(policy)(정책)를 학습할 뿐만 아니라, 값비싼 미세-조정이나 재훈련 없이도 리스크 척도(risk measure)를 변경할 수 있도록 하는 신규한 분포 기반의 RL 알고리즘으로서, RC-DSAC 알고리즘을 제공할 수 있다. 실시예의 알고리즘에 따른 방법은 부분적으로 관찰된 내비게이션 작업들에서 비교 대상인 베이스라인들에 비해 우수한 성능과 안전성을 나타낼 수 있다. 또한, 실시예의 방법을 사용하여 훈련된 에이전트들은 런타임 시 광범위한 리스크 척도에 대해 적절한 폴리시(즉, 행동)를 적용할 수 있음을 보여줄 수 있다.
아래에서는, RC-DSAC 알고리즘에 기반한 모델을 구축하기 위한 개요에 대해 설명한다.
심층 강화 학습(RL)은 기존의 계획-기반의 알고리즘들에 비해 우수한 성능과 견고성을 약속하므로, 모바일 로봇 내비게이션 분야에서 상당한 관심을 끌고 있다. 이러한 관심에도 불구하고 리스크-회피(risk-averse) 폴리시들을 설계하기 위한 심층 RL 기반의 내비게이션 시도에 대한 기존 작업은 거의 존재하지 않는다. 그러나, 이는 다음과 같은 이유에서 필요한 것일 수 있다. 첫째, 주행하는 로봇은 인간, 다른 로봇, 자기 자신 또는 주변 환경에 대해 해를 끼칠 수 있으며, 리스크 회피 폴리시들이 리스크 중립 폴리시들보다 안전할 수 있으며, 워스트-케이스 분석들에 기반하여 전형적인 폴리시들로 과잉-보수적 행동을 피할 수 있다. 둘째, 정확한 모델들을 제공하는 것이 비실용적인 복잡한 구조와 역학을 가진 환경들에 있어서, 특정한 리스크 척도를 최적화하는 폴리시들은, 실제로 모델링 오류들에 대한 견고성에 대한 보증을 제공하기 때문에 적절한 선택이 될 수 있다. 셋째, 최종 사용자들, 보험업자 및 내비게이션 에이전트의 설계자들은 리스크-회피형 인간이므로, 리스크-회피 폴리시는 당연한 선택이 될 수 있다.
RL의 리스크의 문제를 해결하기 위해서는, 분포 기반의 RL의 개념이 도입될 수 있다. 분포 기반의 RL은 (단순히 보상의 분포를 평균(mean)하여 평균을 학습하는 것이 아니라) 누적된 보상의 분포를 학습하는 것일 수 있다. 이러한 보상의 분포로부터 실제 숫자에 간단하게 매핑되는 적절한 리스크 척도를 적용함으로써 분포 기반의 RL 알고리즘은 리스크-회피 또는 리스크-추구 폴리시들을 추론할 수 있다. 분포 기반의 RL은 아케이드 게임들, 시뮬레이션된 로봇 벤치마크들, 실세계 파지 작업(real-world grasping task)들에서 우수한 효율성과 성능을 나타낼 수 있다. 또한, 예컨대, 보행자를 겁주는 것을 피하기 위해 일 환경에서는 리스크-회피의 폴리시를 선호할 수 있지만, 이러한 폴리시는 좁은 통로를 통과하기에는 너무 리스크-회피적인 폴리시가 될 수 있있다. 따라서, 각 환경에 적합한 서로 다른 리스크 척도를 가지도록 모델을 훈련시킬 필요가 있고, 이는, 계산적인 측면에서 고비용이며, 시간이 많이 소요되는 작업일 수 있다.
본 개시에서는, 복수의 리스크 척도들에 대해 적응될 수 있는 모델을 포함하는 에이전트를 효율적으로 훈련시키기 위해, 광범위한 리스크-민감 폴리시들을 동시에 학습하는 리스크-조건부 분포 기반의 소프트 액터-크리틱(Risk-Conditioned Distributional Soft Actor-Critic; RC-DSAC) 알고리즘을 제공할 수 있다.
RC-DSAC는 비-분포 기반의 베이스라인들과 여타 분포 기반의 베이스라인들에 비해 우수한 성능과 안전성을 나타낼 수 있다. 또한, 실시예를 통해서는 (파라미터를 변경하는 것만으로) 재훈련 없이 다른 리스크 척도들에 대해 폴리시를 적용할 수 있다.
실시예를 통해서는, i) 동시에 다양한 리스크-민감 폴리시들을 학습할 수 있는, 분포 기반의 RL에 기반한 신규한 내비게이션 알고리즘이 제공될 수 있고, ii) 다수의 시뮬레이션 환경들에서의 베이스라인들보다 개선된 성능이 제공될 수 있으며, iii) 런타임 시, 광범위한 리스크 척도에 대한 일반화를 달성할 수 있다.
아래에서는, RC-DSAC 알고리즘에 기반한 모델을 구축하기 위한 관련 작업들과 관련 기술에 대해 설명한다.
A. 모바일-로봇 내비게이션에 있어서의 리스크
실시예에서는, 안전성 및 낮은-리스크 내비게이션을 위한 심층 RL 접근법을 취할 수 있다. 리스크를 고려하기 위해서는, 고전적인 모델-예측-제어(Model-Predictive-Control; MPC) 및 그래프-검색 접근법들이 이미 존재할 수 있다. 실시예에서는, 이들을 고려하는 것과 함께, 단순한 센서 노이즈와 오클루젼(occlusion)으로부터 내비게이션 그래프의 에지들(예컨대, 도어들)의 통과 가능성(traversability)에 대한 불확실성 및 보행자 이동의 예측 불가능성에 이르는 다양한 리스크들을 고려할 수 있다.
확률(chance) 제약 조건으로서, 충돌 확률로부터 엔트로피 리스크(entropic risk)에 이르는 다양한 리스크 척도들이 탐구될 수 있다. 보행자 움직임 예측을 위한 딥러닝과 비선형 MPC가 결합하는 하이브리드 접근법이 취해지는 경우, 이러한 하이브리드 접근법은, RL에 의존하는 접근법과는 달리, 런타임 시에 로봇의 리스크-지표(metric) 파라미터들이 변경되도록 할 수 있다. 다만, 실시예에서의 결과에 비추어 보면, 이러한 런타임 파라미터 조정(tuning)은 심층 RL에 대해 간단하게 이루어질 수 있다.
B. 모바일-로봇 내비게이션을 위한 심층 RL
심층 RL은 많은 게임들 및 로봇들과 기타 도메인들에서 성공적이었는 바, 모바일 로봇 내비게이션 분야에서 많은 주목을 받고 있다. 이는 MPC와 같은 접근 방식에 비해 RL 방법들은 비용이 많이 드는 궤적(trajectory) 예측 없이 최적의 액션(행동)들을 추론할 수 있고, 비용이나 보상이 국소 최적성(local optima)을 가질 때 더욱 강력하게 수행될 수 있다.
환경에 대한 불확실성에서 발생하는 리스크들을 명시적으로 고려하는 심층 RL 기반의 방법이 또한 제안될 수 있다. 개별적인 딥 네트워크는, MC-드롭아웃과 부트스트랩이 적용된, 파-프롬(far-from) 분포 샘플들에 대한 과신뢰 예측을 수행하여, 충돌 확률을 예측할 수 있다.
불확실성-인식(uncertainty-aware) RL 방법은 추가적인 관찰-예측 모델을 가지며, 폴리시에 의해 취해진 액션들의 분산을 조정하기 위해 예측 분산을 사용할 수 있다. 한편, '리스크 보상'은, 예컨대, 차선 교차로에서 자율 주행 폴리시의 안전한 행동을 장려하기 위한 것으로 설계될 수 있고, 미래의 보행자 이동에 대한 추정된 불확실성에 기초하여 두 개의 RL-기반의 주행 폴리시들 간의 전환이 이루어질 수 있다. 이러한 방식은, 불확실한 환경들에서의 개선된 성능 및 안전성을 나타내지만, 추가적인 예측 모델, 세심하게 형성된 보상 기능들 또는 런타임 시에 비용이 많이 드는 몬테카를로 샘플링을 요구할 수 있다.
이러한 RL 기반의 내비게이션에 관한 기존의 작업들과는 달리, 실시예에서는 추가적인 예측 모델이나 구체적으로 조정된 보상 기능을 사용하지 않고, 분산 기반의 RL을 사용하여 계산적으로 효율적인 리스크-민감 폴리시들을 학습할 수 있다.
C. 분포 기반의 RL 및 리스크-민감 폴리시들
분포 기반의 RL은, 단순히 그 평균이 아니라, 누적된 보상의 분포를 모델링할 수 있다. 분포 기반의 RL 알고리즘들은 다음의 재귀(recursion)에 의존할 수 있다:
[수학식 1]
여기서, 랜덤 리턴(return) 는 상태 s에서 시작하여 폴리시 하에서 액션이 취해진 때 디스카운트된(discounted) 보상의 합으로 정의될 수 있고, 는 랜덤 변수 AB가 동일한 분포를 가짐을 의미하고, r(s, a)는 주어진 상태-액션 쌍에서 랜덤 보상을 나타내고, 는 디스카운트 팩터일 수 있고, 랜덤 상태 S'(s, a)로 주어진 전이 분포를 따르고, 랜덤 액션 A'는 상태 S'에서 폴리시 로부터 도출될 수 있다.
경험적으로, 분포 기반의 RL 알고리즘들은, 많은 게임 도메인들에서 우수한 성능과 샘플 효율성을 나타낼 수 있고, 이는 분위수(quantiles)를 예측하는 것이 표현 학습을 강화하는 보조 작업으로서 작용하기 때문인 것으로 볼 수 있다.
분산 기반의 RL은 리스크-민감 폴리시들의 학습을 용이하게 할 수 있다. 리스크-민감 폴리시를 추출하기 위해, 이는 랜덤 리턴(누적 보상)의 분포의 무작위 분위수를 예측하고, 분위수를 샘플링함으로써 다양한 '왜곡(distortion) 리스크 척도들'을 추정하여 리스크-민감 액션들을 선택하도록 학습될 수 있다. 다만, 이러한 샘플링은 각 잠재적인 액션에 대해 수행되어야 하므로, 이러한 접근법은 연속적인 액션 공간들에 대해서는 적용되지 못할 수 있다.
실시예에서는, 대신에, 소프트 액터-크리틱(SAC) 프레임워크가 분배 기반의 RL과 결합되어, 리스크-민감 제어의 과제를 달성하기 위해 사용될 수 있다. 로봇 분야에서, 샘플-기반 기반의 분배 기반 폴리시 구배(gradient) 알고리즘이 고려될 수 있으며, 이는 일관성 있는 리스크 척도를 사용할 때, OpenAI Gym 상에서 작동(actuation) 노이즈에 대한 개선된 견고성이 입증될 수 있었다. 한편, 파지(grasping) 작업들을 위해 리스크-민감 폴리시들을 학습하기 위한 제안된 분배 기반의 RL은 실세계의 파지 데이터에 관한 비-분포 기반의 베이스라인에 대해 우수한 성능을 나타낼 수 있다.
기존의 방법들은 그 성능에도 불구하고, 모두 한 번에 하나의 리스크 척도에 대한 폴리시를 학습하는 것으로 제한될 수 있다. 이는 원하는 리스크 척도가 환경과 상황에 따라 달라질 수 있는 경우에 있어서, 문제가 될 수 있다. 따라서, 후술될 실시예에서는, 다양한 리스크 척도들에 대해 적응될 수 있는 단일한 폴리시를 훈련시키는 방법에 대해 설명한다. 아래에서, 실시예의 접근법에 대해 보다 자세하게 설명한다.
실시예의 접근법과 관련하여, 아래에서는 문제 구성(problem formulation) 및 구체적인 구현에 대해 더 자세하게 설명한다.
A. 문제 구성
2차원에서 주행하는 차륜 로봇(예컨대, 자율주행 로봇)을 고려하여 설명한다. 로봇의 형상은 도 7 및 도 8에서 도시된 것처럼 팔각형으로 표현될 수 있고, 로봇의 목적(objective)은 장애물과 충돌하지 않고 일련의 웨이포인트들을 통과하는 것일 수 있다. 도 7의 환경에는 장애물도 포함될 수 있다.
이러한 문제는 부분적으로 관찰 가능한 마르코프 의사결정 과정(Partially-Observed Markov Decision Process; POMDP)로서 구성될 수 있고, 상태들의 세트들 S PO 로, 관찰들 , 액션들 , 보상 함수 와, 초기 상태, 주어진 상태-액션 에서의 상태 및 주어진 (s t , a t )에서의 관찰 에 대한 분포들을 포함하여 구성될 수 있다.
RL을 적용할 때, 이러한 POMDP를 POMDP의 에피소드-이력에 의해 주어진 상태들의 세트 S를 가진 다음의 마르코프 의사결정 과정(MDP)으로 취급할 수 있다.
[수학식 2]
MDP는 POMDP와 같은 액션 공간 를 가질 수 있고, 그 보상과 초기-상태, 전이 분포들은 POMDP에 의해 암시적으로(implicitly) 정의될 수 있다. POMDP에 대한 함수로 정의되고 있으나, 보상은 MDP에 대한 랜덤 변수가 될 수 있다.
1) 상태들 및 관찰들: 세트 S PO 의 멤버인 완전한(full) 상태는, 모든 장애물들의 위치, 속도 및 가속도와 커플된(coupled) 모든 웨이포인트들의 위치에 해당할 수 있으며, 실세계 에이전트(예컨대, 로봇)들은 단지 이러한 상태의 프랙션(fraction)만을 감지할 수 있다. 예컨대, 관찰은 다음과 같이 표현될 수 있다:
[수학식 3]
이러한 관찰은, 주위의 장애물들의 위치를 설명하는 범위-센서 측정들, 다음의 두 웨이포인트들과 관련한 로봇의 위치, 및 로봇의 속도에 관한 정보로 구성될 수 있다.
특히, 아래와 같이 정의될 수 있다:
[수학식 4]
는 인디케이터 함수이고, d i 는, 로봇의 좌표 프레임의 x축에 대해, 각도 범위 [2i-2, 2i) 도에서 가장 가까운 장애물까지의 미터 거리이고, 주어진 방향에서 장애물이 없으면, o rng,i = 0으로 설정될 수 있다. 웨이포인트 관찰은 다음과 같이 정의될 수 있다:
[수학식 5]
는, [0.01, 100]m로 클리핑된, 다음의 웨이포인트와 그 다음의 웨이포인트까지의 거리들을 나타낼 수 있고, 는 로봇의 x축에 대한 이러한 웨이포인트들의 각도를 나타낼 수 있다. 마지막으로, 속도 관찰 은 현재의 선형 속도 및 각속도 와, 에이전트의 이전의 액션으로부터 계산된 소정의 선형 속도 및 각속도 로 구성될 수 있다.
2) 액션들: 정규화된 2차원의 벡터들이 액션들로서 사용될 수 있다. 이는 다음으로 정의되는 로봇의 상기 소정의 선형 속도 및 각속도에 관한 것일 수 있다.
[수학식 6]
예컨대, 일 수 있다.
이러한 소정의 속도는 로봇의 모터 컨트롤러로 송신되어, 최대 가속도 에 대해 범위들 로 클리핑될 수 있다. 여기서, 는 모터 컨트롤러의 제어 주기일 수 있다. 에이전트의 제어 주기는 보다 더 클 수 있고, 이는 시뮬레이션에서는 에피소드가 시작될 때, {0.12,-0.14, 0.16}초에서 균일하게 샘플링될 수 있고, 실세계에서의 실험에서는 0.15초가 될 수 있다.
3) 보상: 보상 함수는 에이전트가 충돌을 피하면서 효율적으로 웨이포인트들을 따르도록 할 수 있다. 간결성을 위해 상태 및 액션에 대한 의존성을 생략하면, 보상은 다음과 같이 표현될 수 있다:
[수학식 7]
목적지(goal)(마지막 웨이포인트)에 도달하기 위해 취해진 시간에 대해 에이전트를 개인화하기 위해, 베이스 보상 r base = -0.02이 모든 단계에서 주어질 수 있고, 할 수 있고, r goal = 10이 에이전트와 목적지 사이의 거리가 0.15m 미만일때 주어질 수 있다. 웨이포인트 보상은 다음으로 표현될 수 있다:
[수학식 8]
은 로봇의 x축에 대한 다음의 웨이포인트의 각도일 수 있고, v c 는 현재의 선형 속도일 수 있다. 에이전트가 장애물과 접촉한 경우, r waypoint 는 0이 될 수 있다.
보상 r angular 는 직선으로의 에이전트(로봇)의 주행을 장려(encourage)할 수 있고, 다음과 같이 표현될 수 있다:
[수학식 9]
에이전트가 장애물과 충돌하면, rcoll = -10가 주어질 수 있다.
4) 리스크-민감 목적: 수학식 1에서처럼, 에 의해 주어지는 랜덤 리턴일 수 있다.
여기서, 는, MDP의 전이 분포와 폴리시 에 의해 주어진, 랜덤 상태-액션 시퀀스일 수 있다. 는 디스카운트 팩터일 수 있다.
리스크-민감 결정들을 정의하기 위해서는 두 가지의 주요한 접근법들이 존재할 수 있다. 그 중 하나는 유틸리티 함수 를 정의하고, 상태 s에서 를 최대화하는 액션 a을 선택하는 것일 수 있다. 또는, 하나는 분위수 프랙션 에 대한 에 의해 정의되는 의 분위수 함수를 고려하는 것일 수 있다. 그 다음으로, 분위수 프랙션들로부터 분위수 프랙션들로의 매핑 : [0,1] -> [0,1]에 해당하는, 왜곡 함수를 정의하고, 상태 s에서 왜곡 리스크 척도 를 최대화하는 액션 a를 선택할 수 있다.
이러한 작업에 있어서, 리스크-척도 파라미터에 해당하는 스칼라 파라미터 β를 각각 갖는, 두 개의 왜곡 리스크 척도들이 고려될 수 있고, 그 중 하나는, 널리 사용되는 조건부 VaR(Conditional Value-at-Risk (CVaR)(조건부 리스크 가치)) 수 있고, 이는 최소-호의(least-favourable) 랜덤 리턴들의 프랙션 β의 기대값이 되고, 랜덤 함수는 다음에 대응할 수 있다:
[수학식 10]
더 낮은 β는 더 높은 리스크-회피 폴리시를 결과로서 낳을 수 있고, β = 1은 리스크-중립 폴리시를 나타낼 수 있다.
두 번째는, 멱법칙(power-law) 리스크 척도로서, 다음과 같이 왜곡 함수가 주어질 수 있다:
[수학식 11]
상기 왜곡 함수는 파지 시험에서 우수한 성능을 나타낼 수 있다. 주어진 파라미터 범위에서 두 리스크 척도들은 일관성 있을 수 있다(coherent).
말하자면, 전술된 리스크 척도(risk-measure)를 나타내는 파라미터(β)는, CVaR (Conditional Value-at-Risk) 리스크 척도를 나타내는 파라미터로서 0 초과 1 이하의 범위의 수 이거나, 멱법칙(power-law) 리스크 척도로서 0 미만의 범위의 수일 수 있다. 모델의 학습에 있어서, 상기 범위로부터의 β가 샘플링되어 사용될 수 있다.
전술된 수학식 10 및 수학식 11은 β에 따라 확률 분포(보상 분포)를 왜곡시키기 위한 수학식일 수 있다.
B. 리스크-조건부 분포 기반의 소프트 액터-크리틱
광범위한 리스크-민감 폴리시들을 효율적으로 학습하기 위해, 리스크-조건부 분포 기반의 소프트 액터-크리틱(RC-DSAC) 알고리즘이 제안될 수 있다.
1) 소프트 액터-크리틱 알고리즘: 실시예의 알고리즘은 소프트 액터-크리틱(SAC) 알고리즘에 기반하는 것으로, '소프트'는 엔트로피-정규화된 것(entropy-regularized)을 나타낼 수 있다. SAC는 다음과 같이 누적된 보상과 폴리시의 엔트로피를 함께 최대화할 수 있다:
[수학식 12]
기대값은 폴리시 및 전이 분포에 의해 주어진 상태-액션 시퀀스들에 대한 것이고, 는 보상 및 엔트로피의 최적화를 트레이드 오프(trades-off)하는 온도 파라미터일 수 있고, 는 확률 밀도 를 갖는 것으로 가정되는 액션들에 대한 엔트로피의 분포(entropy of a distribution)를 나타낼 수 있다.
SAC은 소프트 상태-액션 값 함수 를 학습하는 크리틱 네트워크를 가질 수 있다. 크리틱 네트워크는, 아래 수학식 13의 소프트 벨만(soft Bellman) 오퍼레이터를 사용할 수 있고,
[수학식 13]
수학식 14의 소프트 값 함수의 지수에 의해 주어지는 분포와 폴리시 사이의 쿨백-라이블러 발산을 최소화하는 액터 네트워크를 사용할 수 있다.
[수학식 14]
는 액터 네트워크에 의해 표현될 수 있는 폴리시들의 세트일 수 있고, 는 폴리시 및 전이 분포에 의해 유도되는 상태들에 대한 분포일 수 있으며, 이는 경험 재생(experience replay)에 의해 실제에 근사될 수 있고, 는 분포를 정규화하는 분배 함수(partition function)일 수 있다.
실제로는, 재파라미터화(reparameterization) 트릭이 종종 사용될 수 있다. 이러한 경우, SAC는 액션들을 로서 샘플링할 수 있고, 는 액터 네트쿼크에 의해 구현된 매핑이고, 는 구형 가우시안(spherical Gaussian) N과 유사한 고정된 분포로부터의 샘플일 수 있다. 폴리시 목적(policy objective)은 아래의 수학식 15의 형태를 가질 수 있다:
[수학식 15]
2) 분포 기반의 SAC 및 리스크-민감 폴리시들: 단지 그 평균이 아니라, 누적된 보상들의 완전한 분포를 획득하기 위해서는, 제안된 분포 기반의 SAC (DSAC)가 사용될 수 있다. DSAC는 이러한 분포를 학습하기 위해 분위수 회귀 분석(quantile regression)을 사용할 수 있다.
전술한 수학식 1의 랜덤 리턴 을 이용하기 보다는, DSAC는 수학식 12에서 나타나는 소프트 랜덤 리턴을 사용할 수 있고, 이는 로 주어지며, 수학식 1에서와 같이 일 수 있다. SAC와 유사하게, DSAC 알고리즘은 액터와 크리틱을 가질 수 있다.
크리틱을 훈련시키기 위해, 몇몇의 분위수 프랙션들 이 독립적으로 샘플링될 수 있고, 크리틱은 다음과 같은 손실을 최소화할 수 있다:
[수학식 16]
여기서, 에 대해 분위수 회귀 손실은 다음과 같이 표현될 수 있다:
[수학식 17]
시간 차이는 다음과 같이 표현될 수 있다:
[수학식 18]
여기서, 는 재생 버퍼로부터의 전이(transition)일 수 있고, 는 크리틱의 출력일 수 있으며, 이는 τ-분위수의 추정치일 수 있고, 는 타겟 크리틱으로서 알려진 크리틱의 지연된 버전의 출력일 수 있다.
리스크-민감 액터 네트워크를 훈련시키기 위해, DSAC는 왜곡 함수 를 사용할 수 있다. 대응하는 왜곡 리스크 척도를 바로 최대화하기 보다는, DSAC는 수학식 15에서 를 대체할 수 있다. 는 샘플의 평균을 나타낼 수 있다.
3) 리스크-조건부 DSAC: DSAC에 의해 학습된 리스크 민감 폴리시들은 여러 시뮬레이션 환경들에서 우수한 결과를 나타내지만, 2)에서 전술한 DSAC는 한 번에 하나의 리스크 민감 폴리시 유형만 학습할 수 있다. 이는 적절한 리스크 척도 파라미터가 환경에 따라 다르고, 사용자가 런타임 시 파라미터를 조정하고자 할 경우의 모바일 로봇의 주행에 있어서 문제가 될 수 있다.
이러한 문제를 처리하기 위해, 실시예에서는 리스크-조건부 분포 기반의 SAC(RC-DSAC) 알고리즘을 사용할 수 있고, 이는 DSAC를 동시에 광범위한 리스크-민감 폴리시들을 학습할 수 있도록 확장한 것이며, 재훈련의 과정 없이 리스크-척도 파라미터를 변경할 수 있도록 한 것일 수 있다.
RC-DSAC는 파라미터 β를 갖는 왜곡 함수 에 대해, 폴리시 , 크리틱 및 타겟 크리틱 으로의 입력으로서 β를 제공함으로써 리스크-적응 가능한 폴리시들을 학습할 수 있다. 구체적으로, 수학식 16의 크리틱의 목적은 다음으로 표현될 수 있다:
[수학식 19]
여기서, 는 수학식 17에서와 같고, 시간 차이는 다음과 같이 표현될 수 있다:
[수학식 20]
수학식 15의 액터의 목적은 다음과 같이 표현될 수 있다:
[수학식 21]
여기서, 이고, 는 샘플링 에 대한 분포일 수 있다.
훈련 동안, 리스크-척도 파라미터 β에 대해 로부터 및 에 대해 U([-2, 0])로부터 균일하게 샘플링될 수 있다.
다른 RL 알고리즘들과 마찬가지로, 각 반복은 데이터 수집 단계와 모델 업데이트 단계를 포함할 수 있다. 데이터 수집 단계에서, 각 에피소드가 시작될 때 β를 샘플링하고, 에피소드의 종료 시까지 이를 고정할 수 있다. 모델 업데이트 단계에 대해서는, 다음의 두 가지 대안이 적용될 수 있다. '저장(stored)'으로 불리는 그 첫 번째로서, 데이터 수집에 있어서 사용된 β를 경험-재생 버퍼에 저장하고, 이러한 저장된 β만을 업데이트에 사용할 수 있다. 그 다음으로, '리샘플링'이라고 불리는 두 번째로서, 각각의 경험에 대해 새로운 β를 매 반복마다 미니 배치로 샘플링할 수 있다(resampling).
다시 말해, 도 1 내지 도 5를 참조하여 전술된 학습 모델은, 상황에 대한 디바이스(로봇)의 행동에 따른 보상의 추정을 반복함으로써, 보상의 분포를 학습할 수 있다. 이 때의, 각 반복은 디바이스(로봇)의 출발지로부터 목적지로의 이동을 나타내는 각 에피소드에 대한 학습 및 학습 모델의 업데이트를 포함할 수 있다. 에피소드는 소기 상태(출발지)로부터 최종 상태(목적지)에 이르기까지 에이전트가 거친 상태, 행동, 보상의 시퀀스를 의미할 수 있다. 각 에피소드가 시작될 때, 리스크 척도를 나타내는 파라미터(β)가 (예컨대, 랜덤으로) 샘플링될 수 있고, 샘플링된 리스크 척도를 나타내는 파라미터(β)는 각 에피소드의 종료 시까지 고정될 수 있다.
학습 모델의 업데이트는, 컴퓨터 시스템(100)의 버퍼(경험-재생 버퍼)에 저장된 샘플링된 리스크 척도를 나타내는 파라미터를 사용하여 수행될 수 있다. 예컨대, 이전에 샘플링된 리스크 척도를 나타내는 파라미터를 사용하여 학습 모델의 업데이트 단계가 수행될 수 있다(stored). 말하자면, 데이터 수집 단계에서 사용된 β가 학습 모델의 업데이트 단계에서 재사용될 수 있다.
또는, 컴퓨터 시스템(100)은 업데이트 단계를 수행할 시에 리스크 척도를 나타내는 파라미터를 리샘플링하여, 리샘플링된 리스크 척도를 나타내는 파라미터를 사용하여 사용하여 학습 모델의 업데이트 단계를 수행할 수 있다(resampling). 말하자면, 데이터 수집 단계에서 사용된 β는 학습 모델의 업데이트 단계에서 재사용되지 않고, 학습 모델의 업데이트 단계에서는 β가 다시 샘플링될 수 있다.
4) 네트워크 아키텍처: τβ는 코사인 임베딩을 사용하여 표현될 수 있고, 도 6에서 도시된 것처럼, 관찰 및 분위수 프랙션에 대한 정보를 이들과 융합시키기 위해 요소별 곱셈(element-wise multiplication)이 사용될 수 있다.
도 6은 도 1 내지 도 5를 참조하여 전술한 학습 모델의 아키텍처를 나타낼 수 있다. 도시된 모델 아키텍처는, RC-DSAC에서 사용되는 네트워크들의 아키텍처일 수 있다. 모델(600)은 전술한 학습 모델을 구성하는 모델일 수 있다. 모델(600)에 포함된 FC는 완전 연결 레이어를 나타낼 수 있다. Conv1D는 주어진 수의 채널/커널_크기/스트라이드를 갖는 1차원의 콘볼루션 레이어를 나타낼 수 있다. GRU는 게이트 순환 유닛(gated recurrent unit)을 나타낼 수 있다. 하나의 블록을 가리키는 복수의 화살표는 연결(concatenation)을 나타낼 수 있고, 는 요소별 곱셈을 나타낼 수 있다.
DSAC에서처럼, 실시예의 RC-DSAC 의 크리틱 네트워크(즉, 크리틱 모델)는 τ에 의존할 수 있다. 그러나, 실시예의 RC-DSAC의 액터 네트워크(즉, 액터 모델) 및 크리틱 네트워크들은 모두 β에 의존할 수 있다. 따라서, 요소들 로 임베딩들 이 계산될 수 있다.
그 다음으로 요소별 곰셈 을 액터 네트워크에 적용하고, 를 크리틱 네트워크에 적용할 수 있다. 는 게이트 순환 모듈(GRU)을 사용하여 계산된 관찰 이력(및 크리틱에 대한 현재 액션)의 임베딩들일 수 있고, 완전 연결 레이어, 는 완전 연결 레이어들일 수 있고, 는 벡터 의 연결을 나타낼 수 있다.
다시 말해, 도 1 내지 도 5를 참조하여 전술된 학습 모델은, 상황에 대한 디바이스(로봇)의 행동을 예측하기 위한 제1 모델(전술한 액터 모델에 대응) 및 예측된 행동에 따른 보상을 예측하기 위한 제2 모델(전술한 크리틱 모델에 대응)을 포함할 수 있다. 도 6에서 설명된 모델(600)은 제1 모델 및 제2 모델 중 어느 하나를 도시한 것일 수 있다. 제1 모델 및 제2 모델은 출력단을 나타내는 블록이 상이하게 구성될 수 있다.
도 6에서 도시된 것처럼, 제2 모델(크리틱 모델)에는 상황에 대해 수행할 것으로 예측된 행동(u)(예컨대, 제1 모델(액터 모델)에 의해 예측된 행동)이 입력될 수 있고, 제2 모델은 해당 행동(u)에 따른 보상(예컨대, 전술한 Q에 대응 가능)을 추정할 수 있다. 즉, 도시된 모델(600)에서, u(for critic)의 블록은 제2 모델에만 적용되는 것일 수 있다.
제1 모델은 제2 모델로부터 예측된 보상이 최대가 되는 행동을 상기 디바이스의 다음 행동으로서 예측하도록 학습될 수 있다. 즉, 제1 모델은 상황에 대한 행동들 중에서 보상이 최대가 되는 행동을 상황에 대한 행동(다음 행동)으로서 예측하도록 학습될 수 있다. 이 때, 제2 모델은 결정된 다음 행동에 따른 보상(보상 분포)을 학습할 수 있고, 이는 다시 제1 모델에서의 행동의 결정을 위해 사용될 수 있다.
제1 모델 및 제2 모델 각각은 리스크 척도를 나타내는 파라미터(β)를 사용하여 학습될 수 있다(도시된, (for actor) 및 (for critic) 블록 참조).
즉, 제1 모델 및 제2 모델은 모두 리스크 척도를 나타내는 파라미터(β)를 사용하여 학습될 수 있으므로, 구현된 학습 모델은 다양한 리스크 척도를 나타내는 파라미터가 설정되더라도, (재차 모델을 훈련시키는 작업의 필요 없이) 해당 리스크 척도에 적응 가능한 디바이스의 행동을 결정(추정)할 수 있다.
디바이스가 자율주행하는 로봇인 경우에 있어서, 전술한 제1 모델 및 제2 모델은, 로봇의 주위의 장애물의 위치(o rng ), 로봇이 이동할 경로(o waypoints ), 및 로봇의 속도(o velocity )에 기반하여, 디바이스의 행동 및 보상을 각각 예측할 수 있다. 로봇이 이동할 경로(o waypoints )는 로봇이 이동할 다음의 웨이포인트(해당 웨이포인트의 위치 등)를 나타낼 수 있다. o rng , o waypoints o velocity 는 인코딩된 데이터로서 제1/제2 모델로 입력될 수 있다. o rng , o waypoints o velocity 에 대해서는 A. 문제 구성에서 전술한 설명이 적용될 수 있다.
실시예에서, 제1 모델(액터 모델(액터 네트워크))은 (예컨대, 랜덤으로 샘플링된) β 를 받아서 행동(policy)에 대한 보상 분포를 왜곡시키고, 왜곡된 보상 분포에서 보상이 최대가 되도록 하는 행동(policy)(예컨대, 위험 회피 또는 위험 추구를 하기 위한 행동)을 결정하도록 학습될 수 있다.
제2 모델(크리틱 모델(크리틱 네트워크))는 제1 모델에 의해 결정된 행동(policy)대로 디바이스가 행동할 경우의 누적 보상 분포를 τ를 사용하여 학습할 수 있다. 또는, 여기서, 제1 모델은 (예컨대, 랜덤으로 샘플링된) β를 더 고려하여 누적 보상 분포를 사용하여 학습할 수 있다.
제1 모델과 제2 모델은 동시에 학습될 수 있고, 따라서, 제1 모델에 점점 보상을 최대화하도록 학습이 되면, (보상 분포가 업데이트됨에 따라) 제2 모델 역시 따라서 업데이트될 수 있다.
실시예에 따라 구축된 (즉, 상기 제1 모델 및 제2 모델을 포함하여 구축된) 학습 모델은, 사용자의 설정에 따라 학습 모델에 대해 입력되는 β가 변경되더라도 재학습의 과정이 요구되지 않을 수 있고, 곧바로 입력된 β에 대응하여 왜곡된 보상 분포에 따른 행동(policy)이 결정될 수 있다.
아래에서는, 훈련을 위해 사용된 시뮬레이션 환경에 대해 설명하고, 실시예의 방법을 베이스라인들과 비교하고, 실세계의 로봇에 대해 훈련된 폴리시를 적용한 것에 대해 설명한다.
도 7은 일 예에 따른, 학습 모델을 훈련시키기 위한 시뮬레이션의 환경을 나타내고, 도 8a 및 도 8b는 사용된 디바이스(로봇)(700)의 센서 설정을 나타낸다. 도 8a에서는 로봇(700)의 센서의 시야가 좁게(narrow) 설정되었고(810), 도 8b에서는 로봇(700)의 센서의 시야가 스파스(sparse)로 설정되었다(820). 즉, 로봇(700)은 360도 전면의 시야를 커버하지 못하고 제한된 시야를 가질 수 있다.
A. 훈련 환경
도 7에서와 같이, 로봇(700)의 역학이 시뮬레이션될 수 있다. 데이터 수집의 스루풋을 높이기 위해, 10회의 시뮬레이션을 병렬로 실행할 수 있다. 구체적으로, 생성된 각 환경에 대해, 10개의 에피소드들을 병렬로 실행할 수 있고, 여기서 에피소드는 뚜렷한 출발지와 목적지 위치를 갖는 에이전트들과 관련될 수 있고, 뚜렷한 리스크-지표 파라미터들 β과 관련될 수 있다. 각각의 에피소드는 1,000 단계들 후에 종료되며, 에이전트가 목표에 도달하면 새로운 목표가 샘플링될 수 있다.
실시예의 방법의 부분적인 관찰의 영향을 살펴보기 위해, 도 8a 및 도 8b에서 도시된 것과 같은, 2개의 상이한 센서 구성들을 사용할 수 있다.
B. 훈련 에이전트들
실시예의 RC-DSAC와 SAC 및 DSAC와의 성능이 비교될 수 있다. 또한, 실시예의 보상 함수에 적용되는 보상-컴포넌트-가중치 랜덤화(Reward-Component-Weight Randomization; RCWR) 방법에 대한 비교도 수행되었다.
두 개의 RC-DSAC가 훈련되었으며, 의 왜곡 함수들의 각각이 어느 하나에 대응될 수 있다. 를 갖는 RC-DSAC는 에 대해 평가될 수 있고, 를 갖는 RC-DSAC는 에 대해 평가될 수 있다.
DSAC에 대해 를 갖는 를 갖는 가 사용될 수 있고, 각각의 DSAC 에이전트는 하나의 에 대해 훈련 및 평가될 수 있다. RCWR에 대해, 단지 하나의 내비게이션 파라미터 가 사용될 수 있다.
보상 r을 계산할 때, 보상 r coll w coll r coll 로 대체될 수 있고, w coll 이 더 높은 값들을 갖는 것은 리스크-중립을 여전히 유지하면서 에이전트가 더 많이 충돌-회피를 하게 할 수 있다. 평가를 위해, 가 사용될 수 있다.
모든 베이스라인들은 아래의 예외를 제외하고는 RC-DSAC와 동일한 아키텍처를 사용할 수 있다. DSAC는 를 사용하지 않을 수 있고, 에만 의존할 수 있다. RCWR는 엑스트라 32-차원의 완전 연결 레이어를 w coll 에 대한 그 관찰 인코더 내에 가질 수 있다. 마지막으로, RCWR 및 SAC는 를 사용하지 않을 수 있다.
모든 알고리즘에 대한 하이퍼파라미터들은 아래 표 1에서와 같이 도시되었다.
[표 1]
100,000회의 가중치 업데이트들(500개의 환경들에서 5,000개의 에피소드들)을 위해 각 알고리즘을 훈련시킬 수 있다. 그 다음 훈련 시에는 볼 수 없었던 50개 환경들에서 알고리즘을 평가할 수 있다. 각 환경당 10개의 에피소드들에 대해 평가가 수행될 수 있고, 에이전트들은 뚜렷단 출발지 및 목적지들을 갖지만, β 또는 w coll 에 대해 공통의 값을 가질 수 있다.
공정성과 재현성을 확보하기 위해, 훈련과 평가에 대해 고정된 랜덤 시드가 사용될 수 있고, 따라서, 서로 다른 알고리즘들이 정확히 동일한 환경들, 및 출발지/목적지 위치들에 대해 훈련되고 평가될 수 있다.
C. 성능 비교
표 2는, 50개의 평가 환경들에 대해 500회의 에피소드들에 걸친 평균으로, 충돌 수의 평균과 표준 편차와 각 방법의 보상을 나타낸다.
[표 2]
표 2에서 확인할 수 있는 것처럼, 를 갖는 RC-DSAC와 β = -1가 시야가 좁은 설정에서 가장 높은 보상을 나타내었고, 를 갖는 RC-DSAC와 β = -1.5가 두 설정 모두에서 가장 적은 충돌을 나타내었다.
SAC에 비해, 리스크-민감 알고리즘들(DSAC, RC-DSAC)은 모두 더 적은 충돌을 나타내었고, 그 일부는 더 높은 보상을 획득하면서 이를 달성하였다. 또한, RCWR에 대한 비교의 결과는 분포 기반의 리스크-인식 접근법들이 충돌들에 대한 페널티를 단순히 증가시키는 것에 비해 더 효과적일 수 있다는 점을 암시할 수 있다.
두 가지 리스크 척도들을 평균화하여 DSAC와 RC-DSAC의 두 가지 대안적인 구현들을 비교하였으나, DSAC가 평가된 두 가지의 β값에 대해서만 비교한다. 좁은 설정에서, RC-DSAC (저장(Stored))는 유사한 충돌 횟수(0.95 대 0.91)를 가졌으나, DSAC보다 더 높은 보상(449.9 대 425.0)을 가졌고, 스파스 설정(sparse setting)에서는, RC-DSAC (저장)는 더 적은 충돌 횟수(0.44 대 0.68)를 가졌으나, 유사한 보상(498.1 대 492.9)을 나타냈다. 전체적으로, RC-DSAC (리샘플링(resampling))는 충돌이 가장 적게 나타났고(좁은 설정에서 0.64, 스파스 설정에서 0.26), 좁은 설정에서 가장 높은 보상(470.0)이 획득되었다. 이는 DSAC에 의해 요구되는 재훈련 없이 광범위한 리스크-척도 파라미터들에 적응할 수 있는 실시예의 알고리즘의 능력을 보여줄 수 있다.
또한 RC-DSAC에 의한 충돌 횟수는 CVaR 리스크-척도에 대해, β와의 명확한 양의 상관관계를 나타낼 수 있다. 낮은 β는 리스크 회피에 대응하므로, 이는 충분히 예상될 수 있다.
D. 실세계에서의 실험
실시예의 방법들을 실세계에 구현하기 위해, 도 5에서 도시된 것과 같은, 모바일-로봇 플랫폼을 구현할 수 있다. 로봇(500)은 예컨대, 4개의 깊이 가메라들을 전방에 포함할 수 있고, 이러한 센서들로부터의 포인트 클라우드 데이터는 좁은(narrow) 설정에 대응하는 관찰 o rng 에 매핑될 수 있다. RC-DSAC (리샘플링) 및 베이스라인 에이전트들이 로봇(500)에 대해 전개될 수 있다.
각 에이전트에 대해, 길이 53.8m의 코스에서 2차례의 주행(왕복)을 시험하였고, 그 결과는 아래 표 3과 같이 나타났다.
[표 3]
표 3은 각 에이전트에 대한 충돌수 및 목적지까지의 도착에 요구되는 시간을 나타낸다. 도시된 것처럼, SAC는 분포 기반의 리스크-회피 에이전트들에 비해 더 많은 충돌을 나타냈다.
DSAC는 실험에 걸쳐 충돌을 나타내지는 않았으나, 과잉 보수적인 행동을 나타내었는 바, 목적지에 도달하기까지의 시간이 가장 길게 나타났다(β = 0.25 에서). RC-DSAC는 덜 리스크를 회피하는 모드에서의 경미한 충돌을 제외하고는 DSAC와 경쟁적으로 수행되었으며, β에 따라 그 행동이 적응될 수 있었다. 따라서, 실시예의 RC-DSAC 알고리즘을 통해서는, 우수한 성능과 β의 변경에 따른 리스크 척도의 변경에 대한 적응성이 달성될 수 있음이 확인될 수 있다.
즉, 실시예의 RC-DSAC 알고리즘을 적용한 모델은, 비교 대상인 베이스라인들보다 우수한 성능을 나타내며, 조절 가능한 리스크-민감성을 가짐을 확인할 수 있다. 실시예의 RC-DSAC 알고리즘을 적용한 모델은 로봇을 비롯한 디바이스에 적용됨으로써 활용성이 극대화될 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (20)

  1. 컴퓨터 시스템에서 실행되는, 상황에 따른 디바이스의 행동을 결정하는 방법에 있어서,
    상기 디바이스의 제어와 연관된 리스크 척도(risk-measure)를 나타내는 파라미터를 사용하여 상황에 대한 상기 디바이스의 행동에 따른 보상의 분포를 학습한 학습 모델에 대해, 상기 디바이스의 사용자의 사용자 단말 또는 상기 디바이스의 사용자 인터페이스를 통해 입력된 값에 기반한 값으로서 상기 디바이스가 제어되는 환경에 대한 상기 리스크 척도를 나타내는 파라미터를 설정하는 단계; 및
    상기 설정된 파라미터에 기반하여, 상기 환경에서의 상기 디바이스의 제어 시 주어진 상황에 따른 상기 디바이스의 행동을 결정하는 단계
    를 포함하고,
    상기 학습 모델은, 분위수 회귀 분석(quantile regression) 방법을 사용하여, 상황에 대한 상기 디바이스의 행동에 따라 획득될 수 있는 보상들의 분포를 학습한 것이고, 소정의 제1 범위에 속하는 제1 파라미터 값들에 대응하는 상기 보상들의 값들을 학습하되, 상기 제1 범위에 대응하는 제2 범위에 속하는 상기 리스크 척도를 나타내는 파라미터를 샘플링하여, 상기 보상들의 분포 내에서, 상기 샘플링된 리스크 척도를 나타내는 파라미터에 대응하는 보상의 값을 함께 학습한 것이고,
    이에 따라, 상기 학습 모델에 대해서는, 상기 환경의 특성에 따라 상기 사용자 인터페이스를 통해 상이한 값이 입력됨으로써 상기 리스크 척도를 나타내는 파라미터를 상이하게 재설정하는 것이 상기 학습 모델의 재학습 없이 가능하게 되는, 상황에 따른 디바이스의 행동을 결정하는 방법.
  2. 제1항에 있어서,
    상기 디바이스의 행동을 결정하는 단계는,
    상기 설정된 리스크 척도를 나타내는 파라미터의 값 또는 상기 파라미터의 값이 나타내는 범위에 따라, 상기 주어진 상황에 대해 리스크를 더 회피하거나 또는 리스크를 더 추구하도록 상기 디바이스의 행동을 결정하는, 상황에 따른 디바이스의 행동을 결정하는 방법.
  3. 제2항에 있어서,
    상기 디바이스는 자율주행하는 로봇이고,
    상기 디바이스의 행동을 결정하는 단계는,
    상기 설정된 리스크 척도를 나타내는 파라미터의 값이 소정의 값 이상이거나 또는 상기 파라미터의 값이 소정의 범위 이상을 나타낼 경우, 리스크를 더 추구하도록 하는 상기 로봇의 행동으로서 상기 로봇의 직진 또는 상기 로봇의 가속을 결정하는, 상황에 따른 디바이스의 행동을 결정하는 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 제1 파라미터의 값들 중 최소값은 상기 보상들의 값들 중 최소값에 대응하고, 상기 제1 파라미터의 값들 중 최대값은 상기 보상들의 값들 중 최대값에 대응하는, 상황에 따른 디바이스의 행동을 결정하는 방법.
  6. 제5항에 있어서,
    상기 제1 범위는 0~1이고, 상기 제2 범위는 0~1이고,
    상기 학습 모델의 학습 시에 상기 제2 범위에 속하는 상기 리스크 척도를 나타내는 파라미터는 랜덤으로 샘플링되는, 상황에 따른 디바이스의 행동을 결정하는 방법.
  7. 제5항에 있어서,
    상기 제1 파라미터 값들의 각각은 백분율 위치를 나타내고,
    상기 제1 파라미터 값들의 각각은 해당하는 백분율 위치의 상기 보상들의 값에 대응하는, 상황에 따른 디바이스의 행동을 결정하는 방법.
  8. 제1항에 있어서,
    상기 학습 모델은,
    상황에 대한 상기 디바이스의 행동을 예측하기 위한 제1 모델 및
    상기 예측된 행동에 따른 보상을 예측하기 위한 제2 모델
    을 포함하고,
    상기 제1 모델 및 상기 제2 모델 각각은 상기 리스크 척도를 나타내는 파라미터를 사용하여 학습된 것이고,
    상기 제1 모델은 상기 제2 모델로부터 예측된 보상이 최대가 되는 행동을 상기 디바이스의 다음 행동으로서 예측하도록 학습되는, 상황에 따른 디바이스의 행동을 결정하는 방법.
  9. 제8항에 있어서,
    상기 디바이스는 자율주행하는 로봇이고,
    상기 제1 모델 및 상기 제2 모델은, 상기 로봇의 주위의 장애물의 위치, 상기 로봇이 이동할 경로, 및 상기 로봇의 속도에 기반하여, 상기 디바이스의 행동 및 상기 보상을 각각 예측하는, 상황에 따른 디바이스의 행동을 결정하는 방법.
  10. 제1항에 있어서,
    상기 학습 모델은, 상황에 대한 상기 디바이스의 행동에 따른 보상의 추정을 반복함으로써, 상기 보상의 분포를 학습하고,
    각 반복은 상기 디바이스의 출발지로부터 목적지로의 이동을 나타내는 각 에피소드에 대한 학습 및 상기 학습 모델의 업데이트를 포함하고,
    상기 각 에피소드가 시작될 때, 상기 리스크 척도를 나타내는 파라미터가 샘플링되고, 샘플링된 상기 리스크 척도를 나타내는 파라미터는 상기 각 에피소드의 종료 시까지 고정되는, 상황에 따른 디바이스의 행동을 결정하는 방법.
  11. 제10항에 있어서,
    상기 학습 모델의 업데이트는, 버퍼에 저장된 샘플링된 상기 리스크 척도를 나타내는 파라미터를 사용하여 수행되거나,
    상기 리스크 척도를 나타내는 파라미터를 리샘플링하여, 리샘플링된 상기 리스크 척도를 나타내는 파라미터를 사용하여 수행되는, 상황에 따른 디바이스의 행동을 결정하는 방법.
  12. 제1항에 있어서,
    상기 리스크 척도(risk-measure)를 나타내는 파라미터는,
    CVaR (Conditional Value-at-Risk) 리스크 척도를 나타내는 파라미터로서 0 초과 1 이하의 범위의 수 이거나,
    멱법칙(power-law) 리스크 척도로서 0 미만의 범위의 수인, 상황에 따른 디바이스의 행동을 결정하는 방법.
  13. 제1항에 있어서,
    상기 디바이스는 자율주행하는 로봇이고상기 리스크 척도를 나타내는 파라미터를 설정하는 단계는,
    상기 환경에서의 상기 로봇의 자율주행 동안, 상기 사용자 인터페이스를 통해 입력된 값에 기반하여, 상기 학습 모델에 상기 리스크 척도를 나타내는 파라미터를 설정하는, 상황에 따른 디바이스의 행동을 결정하는 방법.
  14. 제1항 내지 제3항 및 제5항 내지 제13항 중 어느 한 항의 방법을 상기 컴퓨터 시스템에서 실행시키기 위해 비-일시적인 컴퓨터 판독가능한 기록 매체에 저장되는 컴퓨터 프로그램.
  15. 제1항 내지 제3항 및 제5항 내지 제13항 중 어느 한 항의 방법을 상기 컴퓨터 시스템에서 실행시키기 위한 프로그램이 기록되어 있는 비-일시적인 컴퓨터 판독 가능한 기록 매체.
  16. 컴퓨터 시스템에 있어서,
    메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서
    를 포함하고,
    상기 적어도 하나의 프로세서는,
    디바이스의 제어와 연관된 리스크 척도(risk-measure)를 나타내는 파라미터를 사용하여 상황에 대한 상기 디바이스의 행동에 따른 보상의 분포를 학습한 학습 모델에 대해, 상기 디바이스의 사용자의 사용자 단말 또는 상기 디바이스의 사용자 인터페이스를 통해 입력된 값에 기반한 값으로서 상기 디바이스가 제어되는 환경에 대한 상기 리스크 척도를 나타내는 파라미터를 설정하고, 상기 설정된 파라미터에 기반하여, 상기 환경에서의 상기 디바이스의 제어 시, 주어진 상황에 따른 상기 디바이스의 행동을 결정하고,
    상기 학습 모델은, 분위수 회귀 분석(quantile regression) 방법을 사용하여, 상황에 대한 상기 디바이스의 행동에 따라 획득될 수 있는 보상들의 분포를 학습한 것이고, 소정의 제1 범위에 속하는 제1 파라미터 값들에 대응하는 상기 보상들의 값들을 학습하되, 상기 제1 범위에 대응하는 제2 범위에 속하는 상기 리스크 척도를 나타내는 파라미터를 샘플링하여, 상기 보상들의 분포 내에서, 상기 샘플링된 리스크 척도를 나타내는 파라미터에 대응하는 보상의 값을 함께 학습한 것이고,
    이에 따라, 상기 학습 모델에 대해서는, 상기 환경의 특성에 따라 상기 사용자 인터페이스를 통해 상이한 값이 입력됨으로써 상기 리스크 척도를 나타내는 파라미터를 상이하게 재설정하는 것이 상기 학습 모델의 재학습 없이 가능하게 되는, 컴퓨터 시스템.
  17. 컴퓨터 시스템에서 실행되는, 상황에 따른 디바이스의 행동을 결정하기 위해 사용되는 모델을 학습시키는 방법에 있어서,
    상기 모델에, 상기 디바이스의 제어와 연관된 리스크 척도(risk-measure)를 나타내는 파라미터를 사용하여, 상황에 대한 상기 디바이스의 행동에 따른 보상의 분포를 학습시키는 단계
    를 포함하고,
    상기 학습시키는 단계는,
    상기 모델에, 분위수 회귀 분석(quantile regression) 방법을 사용하여, 상황에 대한 상기 디바이스의 행동에 따라 획득될 수 있는 보상들의 분포를 학습시키고, 소정의 제1 범위에 속하는 제1 파라미터 값들에 대응하는 상기 보상들의 값들을 학습시키되, 상기 제1 범위에 대응하는 제2 범위에 속하는 상기 리스크 척도를 나타내는 파라미터를 샘플링하여, 상기 보상들의 분포 내에서, 상기 샘플링된 리스크 척도를 나타내는 파라미터에 대응하는 보상의 값을 함께 학습시키고,
    이에 따라, 상기 모델에 대해서는, 상기 디바이스가 제어되는 환경의 특성에 따라 사용자 인터페이스를 통해 상이한 값이 입력됨으로써 상기 리스크 척도를 나타내는 파라미터를 상이하게 재설정하는 것이 상기 모델의 재학습 없이 가능하게 되고,
    학습된 상기 모델에 상기 디바이스의 사용자의 사용자 단말 또는 상기 디바이스의 상기 사용자 인터페이스를 통해 입력된 값에 기반한 값으로서 상기 환경에 대한 상기 리스크 척도를 나타내는 파라미터가 설정됨에 따라, 상기 모델을 통해, 상기 설정된 파라미터에 기반하여, 상기 환경에서의 상기 디바이스의 제어 시 주어진 상황에 따른 상기 디바이스의 행동이 결정되는, 모델을 학습시키는 방법.
  18. 삭제
  19. 제17항에 있어서,
    상기 학습시키는 단계는,
    상기 제1 파라미터의 값들 중 최소값은 상기 보상들의 값들 중 최소값에 대응하고, 상기 제1 파라미터의 값들 중 최대값은 상기 보상들의 값들 중 최대값에 대응하는, 모델을 학습시키는 방법.
  20. 제17항에 있어서,
    상기 모델은,
    상황에 대한 상기 디바이스의 행동을 예측하기 위한 제1 모델 및
    상기 예측된 행동에 따른 보상을 예측하기 위한 제2 모델
    을 포함하고,
    상기 제1 모델 및 상기 제2 모델 각각은 상기 리스크 척도를 나타내는 파라미터를 사용하여 학습된 것이고,
    상기 학습시키는 단계는,
    상기 제1 모델을 상기 제2 모델로부터 예측된 보상이 최대가 되는 행동을 상기 디바이스의 다음 행동으로서 예측하도록 학습시키는, 모델을 학습시키는 방법.
KR1020200181547A 2020-12-23 2020-12-23 리스크 척도를 나타내는 파라미터에 기반하여 훈련된 모델을 사용하여, 주어진 상황에 대한 디바이스의 행동을 결정하는 방법 및 시스템 KR102622243B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020200181547A KR102622243B1 (ko) 2020-12-23 2020-12-23 리스크 척도를 나타내는 파라미터에 기반하여 훈련된 모델을 사용하여, 주어진 상황에 대한 디바이스의 행동을 결정하는 방법 및 시스템
JP2021171002A JP7297842B2 (ja) 2020-12-23 2021-10-19 リスク尺度を示すパラメータに基づいて訓練されたモデルを使用して、与えられた状況に対するデバイスの行動を決定する方法およびシステム
US17/518,695 US20220198225A1 (en) 2020-12-23 2021-11-04 Method and system for determining action of device for given state using model trained based on risk-measure parameter
KR1020240000735A KR20240008386A (ko) 2020-12-23 2024-01-03 리스크 척도를 나타내는 파라미터에 기반하여 훈련된 모델을 사용하여, 주어진 상황에 대한 디바이스의 행동을 결정하는 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200181547A KR102622243B1 (ko) 2020-12-23 2020-12-23 리스크 척도를 나타내는 파라미터에 기반하여 훈련된 모델을 사용하여, 주어진 상황에 대한 디바이스의 행동을 결정하는 방법 및 시스템

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020240000735A Division KR20240008386A (ko) 2020-12-23 2024-01-03 리스크 척도를 나타내는 파라미터에 기반하여 훈련된 모델을 사용하여, 주어진 상황에 대한 디바이스의 행동을 결정하는 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20220090732A KR20220090732A (ko) 2022-06-30
KR102622243B1 true KR102622243B1 (ko) 2024-01-08

Family

ID=82023165

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020200181547A KR102622243B1 (ko) 2020-12-23 2020-12-23 리스크 척도를 나타내는 파라미터에 기반하여 훈련된 모델을 사용하여, 주어진 상황에 대한 디바이스의 행동을 결정하는 방법 및 시스템
KR1020240000735A KR20240008386A (ko) 2020-12-23 2024-01-03 리스크 척도를 나타내는 파라미터에 기반하여 훈련된 모델을 사용하여, 주어진 상황에 대한 디바이스의 행동을 결정하는 방법 및 시스템

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020240000735A KR20240008386A (ko) 2020-12-23 2024-01-03 리스크 척도를 나타내는 파라미터에 기반하여 훈련된 모델을 사용하여, 주어진 상황에 대한 디바이스의 행동을 결정하는 방법 및 시스템

Country Status (3)

Country Link
US (1) US20220198225A1 (ko)
JP (1) JP7297842B2 (ko)
KR (2) KR102622243B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11807267B2 (en) * 2020-12-31 2023-11-07 Toyota Research Institute, Inc. Systems and methods for risk-sensitive sequential action control for robotic devices

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020097221A1 (en) 2018-11-08 2020-05-14 Evangelos Simoudis Systems and methods for managing vehicle data
US20200364557A1 (en) * 2018-02-09 2020-11-19 Deepmind Technologies Limited Distributional reinforcement learning using quantile function neural networks

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180023302A (ko) * 2016-08-25 2018-03-07 엘지전자 주식회사 이동 로봇 및 그 제어방법
EP3947081A4 (en) 2019-03-29 2023-06-21 INTEL Corporation AUTONOMOUS VEHICLE SYSTEM

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200364557A1 (en) * 2018-02-09 2020-11-19 Deepmind Technologies Limited Distributional reinforcement learning using quantile function neural networks
WO2020097221A1 (en) 2018-11-08 2020-05-14 Evangelos Simoudis Systems and methods for managing vehicle data

Also Published As

Publication number Publication date
US20220198225A1 (en) 2022-06-23
JP2022100227A (ja) 2022-07-05
KR20240008386A (ko) 2024-01-18
JP7297842B2 (ja) 2023-06-26
KR20220090732A (ko) 2022-06-30

Similar Documents

Publication Publication Date Title
CN110955242B (zh) 机器人导航方法、系统、机器人及存储介质
KR102267316B1 (ko) 심층 강화 학습에 기반한 자율주행 에이전트의 학습 방법 및 시스템
JP2023546810A (ja) 車両軌跡計画方法、車両軌跡計画装置、電子機器、及びコンピュータプログラム
KR102303126B1 (ko) 사용자 선호에 따른 강화학습 기반 자율주행 최적화 방법 및 시스템
KR20240008386A (ko) 리스크 척도를 나타내는 파라미터에 기반하여 훈련된 모델을 사용하여, 주어진 상황에 대한 디바이스의 행동을 결정하는 방법 및 시스템
JP2020204803A (ja) 学習方法及びプログラム
Herman et al. Inverse reinforcement learning of behavioral models for online-adapting navigation strategies
WO2021095464A1 (ja) ロボット制御モデル学習方法、ロボット制御モデル学習装置、ロボット制御モデル学習プログラム、ロボット制御方法、ロボット制御装置、ロボット制御プログラム、及びロボット
CN116661503A (zh) 一种基于多智能体安全强化学习的集群航迹自动规划方法
Riviere et al. Neural tree expansion for multi-robot planning in non-cooperative environments
Sivaranjani et al. Artificial Potential Field Incorporated Deep-Q-Network Algorithm for Mobile Robot Path Prediction.
CN113671942A (zh) 用于控制机器人的设备和方法
Jacinto et al. Navigation of autonomous vehicles using reinforcement learning with generalized advantage estimation
Quinones-Ramirez et al. Robot path planning using deep reinforcement learning
KR20230079804A (ko) 상태 전이를 선형화하는 강화 학습에 기반한 전자 장치 및 그 방법
KR20230024392A (ko) 주행 의사 결정 방법 및 장치 및 칩
JP7459238B2 (ja) ユーザ選好による強化学習基盤の自律走行最適化方法およびシステム
KR102617418B1 (ko) 센서 구성과 로봇 형태에 적응 가능한 강화학습 기반 자율주행 방법, 컴퓨터 시스템, 및 컴퓨터 프로그램
Petrunenko et al. Determining the Location of Players in Virtual Soccer
Neuman et al. Anytime policy planning in large dynamic environments with interactive uncertainty
CN117232531B (zh) 机器人导航规划方法及存储介质和终端设备
Ha et al. Vehicle control with prediction model based Monte-Carlo tree search
US20230132280A1 (en) Robotic navigation and transport of objects
Carreras et al. Behavior adaptation by means of reinforcement learning
Moder et al. Model-based Imitation Learning for Real-time Robot Navigation in Crowds

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant