KR20190077067A - 강화 학습을 이용한 환경 네비게이션 - Google Patents

강화 학습을 이용한 환경 네비게이션 Download PDF

Info

Publication number
KR20190077067A
KR20190077067A KR1020197015991A KR20197015991A KR20190077067A KR 20190077067 A KR20190077067 A KR 20190077067A KR 1020197015991 A KR1020197015991 A KR 1020197015991A KR 20197015991 A KR20197015991 A KR 20197015991A KR 20190077067 A KR20190077067 A KR 20190077067A
Authority
KR
South Korea
Prior art keywords
neural network
environment
selection policy
action selection
agent
Prior art date
Application number
KR1020197015991A
Other languages
English (en)
Other versions
KR102228503B1 (ko
Inventor
파비오 비올라
피오트르 워지에츠 미로브스키
안드레아 바니노
라즈반 파스카누
휴버트 요셉 소이어
앤드류 제임스 발라드
수다르산 쿠마란
라이아 타이스 하드셀
로렌트 시프레
로스티스라프 고로신
코레이 카부크쿠오글루
미샤 만 레이 데닐
Original Assignee
딥마인드 테크놀로지스 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 딥마인드 테크놀로지스 리미티드 filed Critical 딥마인드 테크놀로지스 리미티드
Publication of KR20190077067A publication Critical patent/KR20190077067A/ko
Application granted granted Critical
Publication of KR102228503B1 publication Critical patent/KR102228503B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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
    • 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/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • 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/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • G06N3/0445
    • 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
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/092Reinforcement learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20076Probabilistic image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

강화 학습 시스템을 트레이닝시키기 위한, 컴퓨터 저장 매체 상에 인코딩된 컴퓨터 프로그램을 포함하는 방법, 시스템 및 장치가 제공된다. 일 양태에서, 상기 환경의 현재 상태를 특징짓는 관찰 이미지를 수신하는 단계; 상기 동작 선택 정책 뉴럴 네트워크를 이용하여 그리고 상기 네트워크 파라미터들의 현재 값들에 따라, 동작 선택 출력을 생성하도록 상기 관찰 이미지를 포함하는 입력을 프로세싱하는 단계; 기하학적 예측 뉴럴 네트워크를 이용하여, 현재 상태에서의 상기 환경의 기하학적 피처의 값을 예측하도록 상기 동작 선택 정책 뉴럴 네트워크에 의해서 생성된 중간 출력을 프로세싱하는 단계; 상기 기하학적 피처의 실제 값과 상기 기하학적 피처의 예측된 값에 기초하는 지오미트리-기반의 보조 손실의 그래디언트를 결정하는 단계; 및 상기 네트워크 파라미터들의 현재 값들에 대한 지오미트리-기반의 보조 업데이트를 결정하도록, 상기 동작 선택 정책 뉴럴 네트워크 내로 상기 지오미트리-기반의 보조 손실의 그래디언트를 역전파하는 단계를 포함한다.

Description

강화 학습을 이용한 환경 네비게이션
본 발명은 강화 학습(reinforcement learning)에 관한 것이다.
강화 학습 시스템에서, 에이전트는 환경의 현재 상태를 특징짓는 관찰들을 수신하는 것에 응답하여 상기 강화 학습 시스템에 의해 선택된 동작들(actions)을 수행함으로써 환경과 상호작용한다.
일부 강화 학습 시스템들은 뉴럴 네트워크의 출력에 따라 소정의 관찰을 수신하는 것에 응답하여, 에이전트에 의해 수행될 동작들을 선택한다.
뉴럴 네트워크는 수신된 입력에 대한 출력을 예측하기 위해 비선형 유닛들의 하나 이상의 계층들을 채용하는 머신 학습 모델이다. 일부 뉴럴 네트워크는 출력 계층 이외에도 하나 이상의 숨겨진 계층을 포함하는 딥(deep) 뉴럴 네트워크이다. 각각의 숨겨진 계층의 출력은 네트워크의 다음 계층, 즉 숨겨진 다음 계층 또는 출력 계층에 대한 입력으로 사용된다. 네트워크의 각 계층은 파라미터들의 각 세트의 현재 값들에 따라 수신된 입력으로부터 출력을 생성한다.
본 명세서는 하나 이상의 위치들에 있는 하나 이상의 컴퓨터들 상에서 컴퓨터 프로그램들로서 구현되는 강화 학습 시스템을 서술하며, 이러한 강화 학습 시스템은 환경과 상호작용하는 에이전트에 의해서 수행될 동작들을 선택한다. 일반적으로, 상기 시스템은, 환경에 대한 관찰들에 응답하여, 수행될 동작들을 선택하는 동작 선택 정책 뉴럴 네트워크(action selection policy neural network)를 사용한다. 동작 선택 정책 뉴럴 네트워크의 트레이닝을 개선하기 위해, 트레이닝 동안, 트레이닝 엔진은 또한 동작 선택 정책 뉴럴 네트워크의 중간 출력들을 입력으로서 수신하는 (ⅰ) 기하학적 예측 뉴럴 네트워크(geometry prediction neural network),(ⅱ) 루프 폐쇄 예측 뉴럴 네트워크(loop closure prediction neural network), 또는 이들 둘다를 트레이닝한다.
하나 이상의 목표들(goals)을 달성하기 위하여 환경을 네비게이팅하는 에이전트에 의해서 수행될 동작들(actions)을 선택하는데 사용되는 복수의 네트워크 파라미터들을 갖는 동작 선택 정책 뉴럴 네트워크(action selection policy neural network)를 트레이닝하는 방법이 제공된다. 상기 방법은, 상기 환경의 현재 상태를 특징짓는(characterizing) 관찰 이미지를 수신하는 단계; 상기 동작 선택 정책 뉴럴 네트워크를 이용하여 그리고 상기 네트워크 파라미터들의 현재 값들에 따라, 동작 선택 출력을 생성하도록 상기 관찰 이미지를 포함하는 입력을 프로세싱하는 단계; 기하학적 예측 뉴럴 네트워크(geometry prediction neural network)를 이용하여, 현재 상태에서의 상기 환경의 기하학적 피처의 값을 예측하도록 상기 동작 선택 정책 뉴럴 네트워크에 의해서 생성된 중간 출력(intermediate output)을 프로세싱하는 단계; 상기 기하학적 피처의 실제 값과 상기 기하학적 피처의 예측된 값에 기초하는 지오미트리-기반의 보조 손실(geometry-based auxiliary loss)의 그래디언트(gradient)를 결정하는 단계; 및 상기 네트워크 파라미터들의 현재 값들에 대한 지오미트리-기반의 보조 업데이트(geometry-based auxiliary update)를 결정하도록, 상기 동작 선택 정책 뉴럴 네트워크 내로 상기 지오미트리-기반의 보조 손실의 그래디언트를 역전파(backpropagating)하는 단계를 포함한다.
일부 구현예에서, 상기 기하학적 피처의 예측된 값은 상기 관찰 이미지에 의해서 특징지워지는 상기 환경의 예측된 깊이이며, 상기 기하학적 피처의 실제 값은 상기 관찰 이미지에 의해서 특징지워지는 상기 환경의 실제 깊이이다. 일부 구현예에서, 상기 보조 손실은 상기 시스템을 트레이닝하는데 이용되지만, 상기 기하학적 피처의 예측된 값은 달리 사용될 필요가 없다.
일부 구현예에서, 상기 동작 선택 정책 뉴럴 네트워크는, 상기 입력의 인코딩된 표현을 생성하는 콘볼루션 인코더 뉴럴 네트워크, 상기 입력의 인코딩된 표현을 프로세싱하여 중간 표현을 생성하는 중간 뉴럴 네트워크, 및 상기 중간 표현을 프로세싱하여 동작 선택 출력을 생성하는 출력 뉴럴 네트워크를 포함한다.
일부 구현예에서, 상기 중간 출력은 상기 인코딩된 표현을 포함한다.
일부 구현예에서, 상기 중간 출력은 상기 중간 표현을 포함한다.
일부 구현예에서, 상기 방법은, 상기 환경이 현재 상태에 있을 때, 에이전트가 이미 방문한 상기 환경 내의 위치로 상기 에이전트가 되돌아갈 예측 가능성(a predicted likelihood)을 나타내는 스코어를 생성하도록 구성된 루프 폐쇄 예측 뉴럴 네트워크(loop closure prediction neural network)를 이용하여 상기 중간 표현을 프로세싱하는 단계; 상기 환경의 이전 상태들에 대한 현재 상태의 실제 유사도 및 상기 예측 가능성에 기초하는 루프 폐쇄 보조 손실(loop closure auxiliary loss)의 그래디언트를 결정하는 단계; 및 상기 네트워크 파라미터들의 현재 값들에 대한 루프 폐쇄 보조 업데이트를 결정하도록, 상기 동작 선택 정책 뉴럴 네트워크 내로 상기 루프 폐쇄 보조 손실의 그래디언트를 역전파하는 단계를 더 포함한다.
일부 구현예에서, 상기 중간 뉴럴 네트워크는 리커런트 뉴럴 네트워크이다.
일부 구현예에서, 상기 중간 뉴럴 네트워크는 피드포워드(feedforward) 뉴럴 네트워크이다.
일부 구현예에서, 상기 방법은, 상기 환경이 상기 현재 상태에 있을 때 상기 동작 선택 출력을 이용하여 상기 에이전트에 의해 수행될 동작을 선택하는 단계; 상기 하나 이상의 목표들을 달성하기 위한 진행상황(progress)에 기초하여 보상을 수신하는 단계; 및 상기 보상에 적어도 일부 기초하여 상기 네트워크 파라미터들에 대한 메인 업데이트를 결정하는 단계를 더 포함한다.
일부 구현예에서, 상기 방법은 상기 네트워크 파라미터들의 현재 값들을 업데이트하기 위해 상기 지오미트리-기반의 보조 업데이트 및 상기 메인 업데이트를 이용하는 단계를 더 포함한다.
일부 구현예에서, 상기 방법은 업데이트된 파라미터 값들을 생성하도록, 상기 지오미트리-기반의 보조 업데이트를 이용하여 상기 네트워크 파라미터들의 현재 값들을 업데이트하는 단계; 및 상기 업데이트된 파라미터 값들에 따라 상기 에이전트에 의해서 수행될 동작을 선택하도록 상기 동작 선택 정책 뉴럴 네트워크를 이용하는 단계를 더 포함한다.
본 명세서에 서술된 특정 실시예들은 다음의 장점들을 하나 이상을 실현하도록 구현될 수 있다. 누적 보상을 최대화하기 위해 동작 선택 정책 뉴럴 네트워크를 훈련시키는 것 이외에도, 보조 예측 태스크를 수행하도록 기하학적 예측 뉴럴 네트워크 또는 루프 폐쇄 예측 뉴럴 네트워크 또는 이들 둘다를 트레이닝함으로써, 본 명세서에서 설명된 강화 학습 시스템은 동작 선택 정책 뉴럴 네트워크의 트레이닝 동안에 수신되는 피드백 신호를 증가시켜서 트레이닝을 개선할 수 있다. 특히, 기하학 예측 뉴럴 네트워크 또는 루프 폐쇄 예측 뉴럴 네트워크를 트레이닝하는 것은, 동작 선택 정책 뉴럴 네트워크 파라미터들의 값들을 튜닝하여, 이들이 관찰된 데이터의 보다 유용한 표현들을 생성하게 하며 그리고 궁극적으로는 강화 학습 시스템에 의해 수신되는 보상이 희박한 경우, 예컨대 0 이 아닌(non-zero) 보상들이 오직 드물게 수신되는 경우에도 누적 보상을 최대화하는 보다 효율적인 정책 출력들을 결정할 수 있게 한다. 예를 들어, 기하학적 예측 뉴럴 네트워크를 트레이닝하는 것은 동작 선택 정책 뉴럴 네트워크의 파라미터들 값들을 튜닝하여, 장애물 회피 및 단기 궤도 플래닝(short-term trajectory planning)에 도움이 되는 표현들의 학습을 장려할 수 있다. 다른 일례로서, 루프 폐쇄 예측 뉴럴 네트워크를 트레이닝하는 것은 동작 선택 정책 뉴럴 네트워크의 파라미터 값들을 튜닝하여, 환경에 대한 효율적인 탐색 및 공간 추론(spatial reasoning)을 장려할 수 있다.
본 명세서에 설명된 강화 학습 시스템은, 기하학적 예측 뉴럴 네트워크와 루프 폐쇄 예측 뉴럴 네트워크를 포함하지 않는 통상적인 강화 학습 시스템 보다 더 빨리 동작 선택 정책 뉴럴 네트워크를 트레이닝할 수 있다. 따라서, 본 명세서에 서술된 강화 학습 시스템은 트레이닝시에 계산 자원을 보다 효율적으로 사용할 수 있게 한다. 또한, 본 명세서에 서술된 강화 학습 시스템은 종래의 강화 학습 시스템보다 더욱 우수한 성능을 달성한다. 즉, 에이전트가 환경을 보다 효과적으로 네비게이팅할 수 있게 한다.
본 명세서의 요지의 하나 이상의 실시예들의 세부 사항은 첨부된 도면 및 이하의 발명의 상세한 설명에서 서술될 것이다. 본 발명의 다른 특징들, 양상들 및 장점들은 상세한 설명, 도면 및 청구 범위로부터 명백해질 것이다.
도 1은 강화 학습 시스템의 일례를 도시한다.
도 2는 기하학적 예측(geometry prediction) 뉴럴 네트워크를 트레이닝함으로써 동작 선택 정책 뉴럴 네트워크(action selection policy neural network)를 트레이닝하기 위한 예시적인 프로세스의 흐름도이다.
도 3은 루프 폐쇄 예측 뉴럴 네트워크(loop closure prediction neural network)를 트레이닝함으로써 동작 선택 정책 뉴럴 네트워크를 트레이닝하기 위한 예시적인 프로세스의 흐름도이다.
다양한 도면들에서 유사한 참조 번호들과 명칭들은 유사한 요소들을 나타낸다.
도 1은 예시적인 강화 학습 시스템(100)의 일례를 도시한다. 강화 학습 시스템(100)은 이하에 설명되는 시스템, 구성 요소 및 기술이 구현되는 하나 이상의 위치에서 하나 이상의 컴퓨터 상의 컴퓨터 프로그램으로서 구현되는 시스템의 일례이다.
강화 학습 시스템(100)은 다수의 시간 단계의 각각에서 환경(102)와 상호작용하는 에이전트(108)에 의해 수행될 동작들(110)을 선택한다. 에이전트(108)가 환경(102)과 상호작용하기 위해, 시스템(100)은 환경(102)의 현재 상태를 특징짓는 관찰 이미지(104)를 수신하고 그리고 수신된 관찰 이미지(104)에 응답하여 에이전트(108)에 의해 수행될 동작(110)을 선택한다.
일부 구현예에서, 환경(102)은 시뮬레이션된 환경이며, 에이전트(108)는 시뮬레이션된 환경을 통해 네비게이팅함으로써 시뮬레이션된 환경과 상호작용하는 하나 이상의 컴퓨터 프로그램으로 구현된다. 예를 들어, 시뮬레이션된 환경은 비디오 게임일 수 있고 에이전트(108)는 시뮬레이션된 환경을 통해 네비게이팅함으로써 비디오 게임을 플레이하는 시뮬레이션된 사용자일 수 있다. 다른 예로서, 시뮬레이션된 환경은 모션 시뮬레이션 환경, 예를 들어 운전 시뮬레이션 또는 비행 시뮬레이션일 수 있으며, 에이전트(108)는 모션 시뮬레이션 환경을 통해 네비게이팅하는 시뮬레이션된 차량이다. 이러한 경우들에서, 동작들(110)은 시뮬레이션된 사용자 또는 시뮬레이션된 차량을 제어하기 위한 제어 입력일 수 있다.
다른 실시예에서, 환경(102)은 실제 환경이고, 에이전트(108)는 실제 환경과 상호작용하는 기계적 에이전트일 수 있다. 예를 들어, 에이전트(108)는 환경을 통해 네비게이팅하는 자율 또는 반자율 차량일 수 있다. 이 경우, 액션들(110)은 로봇 또는 자율 차량을 제어하기 위한 제어 입력일 수 있다.
이들 구현예들 중 일부에서, 관찰 이미지들(104)은 에이전트(108)의 센서로부터 도출되거나 또는 이에 의해 생성될 수 있다. 예를 들어, 관찰 이미지들(104)는 에이전트(108)의 카메라에 의해 촬영된 RGB 이미지일 수 있다. 또 다른 예로서, 관찰 이미지(104)는 에이전트(108)의 레이저 센서로부터 캡처된 데이터로부터 도출될 수 있다. 다른 예로서, 관찰 이미지는 에이전트(108)의 초분광 센서(hyperspectral sensor)에 의해 캡처된 초분광 이미지(hyperspectral images)일 수 있다.
각각의 시간 단계에서, 시스템(100)은 환경(102)의 현재 상태 및 시간 단계에서의 에이전트(108)의 동작(110)에 기초하여 보상(reward)(106)을 수신한다. 예를 들어, 시스템(100)은 하나 이상의 목표를 성취하는 에이전트(108)에 대한 진행상황(progress)에 기초하여 주어진 시간 단계에 대한 보상(106)을 수신할 수 있다. 예를 들어, 에이전트의 목표는 환경(102) 내의 목표 위치로 네비게이팅하는 것일 수 있다.
시스템(100)은 각 시간 단계에서 관찰 이미지(104)에 응답하여 에이전트(108)에 의해 수행될 동작을 선택함에 있어서 동작 선택 정책 뉴럴 네트워크(112)를 사용한다. 특히, 동작 선택 정책 뉴럴 네트워크(112)는 관찰 이미지(104)를 포함하는 입력을 수신하고 그리고 동작 선택 정책 뉴럴 네트워크의 파라미터 세트에 따라 상기 입력을 프로세싱하여 정책 출력을 생성하는바, 시스템(100)은 상기 정책 출력을 사용하여 상기 시간 단계에서 에이전트(108)에 의해 수행될 동작(110)을 결정할 수 있다. 일부 구현예에서, 동작 선택 정책 뉴럴 네트워크(112)는 추가적인 입력들을 수신하도록 구성되는바, 추가적인 입력들은 에이전트-상대적인 측면(lateral), 회전(rotational) 속도, 이전 시간 단계(즉, 현재 시간 단계 전의 시간 단계)에서 에이전트에 의해 수행된 동작, 또는 이전 시간 단계에서 시스템에 의해 수신된 보상 중 하나 이상을 포함한다. 에이전트-상대적인 측면 속도(agent-relative lateral velocity)는, 에이전트의 자기중심적인 기준 프레임(egocentric reference frame)에서 정의된 바와 같은 에이전트의 전방 및 측면 속도를 나타낸다. 각속도는 수직축에 대한 에이전트의 회전 속도를 나타낸다.
몇몇 구현예에서, 정책 출력(policy output)은 가능한 동작들의 세트에 대한 확률 분포이다. 일부 구현예에서, 정책 출력은 Q-값(Q-value)일 수 있는데, Q-값은 에이전트(108)가 관찰에 응답하여 특정 동작을 수행하는 경우에 수신될 수 있는 장기간 시간-할인 보상(long-term time-discounted reward)의 추정치이다. 일부 구현예에서, 정책 출력은 관찰에 응답하여 에이전트에 의해 수행되는 경우 가장 높은 장기간 시간-할인 보상을 산출할 것으로 예측되는 특정 동작을 식별 할 수 있다. 일부 구현예에서, 정책 출력은 앞서 서술된 정책 출력들의 조합이다.
일반적으로, 동작 선택 정책 뉴럴 네트워크(112)는 입력 관찰 이미지(104)의 인코딩된 표현을 생성하는 콘볼루션 인코더 뉴럴 네트워크, 중간 표현을 생성하기 위해 입력 관찰 이미지의 인코딩된 표현을 프로세싱하는 중간 뉴럴 네트워크, 및 중간 표현을 프로세싱하여 정책 출력을 생성하는 출력 뉴럴 네트워크를 포함할 수 있다. 일부 구현예에서, 중간 뉴럴 네트워크는 피드포워드 뉴럴 네트워크이다. 예를 들어, 중간 뉴럴 네트워크는 다중-계층 퍼셉트론(multi-layer perceptron: MLP)일 수 있다. 일부 다른 구현에서, 중간 뉴럴 네트워크는 재귀 뉴럴 네트워크(recurrent neural network)이다. 이러한 구현예에서, 중간 뉴럴 네트워크는 장단기 메모리(long short-term memory: LSTM) 네트워크 혹은 LSTM 네트워크들의 스택일 수 있다. LSTM 네트워크들의 스택은 다수의 LSTM 네트워크들의 순서화된 세트이며, 여기서 제 1 LSTM 네트워크는 인코딩된 표현을 프로세싱하고, 각각의 후속 LSTM 네트워크는 이전의 LSTM 네트워크의 출력을 프로세싱한다. 일부 구현들에서, LSTM 네트워크들의 스택은 제 1 LSTM 네트워크 이후에 인코딩된 표현을 LSTM 네트워크들에 제공하는 스킵-연결들(skip-connections)을 포함할 수 있다. 일부 구현예에서, 출력 뉴럴 네트워크는 피드포워드 뉴럴 네트워크이다. 예를 들어, 출력 뉴럴 네트워크는 MLP일 수 있다.
에이전트-상대적인 측면 속도 및 회전 속도, 이전 시간 단계에서 에이전트에 의해 수행된 동작, 및 이전 시간 단계에서 시스템(100)에 의해 수신된 보상을 포함하는, 관찰 화상(104) 이외의 추가적인 입력들을 수신하도록 동작 선택 정책 뉴럴 네트워크(112)가 구성되는 구현예들에서, 상기 추가적인 입력들은 동작 선택 정책 뉴럴 네트워크(112)의 인코더 뉴럴 네트워크 또는 중간 뉴럴 네트워크에 대한 입력으로서 제공될 수 있다. 추가적인 입력들이 중간 뉴럴 네트워크에 대한 입력으로서 제공되는 경우, 입력 관찰 이미지의 인코딩된 표현 및 보상이 중간 뉴럴 네트워크의 제 1 계층에 제공될 수 있고 그리고 추가적인 입력은 중간 뉴럴 네트워크 제 2 계층에 제공될 수 있는바, 상기 제 2 계층은 또한 상기 제 1 계층의 출력을 입력으로 갖는다. 이러한 방식으로, 제 1 계층은 시각적 관찰과 보상을 연관시킬 수 있으며, 이는 상기 정책이 계산되는 제 2 계층에 제공된다.
일반적으로, 트레이닝 엔진(118)은 시스템(100)에 의해서 수신되는 예상 누적 보상 예컨대, 시스템(100)에 의해서 수신되는 보상들의 장기간 시간-할인 합계(long-term time-discounted sum of rewards)를 최대화하는 정책 출력들을 생성하도록, 동작 선택 정책 뉴럴 네트워크(112)의 파라미터들의 세트의 값들을 반복적으로(iteratively) 조절하는 강화 학습 기법을 이용하여, 동작 선택 정책 뉴럴 네트워크(112)를 트레이닝한다. 강화 학습 기법의 일례는, Volodymyr Mnih 등의 논문("Asynchronous methods for deep reinforcement learning," Proceedings of the 33rd International Conference on Machine Learning, 2016)에 서술되어 있다.
예상 누적 보상을 최대화하기 위해 동작 선택 정책 뉴럴 네트워크(112)를 트레이닝하는 것 이외에도, 트레이닝 엔진(118)은 동작 선택 정책 뉴럴 네트워크(112)의 중간 출력을 입력으로서 수신하는 기하학적 예측 뉴럴 네트워크(114)를 추가적으로 트레이닝함으로써, 동작 선택 정책 뉴럴 네트워크(112)를 트레이닝할 수 있다. 기하학적 예측 뉴럴 네트워크(114)을 트레이닝하는 것은 동작 선택 정책 뉴럴 네트워크(112)의 파라미터들의 세트의 값들을 튜닝하여, 동작 선택 정책 뉴럴 네트워크(112)로 하여금 장애물 회피 및 단기 궤도 플래닝(short-term trajectory planning)에 도움이 되는 관찰들(104)의 보다 유용한 표현들을 생성하게 하며 그리고 동작 선택 정책 뉴럴 네트워크(112)로 하여금 심지어 0 이 아닌(non-zero) 보상들이 오직 드물게 수신되는 경우에도 예상 누적 보상을 최대화하기 위해 보다 효율적인 정책 출력들을 결정할 수 있게 한다.
기하학적 예측 뉴럴 네트워크(114)는 소정의 관찰 이미지를 프로세싱할 때 동작 선택 정책 뉴럴 네트워크(112)의 중간 출력을 입력으로서 수신하고, 기하학적 예측 뉴럴 네트워크의 파라미터들의 세트의 값들에 따라 상기 입력을 프로세싱하여, 현재 상태에서의 환경의 기하학적 피처의 예측 값을 출력으로서 생성한다. 일부 구현예에서, 현재 상태에서의 환경의 기하학적 피처는 소정의 관찰 이미지에 의해서 특징지워지는 환경의 깊이 즉, 소정의 관찰 이미지의 픽셀들에 대응하는 깊이 값들이며, 여기서 픽셀에 대한 깊이 값은, 상기 소정의 관찰 이미지를 캡춰한 에이전트 센서로부터 그 픽셀을 포함하고 있는 상기 소정의 관찰 이미지에 도시된 표면 혹은 객체까지의 거리에 해당한다. 일부 구현예에서, 현재 상태에서의 환경의 기하학적 피처는, 상기 환경 내의 알려진 랜드 마크로부터 에이전트(108)의 거리이다. 일부 구현예에서, 현재 상태에서의 환경의 기하학적 피처는, 상기 환경 내의 알려진 랜드 마크에 대한 에이전트(108)의 방위(bearing)이다. 일부 구현예에서, 현재 상태에서의 환경의 기하학적 피처는 현재 상태에서의 상기 환경의 관찰 이미지, 상기 환경의 예측된 미래 관찰 이미지, 또는 이전에 수신된 상기 환경의 과거의 관찰 이미지의 복원물을 포함할 수 있다. 일부 구현예에서, 상기 환경의 기하학적 피처는 앞서 서술된 환경의 기하학적 피처들의 일부 조합이다. 일부 구현예에서, 기하학적 예측 뉴럴 네트워크(114)은 피드 포워드(feed-forward) 뉴럴 네트워크이다. 예를 들어, 기하학적 예측 뉴럴 네트워크는 MLP 일 수 있다.
동작 선택 정책 뉴럴 네트워크(112)의 중간 출력은, 주어진 관찰을 입력으로서 프로세싱함에 응답하여 동작 선택 정책 뉴럴 네트워크(112)의 하나 이상의 숨겨진 계층들의 하나 이상의 유닛들에서 생성된 활동들(activations)의 세트이다. 일부 구현예에서, 기하학적 예측 뉴럴 네트워크(114)에 대한 입력으로서 제공된 동작 선택 정책 뉴럴 네트워크(112)의 중간 출력은 동작 선택 정책 뉴럴 네트워크(112)의 콘볼루션 인코더 뉴럴 네트워크에 의해 생성된 인코딩된 표현이다. 일부 다른 구현에서, 기하학적 예측 뉴럴 네트워크(114)에 대한 입력으로서 제공된 동작 선택 정책 뉴럴 네트워크(112)의 중간 출력은 동작 선택 정책 뉴럴 네트워크(112)의 중간 뉴럴 네트워크에 의해 생성된 중간 표현(intermediate representation)이다. 일부 구현예에서, 시스템(100)은 2 개의 기하학적 예측 뉴럴 네트워크들을 포함하며, 여기서 하나의 기하학적 예측 뉴럴 네트워크는 동작 선택 정책 뉴럴 네트워크(112)의 콘볼루션 인코더 뉴럴 네트워크에 의해 생성된 인코딩된 표현을 입력으로 수신하고, 다른 하나의 기하학적 예측 뉴럴 네트워크는 동작 선택 정책 뉴럴 네트워크(112)의 중간 뉴럴 네트워크에 의해 생성된 중간 표현을 입력으로 수신한다.
트레이닝 엔진(118)은 기하학적 예측 뉴럴 네트워크(114)을 트레이닝하여, 기하학적 피처의 실제 값에 기초하는 지오미트리-기반의 보조 손실(geometry-based auxiliary loss)을 최소화하는 기하학적 피처의 예측된 값을 생성한다. 구체적으로, 트레이닝 엔진(118)은 지오미트리-기반의 보조 손실의 그래디언트(gradient)를 역전파(backpropagate)하여, 기하학적 예측 뉴럴 네트워크(114)의 파라미터들의 세트의 값들을 조절하고 그리고 동작 선택 정책 뉴럴 네트워크(112)의 파라미터들의 세트의 일부의 값들을 조절하는바, 이는 지오미트리-기반의 보조 손실을 최소화하기 위한 것이다. 특히, 트레이닝 엔진(118)은 (i) 시스템(100)이 기하학적 예측 뉴럴 네트워크에 입력으로서 제공하는, 동작 선택 정책 뉴럴 네트워크(112)의 중간 출력의 하나 이상의 숨겨진 계층들의 하나 이상의 유닛들, 및 (ii) 시스템(100)이 기하학적 예측 뉴럴 네트워크에 입력으로서 제공하는, 동작 선택 정책 뉴럴 네트워크(112)의 중간 출력의 하나 이상의 숨겨진 계층들의 하나 이상의 유닛들로 피드-포워드되는 유닛들에 대응하는 동작 선택 정책 뉴럴 네트워크의 파라미터들을 조절한다. 본 명세서에서, 제 1 유닛의 출력이 제 2 유닛에 대한 입력으로서 직접 또는 간접적으로 제공되는 경우, 제 1 유닛은 제 2 유닛으로 피드-포워드된다라고 언급된다. 기하학적 예측 뉴럴 네트워크(114)를 트레이닝함으로써 동작 선택 정책 뉴럴 네트워크(112)를 트레이닝하기 위한 예시적인 프로세스가 도 2를 참조하여 설명된다.
예상 누적 보상을 최대화하기 위해 동작 선택 정책 뉴럴 네트워크(112)를 트레이닝하는 것 이외에도, 트레이닝 엔진(118)은 동작 선택 정책 뉴럴 네트워크(112)의 중간 출력을 입력으로서 수신하는 루프 폐쇄 예측 뉴럴 네트워크(loop closure prediction neural network)(116)를 부가적으로 트레이닝함으로써, 동작 선택 정책 뉴럴 네트워크(112)를 트레이닝할 수 있다. 루프 폐쇄 예측 뉴럴 네트워크(116)를 트레이닝하는 것은 동작 선택 정책 뉴럴 네트워크(112)의 파라미터들의 세트의 값들을 튜닝하여, 동작 선택 정책 뉴럴 네트워크(112)로 하여금 효율적인 환경 탐색 및 공간 추론(spatial reasoning)에 도움이 되는 관찰들(104)의 보다 유용한 표현들을 생성하게 하며, 그리고 동작 선택 정책 뉴럴 네트워크(112)로 하여금 보상이 희박한 경우 즉, 0 이 아닌(non-zero) 보상들이 오직 드물게 수신되는 경우에도 예상 누적 보상을 최대화하기 위해 보다 효율적인 정책 출력들을 결정할 수 있게 한다.
소정의 관찰 이미지를 프로세싱할 때 루프 폐쇄 예측 뉴럴 네트워크(116)은 동작 선택 정책 뉴럴 네트워크(112)의 중간 출력을 입력으로서 수신하고, 그리고 루프 폐쇄 예측 뉴럴 네트워크(116)의 파라미터 세트의 값들에 따라 상기 입력을 프로세싱하여, 환경이 현재 상태에 있을 때, 에이전트가 이미 방문한 환경 내 위치로 에이전트가 되돌아갈 예측 가능성을 나타내는 스코어를 출력으로 생성한다. 일부 구현예에서, 에이전트가 시간 단계들의 이전의 고정된 개수 이내에서 상기 위치를 이전에 방문한 경우에만, 에이전트가 이전에 방문한 환경 내의 위치로 되돌아간 것으로 간주된다. 일부 구현예에서, 루프 폐쇄 예측 뉴럴 네트워크(116)은 피드-포워드 뉴럴 네트워크이다. 예를 들어, 루프 폐쇄 예측 뉴럴 네트워크(116)은 MLP 일 수 있다.
일부 구현예에서, 루프 폐쇄 예측 뉴럴 네트워크(116)의 입력으로 제공되는 동작 선택 정책 뉴럴 네트워크(112)의 중간 출력은 동작 선택 정책 뉴럴 네트워크(112)의 콘볼루션 인코더 뉴럴 네트워크에 의해 생성된 인코딩된 표현이다. 일부 다른 구현예에서, 루프 폐쇄 예측 뉴럴 네트워크(116)의 입력으로 제공되는 동작 선택 정책 뉴럴 네트워크(112)의 중간 출력은 동작 선택 정책 뉴럴 네트워크(112)의 중간 뉴럴 네트워크에 의해 생성된 중간 표현이다.
트레이닝 엔진(118)은 루프 폐쇄 예측 뉴럴 네트워크(116)를 트레이닝하여, 환경의 이전 상태들의 위치들에 대한 현재 상태의 위치의 실제 유사도에 기초하는 루프 폐쇄 보조 손실을 최소화하는 스코어를 생성하고, 환경이 현재 상태에 있을 때 에이전트가 이미 방문한 환경 내의 위치로 에이전트가 되돌아갈 예측 가능성을 생성한다. 구체적으로, 트레이닝 엔진(118)은 루프 폐쇄 보조 손실의 그래디언트(gradient)를 역전파(backpropagate)하여, 루프 폐쇄 예측 뉴럴 네트워크(116)의 파라미터들의 세트의 값들을 조절하고 그리고 동작 선택 정책 뉴럴 네트워크(112)의 파라미터들의 세트의 일부의 값들을 조절하는바, 이는 루프 폐쇄 보조 손실을 최소화하기 위한 것이다. 특히, 트레이닝 엔진(118)은 (i) 시스템(100)이 루프 폐쇄 예측 뉴럴 네트워크(116)에 입력으로서 제공하는, 동작 선택 정책 뉴럴 네트워크(112)의 중간 출력의 하나 이상의 숨겨진 계층들의 하나 이상의 유닛들, 및 (ii) 시스템(100)이 루프 폐쇄 예측 뉴럴 네트워크(116)에 입력으로서 제공하는, 동작 선택 정책 뉴럴 네트워크(112)의 중간 출력의 하나 이상의 숨겨진 계층들의 하나 이상의 유닛들로 피드-포워드되는 유닛들에 대응하는 동작 선택 정책 뉴럴 네트워크의 파라미터들을 조절한다. 루프 폐쇄 예측 뉴럴 네트워크(116)를 트레이닝함으로써 동작 선택 정책 뉴럴 네트워크(112)를 트레이닝하기 위한 예시적인 프로세스가 도 3을 참조하여 설명된다.
일부 구현예에서, 트레이닝 엔진(118)은 동작 선택 정책 뉴럴 네트워크, 기하학적 예측 뉴럴 네트워크 및 루프 폐쇄 예측 뉴럴 네트워크를 온라인으로, 즉 그들이 수신되는 관찰들 및 보상들에 기초하여 트레이닝한다. 예를 들어, 소정의 시간 단계에서, 시스템(100)은 동작 선택 정책 뉴럴 네트워크(112)에 의해 생성된 정책 출력에 기초하여 에이전트(108)에 의해 수행될 동작을 선택하고, 보상(106)을 수신하며, 그리고 트레이닝 엔진(118)은 하나 이상의 강화 학습 기법들, 지오미트리-기반의 보조 손실, 및 루프 폐쇄 보조 손실에 기초하여, 그래디언트 역전파를 통해 시스템(100)의 뉴럴 네트워크들의 파라미터들의 값들을 업데이트할 수 있다. 본 일례에서는, 다음 시간 단계에서, 상기 시스템(100)은 동작 선택 정책 뉴럴 네트워크(112)의 업데이트된 파라미터 값들에 따라 동작 선택 정책 뉴럴 네트워크(112)에 의해 생성된 정책 출력에 기초하여, 에이전트(108)에 의해 수행될 동작을 선택한다. 일부 구현예에서, 트레이닝 엔진(118)은 재생(replay) 메모리에 저장된 경험(즉, 관찰, 동작, 이전 시간 단계에 대한 보상)으로부터 네트워크를 훈련시킨다. 트레이닝 엔진(118)은 온-정책(on-policy) 트레이닝 또는 오프-정책(off-policy) 트레이닝, 또는 임의의 다른 적절한 강화 학습 기법을 사용하여 네트워크를 훈련시킬 수 있다. 또한, 강화 학습 기법, 보조 지오미트리-기반 손실, 및 루프 폐쇄 보조 손실에 기초하는 그래디언트 역전파는 다른 가중치 값들과 관련되며, 이는 그래디언트에 기초하여 네트워크들의 파라미터들에 대한 조절 사이즈를 스케일링한다
도 2는 기하학적 예측 뉴럴 네트워크를 트레이닝함으로써 동작 선택 정책 뉴럴 네트워크를 트레이닝하기 위한 예시적인 프로세스(200)의 흐름도이다. 편의상, 상기 프로세스(200)는 하나 이상의 위치에 위치한 하나 이상의 컴퓨터를 포함하는 트레이닝 엔진에 의해 수행되는 것으로 설명될 것이다. 예를 들어, 본원에 따라 적절하게 프로그래밍된 트레이닝 엔진(예컨대, 도 1의 트레이닝 엔진 118)은 상기 프로세서(200)를 수행할 수 있다. 일반적으로, 트레이닝 엔진은 다수의 시간 단계들 각각에서 프로세스(200)를 수행한다.
상기 시스템은 환경의 현재 상태를 특징짓는 관찰 이미지를 포함하는 입력들을 동작 선택 정책 뉴럴 네트워크에 제공하고, 동작 선택 정책 뉴럴 네트워크는 동작 선택 정책 뉴럴 네트워크의 파라미터들의 세트의 값들에 따라 상기 입력들을 프로세싱하여 정책 출력을 생성한다(단계 202). 일부 구현예에서, 관찰 이미지는 RGB 이미지이다. 일부 구현예에서, 동작 선택 정책 뉴럴 네트워크에 제공된 입력들은 추가적인 입력들 가령, 에이전트-상대적인 측면(lateral), 회전(rotational) 속도, 이전 시간 단계에서 에이전트에 의해 수행된 동작, 또는 이전 시간 단계에서 시스템에 의해 수신된 보상을 포함할 수 있다. 에이전트 상대적인 측면 및 회전 속도와 이전 시간 단계에서 시스템에 의해 수신된 보상은 벡터로 표현될 수 있으며, 이전 시간 단계에서 에이전트에 의해 수행된 동작은 구체적으로 1-핫(one-hot) 인코딩 벡터로 표현될 수 있다. 일반적으로, 관찰 이미지는 동작 선택 정책 뉴럴 네트워크의 콘볼루션 인코더 뉴럴 네트워크에 대한 입력으로서 제공된다. 구현예에 따라, 추가적인 입력들이 동작 선택 정책 뉴럴 네트워크의 인코더 뉴럴 네트워크 또는 중간 뉴럴 네트워크에 입력으로서 제공될 수 있다.
상기 시스템은 동작 선택 정책 뉴럴 네트워크의 중간 출력을 기하학적 예측 뉴럴 네트워크에 대한 입력으로서 제공할 수 있으며, 기하학적 예측 뉴럴 네트워크는 기하학적 예측 뉴럴 네트워크의 파라미터 세트의 값들에 따라 입력을 프로세싱하여, 현재 상태에서의 상기 환경의 기하학적 피처의 예측 값을 출력으로 생성할 수 있다(단계206).
일부 구현예에서, 기하학적 예측 뉴럴 네트워크에 입력으로서 제공된 동작 선택 정책 뉴럴 네트워크의 중간 출력은 동작 선택 정책 뉴럴 네트워크의 콘볼루션 인코더 뉴럴 네트워크에 의해 생성된 인코딩된 표현이다. 일부 다른 구현예에서, 기하학적 예측 뉴럴 네트워크에 입력으로서 제공된 동작 선택 정책 뉴럴 네트워크의 중간 출력은 동작 선택 정책 뉴럴 네트워크의 중간 뉴럴 네트워크에 의해 생성된 중간 표현이다. 일부 다른 구현에서, 상기 시스템은 2 개의 기하학적 예측 뉴럴 네트워크들을 포함하며, 하나의 기하학적 예측 뉴럴 네트워크는 동작 선택 정책 뉴럴 네트워크의 콘볼루션 인코더 뉴럴 네트워크에 의해 생성된 인코딩된 표현을 입력으로 수신하고, 그리고 다른 하나의 기하학적 예측 뉴럴 네트워크는 동작 선택 정책 뉴럴 네트워크의 중간 뉴럴 네트워크에 의해 생성된 중간 표현을 입력으로 수신한다.
일부 구현예에서, 현재 상태에서의 상기 환경의 기하학적 피처는 소정의 관찰 이미지에 의해 특징지워지는 상기 환경의 깊이일 수 있다. 이러한 몇몇 구현예에서, 기하학적 예측 뉴럴 네트워크에 의해 출력된 상기 환경의 기하학적 피처의 값은 음이 아닌(non-negative) 스칼라 값들의 어레이로서 표현되며, 여기서 어레이의 각 요소는 관찰 이미지의 대응 픽셀의 예측된 깊이 값에 대응하는 값을 갖는다. 다른 일부 구현예에서, 기하학적 예측 뉴럴 네트워크에 의해 출력된 환경의 기하학적 피처의 값은 카테고리형 변수들(categorical variables)의 어레이로서 표현되며, 여기서 각각의 카테고리형 변수는 가능한 깊이 값들의 범위를 나타내고, 어레이의 각 요소는 관찰 이미지의 해당 픽셀의 깊이에 대응하는 카테고리형 변수를 포함한다. 일부 경우들에서, 카테고리형 변수들은 가능한 깊이 값들의 범위를 균등하게 분할한다. 다른 일부 경우들에서, 카테고리형 변수들은 가능한 깊이 값들의 범위를 분할하되, 낮은 깊이 값들은 보다 비정밀하게(coarsely) 분할하고, 높은 깊이 값들은 보다 정밀하게(finely) 분할한다. 일부 구현예들에서, 상기 어레이는 관찰 이미지와 동일한 차원(dimensionality)을 가지며, 일부 다른 구현예에서는 계산 효율성의 이유로 상기 어레이는 관찰 이미지보다 작은 차원을 갖는다. 일부 구현예에서, 현재 상태에서의 환경의 기하학적 피처는 환경 내의 알려진 랜드마크로부터의 에이전트의 거리이다. 일부 구현예에서, 현재 상태에서의 환경의 기하학적 피처는 환경 내의 알려진 랜드마크에 대한 에이전트의 방위(bearing)이다. 일부 구현예에서, 현재 상태에서의 환경의 기하학적 피처는 현재 상태에서의 상기 환경의 관찰 이미지, 상기 환경의 미래 관찰 이미지 또는 상기 환경의 과거 관찰 이미지이다. 일부 구현예에서, 환경의 기하학적 피처는 이전에 서술된 상기 환경의 기하학적 피처들의 일부 조합이다.
상기 엔진은 지오미트리-기반의 보조 손실의 그래디언트(gradient)를 역전파(backpropagate)하여, 기하학적 예측 뉴럴 네트워크의 파라미터들의 세트의 값들을 조절하고 그리고 동작 선택 정책 뉴럴 네트워크의 파라미터들의 세트의 일부의 값들을 조절하는바, 이는 지오미트리-기반의 보조 손실을 최소화하기 위한 것이다(단계 308). 일반적으로, 지오미트리-기반의 보조 손실은, 기하학적 예측 뉴럴 네트워크에 의해 생성된 기하학적 피쳐의 예측된 값과 기하학적 피쳐의 실제 값 사이의 차이를 측정한다. 만일, 기하학적 피처의 예측된 값이 상기 관찰의 대응하는 픽셀들에 대한 예측된 깊이 값들을 나타내는 음이 아닌 스칼라 값들의 어레이 형태를 갖는다면, 지오미트리-기반의 보조 손실은, 예측된 깊이 값들과 실제 깊이 값들 사이의 평균 제곱 에러 손실(mean-square error loss)일 수 있다. 만일, 기하학적 피처의 예측된 값이 상기 관찰의 대응하는 픽셀들에 대한 예측된 깊이 값들을 나타내는 카테고리형 변수들의 어레이 형태를 갖는다면, 지오미트리-기반의 보조 손실은, 각각의 카테고리형 변수에 대한 교차-엔트로피 손실 함수들(cross-entropy loss functions)의 합계일 수 있다.
도 3은 루프 폐쇄 예측 뉴럴 네트워크를 트레이닝함으로써 동작 선택 정책 뉴럴 네트워크를 트레이닝하기 위한 예시적인 프로세스(300)의 순서도이다. 편의상, 프로세스(300)는 하나 이상의 위치들에 위치한 하나 이상의 컴퓨터들을 포함하는 트레이닝 엔진에 의해 수행되는 것으로 설명될 것이다. 예를 들어, 본 명세서에 따라 적절히 프로그래밍된 트레이닝 엔진(예를 들어, 도 1의 트레이닝 엔진 118)은 상기 프로세스(300)를 수행할 수 있다. 일반적으로, 트레이닝 엔진은 다수의 시간 단계들 각각에서 프로세스(300)를 수행한다.
상기 시스템은 환경의 현재 상태를 특징짓는 관찰 이미지를 포함하여 동작 선택 정책 뉴럴 네트워크에 대한 입력들을 제공하고, 경우에 따라 하나 이상의 추가적인 입력들을 제공하며, 상기 동작 선택 정책 뉴럴 네트워크는 입력들을 프로세싱하여 단계(202)와 유사하게 정책 출력을 생성한다(단계 302).
상기 시스템은 동작 선택 정책 뉴럴 네트워크의 중간 출력을 루프 폐쇄 예측 뉴럴 네트워크에 대한 입력으로 제공하고, 루프 폐쇄 예측 뉴럴 네트워크는 루프 폐쇄 예측 뉴럴 네트워크의 파라미터 세트의 값들에 따라 입력을 프로세싱하여, 출력으로서 스코어를 생성하는바, 상기 스코어는 환경이 현재 상태에 있을 때, 에이전트가 이미 방문한 환경 내 위치로 에이전트가 되돌아갈 예측 가능성을 나타낸다(단계 306). 일부 구현예에서, 에이전트가 시간 단계들의 이전의 고정된 개수 이내에서 상기 위치를 이전에 방문한 경우에만, 에이전트가 이전에 방문한 환경 내의 위치로 되돌아간 것으로 간주된다.
일부 구현예에서, 루프 폐쇄 예측 뉴럴 네트워크의 입력으로서 제공되는 동작 선택 정책 뉴럴 네트워크의 중간 출력은, 동작 선택 정책 뉴럴 네트워크의 콘볼루션 인코더 뉴럴 네트워크에 의해 생성되는 인코딩된 표현이다. 일부 다른 구현에서, 루프 폐쇄 예측 뉴럴 네트워크의 입력으로서 제공되는 동작 선택 정책 뉴럴 네트워크의 중간 출력은, 동작 선택 정책 뉴럴 네트워크의 중간 뉴럴 네트워크에 의해 생성된 중간 표현이다.
상기 엔진은 루프 폐쇄 보조 손실의 그래디언트를 역전파하여, 루프 폐쇄 예측 뉴럴 네트워크의 파라미터들의 세트의 값들을 조절하고 그리고 동작 선택 정책 뉴럴 네트워크의 파라미터들의 세트의 일부의 값들을 조절하는바, 이는 루프 폐쇄 보조 손실을 최소화하기 위한 것이다(단계 308). 일반적으로, 루프 폐쇄 보조 손실은 환경의 이전 상태들과 현재 상태의 실제 유사도와 루프 폐쇄 예측 뉴럴 네트워크에 의해 생성된, 이미 방문한 환경의 위치로 에이전트가 되돌아갈 예측 가능성에 기초한다. 하지만 추가적으로 또는 대안적으로, 위치의 유사도의 측정치는 이전에 방문한 위치와 유사한 위치로 에이전트가 돌아왔는지 여부를 결정하기 위한 에이전트-상대적인 측면 속도를 적분함으로써 획득될 수 있다. 일부 구현예에서, 루프 폐쇄 보조 손실은 루프 폐쇄 예측 뉴럴 네트워크에 의해 생성된 예측 가능성과 이진 라벨 사이의 베르누이 손실이다. 이러한 구현예에서, 현재 시간 단계에서의 에이전트의 위치가 특정 이전 시간 단계에서의 에이전트의 위치에 대한 제 1 임계 거리 내에 있다면 그리고 현재 시간 단계와 특정 시간 단계 사이의 임의 시간 단계에서 에이전트의 위치가 에이전트의 현재 위치로부터 적어도 제 2 임계 거리만큼 벗어나 있다면, 이진 라벨은 1 값을 가지며, 다른 경우에는 0 값을 갖는다. 연속적인 시간 단계들 사이의 사소한 루프 폐쇄들에 대해 라벨 값 1을 할당하는 것을 회피하기 위하여, 이진 라벨의 값은 제 2 임계값에 의존한다. 따라서, 일부 구현예에서, 루프 폐쇄 예측은 에이전트가 위치로 복귀하기 전에 위치로부터 제 2 임계 거리보다 큰 위치를 통과하는 조건을 포함한다.
일부 구현예에서, 시스템을 트레이닝할 때, 루프 폐쇄 손실로부터의 그래디언트들은 기하학적 예측으로부터의 그래디언트들과 가중 합계에서 결합될 수 있다. 가중치는 시스템의 하이퍼파라미터들일 수 있다.
본 명세서는 시스템 및 컴퓨터 프로그램 요소와 관련하여 "구성된(configured)" 이라는 용어를 사용한다. 특정 작업이나 동작을 수행하도록 구성된 하나 이상의 컴퓨터들의 시스템은, 동작시에 상기 시스템으로 하여금 작업 또는 동작을 수행하게 하는 소프트웨어, 펌웨어, 하드웨어 또는 이들의 조합에 이러한 시스템이 설치됨을 의미한다. 특정 작업이나 동작을 수행하도록 구성된 하나 이상의 컴퓨터 프로그램들은, 상기 하나 이상의 컴퓨터 프로그램들이 명령들을 포함하고 상기 명령들은 데이터 프로세싱 장치에 의해 실행될 때 상기 장치로 하여금 작업이나 동작을 수행하게 함을 의미한다.
본 명세서에서 설명된 본 발명의 주제 및 기능적 동작들의 실시예들은, 본 명세서에 개시된 구조들 및 이들의 구조적 등가물들을 포함하여 디지털 전자 회로, 유형적으로 구체화된 컴퓨터 소프트웨어 혹은 펌웨어, 컴퓨터 하드웨어, 또는 이들 중 하나 이상의 조합에서 구현될 수 있다. 본 명세서에서 설명된 본 발명의 실시예들은, 하나 이상의 컴퓨터 프로그램들로서 즉, 데이터 프로세싱 장치에 의한 실행, 또는 데이터 프로세싱 장치의 동작을 제어하기 위해, 유형의 비일시적인 저장 매체 상에 인코딩된 컴퓨터 프로그램 명령들의 하나 이상의 모듈들로서 구현될 수 있다. 컴퓨터 저장 매체는 머신 판독가능한 저장 디바이스, 머신 판독가능한 저장 기판, 랜덤 액세스 또는 시리얼 액세스 메모리 디바이스, 또는 이들 중 하나 이상의 조합일 수 있다. 대안적으로 또는 부가적으로, 프로그램 명령은 데이터 프로세싱 장치에 의한 실행을 위해 적절한 수신기 장치로 전송하도록 정보를 인코딩하기 위해 인위적으로 생성된 전파 신호, 예를 들어 기계에 의해 생성된 전기적, 광학적 또는 전자기 신호에 인코딩될 수 있다.
"데이터 프로세싱 장치"라는 용어는 데이터 프로세싱 하드웨어를 지칭하며, 일례로서 프로그램가능한 프로세서, 컴퓨터 또는 복수의 프로세서들 또는 컴퓨터들을 포함하여, 데이터를 프로세싱하기 위한 모든 종류의 장치들, 디바이스들, 및 머신들을 포괄한다. 상기 장치는 또한 특수 목적 논리 회로 예컨대, FPGA(필드 프로그램가능한 게이트 어레이) 또는 ASIC(주문형 집적 회로)를 포함할 수 있다. 상기 장치는 하드웨어 외에, 컴퓨터 프로그램, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 하나 이상의 이들의 조합을 구성하는 코드와 같은 실행 환경을 생성하는 코드를 선택적으로 포함할 수 있다.
프로그램, 소프트웨어, 소프트웨어 어플리케이션, 앱, 모듈, 소프트웨어 모듈, 스크립트, 또는 코드로 언급 또는 설명될 수 있는 컴퓨터 프로그램은, 컴파일된 또는 해석된 언어 또는 선언적 또는 절차적 언어를 포함하는 임의의 프로그래밍 언어의 형태로 쓰여질 수 있다. 그리고 독립 실행형 프로그램으로서, 모듈로서, 컴포넌트로서, 서브루틴으로서 또는 컴퓨팅 환경에서 사용하기에 적합한 다른 단위를 포함하는 모든 형태로 배포될 수 있다. 하지만, 프로그램은 파일 시스템의 파일에 해당할 수도 있지만 그렇지 않을 수도 있다. 프로그램은 다른 프로그램 혹은 데이터를 갖는 파일의 일부에 저장될 수 있는바, 예컨대, 마크업 언어 문서에 저장된 하나 이상의 스크립트들, 해당 프로그램 전용의 단일 파일 또는 여러 개의 조정 파일들, 예컨대, 하나 이상의 모듈, 서브 프로그램들 또는 코드의 일부를 저장하는 파일들일 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 상에서 실행되도록 배포되거나, 하나의 사이트 또는 여러 사이트에 분산되어 있으며 데이터 통신 네트워크로 상호 연결된 여러 대의 컴퓨터에서 실행되도록 배포될 수 있다.
본 명세서에서 사용된 "엔진" 이라는 용어는, 하나 이상의 특정 기능들을 수행하도록 프로그램된 소프트웨어 기반의 시스템, 서브 시스템, 또는 프로세스를 지칭하도록 널리 사용된다. 일반적으로 엔진은 하나 이상의 소프트웨어 모듈 또는 구성 요소로 구현되며 하나 이상의 위치에 있는 하나 이상의 컴퓨터에 설치된다. 경우에 따라 하나 이상의 컴퓨터가 특정 엔진 전용으로 사용된다. 다른 경우에는 여러 대의 엔진들이 동일한 컴퓨터나 컴퓨터들에 설치되어 실행될 수 있다.
본 명세서에 서술된 프로세스들 및 흐름들은 입력 데이터에서 작용하여 출력을 생성함으로써 기능을 수행하는 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능한 컴퓨터에 의해 수행될 수 있다. 이러한 프로세스들 및 논리 흐름들은 특수 목적 논리 회로, 예를 들어 FPGA 또는 ASIC, 또는 특수 목적 논리 회로와 하나 이상의 프로그래밍된 컴퓨터의 조합에 의해 수행될 수도 있다.
컴퓨터 프로그램의 실행에 적합한 컴퓨터는 일반 또는 특수 목적 마이크로 프로세서들 또는 다른 종류의 중앙 처리 장치에 기초할 수 있다. 일반적으로, 중앙 처리 장치는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령 및 데이터를 수신할 것이다. 컴퓨터의 필수 구성 요소는 명령을 수행하거나 실행하기 위한 중앙 처리 장치와 명령 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 중앙 처리 장치 및 메모리는 특수 목적 논리 회로에 의해 보충되거나 또는 그 안에 포함될 수 있다. 일반적으로, 컴퓨터는 또한 자기, 광 자기 디스크 또는 광학 디스크와 같은 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치로부터 데이터를 수신하거나 전송하기 위해 동작가능하게 결합될 것이다. 그러나 컴퓨터가 이러한 디바이스들을 가질 필요는 없다. 또한, 컴퓨터는 이동 전화, 개인 휴대 정보 단말기(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, 위성 위치 확인 시스템(GPS) 수신기 또는 휴대용 저장 장치(예를 들어, 범용 직렬 버스(USB) 플래시 드라이브)와 같은 다른 장치에 내장될 수 있다.
컴퓨터 프로그램 명령 및 데이터를 저장하기에 적합한 컴퓨터 판독가능 매체는 예컨대, 반도체 메모리 디바이스, EPROM, EEPROM, 및 플래시 메모리 디바이스, 자기 디스크, 내부 하드 디스크 또는 이동식 디스크, 광 자기 디스크, 및 CD-ROM 및 DVD-ROM 디스크 등을 포함하는 모든 형태의 비휘발성 메모리 매체와 메모리 디바이스를 포함한다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에서 설명된 실시예들은 정보를 사용자에게 디스플레이하기 위한 예컨대, CRT(음극선 관) 또는 LCD(액정 디스플레이) 등의 디스플레이 디바이스와 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 장치, 예를 들어, 마우스 또는 트랙볼을 갖는 컴퓨터 상에서 구현될 수 있다. 다른 종류의 디바이스들이 사용자와의 상호 작용을 제공하는데 사용될 수 있는바, 예를 들어, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각 피드백일 수 있으며, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는 사용자가 사용하는 디바이스와 문서를 주고 받음으로써 사용자와 상호작용할 수 있다. 예를 들어, 웹 브라우저로부터 수신된 요청에 응답하여 사용자 디바이스 상의 웹 브라우저에 웹 페이지를 전송할 수 있다. 또한, 컴퓨터는 텍스트 메시지 또는 다른 형태의 메시지를 개인용 디바이스(예컨대, 메시징 어플리케이션을 실행중인 스마트 폰)로 보내고 사용자 응답 메시지를 수신하여 사용자와 상호작용할 수 있다.
또한, 머신 학습 모델을 구현하기 위한 데이터 처리 장치는 머신 학습 훈련 또는 생산 즉, 추론, 작업 부하의 공통의 계산집약적인 부분을 프로세싱하기 위한 예컨대, 특수 목적 하드웨어 가속 유닛들을 포함할 수 있다. 머신 학습 모델은 TensorFlow 프레임 워크, Microsoft Cognitive Toolkit 프레임 워크, Apache Singa 프레임 워크 또는 Apache MXNet 프레임 워크와 같은 머신 학습 프레임 워크를 사용하여 구현 및 배포될 수 있다.
본 명세서에 기술된 실시예들은 데이터 서버와 같은 백-엔드 컴포넌트를 포함하거나, 어플리케이션 서버와 같은 미들웨어 컴포넌트를 포함하거나, 본 명세서에 기술된 구현예들과 사용자가 상호작용할 수 있는 그래픽 사용자 인터페이스, 웹 브라우저, 또는 앱을 갖는 클라이언트 컴퓨터와 같은 프런트-엔드 컴포넌트를 포함하거나, 또는 하나 이상의 이들 백-엔드 컴포넌트, 미들웨어 컴포넌트, 프런트-엔드 컴포넌트의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 통신 네트워크와 같은 디지털 데이터 통신 형식이나 매체로 상호연결될 수 있다. 통신 네트워크의 예는 근거리 통신망(LAN) 및 광역 통신망(WAN), 예를 들어 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트와 서버는일반적으로 서로 멀리 떨어져 있으며 일반적으로 통신 네트워크를 통해 상호작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램에 의해 발생한다. 일부 실시예에서, 서버는 클라이언트로 동작하는 디바이스와 상호작용하는 사용자에게 데이터를 디스플레이하거나 사용자로부터 사용자 입력을 수신하는 목적으로, 예를 들어, HTML 페이지와 같은 데이터를 사용자 디바이스로 송신한다. 사용자 디바이스에서 생성된 데이터, 예를 들어 사용자 상호 작용의 결과는 디바이스로부터 서버에서 수신될 수 있다.
비록 본 명세서는 많은 특정구현 세부사항들을 포함하고 있지만, 이들은 임의의 발명의 범위에 대한 제한 또는 청구 범위에 대한 제한으로서 해석되어서는 안되며, 오히려 특정 발명의 특정 실시예에 특정될 수 있는 특징에 대한 설명으로 해석되어야한다. 별도의 실시예와 관련하여 본 명세서에서 설명되는 특정 특징은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시예의 문맥에서 설명된 다양한 특징은 또한 다수의 실시예에서 개별적으로 또는 임의의 적합한 하위 조합으로 구현될 수 있다. 더욱이, 특징들은 특정 조합으로 작용하고 상술된 바와 같이 초기에 주장될지라도, 어떤 경우에는 청구된 조합으로부터의 하나 이상의 특징이 그 조합으로부터 제거될 수 있고, 청구된 조합은 하위 조합 또는 하위 조합의 변형에 관한 것일 수 있다.
마찬가지로, 동작들이 특정 순서대로 도면에 도시되고 청구항에 서술되어 있지만, 이는 이러한 동작들이 도시된 특정 순서대로 또는 순차적으로 수행될 것을 요구하는 것으로 이해되어서는 안되며, 또는 바람직한 결과를 얻기 위하여 도시된 모든 동작이 반드시 수행될 것을 의미하지도 않는다. 특정 상황에서는 멀티 태스킹 및 병렬 처리가 유리할 수 있다. 또한, 상술한 실시예에서 다양한 시스템 모듈 및 컴포넌트의 분리는 모든 실시예에서 그러한 분리를 요구하는 것으로 이해되어서는 안되며, 설명된 프로그램 컴포넌트 및 시스템은 일반적으로 단일 소프트웨어 제품 또는 여러 소프트웨어 제품에 패키지로 제공된다.
본 발명의 요지에 대한 특정 실시예들이 설명되었다. 다른 실시예들은 다음의 청구항들의 범위 내에 속한다. 예를 들어, 청구 범위에서 열거된 동작은 상이한 순서로 수행될 수 있으며 여전히 바람직한 결과를 달성한다. 일례로서, 첨부된 도면에 도시된 프로세스는 바람직한 결과를 얻기 위해 도시된 특정 순서 또는 순차적 순서를 반드시 필요로 하지는 않는다. 어떤 경우에는 멀티 태스킹 및 병렬 처리가 유리할 수 있다.

Claims (13)

  1. 하나 이상의 목표들(goals)을 달성하기 위하여 환경을 네비게이팅하는 에이전트에 의해서 수행될 동작들(actions)을 선택하는데 사용되는 복수의 네트워크 파라미터들을 갖는 동작 선택 정책 뉴럴 네트워크(action selection policy neural network)를 트레이닝하는 방법으로서,
    상기 환경의 현재 상태를 특징짓는(characterizing) 관찰 이미지를 수신하는 단계;
    상기 동작 선택 정책 뉴럴 네트워크를 이용하여 그리고 상기 네트워크 파라미터들의 현재 값들에 따라, 동작 선택 출력을 생성하도록 상기 관찰 이미지를 포함하는 입력을 프로세싱하는 단계;
    기하학적 예측 뉴럴 네트워크(geometry prediction neural network)를 이용하여, 현재 상태에서의 상기 환경의 기하학적 피처의 값을 예측하도록 상기 동작 선택 정책 뉴럴 네트워크에 의해서 생성된 중간 출력(intermediate output)을 프로세싱하는 단계;
    상기 기하학적 피처의 실제 값과 상기 기하학적 피처의 예측된 값에 기초하는 지오미트리-기반의 보조 손실(geometry-based auxiliary loss)의 그래디언트(gradient)를 결정하는 단계; 및
    상기 네트워크 파라미터들의 현재 값들에 대한 지오미트리-기반의 보조 업데이트(geometry-based auxiliary update)를 결정하도록, 상기 동작 선택 정책 뉴럴 네트워크 내로 상기 지오미트리-기반의 보조 손실의 그래디언트를 역전파(backpropagating)하는 단계
    를 포함하는 것을 특징으로 하는 동작 선택 정책 뉴럴 네트워크를 트레이닝하는 방법.
  2. 제1항에 있어서,
    상기 기하학적 피처의 예측된 값은 상기 관찰 이미지에 의해서 특징지워지는 상기 환경의 예측된 깊이이며, 상기 기하학적 피처의 실제 값은 상기 관찰 이미지에 의해서 특징지워지는 상기 환경의 실제 깊이인 것을 특징으로 하는 동작 선택 정책 뉴럴 네트워크를 트레이닝하는 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 동작 선택 정책 뉴럴 네트워크는,
    상기 입력의 인코딩된 표현을 생성하는 콘볼루션 인코더 뉴럴 네트워크,
    상기 입력의 인코딩된 표현을 프로세싱하여 중간 표현을 생성하는 중간 뉴럴 네트워크, 및
    상기 중간 표현을 프로세싱하여 동작 선택 출력을 생성하는 출력 뉴럴 네트워크를 포함하는 것을 특징으로 하는 동작 선택 정책 뉴럴 네트워크를 트레이닝하는 방법.
  4. 제3항에 있어서,
    상기 중간 출력은 상기 인코딩된 표현을 포함하는 것을 특징으로 하는 동작 선택 정책 뉴럴 네트워크를 트레이닝하는 방법.
  5. 제3항에 있어서,
    상기 중간 출력은 상기 중간 표현을 포함하는 것을 특징으로 하는 동작 선택 정책 뉴럴 네트워크를 트레이닝하는 방법.
  6. 제3항 내지 제5항 중 어느 한 항에 있어서,
    상기 환경이 현재 상태에 있을 때, 에이전트가 이미 방문한 상기 환경 내의 위치로 상기 에이전트가 되돌아갈 예측 가능성(a predicted likelihood)을 나타내는 스코어를 생성하도록 구성된 루프 폐쇄 예측 뉴럴 네트워크(loop closure prediction neural network)를 이용하여 상기 중간 표현을 프로세싱하는 단계;
    상기 환경의 이전 상태들에 대한 현재 상태의 실제 유사도 및 상기 예측 가능성에 기초하는 루프 폐쇄 보조 손실(loop closure auxiliary loss)의 그래디언트를 결정하는 단계; 및
    상기 네트워크 파라미터들의 현재 값들에 대한 루프 폐쇄 보조 업데이트를 결정하도록, 상기 동작 선택 정책 뉴럴 네트워크 내로 상기 루프 폐쇄 보조 손실의 그래디언트를 역전파하는 단계
    를 더 포함하는 것을 특징으로 하는 동작 선택 정책 뉴럴 네트워크를 트레이닝하는 방법.
  7. 제3항 내지 제6항 중 어느 한 항에 있어서,
    상기 중간 뉴럴 네트워크는 리커런트 뉴럴 네트워크를 포함하는 것을 특징으로 하는 동작 선택 정책 뉴럴 네트워크를 트레이닝하는 방법.
  8. 제3항 내지 제6항 중 어느 한 항에 있어서,
    상기 중간 뉴럴 네트워크는 피드포워드(feedforward) 뉴럴 네트워크를 포함하는 것을 특징으로 하는 동작 선택 정책 뉴럴 네트워크를 트레이닝하는 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 환경이 상기 현재 상태에 있을 때 상기 동작 선택 출력을 이용하여 상기 에이전트에 의해 수행될 동작을 선택하는 단계;
    상기 하나 이상의 목표들을 달성하기 위한 진행상황(progress)에 기초하여 보상을 수신하는 단계; 및
    상기 보상에 적어도 일부 기초하여 상기 네트워크 파라미터들에 대한 메인 업데이트를 결정하는 단계
    를 더 포함하는 것을 특징으로 하는 동작 선택 정책 뉴럴 네트워크를 트레이닝하는 방법.
  10. 제9항에 있어서,
    상기 네트워크 파라미터들의 현재 값들을 업데이트하기 위해 상기 지오미트리-기반의 보조 업데이트 및 상기 메인 업데이트를 이용하는 단계를 더 포함하는 것을 특징으로 하는 동작 선택 정책 뉴럴 네트워크를 트레이닝하는 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    업데이트된 파라미터 값들을 생성하도록, 상기 지오미트리-기반의 보조 업데이트를 이용하여 상기 네트워크 파라미터들의 현재 값들을 업데이트하는 단계; 및
    상기 업데이트된 파라미터 값들에 따라 상기 에이전트에 의해서 수행될 동작을 선택하도록 상기 동작 선택 정책 뉴럴 네트워크를 이용하는 단계
    를 더 포함하는 것을 특징으로 하는 동작 선택 정책 뉴럴 네트워크를 트레이닝하는 방법.
  12. 하나 이상의 컴퓨터들 및 명령들을 저장하는 하나 이상의 저장 디바이스들을 포함하는 시스템으로서, 상기 명령들은 하나 이상의 컴퓨터들에 의해 실행될 때, 상기 하나 이상의 컴퓨터들로 하여금, 제1항 내지 제11항 중 어느 한 항에 따른 방법을 수행하게 하는 것을 특징으로 하는 시스템.
  13. 명령들을 저장하는 하나 이상의 컴퓨터 저장매체로서, 상기 명령들은 하나 이상의 컴퓨터들에 의해 실행될 때, 상기 하나 이상의 컴퓨터들로 하여금, 제1항 내지 제11항 중 어느 한 항에 따른 방법을 수행하게 하는 것을 특징으로 하는 컴퓨터 저장매체.
KR1020197015991A 2016-11-04 2017-11-04 강화 학습을 이용한 환경 네비게이션 KR102228503B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662418074P 2016-11-04 2016-11-04
US62/418,074 2016-11-04
PCT/IB2017/056907 WO2018083672A1 (en) 2016-11-04 2017-11-04 Environment navigation using reinforcement learning

Publications (2)

Publication Number Publication Date
KR20190077067A true KR20190077067A (ko) 2019-07-02
KR102228503B1 KR102228503B1 (ko) 2021-03-16

Family

ID=60655008

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197015991A KR102228503B1 (ko) 2016-11-04 2017-11-04 강화 학습을 이용한 환경 네비게이션

Country Status (7)

Country Link
US (2) US10572776B2 (ko)
EP (2) EP4386624A3 (ko)
JP (2) JP6728496B2 (ko)
KR (1) KR102228503B1 (ko)
CN (2) CN117371492A (ko)
DE (1) DE202017106697U1 (ko)
WO (1) WO2018083672A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102236640B1 (ko) * 2020-10-28 2021-04-06 주식회사 스파이스웨어 강화학습 기반의 난수 생성 장치 및 방법
KR102272501B1 (ko) * 2020-04-24 2021-07-01 연세대학교 산학협력단 분산 강화 학습 장치 및 방법
KR20210136365A (ko) * 2020-05-07 2021-11-17 (주)밸류파인더스 액터 크리틱 모델을 이용한 포트폴리오 자산배분 강화학습방법
KR102345267B1 (ko) * 2020-10-12 2021-12-31 서울대학교산학협력단 목표 지향적 강화학습 방법 및 이를 수행하기 위한 장치

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110088775B (zh) * 2016-11-04 2023-11-07 渊慧科技有限公司 使用加强学习的环境预测
EP3367061B1 (en) * 2017-02-28 2020-07-15 Honda Research Institute Europe GmbH Navigation system based on slow feature gradients
DE102017215007A1 (de) * 2017-08-28 2019-02-28 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum situativen Steuern eines Fahrzeugflottensystems
JP7011472B2 (ja) * 2018-01-15 2022-01-26 キヤノン株式会社 情報処理装置、情報処理方法
US10605608B2 (en) 2018-05-09 2020-03-31 Deepmind Technologies Limited Performing navigation tasks using grid codes
EP3807823A1 (en) 2018-06-12 2021-04-21 Intergraph Corporation Artificial intelligence applications for computer-aided dispatch systems
CN109190720B (zh) * 2018-07-28 2021-08-06 深圳市商汤科技有限公司 智能体强化学习方法、装置、设备及介质
EP3788554B1 (en) * 2018-09-27 2024-01-10 DeepMind Technologies Limited Imitation learning using a generative predecessor neural network
CN112771542B (zh) * 2018-09-27 2024-03-05 渊慧科技有限公司 以学习的视觉实体为基础的强化学习神经网络
CN109919319A (zh) * 2018-12-31 2019-06-21 中国科学院软件研究所 基于多个历史最佳q网络的深度强化学习方法及设备
US11313950B2 (en) 2019-01-15 2022-04-26 Image Sensing Systems, Inc. Machine learning based highway radar vehicle classification across multiple lanes and speeds
US11587552B2 (en) 2019-04-30 2023-02-21 Sutherland Global Services Inc. Real time key conversational metrics prediction and notability
US11222637B2 (en) * 2019-05-06 2022-01-11 Google Llc Performing subtask(s) for a predicted action in response to a separate user interaction with an automated assistant prior to performance of the predicted action
US11467588B2 (en) * 2019-07-03 2022-10-11 Denso International America, Inc. Systems and methods for controlling an autonomous vehicle using target orientated artificial intelligence
CA3092161A1 (en) * 2019-09-05 2021-03-05 Royal Bank Of Canada System and method for uncertainty-based advice for deep reinforcement learning agents
EP4035078A1 (en) * 2019-09-24 2022-08-03 HRL Laboratories, LLC A deep reinforcement learning based method for surreptitiously generating signals to fool a recurrent neural network
CN110824954A (zh) * 2019-10-24 2020-02-21 北京仿真中心 智能体训练方法及系统、计算机设备、可读存储介质
KR20210064445A (ko) 2019-11-25 2021-06-03 삼성전자주식회사 반도체 공정 시뮬레이션 시스템 및 그것의 시뮬레이션 방법
CN111178496A (zh) * 2019-11-30 2020-05-19 浙江大学 多代理强化学习合作任务场景下的代理间交换知识的方法
DE102020100641B4 (de) * 2020-01-14 2024-06-27 Bayerische Motoren Werke Aktiengesellschaft System für Planungsaufgaben
US11610128B2 (en) * 2020-03-31 2023-03-21 Amazon Technologies, Inc. Neural network training under memory restraint
CN111496794B (zh) * 2020-04-29 2022-04-01 华中科技大学 一种基于仿真工业机器人的运动学自抓取学习方法和系统
EP3920103B1 (en) * 2020-06-05 2024-08-07 Robert Bosch GmbH Device and method for planning an operation of a technical system
US20210390778A1 (en) * 2020-06-10 2021-12-16 Nvidia Corporation Environment generation using one or more neural networks
CN114518762B (zh) * 2022-04-20 2022-07-22 长沙小钴科技有限公司 机器人避障装置、避障控制方法和机器人
CN116824303B (zh) * 2023-07-06 2024-01-26 哈尔滨工业大学 基于损伤驱动和多模态多任务学习的结构巡检智能体导航方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10719727B2 (en) * 2014-10-01 2020-07-21 Apple Inc. Method and system for determining at least one property related to at least part of a real environment
EP3079106B1 (en) * 2015-04-06 2022-06-08 DeepMind Technologies Limited Selecting reinforcement learning actions using goals and observations

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
esar Cadena et al., "Past, Present, and Future of Simultaneous Localization And Mapping: Towards the Robust-Perception Age," CORR(ARXIV), vol.1606.05830v2, 20 July 2016(2016.07.20.) 국외논문 사본 1부.* *
Guillaume Lample et al., "Playing FPS Games with Deep Reinforcement Learning,"ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 18 Sept. 2016(2016.09.18.) 국외논문 사본 1부.* *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102272501B1 (ko) * 2020-04-24 2021-07-01 연세대학교 산학협력단 분산 강화 학습 장치 및 방법
KR20210136365A (ko) * 2020-05-07 2021-11-17 (주)밸류파인더스 액터 크리틱 모델을 이용한 포트폴리오 자산배분 강화학습방법
KR102345267B1 (ko) * 2020-10-12 2021-12-31 서울대학교산학협력단 목표 지향적 강화학습 방법 및 이를 수행하기 위한 장치
KR102236640B1 (ko) * 2020-10-28 2021-04-06 주식회사 스파이스웨어 강화학습 기반의 난수 생성 장치 및 방법
WO2022092346A1 (ko) * 2020-10-28 2022-05-05 주식회사 스파이스웨어 강화학습 기반의 난수 생성 장치 및 방법

Also Published As

Publication number Publication date
CN117371492A (zh) 2024-01-09
EP3523762B1 (en) 2024-06-12
JP2020170535A (ja) 2020-10-15
JP6935550B2 (ja) 2021-09-15
EP3523762A1 (en) 2019-08-14
JP2019537137A (ja) 2019-12-19
CN110088774B (zh) 2023-08-18
US11074481B2 (en) 2021-07-27
US20200151515A1 (en) 2020-05-14
EP3523762B8 (en) 2024-08-14
CN110088774A (zh) 2019-08-02
US20190266449A1 (en) 2019-08-29
EP4386624A2 (en) 2024-06-19
US10572776B2 (en) 2020-02-25
JP6728496B2 (ja) 2020-07-22
WO2018083672A1 (en) 2018-05-11
DE202017106697U1 (de) 2018-03-09
EP4386624A3 (en) 2024-08-07
KR102228503B1 (ko) 2021-03-16

Similar Documents

Publication Publication Date Title
KR20190077067A (ko) 강화 학습을 이용한 환경 네비게이션
US11842281B2 (en) Reinforcement learning with auxiliary tasks
CN110692066B (zh) 使用多模态输入选择动作
JP6664480B2 (ja) ディープ強化学習による連続的制御
CN110088775B (zh) 使用加强学习的环境预测
US20210201156A1 (en) Sample-efficient reinforcement learning
US11627165B2 (en) Multi-agent reinforcement learning with matchmaking policies
EP3788549B1 (en) Stacked convolutional long short-term memory for model-free reinforcement learning
CN110546653A (zh) 使用神经网络的用于强化学习的动作选择
JP7181415B2 (ja) 観測値の尤度を使用して環境を探索するためのエージェントを制御すること
US20220036186A1 (en) Accelerated deep reinforcement learning of agent control policies
US20220076099A1 (en) Controlling agents using latent plans

Legal Events

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