KR102156303B1 - 비동기 심층 강화 학습 - Google Patents

비동기 심층 강화 학습 Download PDF

Info

Publication number
KR102156303B1
KR102156303B1 KR1020187013091A KR20187013091A KR102156303B1 KR 102156303 B1 KR102156303 B1 KR 102156303B1 KR 1020187013091 A KR1020187013091 A KR 1020187013091A KR 20187013091 A KR20187013091 A KR 20187013091A KR 102156303 B1 KR102156303 B1 KR 102156303B1
Authority
KR
South Korea
Prior art keywords
neural network
worker
parameters
action
policy
Prior art date
Application number
KR1020187013091A
Other languages
English (en)
Other versions
KR20180090989A (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 KR20180090989A publication Critical patent/KR20180090989A/ko
Application granted granted Critical
Publication of KR102156303B1 publication Critical patent/KR102156303B1/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/092Reinforcement learning
    • 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
    • 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/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/047Probabilistic or stochastic 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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/098Distributed learning, e.g. federated learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Feedback Control In General (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • General Factory Administration (AREA)

Abstract

방법들, 시스템들 및 장치들은 비동기 심층 강화 학습을 위해 컴퓨터 저장 매체에 인코딩된 컴퓨터 프로그램을 포함한다. 상기 시스템들 중 하나는 복수의 워커를 구현하도록 구성된 하나 이상의 컴퓨터를 포함하며, 각각의 워커는 각각의 다른 워커와 독립적으로 동작하도록 구성되며, 상기 각각의 워커는 상기 심층 신경망의 훈련 동안 상기 환경의 각각의 레플리카와 상호 작용하는 각각의 액터와 연관된다. 본 명세서의 양태들은 신경망의 보다 빠른 훈련 및/또는 그 훈련을 위한 메모리 요구량 감소의 기술적 효과를 갖는다.

Description

비동기 심층 강화 학습
본 명세서는 강화 학습에 관한 것이다.
강화 학습 시스템에서, 에이전트는 환경의 현재 상태를 특성화하는 관측들을 수신하는 것에 응답하여 강화 학습 시스템에 의해 선택된 액션들을 수행함으로써 환경과 상호 작용한다.
일부 강화 학습 시스템은 신경망의 출력에 따라 소정의 관측들을 수신하는 것에 응답하여 에이전트에 의해 수행될 액션을 선택한다.
신경망들은 수신된 입력에 대한 출력을 예측하기 위해 하나 이상의 비선형 단위 층들(layers of nonlinear units)을 사용하는 기계 학습 모델들이다.
일부 신경망들은 출력층 외에도 하나 이상의 은닉층을 포함하는 심층 신경망들이다. 각각의 은닉층의 출력은 네트워크의 다음 계층, 즉 다음 은닉층 또는 출력층에 대한 입력으로 사용된다. 네트워크의 각 계층은 각각의 파라미터 세트의 현재 값들에 따라 수신된 입력으로부터 출력을 생성한다.
본 명세서는 강화 학습과 관련된 기술을 설명한다. 특히, 본 명세서는 환경과 상호 작용할 때 에이전트에 의해 수행될 액션들을 선택하기 위해 강화 학습 시스템에 사용되는 심층 신경망을 비동기적으로 훈련하는 기술을 설명한다.
본 명세서의 양태들은 신경망의 보다 빠른 훈련 및/또는 그 훈련을 위한 메모리 요구량을 감소하는 기술적 효과를 갖는다.
특정 오퍼레이션들(operations)이나 액션들을 수행하도록 구성된 하나 이상의 컴퓨터들의 시스템은 시스템이 오퍼레이션들 또는 액션들을 수행하도록 하는 소프트웨어, 펌웨어, 하드웨어 또는 이들의 조합이 시스템에 설치되어 있음을 의미한다. 특정 오퍼레이션들 또는 액션들을 수행하도록 구성된 하나 이상의 컴퓨터 프로그램은 하나 이상의 프로그램이 데이터 처리 장치에 의해 실행될 때 장치로 하여금 오퍼레이션들 또는 액션들을 수행하게 하는 명령어들을 포함함을 의한다.
본 명세서에서 설명된 요지는 다음의 장점들 중 하나 이상을 실현하도록 특정 실시예들에서 구현될 수 있다. 병렬 훈련을 통해 강화 학습 시스템에 의해 사용되는 신경망은 더 빠르게 훈련될 수 있다. 특히, 단일 머신에서 독립적으로 작동하는 여러 워커를 사용하여 훈련을 병렬화함으로써 그 병렬화의 결과로 발생하는 통신 비용을 줄일 수 있다. 또한, 다수의 머신에 다수의 워커를 포함하는 병렬화 기술에서 일반적으로 요구되는 바와 같이, 재생 메모리 또는 다른 저장소에 경험 튜플(tuples)을 저장하기 위한 워커들의 필요성을 제거함으로써, 훈련을 위한 메모리 요구량이 감소될 수 있고, 온-폴리시(on-policy) 강화 학습 방법들이 사용될 수 있다.
본 명세서의 요지의 하나 이상의 실시예들의 세부사항은 첨부된 도면들 및 이하의 설명에서 설명된다. 요지의 다른 특징들, 양태들 및 장점들은 상세한 설명, 도면들 및 청구 범위로부터 명백해질 것이다. 예를 들어, 본 명세서는 여기에 개시된 임의의 기술들을 수행하기 위해 컴퓨터 저장 매체상에 인코딩된 컴퓨터 프로그램들을 포함하는 방법들, 시스템들 및 장치를 제공한다. 일부 실시예들에서, 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 때 컴퓨팅 장치로 하여금 여기에 개시된 기술들 중 임의의 것을 수행하게 하는 명령어들을 포함한다.
도 1은 예시적인 신경망 훈련 시스템을 도시한다.
도 2는 심층 신경망을 훈련시키기 위한 예시적인 프로세스의 흐름도이다.
도 3은 Q- 학습 기술의 반복을 수행하기 위한 예시적인 프로세스의 흐름도이다.
도 4는 SARSA 기술의 반복을 수행하기 위한 예시적인 프로세스의 흐름도이다.
도 5는 폴리시 신경망을 훈련시키기 위한 예시적인 프로세스의 흐름도이다.
다양한 도면에서 동일한 참조 번호 및 명칭은 동일한 구성요소를 나타낸다.
본 명세서는 일반적으로 비동기 심층 강화 학습을 위한 기술을 설명한다. 특히, 본 명세서는 환경과 상호 작용하는 에이전트에 의해 수행될 액션들을 선택하기 위해 여러 워커들이 강화 학습 시스템에서 사용하는 심층 신경망을 비동기적으로 훈련하는 방법을 설명한다.
일부 구현예들에서, 상기 환경은 모의 환경이고, 상기 에이전트는 모의 환경과 상호 작용하는 하나 이상의 컴퓨터 프로그램으로서 구현된다. 예를 들어, 모의 환경은 비디오 게임일 수 있고, 에이전트는 비디오 게임을 하는 모의 사용자일 수 있다. 다른 예로서, 모의 환경은 모션 시뮬레이션 환경, 예를 들어 주행 시뮬레이션 또는 비행 시뮬레이션일 수 있으며, 에이전트는 모션 시뮬레이션을 통해 네비게이트하는 모의 차량이다. 이러한 구현예들에서, 액션들은 모의 사용자 또는 모의 차량을 제어하기 위한 제어 입력일 수 있다.
일부 다른 구현예들에서, 환경은 실제 환경이며, 에이전트는 실제 환경과 상호 작용하는 머신 에이전트이다. 예를 들어, 에이전트는 특정 태스크를 수행하기 위해 환경과 상호 작용하는 로봇일 수 있다. 또 다른 예로, 에이전트는 환경을 통해 네비게이트하는 자율 또는 반자율 차량일 수 있다. 이러한 구현예들에서, 액션들은 로봇 또는 자율 차량을 제어하기 위한 제어 입력일 수 있다.
일반적으로, 강화 학습 시스템은 환경의 현재 상태를 특징으로 하는 관측들(observations)을 수신하고, 그 관측들을 사용하여 에이전트에 의해 수행될 액션들을 선택한다. 에이전트가 선택된 액션을 수행하는 것에 응답하여, 환경이 새로운 상태로 전환되고 강화 학습 시스템은 리워드(reward)를 수신한다. 상기 리워드는 환경 상태의 함수인 숫자 값이다. 환경과 상호 작용하는 동안, 강화 학습 시스템은 에이전트에 의해 수행된 액션들에 응답하여 에이전트에 의해 수신된 롱-텀(long-term) 리워드를 최대화하려고 시도한다.
특히, 소정의 관측에 응답하여, 강화 학습 시스템은 심층 신경망에 의해 생성된 출력에 따라 에이전트에 의해 수행될 액션을 선택한다.
강화 학습 시스템이 에이전트에 의해 수행될 액션들을 효과적으로 선택하게 하기 위해, 신경망 훈련 시스템은 심층 신경망을 훈련시켜 파라미터들의 초기 값들로부터 심층 신경망의 파라미터들의 값들을 조정한다.
특히, 신경망 훈련 시스템은 환경의 레플리카들(replicas)과 상호 작용하는 액터들에 의해 수행될 액션들을 선택함으로써 심층 신경망을 비동기적으로 훈련시키는 다수의 워커를 포함한다.
각 액터는 서로 다른 인스턴스와 독립적으로 작동하는 에이전트의 인스턴스이다. 예를 들어, 에이전트가 기계적 에이전트인 경우, 각각의 액터는 또한 에이전트와 동일하거나 거의 동일한, 예를 들어 동일하거나 거의 동일한 성질을 가지며 에이전트와 동일한 액션들 수행할 수 있는 개별적인 기계적 에이전트이고, 각 액터와 독립적으로 동작한다.
도 1은 예시적인 신경망 훈련 시스템(100)을 도시한다. 신경망 훈련 시스템(100)은 이하에 설명되는 시스템들, 컴포넌트들 및 기술들이 구현되는 하나 이상의 위치에서 하나 이상의 컴퓨터상의 컴퓨터 프로그램으로 구현되는 시스템의 예이다.
신경망 훈련 시스템(100)은 다수의 워커(102A-N) 및 공유 메모리(110)를 포함한다. 워커들(102A-102N) 각각은 해당 환경 레플리카들(106A-106N)과 상호 작용하는 각각의 액터(104A-N)와 연관된다. 예를 들어, 워커(102A)는 환경 레플리카(106A)와 상호 작용하는 액터(104A)와 연관된다.
일부 구현예들에서, 각각의 워커들(110A-N)은 동일한 컴퓨터상에 구현되지만, 워커를 위한 계산을 독립적으로 수행할 수 있는 컴퓨터 내의 별도의 스레드, 프로세스 또는 다른 하드웨어 또는 소프트웨어로 실행한다. 이러한 구현예들에서, 공유 메모리(110)는 각각의 워커들(102A-102N)에 액세스할 수 있는 컴퓨터의 메모리이다. 환경이 가상 환경인 구현예들에서, 소정의 워커와 연관된 환경 레플리카 및 액터는 상기 소정의 워커와 동일한 스레드 또는 다른 하드웨어 또는 소프트웨어에서 실행된다.
워커들(102A-102N) 각각은 훈련중인 심층 신경망의 인스턴스를 유지하고, 공유 메모리(110)에 저장된 심층 신경망의 파라미터들의 현재 값을 획득하기 위해 공유 메모리(110)에 액세스한다. 각각의 워커는 공유 메모리(110)로부터 획득된 신경망의 파라미터들의 현재 값에 따라 워커와 연관된 액터에 의해 수행될 액션들을 선택하기 위해 심층 신경망의 워커의 인스턴스를 사용한다.
특히, 훈련 동안, 각각의 워커는 워커와 연관된 환경 레플리카의 상태를 특징짓는 관측들을 수신하고, 각각의 관측에 응답하여, 심층 신경망을 사용하여 환경 레플리카와 연관된 액터에 의해 수행될 액션을 선택한다. 그 후, 상기 워커는 환경 레플리카의 다음 상태, 즉 환경 레플리카가 상기 선택된 액션을 수행하는 상기 액터의 결과로서 전이하는 상태를 특징짓는 다음 관찰 및 상기 선택된 액션을 수행하는 액터로부터 초래되는 리워드를 수신한다. 워커는 리워드 및 다음 관측을 사용하여 그래디언트(gradient)를 결정하고, 상기 워커에 의해 결정된 그래디언트를 주기적으로 사용하여 공유 메모리(110)에 저장된 파라미터 값들을 업데이트한다. 그래디언트들을 결정하고 공유 메모리에 저장된 파라미터 값들을 업데이트하는 것은 도 2를 참조하여 아래에서보다 상세히 설명된다.
각 워커(102A-102N)가 공유 메모리(110)에 저장된 파라미터 값들을 반복적이고 비동기적으로 업데이트함으로써, 워커들(102A-102N)은 심층 신경망의 파라미터들의 훈련된 값들을 결정하기 위해 심층 신경망을 집합적으로 훈련시킨다.
도 2는 심층 신경망을 훈련시키기 위한 예시적인 프로세스(200)의 흐름도이다. 편의상, 프로세스(200)는 워커, 예컨대 도 1의 워커들(120A-N) 중 하나에 의해 수행되는 것으로 설명될 것이다.
상기 워커는 심층 신경망의 파라미터들의 현재 값들을 결정한다(단계 202).
일부 구현예들에서, 상기 워커는 모든 워커들 사이에 공유된 메모리, 예컨대 도 1의 공유 메모리(110)로부터 상기 현재 값들을 획득한다.
일부 다른 구현예들에서, 상기 워커는 아래에 설명한 바와 같이 공유 메모리를 업데이트한 후 상기 메모리에서 상기 현재 값들을 획득하고, 이를 로컬 메모리에 기록한다. 이러한 구현예들에서, 상기 워커는 상기 현재 값들을 상기 로컬 메모리에 저장된 값들로 결정한다.
상기 워커는 상기 워커와 연관된 액터에 의해 상호 작용되는 환경 레플리카의 현재 상태를 특징짓는 현재 관측을 수신한다(단계 204).
상기 워커는 심층 신경망을 사용하여 환경이 현재 상태에 있을 때 액터에 의해 수행될 현재 액션을 선택한다(단계 206).
특히, 일부 구현예들에서, 심층 신경망은 관측 및 액션을 입력으로서 수신하고 그 입력을 프로세싱하여 Q 네트워크의 파라미터들의 현재 값들에 따라 신경망 출력을 생성하도록 구성된 Q 네트워크이다. 본 명세서에서 Q 값으로 언급될 신경망 출력은 환경이 상기 입력 관측에 의해 특징 지워지는 상태에 있을 때 상기 입력 액션을 수행하는 액터 또는 에이전트로부터 야기되는 롱-텀 리워드의 추정치이다.
이러한 구현예들에서, 미리 결정된 액션 세트의 각 액션에 대해, 상기 워커는 Q 네트워크를 사용하여 액션 및 현재 관측을 프로세싱하여 각 액션에 대한 각각의 현재 Q 값을 생성한다.
그 다음 상기 워커는 현재 Q 값을 사용하여 워커에 의해 수행될 현재 액션으로서 워커에 대한 액션 선택 정책에 따라 미리 결정된 액션 세트에서 액션을 선택한다.
일반적으로, 소정의 워커에 대한 액션 선택 정책은 서로 다른 워커에 대한 액션 선택 정책과 다르다. 예를 들어, 일부 구현예들에서, 각 워커에 대한 액션 선택 정책은 상기 워커가 확률 ε으로 미리 결정된 액션 세트에서 임의로 액션을 선택하고 확률 1 - ε의 가장 높은 Q 값을 갖는 액션을 선택하지만, ε의 값은 각 워커마다 다르다. 예를 들어, 각 워커는 액션 선택 정책에 사용될 ε을 결정하기 위해 워커가 취할 수 있는 ε 값의 분포로부터 상기 워커의 ε에 대한 값을 주기적으로 샘플링할 수 있다. 또 다른 예로, 상기 워커는 Q 값에 소프트맥스(softmax) 비선형성을 적용하고 상기 결과 분포에서 액션을 샘플링함으로써 액션을 선택할 수 있다. 각 워커는 소프트맥스에서 다른 온도 파라미터를 사용하여 각 워커가 다른 액션 선택 정책을 갖도록 할 수 있다.
상기 워커는 다음 관측 및 실제 리워드를 수신한다(단계 208). 상기 다음 관측은 환경 레플리카의 다음 상태, 즉 현재 액션을 수행하는 워커와 연관된 액터의 결과로서 환경 레플리카가 전이된 상태를 특징짓는다. 상기 실제 리워드는 현재 상태에서 다음 상태로 전이된 결과로 환경 레플리카로부터 수신된 숫자 값이다.
상기 워커는 실제 리워드 및 다음 관측을 사용하여 현재의 그래디언트를 결정하기 위해 강화 학습 절차의 반복을 수행한다(단계 210). 상기 그래디언트는 심층 신경망을 훈련시키기 위해 최적화된 손실 함수의 그래디언트이다.
손실 함수 및 워커가 그래디언트를 결정하는 방식은 심층 신경망을 훈련시키는 데 사용되는 강화 학습 절차에 의존하며, 이는 다시 심층 신경망이 어떻게 구성되어 있는가에 달려있다.
예를 들어, 심층 신경망이 Q 네트워크인 경우, 상기 워커들은 Q-학습 기술 또는 SARSA 기술을 사용할 수 있다. Q-학습 기술의 반복(iteration)을 수행하는 것은 도 3을 참조하여 아래에서 설명된다. SARSA 기술의 반복을 수행하는 것은 도 4를 참조하여 아래에서 설명된다.
상기 워커는 현재의 그래디언트로 누적된 그래디언트를 업데이트하여 업데이트되어 누적된 그래디언트를 결정한다(단계 212). 즉, 상기 워커는 로컬 메모리에 그레디언트를 유지하고, 새로운 그래디언트가 계산될 때마다 예를 들어, 새로운 그래디언트를 상기 누적된 그래디언트에 추가함으로써 상기 새로운 그래디언트로 상기 유지된 그래디언트를 업데이트한다.
상기 워커는 신경망의 파라미터들의 현재 값들을 업데이트하기 위한 기준이 충족되었는지 여부를 결정한다(단계 214). 예를 들어, 상기 현재 값들을 업데이트하기 위한 기준은 상기 워커가 상기 파라미터 값을 가장 최근에 업데이트한 이후로 상기 워커가 지정된 수의 강화 학습 반복을 수행한 후에 상기 워커가 상기 현재 값들을 업데이트하도록 지정할 수 있다. 다른 예로서, 상기 기준은 상기 워커가 파라미터 값들을 업데이트한 가장 최근의 시간 이후에 다수의 모든 워커에 의해 수행된 강화 학습 반복의 총 수가 지정된 임계 값을 초과할 때 상기 워커가 상기 현재 값들을 업데이트하도록 지정할 수 있다.
상기 기준이 충족되면, 상기 워커는 상기 누적된 그래디언트를 사용하여 업데이트된 파라미터 값들을 결정하고(단계 216), 상기 업데이트된 파라미터 값들을 공유 메모리에 기록한다(단계 218). 특히, 상기 워커는 상기 누적된 그래디언트로부터 파라미터 값 업데이트를 결정하고, 공유 메모리 내의 상기 현재 값들에 액세스 한 다음 상기 파라미터 값 업데이트를 사용하여 해당 값들을 업데이트한다. 일부 예들에서, 상기 워커는 상기 누적된 그래디언트에 학습률 파라미터를 곱한 다음 현재 파라미터 값들과 상기 파라미터 값 업데이트를 합하여 상기 업데이트된 파라미터 값들을 결정한다. 일부 다른 예들에서, 상기 워커는 "RMSProp" 최적화 절차의 비동기 변형을 사용하여 상기 파라미터 값들을 업데이트한다.
상기 워커가 업데이트된 파라미터 값들을 공유 메모리에 기록한 후에, 상기 워커는 상기 누적된 그래디언트를 클리어(clear), 즉 프로세스(200)의 다음 반복이 시작될 때 상기 워커에 의해 그래디언트가 유지되지 않도록 한다.
상기 기준이 충족되지 않으면, 상기 워커는 공유 메모리에 아무것도 기록하지 않는다(단계 220). 즉, 상기 워커는 현재 파라미터 값들을 업데이트하지 않고 프로세스(200)의 또 다른 반복을 수행한다.
다수의 워커 각각은 비동기식으로 반복적으로 프로세스(200)를 수행하여 심층 신경망의 파라미터들의 훈련된 값들을 집합적으로 결정할 수 있다. 일단 상기 훈련된 값들이 결정되면, 강화 학습 시스템은 상기 신경망 파라미터들의 훈련된 값들에 따라 심층 신경망을 사용하여 신경망 입력을 프로세싱함으로써, 상기 환경과 상호 작용하는 에이전트에 의해 수행될 값들을 선택하도록 심층 신경망을 사용할 수 있다. 일부 다른 경우에, 강화 학습 시스템은 상기 워커들이 프로세스(200)를 계속 수행하는 동안, 즉 공유 메모리에 저장된 값들을 주기적으로 획득하고 에이전트에 의해 수행될 액션들을 선택하도록 그 값들을 사용함으로써, 에이전트에 의해 수행될 값들을 선택하도록 심층 신경망을 사용한다.
일부 경우에, 일단 상기 훈련된 값이 결정되면 이들은 저장되어 심층 신경망의 훈련된 버전을 인스턴스화하는데 사용하기 위해, 즉 에이전트가 환경과 상호 작용할 때 액션들을 효과적으로 선택할 수 있게 하기 위해 네트워크를 통해 다른 시스템으로 전송된다.
도 3은 Q- 학습 기술의 반복을 수행하기 위한 예시적인 프로세스(300)의 흐름도이다. 편의상, 프로세스(300)는 워커, 예를 들어 도 1의 워커들(102A-N) 중 하나에 의해 수행되는 것으로 설명될 것이다.
상기 워커는 도 2를 참조하여 전술한 바와 같이, 현재 관측, 현재 액션, 실제 리워드 및 다음 관측을 획득한다(단계 302).
상기 워커는 환경 레플리카가 다음 관측에 의해 특징 지워지는 상태에 있을 때 목표 네트워크의 최대 출력을 결정한다(단계 304). 상기 목표 네트워크는 Q 네트워크와 동일한 신경망, 즉 동일한 신경망 아키텍처/신경망 형태를 가질 수 있지만, 상이한 파라미터 값들을 가질 수 있다. 특히, 각 워커는 목표 네트워크의 파라미터들의 값들을 공유 메모리에 저장된 Q 네트워크의 파라미터들의 현재 값들과 주기적으로 동기화한다. 그러나 일반적으로, 상기 워커는 상기 워커가 공유 메모리에 저장된 파라미터 값들을 업데이트하는 것보다 덜 자주 목표 네트워크의 파라미터들의 값들을 동기화하므로, 상기 목표 네트워크와 Q 네트워크는 자주 서로 다른 파라미터 값들을 가질 것이다.
상기 워커는, 미리 결정된 액션 세트의 각 액션에 대해, 상기 액션에 대한 목표 네트워크 출력을 결정하기 위해 목표 네트워크를 사용하여 다음 관측과 함께 액션을 프로세싱함으로써 상기 목표 네트워크의 최대 출력을 결정한다. 그 다음 상기 시스템은 목표 네트워크의 최대 출력과 같은 미리 결정된 액션 세트 내의 액션들에 대한 목표 네트워크 출력의 최대값을 선택한다.
상기 워커는 목표 네트워크의 최대 출력, 실제 리워드 및 환경이 현재 상태에 있을 때 현재 액션에 대해 이전에 결정된 현재 Q 값, 즉 환경이 현재 상태에 있을 때 수행될 액션으로서 현재 액션을 선택하는데 사용되는 현재 Q 값으로부터 오류를 결정한다(단계 306). 일부 구현예들에서, 상기 에러 E는 수학식 1을 만족시킨다.
Figure 112018045106919-pct00001
여기서, r은 실제 리워드이며,
Figure 112018045106919-pct00002
는 미리결정된 할인 인자(discount factor)이며, max(Qtarget)는 목표 네트워크의 최대 출력이며, Qcurrent는 환경이 현재 상태에 있을 때 현재 액션에 대해 이전에 결정된 현재 Q 값이다.
상기 워커는 상기 결정된 에러를 사용하여 현재의 그래디언트를 결정한다(단계 308). 즉, 상기 워커는 역전파(backpropagation)를 사용하여 상기 값들을 업데이트하며, 역전파된 에러는 상기 선택된 액션에 대해 상기 결정된 에러이고 다른 모든 액션에 대해서는 0이다.
도 4는 SARSA 기술의 반복을 수행하기 위한 예시적인 프로세스(400)의 흐름도이다. 편의상, 프로세스(400)는 신경망 훈련 시스템 내의 워커, 예를 들어 도 1의 신경망 훈련 시스템(100) 내의 워커들(102A-N) 중 하나의 워커에 의해 수행되는 것으로 설명될 것이다.
상기 워커는 현재 관측, 현재 액션, 실제 리워드 및 다음 관측을 수신한다(단계 402).
상기 워커는 환경 레플리카가 다음 상태에 있을 때 상기 액터에 의해 수행될 다음 액션을 선택한다(단계 404). 상기 워커는 단계 206을 참조하여 전술한 바와 같이 다음 액션을 선택한다. 즉, 미리결정된 액션 세트의 각 액션에 대해, 상기 워커는 각 액션에 대한 각각의 다음 Q 값을 생성하도록 Q 네트워크를 사용하여 액션 및 다음 관측을 프로세싱한다. 그 다음 상기 워커는 다음 Q 값들을 사용하여 상기 워커에 의해 수행될 다음 액션으로서 상기 워커의 액션 선택 정책에 따라 미리결정된 액션 세트에서 액션을 선택한다.
상기 워커는 다음 액션을 위한 목표 네트워크 출력을 결정한다(단계 406). 즉, 상기 워커는 다음 액션의 목표 네트워크 출력을 결정하도록 목표 네트워크를 사용하여 다음 액션 및 다음 관측을 프로세싱한다.
상기 워커는 다음 액션, 실제 리워드 및 현재 액션에 대해 이전에 결정된 현재 Q 값에 대한 목표 네트워크 출력으로부터의 에러를 결정한다(단계 406).
일부 구현예들에서, 상기 에러 E는 수학식 2를 만족시킨다.
Figure 112018045106919-pct00003
여기서, r은 실제 리워드이며,
Figure 112018045106919-pct00004
는 미리결정된 할인 인자이며, Qtarget는 다음 액션에 대한 목표 네트워크 출력이며, Qcurrent는 환경이 현재 상태에 있을 때 현재 액션에 대해 이전에 결정된 현재 Q 값이다.
상기 워커는 상기 결정된 에러를 사용하여 현재의 그래디언트를 결정한다(단계 408).
프로세스(300) 또는 프로세스(400) 중 어느 하나를 수행할 때, 상기 워커는 또한 목표 네트워크 파라미터들을 공유 메모리 내의 파라미터들과 동기화하기 위한 기준이 충족되는지의 여부를 결정한다. 예를 들어, 상기 기준은 단계 216을 참조하여 상기 설명된 기준과 동일할 수 있지만, 지정된 임계 값 또는 지정된 수는 공유 메모리에 저장된 파라미터들을 업데이트할지 여부를 결정하기 위해 사용된 수 또는 값보다 크다. 따라서, 상기 워커는 상기 워커가 공유 메모리에 저장된 파라미터 값들을 업데이트하는 것보다 덜 자주 목표 네트워크의 파라미터들의 값들을 동기화하므로 목표 네트워크와 Q 네트워크는 자주 서로 다른 파라미터 값들을 가질것이다.
상기 설명은 심층 신경망이 Q 네트워크인 구현예들을 설명했다. 그러나, 일부 다른 구현예들에서, 심층 신경망은 입력 관측을 수신하고 미리결정된 액션 세트 내의 각 액션에 대한 각각의 스코어를 출력하는 정책 신경망이며, 여기서 스코어들 각각은 상기 입력 관측에 의해 특징지어지는 상태에 있는 환경으로 인한 롱-텀 리워드를 최대화하기 위해 수행되어야 하는 액션일 가능성을 나타낸다.
이러한 구현예들에서, 수정의 관측에 응답하여 액션을 선택하기 위해 강화 학습 시스템은 정책 신경망을 사용하여 소정의 관측을 프로세싱하고, 상기 액션들에 대한 스코어에 따라 상기 액션들로부터 샘플링함으로써 에이전트에 의해 수행될 액션을 선택한다.
각 워커가 다른 액션 선택 정책을 갖도록 하기 위해, 각 워커는 액션들로부터 샘플링할 때 다른 임의의 시드(seed)를 사용할 수 있으며, 대안적으로, 각각의 워커는 액션들에 대한 스코어들을 생성하는 정책 신경망의 출력층에 대해 상이한 온도를 가질 수 있다.
도 5는 정책 신경망을 훈련시키기 위한 예시적인 프로세스(500)의 흐름도이다. 편의상, 프로세스(500)는 신경망 훈련 시스템 내의 워커, 예를 들어 도 1의 신경망 훈련 시스템(100) 내의 워커들(102A-N) 중 하나의 워커에 의해 수행되는 것으로 설명될 것이다.
상기 워커는 정책 신경망의 파라미터들의 현재 값들을 결정한다(단계 502). 특히, 상기 워커는 모든 워커들 사이에 공유된 메모리, 예를 들어 도 1의 공유 메모리(110)로부터 상기 현재 값들을 획득한다.
상기 워커는 또한 공유 메모리에서 베이스라인 신경망의 파라미터들의 현재 값들을 획듣한다. 상기 베이스라인 신경망은
입력 관측을 수신하고 입력 관측에 의해 특징 지워지는 상태로부터 시작하여 에이전트에 의해 수신된 추정된 롱-텀 리워드를 나타내는 베이스라인 스코어를 생성하도록 구성된 신경망이다. 일부 구현예들에서, 베이스라인 및 정책 네트워크들은 일부 파라미터들을 공유한다.
상기 워커는 환경 레플리카의 상태를 특징짓는 관측들을 수신하고, 환경 레플리카가 특정 기준을 만족하는 상태로 전이할 때까지 정책 신경망의 파라미터들의 현재 값들에 따라 액터에 의해 수행될 액션들을 선택한다(단계 504). 즉, 각 관측마다, 상기 현재 값들에 따라 정책 신경망을 사용하여 관측을 프로세싱하고, 액션들에 대한 스코어들에 따라 액션들로부터 샘플링하여 에이전트에 의해 수행될 액션을 선택한다. 예를 들어, 상기 특정 기준은 미리 결정된 수(tmax)의 관측들이 수신된 후 또는 미리 결정된 터미널 상태(terminal state)에 도달할 때까지 만족될 수 있다.
특히, 환경 레플리카의 상태를 특징짓는 각각의 수신된 관측(observation)에 대해, 상기 워커는 정책 신경망을 사용하여 상기 관측을 프로세싱하여, 정책 신경망의 파라미터들의 현재 값들에 따라 상기 미리 결정된 액션 세트 내의 각 액션에 대한 각각의 스코어를 발생하고, 상기 분포에서 샘플링함으로써 액터에 의해 수행될 액션을 선택한다.
각각의 수신된 관측에 대해, 상기 워커는 베이스라인 신경망의 파라미터들의 현재 값들에 따라 상기 관측을 위한 베이스라인 스코어를 생성하기 위해, 베이스라인 신경망을 사용하여 액션 및 관측을 또한 프로세싱한다.
일부 구현예들에서, 베이스라인 신경망 및 정책 신경망 중 하나 또는 둘 모두는 재귀 신경망(recurrent neural network)일 수 있다.
상기 워커는 각각 수신된 관측에 대한 실제 롱-텀 리워드를 결정한다(단계 506).
즉, 수신된 마지막 관측에 대해, 상기 시스템은 상기 실제 롱-텀 리워드를 예를 들어 베이스라인 신경망에 의해 예측된 베이스라인 스코어로 설정한다.
상기 마지막 관측이 아닌 소정의 관측의 경우, 상기 시스템은 상기 액터가 상기 소정의 관측을 수신하는 것에 응답하여 선택된 액션을 수행한 후에 상기 환경 레플리카가 마지막 관측과 수신된 관측에 대한 실제 롱-텀 리워드의 할인된 합계를 특징짓는 상태로 전이되었을 때 소정의 관측에 대한 실제 롱-텀 리워드를 상기 수신된 리워드로 설정한다.
상기 워커는 각각의 관측에 대해, 정책 신경망에 대한 각각의 그래디언트 업데이트 및 베이스라인 신경망에 대한 각각의 그래디언트 업데이트를 결정한다(단계 510).
특히, 관측(st)에 대한 정책 신경망의 그래디언트 업데이트는 수학식 3을 만족한다.
Figure 112018045106919-pct00005
여기서,
Figure 112018045106919-pct00006
는 관측(st)에 응답하여 수행된 액션에 대해 생성된 스코어이며, Rt는 관측(st)에 대해 결정된 실제 롱-텀 리워드이며, bt는 관측(st)의 베이스라인 스코어이다.
관측(st)에 대한 베이스라인 신경망의 그래디언트 업데이트는 수학식 4를 만족한다.
Figure 112018045106919-pct00007
여기서,
Figure 112018045106919-pct00008
는 관측(st)에 대한 베이스라인 스코어이다.
상기 워커는 정책 신경망에 대한 누적된 그래디언트를 정책 신경망에 대한 그래디언트 업데이트로 업데이트하여 정책 신경망에 대한 업데이트된 누적된 그래디언트를 결정하고, 상기 베이스라인 신경망에 대한 누적된 그래디언트를 상기 베이스라인 신경망에 대한 그래디언트 업데이트로 업데이트하고, 예를 들어 신경망에 대한 누적된 그래디언트에 각각의 신경망에 대한 새로운 그래디언트를 부가함으로써 베이스라인 신경망에 대한 업데이트된 누적된 그래디언트를 결정한다(단계 512).
상기 워커는 베이스라인 신경망 및 정책 신경망의 파라미터들의 현재 값들을 업데이트하기 위한 기준이 만족되었는지 여부를 결정한다(단계 514).
예를 들어, 상기 현재 값들을 업데이트하기 위한 기준은, 상기 워커가 파라미터 값들을 가장 최근에 업데이트한 이후로 상기 워커가 단계 504의 지정된 횟수의 반복을 수행한 후에 상기 워커가 상기 현재 값들을 업데이트하도록 지정할 수 있다.
다른 예로서, 상기 기준은 워커들이 파라미터 값들을 업데이트한 가장 최근 시간 이후로 복수의 워커들 모두에 의해 수행된 단계 504의 반복의 총 횟수가 특정 임계 값을 초과할 때 상기 워커가 상기 현재 값들을 업데이트하도록 지정할 수 있다.
상기 기준이 만족되면, 상기 워커는 해당 누적된 그래디언트를 사용하여 베이스라인 신경망 및 정책 신경망에 대한 업데이트된 파라미터 값들을 결정하고(단계 516), 예를 들어 단계 216 및 218을 참조하여 전술한 바와 같이 상기 업데이트된 파라미터 값들을 공유 메모리에 기록한다(단계 518).
상기 워커가 상기 업데이트된 파라미터 값들을 공유 메모리에 기록한 후, 상기 워커는 상기 누적된 그래디언트를 클리어, 즉, 프로세스(500)의 다음 반복이 시작될 때 상기 워커에 의해 그래디언트가 유지되지 않도록 한다.
상기 기준이 만족되지 않으면, 상기 워커는 공유 메모리에 아무 것도 기록하지 않고(단계 520), 즉 상기 워커가 현재의 파라미터 값들을 업데이트하지 않고 프로세스(500)의 또 다른 반복을 수행하도록 진행한다.
본 명세서에서 설명된 요지 및 기능적 동작들의 실시예들은 본 명세서 및 그 구조적 균등물에 개시된 구조를 포함하여 디지털 전자 회로, 유형적으로 기록된 컴퓨터 소프트웨어 또는 펌웨어, 컴퓨터 하드웨어, 또는 이들의 하나 이상의 조합으로 구현될 수 있다. 본 명세서에서 설명된 요지의 실시예들은 하나 이상의 컴퓨터 프로그램으로 구현, 즉 데이터 처리 장치로 실행 또는 데이터 처리 장치의 동작을 제어하기 위한 유형의 비일시적인 프로그램 캐리어 상에 인코딩된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈로 구현될 수 있다. 대안으로 또는 부가적으로, 상기 프로그램 명령어들은 데이터 처리 장치에 의한 실행을 위해 적절한 수신기 장치로의 송신을 위해 정보를 인코딩하도록 생성되는 인위적으로 생성된 전파된 신호, 예를 들어, 기계-발생 전기, 광학 또는 전자기 신호 상에 인코딩될 수 있다. 상기 컴퓨터 저장 매체는 기계 판독가능 저장 장치, 기계 판독가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 장치, 또는 이들 중 하나 이상의 조합일 수 있다.
"데이터 처리 장치"라는 용어는 데이터 처리 하드웨어를 의미하며, 예를 들어 프로그램 가능 프로세서, 컴퓨터, 또는 복수의 프로세서 또는 컴퓨터를 포함하여 데이터를 처리하기 위한 모든 종류의 장치, 디바이스 및 머신들을 포함한다. 상기 장치는 또한 특수 목적 논리 회로, 예를 들어 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)이거나 이를 더 포함할 수 있다. 상기 장치는 하드웨어 이외에, 컴퓨터 프로그램들에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 선택적으로 포함할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 모듈, 소프트웨어 모듈, 스크립트 또는 코드로 지칭되거나 설명될 수 있음)은 컴파일된 또는 해석된 언어들 또는 선언적 또는 절차적 언어들을 포함한 모든 형태의 프로그래밍 언어들로 작성될 수 있으며, 독립 실행형 프로그램이나 모듈, 컴포넌트, 서브루틴 또는 컴퓨팅 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떤 형태로든 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템 내의 파일에 해당할 수 있지만 반드시 그런 것은 아니다. 프로그램은 마크업 언어 문서에 저장된 하나 이상의 스크립트와 같은 프로그램 또는 데이터를 보유하고 있는 파일의 일부분에 저장될 수 있거나, 하나 이상의 모듈, 서브 프로그램들 또는 코드의 일부를 저장하는 파일과 같은 문제의 프로그램 전용 단일 파일 또는 여러 개의 조정 파일들에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 하나의 사이트에 있거나 여러 사이트에 분산되어 있고 통신 네트워크로 상호 연결된 여러 대의 컴퓨터에서 실행되도록 배포될 수 있다.
본 명세서에서 설명되는 프로세스들 및 로직 흐름들은 입력 데이터를 조작하고 출력을 생성함으로써 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능 컴퓨터에 의해 수행 될 수 있다. 프로세스들 및 로직 흐름들은 또한 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)과 같은 특수 목적 논리 회로에 의해 수행될 수 있고, 장치는 또한 상기 수 목적 논리 회로로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 컴퓨터들은 예를 들면 범용 또는 특수 목적 마이크로프로세서 또는 둘 모두, 또는 임의의 다른 종류의 중앙 처리 장치를 포함하거나 이들에 기반될 수 있다. 일반적으로, 중앙 처리 장치는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 구성요소들은 명령어들을 수행하거나 실행하기 위한 중앙 처리 장치 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 장치이다. 일반적으로, 컴퓨터는 예를 들어, 자기, 광 자기 디스크들 또는 광 디스크들과 같은 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치를 포함하거나, 상기 하나 이상의 대용량 저장 장치로부터 데이터를 수신하고, 그 데이터를 상기 하나 이상의 대용량 저장 장치에 송신하기 위해 동작가능하게 결합될 수 있다. 그러나, 컴퓨터는 그러한 장치들을 가질 필요가 없다. 또한, 컴퓨터는 다른 장치에 내장될 수 있으며, 예를 들면, 휴대 전화, 개인 휴대 정보 단말기(PDA), 휴대 오디오 또는 비디오 플레이어, 게임 콘솔, 위성 위치 확인 시스템(GPS) 수신기 또는 휴대용 저장 장치(예를 들어, 범용 직렬 버스(USB) 플래시 드라이브)에 내장될 수 있다.
컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는 예를 들어 EPROM, EEPROM 및 플래시 메모리 장치와 같은 반도체 메모리 장치; 내부 하드 디스크 또는 이동식 디스크와 같은 자기 디스크; 광 자기 디스크; 및 CD ROM 및 DVD-ROM 디스크를 포함한, 모든 형태의 비 휘발성 메모리, 매체 및 메모리 장치들을 포함한다. 상기 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보충되거나 그 안에 통합될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에서 설명된 요지의 실시예들은 사용자에게 정보를 표시하기 위한 CRT(cathode ray tube) 또는 LCD (liquid crystal display) 모니터와 같은 디스플레이 장치, 사용자가 컴퓨터에 입력을 제공할 수 있는 마우스 또는 트랙볼과 같은 키보드 및 포인팅 장치를 갖는 컴퓨터상에서 구현될 수 있다. 다른 종류의 장치들은 사용자와의 상호 작용을 제공하는 데 사용될 수 있으며, 예를 들어, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각 피드백일 수 있으며, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는 사용자가 사용하는 장치와 문서를 주고 받음으로써 사용자와 상호 작용할 수 있으며, 예를 들어, 웹 브라우저로부터 수신된 요청에 응답하여 사용자의 클라이언트 장치상의 웹 브라우저에 웹 페이지들을 전송함으로써 수행될 수 있다.
본 명세서에서 설명된 요지의 실시예들은 데이터 서버와 같은 백 엔드 컴포넌트를 포함하거나, 또는 예를 들어 애플리케이션 서버와 같은 미들웨어 컴포넌트를 포함하거나, 또는 예를 들어, 사용자가 본 명세서에서 설명된 요지의 구현예와 상호 작용할 수 있는 웹 브라우저 또는 릴레이션십 그래픽 사용자 인터페이스를 갖는 클라이언트 컴퓨터와 같은 프론트 엔드 컴포넌트를 포함하거나, 또는 하나 이상의 백엔드, 미들웨어 또는 프론트 엔드 컴포넌트의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 상기 시스템의 컴포넌트들은 예를 들어 통신 네트워크와 같은 디지털 데이터 통신의 임의의 형태 또는 매체에 의해 상호 접속될 수 있다. 예시적인 통신 네트워크들은 근거리 통신망("LAN") 및 광역 통신망("WAN"), 예를 들어 인터넷을 포함한다.
컴퓨팅 시스템에는 클라이언트들과 서버들을 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며, 일반적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터들에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램의 덕으로 발생한다.
본 명세서는 다수의 특정 구현예 세부사항들을 포함하지만, 이들은 임의의 발명 또는 청구될 수 있는 범위에 대해 제한으로서 해석되어서는 안되며, 오히려 특정 발명의 특정 실시예들에 특정될 수 있는 특징들에 대한 설명으로 해석되어야 한다. 별도의 실시예들과 관련하여 본 명세서에서 설명되는 특정 특징은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시예의 컨텍스트에서 설명된 다양한 특징은 또한 다수의 실시예에서 개별적으로 또는 임의의 적합한 서브 조합으로 구현될 수 있다. 더욱이, 특징들은 특정 조합으로 동작하는 것으로 상기 설명될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징이 어떤 경우 조합으로부터 제거될 수 있고, 청구된 조합은 서브 조합 또는 서브 조합의 변형을 지향할 수 있다.
유사하게, 동작들이 특정 순서로 도면들에 도시되어 있지만, 이는 바람직한 동작들을 달성하기 위해, 그러한 동작들이 도시된 순서 또는 순차적인 순서로 수행되거나, 도시된 모든 동작들이 수행될 것을 요구하는 것으로 이해되어서는 안된다. 특정 상황에서 멀티태스킹 및 병렬 처리가 유리할 수 있다. 또한, 상술 한 실시예에서 다양한 시스템 모듈 및 컴포넌트의 분리는 모든 실시예에서 그러한 분리를 요구하는 것으로 이해되어서는 안되며, 설명된 프로그램 컴포넌트 및 시스템은 일반적으로 단일 소프트웨어 제품 내에 통합되거나 또는 여러 소프트웨어 제품들로 패키징될 수 있다는 것을 이해해야 한다.
상기 요지의 특정 실시예들이 설명되었다. 다른 실시예들은 다음의 청구항들의 범위 내에 있다. 예를 들어, 청구항들에서 열거된 액션들은 상이한 순서로 수행될 수 있고, 여전히 바람직한 결과들을 달성한다. 하나의 예로서, 첨부된 도면들에 도시된 프로세스들은 바람직한 결과를 얻기 위해 도시 된 특정 순서 또는 순차적 순서를 반드시 필요로 하지는 않는다. 특정 구현예들에서, 멀티태스킹 및 병렬 처리가 유리할 수 있다.

Claims (8)

  1. 미리결정된 액션 세트로부터 선택된 액션들을 수행함으로써 환경과 상호 작용하는 에이전트를 제어하는데 사용되는 심층 신경망을 훈련시키는 시스템으로서,
    상기 심층 신경망은 복수의 정책 파라미터들을 갖는 정책 신경망 및 복수의 베이스라인 파라미터들을 갖는 베이스라인 신경망을 포함하고, 상기 시스템은 복수의 워커들을 구현하도록 구성된 하나 이상의 컴퓨터들을 포함하며,
    각각의 워커는 각각의 다른 워커와 독립적으로 동작하도록 구성되며,
    상기 각각의 워커는 상기 심층 신경망의 훈련 동안 상기 환경의 각 레플리카와 상호 작용하는 각각의 액터와 연관되고, 각각의 워커는 동작들을 반복적으로 수행하도록 더 구성되며, 상기 동작들은,
    상기 심층 신경망의 파라미터들의 현재 값들을 결정하는 동작 -상기 현재 값들을 결정하는 동작은 워커들 각각에 의해 액세스 가능한 공유 메모리로부터 베이스라인 신경망의 베이스라인 파라미터들의 현재 값들을 수신하는 동작; 그리고 상기 공유 메모리로부터 정책 신경망의 정책 파라미터들의 현재 값을 수신하는 동작을 포함함 -;
    워커와 관련된 액터와 상호 작용하는 환경 레플리카가 특정 기준을 만족하는 상태로 천이될 때까지,
    환경 레플리카의 상태들을 특징짓는(characterizing) 관측(observation)들을 수신하고, 각각의 관측에 응답하여, 워커에 대한 각각의 액션 선택 정책에 따라 상기 관측에 응답하여 워커와 연관된 액터에 의해 수행될 액션을 선택하는 동작 -상기 액션을 선택하는 동작은,
    각각의 관측에 대해:
    정책 신경망을 사용하여 그리고 정책 신경망의 파라미터들의 현재 값들에 따라 상기 관측을 프로세싱하여 정책 신경망의 파라미터들의 현재 값들에 따라 미리 결정된 액션 세트의 각각의 액션에 대한 각각의 스코어를 생성하는 동작; 그리고
    각각의 스코어를 사용하여 액터에 의해 수행될 현재 액션을 선택하는 동작을 포함함-;
    특정 기준이 만족되기 전에 수신된 각각의 관측에 대해:
    베이스라인 신경망의 파라미터들의 현재 값들에 기초하여, 관측에 의해 특징짓는 상태로부터 시작하여 에이전트에 의해 수신된 추정 리워드를 나타내는 베이스라인 스코어를 생성하는 동작;
    관측에 응답하여 상기 선택된 액션을 수행하는 액터로부터 초래되는 실제 리워드를 식별하는 동작;
    특정 기준을 만족하는 상태를 특징짓는 관측에 대한 베이스라인 스코어 및 실제 리워드로부터 실제 롱-텀 리워드(long-term reward)를 결정하는 동작; 그리고
    베이스라인 스코어 및 실제 롱-텀 리워드에 기초하여 베이스라인 신경망 및 정책 신경망에 대한 각각의 현재 그래디언트를 결정하기 위해 강화 학습 기술의 반복을 수행하는 동작;
    각각의 현재 그래디언트 업데이트에 기초하여 베이스라인 신경망 및 정책 신경망에 대한 각각의 누적된 그래디언트를 업데이트하여 각각의 업데이트된 누적된 그래디언트를 결정하는 동작;
    심층 신경망의 파라미터들의 현재 값들을 업데이트하기 위한 기준이 만족되었는지를 결정하는 동작; 그리고
    심층 신경망의 파라미터들의 현재 값들을 업데이트하는 기준이 만족되었을 때:
    심층 신경망의 파라미터들을 업데이트하는 동작을 포함하며, 상기 파라미터들을 업데이트하는 동작은,
    업데이트된 누적된 그래디언트를 사용하여 파라미터들의 업데이트된 값들을 결정하는 동작; 그리고
    업데이트된 값들을 복수의 모든 워커들이 액세스할 수 있는 공유 메모리에 저장하는 동작을 포함하는 것을 특징으로 하는 심층 신경망을 훈련시키는 시스템.
  2. 제1항에 있어서, 각각의 워커는 동일 컴퓨터상의 서로 다른 워커와 독립적으로 실행되는 것을 특징으로 하는 심층 신경망을 훈련시키는 시스템.
  3. 제1항에 있어서,
    각각의 워커에 대한 각각의 액션 선택 정책은 각각의 다른 워커에 대한 각각의 액션 선택 정책과 다른 것을 특징으로 하는 심층 신경망을 훈련시키는 시스템.
  4. 제1항에 있어서, 상기 동작들은
    상기 심층 신경망의 상기 파라미터들의 상기 현재 값들을 업데이트하기 위한 상기 기준이 만족되었을 때, 상기 업데이트된 누적된 그래디언트를 클리어하는 동작을 더 포함하는 것을 특징으로 하는 심층 신경망을 훈련시키는 시스템.
  5. 제1항에 있어서,
    상기 심층 신경망의 상기 파라미터들의 상기 현재 값들을 업데이트하기 위한 상기 기준이 만족되었는지를 결정하는 동작은 상기 심층 신경망의 상기 파라미터들의 값들의 선행 업데이트 이후에 상기 강화 학습 기술의 지정된 횟수의 반복이 수행되었는지를 결정하는 동작을 포함하는 것을 특징으로 하는 심층 신경망을 훈련시키는 시스템.
  6. 삭제
  7. 삭제
  8. 삭제
KR1020187013091A 2015-11-12 2016-11-11 비동기 심층 강화 학습 KR102156303B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562254701P 2015-11-12 2015-11-12
US62/254,701 2015-11-12
PCT/US2016/061698 WO2017083772A1 (en) 2015-11-12 2016-11-11 Asynchronous deep reinforcement learning

Publications (2)

Publication Number Publication Date
KR20180090989A KR20180090989A (ko) 2018-08-14
KR102156303B1 true KR102156303B1 (ko) 2020-09-15

Family

ID=57472034

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187013091A KR102156303B1 (ko) 2015-11-12 2016-11-11 비동기 심층 강화 학습

Country Status (8)

Country Link
US (5) US10936946B2 (ko)
EP (2) EP3872715A1 (ko)
JP (4) JP6621920B2 (ko)
KR (1) KR102156303B1 (ko)
CN (2) CN114897156A (ko)
AU (1) AU2016354558B2 (ko)
CA (1) CA3004885C (ko)
WO (1) WO2017083772A1 (ko)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3872715A1 (en) 2015-11-12 2021-09-01 Deepmind Technologies Limited Asynchronous deep reinforcement learning
US11188821B1 (en) * 2016-09-15 2021-11-30 X Development Llc Control policies for collective robot learning
US11062207B2 (en) * 2016-11-04 2021-07-13 Raytheon Technologies Corporation Control systems using deep reinforcement learning
US10594560B2 (en) * 2017-03-27 2020-03-17 Cisco Technology, Inc. Intent driven network policy platform
CN110574046A (zh) * 2017-05-19 2019-12-13 渊慧科技有限公司 各种行为的数据有效模仿
US20180351816A1 (en) * 2017-06-02 2018-12-06 Yan Li Methods and apparatus for parameter tuning using a cloud service
CN109204308B (zh) * 2017-07-03 2020-04-07 上海汽车集团股份有限公司 车道保持算法的确定方法、车道保持的控制方法及系统
US11093827B2 (en) * 2017-09-20 2021-08-17 International Business Machines Corporation Variable ISA vector-based compaction in distributed training of neural networks
US10935982B2 (en) * 2017-10-04 2021-03-02 Huawei Technologies Co., Ltd. Method of selection of an action for an object using a neural network
EP3467717A1 (en) * 2017-10-04 2019-04-10 Prowler.io Limited Machine learning system
DE102017123205A1 (de) * 2017-10-06 2019-04-11 Valeo Schalter Und Sensoren Gmbh Konfiguration einer Kraftfahrzeug-Fahrerassistenzvorrichtung mit einem neuronalen Netzwerk im laufenden Betrieb
US11126929B2 (en) * 2017-11-09 2021-09-21 Ciena Corporation Reinforcement learning for autonomous telecommunications networks
US10715395B2 (en) 2017-11-27 2020-07-14 Massachusetts Institute Of Technology Methods and apparatus for communication network
CN107832836B (zh) * 2017-11-27 2020-04-21 清华大学 无模型深度增强学习探索方法及装置
CN108052004B (zh) * 2017-12-06 2020-11-10 湖北工业大学 基于深度增强学习的工业机械臂自动控制方法
WO2019149949A1 (en) 2018-02-05 2019-08-08 Deepmind Technologies Limited Distributed training using off-policy actor-critic reinforcement learning
US11086317B2 (en) 2018-03-30 2021-08-10 Intel Corporation Emotional adaptive driving policies for automated driving vehicles
US11614978B2 (en) * 2018-04-24 2023-03-28 EMC IP Holding Company LLC Deep reinforcement learning for workflow optimization using provenance-based simulation
US11989933B2 (en) * 2018-04-27 2024-05-21 Carnegie Mellon University Polynomial convolutional neural network with late fan-out
DE102018207015B4 (de) * 2018-05-07 2023-08-24 Audi Ag Verfahren zum Trainieren selbstlernender Steuerungsalgorithmen für autonom bewegbare Vorrichtungen und autonom bewegbare Vorrichtung
EP3807823A1 (en) 2018-06-12 2021-04-21 Intergraph Corporation Artificial intelligence applications for computer-aided dispatch systems
EP3864581A1 (en) * 2018-10-12 2021-08-18 DeepMind Technologies Limited Controlling agents over long time scales using temporal value transport
CN109344969B (zh) * 2018-11-01 2022-04-08 石家庄创天电子科技有限公司 神经网络系统及其训练方法以及计算机可读介质
US11868866B2 (en) * 2018-11-16 2024-01-09 Deep Mind Technologies Limited Controlling agents using amortized Q learning
KR101990326B1 (ko) 2018-11-28 2019-06-18 한국인터넷진흥원 감가율 자동 조정 방식의 강화 학습 방법
EP3668050A1 (de) * 2018-12-12 2020-06-17 Siemens Aktiengesellschaft Anpassen einer software-anwendung, die auf einem gateway ausgeführt wird
DE102019203634A1 (de) * 2019-03-18 2020-09-24 Robert Bosch Gmbh Verfahren und Vorrichtung zum Ansteuern eines Roboters
US11416743B2 (en) 2019-04-25 2022-08-16 International Business Machines Corporation Swarm fair deep reinforcement learning
US11176368B2 (en) 2019-06-13 2021-11-16 International Business Machines Corporation Visually focused first-person neural network interpretation
JP7128152B2 (ja) 2019-06-14 2022-08-30 株式会社東芝 学習方法及びプログラム
KR20210012730A (ko) 2019-07-26 2021-02-03 삼성전자주식회사 인공지능 모델의 학습 방법 및 전자 장치
SE1950924A1 (en) * 2019-08-13 2021-02-14 Kaaberg Johard Leonard Improved machine learning for technical systems
CN110737529B (zh) * 2019-09-05 2022-02-08 北京理工大学 一种面向短时多变大数据作业集群调度自适应性配置方法
CN114467101A (zh) * 2019-10-07 2022-05-10 瑞典爱立信有限公司 用于联邦学习的仲裁器
CN110809306B (zh) * 2019-11-04 2021-03-16 电子科技大学 一种基于深度强化学习的终端接入选择方法
CN111031387B (zh) * 2019-11-21 2020-12-04 南京大学 一种监控视频发送端视频编码流速控制的方法
CN111461500B (zh) * 2020-03-12 2022-04-05 北京航空航天大学 一种基于动态电子围栏和强化学习的共享单车系统潮汐现象控制方法
SG11202102364YA (en) * 2020-04-02 2021-04-29 Alipay Hangzhou Inf Tech Co Ltd Determining action selection policies of an execution device
US11685605B2 (en) 2020-05-14 2023-06-27 Intelligrated Headquarters, Llc Reinforcement learning based conveyoring control
CN111935724B (zh) * 2020-07-06 2022-05-03 天津大学 基于异步深度强化学习的无线传感器网络拓扑优化方法
TWI741760B (zh) * 2020-08-27 2021-10-01 財團法人工業技術研究院 學習式生產資源配置方法、學習式生產資源配置系統與使用者介面
CN112216124B (zh) * 2020-09-17 2021-07-27 浙江工业大学 一种基于深度强化学习的交通信号控制方法
US20220114439A1 (en) * 2020-10-08 2022-04-14 Here Global B.V. Method, apparatus, and system for generating asynchronous learning rules and/architectures
US20220183748A1 (en) * 2020-12-16 2022-06-16 Biosense Webster (Israel) Ltd. Accurate tissue proximity
US20220215265A1 (en) 2021-01-04 2022-07-07 Tencent America LLC Method and apparatus for end-to-end task-oriented latent compression with deep reinforcement learning

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009064216A (ja) 2007-09-06 2009-03-26 Univ Of Tsukuba 関数近似装置、強化学習システム、関数近似システムおよび関数近似プログラム
US20140180975A1 (en) 2012-12-21 2014-06-26 InsideSales.com, Inc. Instance weighted learning machine learning model
US20150100530A1 (en) 2013-10-08 2015-04-09 Google Inc. Methods and apparatus for reinforcement learning

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0981205A (ja) * 1995-09-11 1997-03-28 Fujitsu Ltd 学習システム
US8326780B2 (en) 2008-10-14 2012-12-04 Honda Motor Co., Ltd. Smoothed sarsa: reinforcement learning for robot delivery tasks
US8909590B2 (en) * 2011-09-28 2014-12-09 Nice Systems Technologies Uk Limited Online asynchronous reinforcement learning from concurrent customer histories
JP5785589B2 (ja) * 2013-06-27 2015-09-30 日本電信電話株式会社 バースト光信号送信装置及びバースト光信号送信装置の制御方法
KR20150053179A (ko) * 2013-11-07 2015-05-15 경희대학교 산학협력단 인지 무선 네트워크에서 큐-학습 기법을 이용한 부사용자의 데이터 전송 속도 향상 방법
KR101934067B1 (ko) 2014-04-11 2019-01-02 구글 엘엘씨 컨볼루션 신경망들의 트레이닝을 병렬화
CN104932267B (zh) * 2015-06-04 2017-10-03 曲阜师范大学 一种采用资格迹的神经网络学习控制方法
EP3872715A1 (en) 2015-11-12 2021-09-01 Deepmind Technologies Limited Asynchronous deep reinforcement learning
JP6926203B2 (ja) * 2016-11-04 2021-08-25 ディープマインド テクノロジーズ リミテッド 補助タスクを伴う強化学習

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009064216A (ja) 2007-09-06 2009-03-26 Univ Of Tsukuba 関数近似装置、強化学習システム、関数近似システムおよび関数近似プログラム
US20140180975A1 (en) 2012-12-21 2014-06-26 InsideSales.com, Inc. Instance weighted learning machine learning model
US20150100530A1 (en) 2013-10-08 2015-04-09 Google Inc. Methods and apparatus for reinforcement learning

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Ong, Hao Yi, Kevin Chavez, and Augustus Hong. Distributed deep Q-learning. arXiv preprint arXiv:1508.04186v2. 2015.10.15.*

Also Published As

Publication number Publication date
JP6621920B2 (ja) 2019-12-18
JP2018537767A (ja) 2018-12-20
US20180260708A1 (en) 2018-09-13
AU2016354558A1 (en) 2018-05-10
US20220261647A1 (en) 2022-08-18
CA3004885A1 (en) 2017-05-18
EP3360085B1 (en) 2021-05-19
CN114897156A (zh) 2022-08-12
WO2017083772A1 (en) 2017-05-18
CN108885717A (zh) 2018-11-23
JP2023063445A (ja) 2023-05-09
EP3872715A1 (en) 2021-09-01
JP6911089B2 (ja) 2021-07-28
KR20180090989A (ko) 2018-08-14
US11783182B2 (en) 2023-10-10
JP2021170361A (ja) 2021-10-28
JP7247274B2 (ja) 2023-03-28
US10936946B2 (en) 2021-03-02
JP2020042837A (ja) 2020-03-19
AU2016354558B2 (en) 2019-11-28
US20210166127A1 (en) 2021-06-03
EP3360085A1 (en) 2018-08-15
CA3004885C (en) 2020-07-14
CN108885717B (zh) 2022-05-10
US10346741B2 (en) 2019-07-09
US20190258929A1 (en) 2019-08-22
US20170140270A1 (en) 2017-05-18
US11334792B2 (en) 2022-05-17

Similar Documents

Publication Publication Date Title
KR102156303B1 (ko) 비동기 심층 강화 학습
KR102140672B1 (ko) 트레이닝 증강 학습 신경 네트워크
US11803750B2 (en) Continuous control with deep reinforcement learning
KR102191444B1 (ko) 우선순위화된 경험 메모리를 사용한 신경 네트워크의 트레이닝
JP2019537132A (ja) アクション選択ニューラルネットワークをトレーニングすること

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