KR20190142181A - 베스트 에이전트의 정책으로 안내되는 다중 에이전트 ppo 알고리즘 - Google Patents

베스트 에이전트의 정책으로 안내되는 다중 에이전트 ppo 알고리즘 Download PDF

Info

Publication number
KR20190142181A
KR20190142181A KR1020180103642A KR20180103642A KR20190142181A KR 20190142181 A KR20190142181 A KR 20190142181A KR 1020180103642 A KR1020180103642 A KR 1020180103642A KR 20180103642 A KR20180103642 A KR 20180103642A KR 20190142181 A KR20190142181 A KR 20190142181A
Authority
KR
South Korea
Prior art keywords
agent
policy
training
agents
parameters
Prior art date
Application number
KR1020180103642A
Other languages
English (en)
Other versions
KR102147017B1 (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 KR20190142181A publication Critical patent/KR20190142181A/ko
Application granted granted Critical
Publication of KR102147017B1 publication Critical patent/KR102147017B1/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/098Distributed learning, e.g. federated 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine 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
    • G06N3/092Reinforcement learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 다중 에이전트 시스템에서 베스트 에이전트의 정책으로부터 안내되는 효율적인 정책 매개변수 탐색 방법을 이용한 PPO 알고리즘에 관한 것이다. 복수의 에이전트(agent) 각각의 정책 매개변수의 훈련을 제어하는 방법에 있어서, 상기 복수의 에이전트 각각을 대상으로 미리 공유된 안내 정책에 기초하여 독립적으로 훈련하도록 제어하는 정책 훈련 단계, 매 훈련 마다 다음 훈련에서 사용할 변수들을 획득하도록 하기 위해, 상기 복수의 에이전트 각각의 정보를 해당 에이전트로부터 수신하는 단계, 매 훈련 마다 각 에이전트의 정보를 기반으로 결정된 다음 훈련에 사용할 변수를 상기 복수의 에이전트에게 전송하는 단계, 미리 정의된
Figure pat00292
번의 훈련이 수행됨에 따라 각 에이전트의 성능 정보를 해당 에이전트로부터 수신하는 단계, 및 수신된 상기 각 에이전트의 성능 정보에 기초하여 결정된 베스트 에이전트의 정책 매개 변수를 상기 복수의 에이전트들이 공유하도록 제어하는 단계를 포함할 수 있다.

Description

베스트 에이전트의 정책으로 안내되는 다중 에이전트 PPO 알고리즘{Multi-agent PPO Guided By The Best Local Policy}
본 발명의 실시예들은 다중 에이전트(multi-agent) 시스템의 정책(policy) 매개변수(para-meter)의 탐색(exploration) 방법으로, 보다 상세하게는 효율적인 정책 매개변수의 탐색 방법을 이용한 다중 에이전트 PPO 알고리즘에 관한 것이다.
한 명의 에이전트만 존재하는 상황에서의 강화학습 알고리즘 중 하나로 Proximal Policy Optimization(PPO)가 제안이 되었다. PPO는 주어진 환경에서 최고의 성능을 가지는 정책
Figure pat00001
의 매개변수
Figure pat00002
를 훈련하는 알고리즘으로, 업데이트 전 매개변수
Figure pat00003
에서 성능을 증가시키는 방향으로 조금씩
Figure pat00004
를 변화하여 업데이트하는 방법이다. 에이전트(agent)는 정책
Figure pat00005
를 이용하여 먼저 H번의 행동을 한 후, 그 동안의 상태 (state)
Figure pat00006
, 행동 (action)
Figure pat00007
, 보상 (reward)
Figure pat00008
을 모두 모은 경험
Figure pat00009
을 저장한다.
모은 경험으로부터 임의로
Figure pat00010
개의 관측, 행동, 보상, 그리고 다음 관측으로 이루어진 순서쌍
Figure pat00011
을 뽑아 수학식 1과 같은 정책의 목적 함수와 수학식 2와 같은 매개변수
Figure pat00012
로 구성된 가치 함수(value function)의 목적 함수를 계산한다.
[수학식 1]
Figure pat00013
[수학식 2]
Figure pat00014
여기서
Figure pat00015
는 순서쌍
Figure pat00016
에 대한 샘플 평균이며,
Figure pat00017
는 예정 정책 매개변수
Figure pat00018
로 구성된 정책이다. 또한
Figure pat00019
는 경험, 가치 함수
Figure pat00020
와, 변수
Figure pat00021
, λ로 계산된 Generalized Advantage Estimator(GAE)를 나타내는 것으로서, Generalized Advantage Estimator(GAE)는 아래의 비특허 문헌 [1] Schulman, John, et al. "High-dimensional continuous control using generalized advantage estimation." arXiv preprint arXiv:1506 .02438 (2015).에 자세히 나와있다.
Figure pat00022
는 현재 에피소드가 끝날 때까지의 discounted cumulated return으로
Figure pat00023
에 에피소드가 끝날 경우,
Figure pat00024
로 계산된다. 이후 에이전트는 목적 함수들의 합
Figure pat00025
를 증가시키는 방향으로 매개변수
Figure pat00026
Figure pat00027
를 Adam optimizer를 이용해 아래의 수학식 3과 같이 업데이트 한다.
[수학식 3]
Figure pat00028
저장된 경험으로부터
Figure pat00029
개의 순서쌍을 임의로 뽑고, 뽑은 순서쌍을 이용해 목적 함수들을 계산하고 이들의 합을 증가시키는 방향으로 각 에이전트의 현재 정책 매개변수
Figure pat00030
와 가치 함수 매개변수
Figure pat00031
를 업데이트하는 과정을
Figure pat00032
진행하며 이것을 한번의 훈련이라고 부른다.
한번의 훈련 후, 확률 분포 함수 사이의 거리인 KL divergence의 샘플 평균값
Figure pat00033
을 이용하여 평균값이 원하는 값
Figure pat00034
보다 1.5배 보다 크거나 1/1.5배 보다 작으면 변수
Figure pat00035
를 아래의 수학식 4와 같이 조정하여 다음 업데이트에서 KL divergence의 평균값을
Figure pat00036
과 비슷하도록 만든다.
[수학식 4]
Figure pat00037
수학식 1의 KL divergence 항은 업데이트 전의 정책
Figure pat00038
Figure pat00039
를 가까워지도록 하는 목적을 가지며, 이를
Figure pat00040
과 비슷하게 유지함으로써 학습의 안정성을 증가시키는 효과가 있다.
한번의 훈련을 거쳐 다음 훈련에 사용할 변수
Figure pat00041
를 조정하는 것을
Figure pat00042
번 반복한 후, 학습을 종료한다.
현재 강화학습 분야에서는 앞의 PPO 알고리즘과 같이 하나의 에이전트만 있는 환경에서의 강화학습 알고리즘에 대한 연구 외에 여려 명의 에이전트가 서로 협력하는 다중 에이전트 상황에서의 강화학습 알고리즘에 대한 연구도 활발히 진행되고 있다. 다중 에이전트 강화학습 알고리즘은 하나의 에이전트만 존재하는 시스템에서의 강화학습 알고리즘과 달리 각 에이전트가 모든 상황에 대한 상태를 볼 수 있다는 가정을 사용할 수 없으며, 따라서 각 에이전트는 자신의 관측(observation), 행동, 보상만을 환경으로부터 얻을 수 있다고 가정한다. 그러면, 다중 에이전트 강화학습 알고리즘은 훈련 단계 혹은 실행 단계에서 다른 에이전트와의 정보교환 유무로 구분이 가능하며, 각각을 중앙집권적(centralized), 분산적(decentralized)으로 구분한다. 각 에이전트가 자신만의 정보만을 이용하여 각 에이전트의 정책을 훈련 및 실행을 하는 경우를 완전 분산적(fully decentralized)이라고 하며, 이 경우 각 에이전트들은 자신의 관측
Figure pat00043
만을 이용해서 자신의 행동
Figure pat00044
을 취하며, 자신의 경험만을 이용해 자신의 정책 매개변수
Figure pat00045
를 훈련한다. 예를 들어 PPO를 사용한 완전 분산적 다중 에이전트 알고리즘은 각 에이전트가 자신의 경험
Figure pat00046
을 모은 뒤, 이를 이용하여 아래의 수학식 5와 수학식 6의 목적 함수를 계산하고, 목적 함수의 합
Figure pat00047
을 증가시키는 방향으로 아담 최적화(Adam optimizer)를 이용하여
Figure pat00048
Figure pat00049
를 업데이트한다.
[수학식 5]
Figure pat00050
[수학식 6]
Figure pat00051
수학식 5 및 6에서,
Figure pat00052
는 각 에이전트의 정책 매개변수
Figure pat00053
로 구성된 정책이고,
Figure pat00054
는 업데이트 전 정책 매개변수
Figure pat00055
로 구성된 정책,
Figure pat00056
는 가치 함수 매개변수
Figure pat00057
로 구성된 가치 함수이다. 또한
Figure pat00058
는 자신의 경험의 샘플 평균이며,
Figure pat00059
는 자신의 경험과 자신의 가치 함수를 이용하여 계산된 GAE이다.
그러나, 이 방법은 다른 에이전트에 대한 정보를 교환하지 않고, 환경의 임의성 (randomness)으로 생각하며, 따라서 수렴하는데 필요한 경험의 수가 증가하고, 수렴 속도를 느리게 한다. 또한 수렴속도가 느리기 때문에 수렴 후의 성능도 낮다. 게다가 에이전트 중 잘하는 에이전트가 있으면, 못하는 에이전트가 학습을 느리게 하는 게으른 에이전트 문제가 있다.
게으른 에이전트 문제를 해결하기 위해, 모든 에이전트의 정책 매개변수
Figure pat00060
를 공유하여 하나의 정책
Figure pat00061
을 모든 에이전트가 사용하는 중앙집권적 훈련과 분산적 실행 방법이 있다. 기존에 많은 연구에서 사용하는 정책 매개변수 공유 방법은 모든 에이전트들이 같은 정책,
Figure pat00062
으로 행동을 한 후 얻은 경험을 중앙 시스템에 전송을 하며, 중앙 시스템에서는 모든 에이전트들로부터 전송된 경험을 이용하여 중앙 시스템의 가치 함수 매개변수
Figure pat00063
와 공유된 정책 매개변수
Figure pat00064
를 학습한다. 이 경우 중앙 시스템에서 학습된 정책 매개변수
Figure pat00065
는 다시 모든 에이전트들에게 전송이 되고, 다시 에이전트들은 공유된 정책을 이용해 경험을 얻는다. 이 방법은 한번의 훈련에 필요한 경험을 모든 에이전트들로부터 얻기 때문에 에이전트 수
Figure pat00066
배만큼 빠르게 경험을 모아 학습을 하지만, 경험과 정책 매개변수 모두 공유하는 방법은 상당한 통신량을 요구하며 통신량에 제한이 있는 실제 환경에서는 적용하기 힘들다.
협력을 요구하는 환경에 대해서 각각의 에이전트가 자신의 정책을 훈련 및 실행을 하는 완전 분산적 방법은 못하는 에이전트가 계속 느리게 학습하는 게으른 에이전트(lazy agent) 문제가 존재한다. 이러한 게으른 에이전트는 학습 속도를 저하시키며, 최종적으로 전체 성능을 저하시킨다. 이러한 문제를 해결할 수 있는 방법으로 모든 에이전트가 동일한 하나의 정책을 공유하며, 이를 행동을 취하는데 이용하는 방법이 있지만, 이 경우 성능이 높은 정책 매개변수를 탐색하는 속도가 느려, 최종적인 성능이 낮다. 또한 기존에 많이 알려진 경험과 정책 모두 공유하는 방법은 훈련 시에 상당한 통신량이 필요하다.
따라서 게으른 에이전트 문제를 해결하며, 적은 양의 통신을 사용하여 정책 매개변수의 탐색을 효율적으로 하는 기술이 요구된다.
[1] Schulman, John, et al. "High-dimensional continuous control using generalized advantage estimation." arXiv preprint arXiv:1506.02438 (2015).
본 발명의 일실시예는 앞에서 설명한 다중 에이전트 시스템에서 게으른 에이전트 문제를 해결하기 위한 것으로서, 동시에 적은 양의 통신을 사용하며, 정책 매개변수의 탐색을 효율적으로 하여 학습 속도와 성능을 증가시키는 중앙집권적 훈련 및 분산적 실행 PPO 알고리즘, 다중 에이전트 훈련 제어 방법 및 시스템을 제공하기 위한 것이다.
복수의 에이전트(agent) 각각의 정책 매개변수의 훈련을 제어하는 방법에 있어서, 상기 복수의 에이전트 각각을 대상으로 미리 공유된 안내 정책에 기초하여 독립적으로 훈련하도록 제어하는 정책 훈련 단계, 매 훈련 마다 다음 훈련에서 사용할 변수들을 획득하도록 하기 위해, 상기 복수의 에이전트 각각의 정보를 해당 에이전트로부터 수신하는 단계, 매 훈련 마다 각 에이전트의 정보를 기반으로 결정된 다음 훈련에 사용할 변수를 상기 복수의 에이전트에게 전송하는 단계, 미리 정의된 R번의 훈련이 수행됨에 따라 각 에이전트의 성능 정보를 해당 에이전트로부터 수신하는 단계, 및 수신된 상기 각 에이전트의 성능 정보에 기초하여 결정된 베스트 에이전트의 정책 매개 변수를 상기 복수의 에이전트들이 공유하도록 제어하는 단계를 포함할 수 있다.
일측면에 따르면, 상기 복수의 에이전트들 각각에 해당하는 현재 정책(
Figure pat00067
)의 매개변수(
Figure pat00068
)는 상기 복수의 에이전트들이 공유하는 상기 다음 훈련에 사용할 변수(
Figure pat00069
,
Figure pat00070
), 안내 정책(
Figure pat00071
), 및 각 에이전트의 경험 정보
Figure pat00072
에 기초하여 업데이트될 수 있다.
다른 측면에 따르면, 상기 복수의 에이전트들 각각에 해당하는 현재 정책(
Figure pat00073
)의 매개변수(
Figure pat00074
)는, 미리 정의된 해당 에이전트의 목표 함수를 상대적으로 증가시키는 방향으로 업데이트될 수 있다.
또 다른 측면에 따르면, 상기 다음 훈련에 사용할 변수를 상기 복수의 에이전트에게 전송하는 단계는, 상기 안내 정책과 각 에이전트의 현재 정책 사이의 쿨백 라이블러 발산(KL divergence)에 기초하여 상기 다음 훈련에 사용할 변수(
Figure pat00075
)를 계산하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 정책 매개 변수를 상기 복수의 에이전트들이 공유하도록 제어하는 단계는, 상기 복수의 에이전트 각각에서 상기
Figure pat00076
번의 훈련이 수행되면, 새로운 안내 정책을 선택하기 위해, 해당 에이전트의 성능을 나타내는 일정 개수(
Figure pat00077
)의 에피소드 보상의 평균(
Figure pat00078
)을 수신하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 정책 매개 변수를 상기 복수의 에이전트들이 공유하도록 제어하는 단계는, 수신된 상기 에피소드 보상의 평균(
Figure pat00079
)에 기초하여 상기 복수의 에이전트 중 평균이 가장 높은 에이전트를 상기 베스트 에이전트로 결정하는 단계, 및 결정된 상기 베스트 에이전트로 상기 정책 매개 변수(
Figure pat00080
)를 요청하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 정책 매개 변수를 상기 복수의 에이전트들이 공유하도록 제어하는 단계는, 상기 정책 매개 변수의 요청에 대한 응답으로, 상기 베스트 에이전트의 현재 정책에 해당하는 매개변수(
Figure pat00081
)를 상기 베스트 에이전트로부터 수신하는 단계, 안내 정책의 매개변수(
Figure pat00082
)를 수신된 상기 베스트 에이전트의 현재 정책에 해당하는 매개변수(
Figure pat00083
)로 설정하는 단계, 및 설정된 상기 안내 정책의 매개변수(
Figure pat00084
)를 상기 복수의 에이전트들로 전송하는 단계를 더 포함할 수 있다.
복수의 에이전트(agent) 각각의 정책 매개변수의 훈련을 제어하는 시스템에 있어서, 상기 복수의 에이전트 각각을 대상으로 미리 공유된 안내 정책에 기초하여 독립적으로 훈련하도록 제어하는 훈련 제어부, 매 훈련 마다 다음 훈련에서 사용할 변수들을 획득하도록 하기 위해, 상기 복수의 에이전트 각각의 정보를 해당 에이전트로부터 수신하고, 미리 정의된
Figure pat00085
번의 훈련이 수행됨에 따라 각 에이전트의 성능 정보를 해당 에이전트로부터 수신하는 수신 제어부, 매 훈련 마다 각 에이전트의 정보를 기반으로 결정된 다음 훈련에 사용할 변수를 상기 복수의 에이전트에게 전송하는 전송 제어부, 및 수신된 상기 각 에이전트의 성능 정보에 기초하여 결정된 베스트 에이전트의 정책 매개 변수를 상기 복수의 에이전트들이 공유하도록 제어하는 공유 제어부를 포함할 수 있다.
일측면에 따르면, 상기 복수의 에이전트들 각각에 해당하는 현재 정책(
Figure pat00086
)의 매개변수(
Figure pat00087
)는 상기 복수의 에이전트들이 공유하는 상기 다음 훈련에 사용할 변수(
Figure pat00088
,
Figure pat00089
), 안내 정책(
Figure pat00090
), 및 각 에이전트의 경험 정보
Figure pat00091
에 기초하여 업데이트될 수 있다.
다른 측면에 따르면, 상기 복수의 에이전트들 각각에 해당하는 현재 정책(
Figure pat00092
)의 매개변수(
Figure pat00093
)는, 미리 정의된 해당 에이전트의 목표 함수를 상대적으로 증가시키는 방향으로 업데이트될 수 있다.
또 다른 측면에 따르면, 상기 전송 제어부는, 상기 안내 정책과 각 에이전트의 현재 정책 사이의 쿨백 라이블러 발산(KL divergence)에 기초하여 상기 다음 훈련에 사용할 변수(
Figure pat00094
)를 계산할 수 있다.
또 다른 측면에 따르면, 상기 공유 제어부는, 상기 복수의 에이전트 각각에서 상기
Figure pat00095
번의 훈련이 수행되면, 새로운 안내 정책을 선택하기 위해, 해당 에이전트의 성능을 나타내는 일정 개수(
Figure pat00096
)의 에피소드 보상의 평균(
Figure pat00097
)을 수신할 수 있다.
또 다른 측면에 따르면, 상기 공유 제어부는, 수신된 상기 에피소드 보상의 평균(
Figure pat00098
)에 기초하여 상기 복수의 에이전트 중 평균이 가장 높은 에이전트를 상기 베스트 에이전트로 결정하고, 결정된 상기 베스트 에이전트로 상기 정책 매개 변수(
Figure pat00099
)를 요청할 수 있다.
또 다른 측면에 따르면, 상기 공유 제어부는, 상기 정책 매개 변수의 요청에 대한 응답으로, 상기 베스트 에이전트의 현재 정책에 해당하는 매개변수(
Figure pat00100
)를 상기 베스트 에이전트로부터 수신하고, 안내 정책의 매개변수(
Figure pat00101
)를 수신된 상기 베스트 에이전트의 현재 정책에 해당하는 매개변수(
Figure pat00102
)로 설정하고, 설정된 상기 안내 정책의 매개변수(
Figure pat00103
)를 상기 복수의 에이전트들로 전송할 수 있다.
베스트 에이전트(best agent)의 정책을 공유함으로써, 성능이 좋지 않은 에이전트가 자신의 정책 매개변수를 훈련함에 있어서 가장 좋은 성능을 가지는 다른 에이전트의 매개변수로부터 안내 받아 더욱 빠르게 성능이 증가할 수 있으며, 게으른 에이전트 문제를 해결 할 수 있다.
또한 각 에이전트의 정책 매개변수를 동일한 공유된 매개변수로 업데이트하지 않고, 공유된 매개변수로부터 각 에이전트의 정책을 학습함으로써, 정책 매개변수 공간상에서 여러 부분을 동시에 탐색을 하는 효과가 있으며, 그 중에서 가장 좋은 매개변수 주변을 탐색함으로써, 좋은 매개변수를 빠르게 찾을 수 있다.
또한, 기존에 많이 알려진 경험과 정책 모두 공유하는 방법에 비해 현저히 적은 양의 통신을 요구하여, 통신 비용을 크게 절감할 수 있다.
도 1은 본 발명의 실시 예에 있어서, 다중 에이전트 훈련 제어 방법의 동작을 도시한 흐름도이다.
도 2는 본 발명의 일실시예에 있어서, 다중 에이전트 훈련 제어 시스템의 내부 구성을 도시한 블록도이다.
도 3은 본 발명의 일실시예에 있어서,
Figure pat00104
일 때의 Water-World 환경의 한 프레임을 나타낼 수 있다.
도 4는 본 발명의 일실시예에 있어서,
Figure pat00105
일 때의 Multi-Walker 환경의 한 프레임을 나타낼 수 있다.
도 5는 본 발명의 일실시예에 있어서, Water-World 환경에서의 시뮬레이션으로 얻은 시간에 따른 정책의 최근 에피소드들의 평균 에피소드 보상을 나타내는 그래프이다.
도 6은 본 발명의 일실시예에 있어서, Multi-Walker 환경에서의 시뮬레이션으로 얻은 시간에 따른 정책의 최근 에피소드들의 평균 에피소드 보상을 나타내는 그래프를 나타낼 수 있다.
도 7은 본 발명의 실시 예에 있어서, Water-World 환경의 에이전트 수
Figure pat00106
로 변화하였을 때의 시뮬레이션으로 얻은 훈련을 마친 후의 최근 에피소드들의 평균 에피소드 보상을 나타내는 그래프에 해당할 수 있다.
도 8은 Water-World 환경에 완전 분산 PPO 알고리즘을 이용한 시뮬레이션으로 얻은 각 에이전트의 시간에 따른 베스트 에이전트로 뽑힌 비율 나타내는 그래프이다.
도 9는 Water-World 환경에 본 발명에서 제안하는 알고리즘을 이용한 시뮬레이션으로 얻은 각 에이전트의 시간에 따른 베스트 에이전트로 뽑힌 비율을 나타내는 그래프이다.
도 10은 경험과 정책을 모두 공유하는 방법과 본 발명에서 제안하는 방법의 한번의 훈련에 필요한 통신량의 비율을 나타내는 그래프이다.
이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 자세히 설명한다.
본 발명은 베스트 에이전트의 정책으로 안내되는 다중 에이전트 PPO 알고리즘, 다중 에이전트 훈련 제어 방법 및 시스템에 관한 것으로, 베스트 에이전트를 선택하여 베스트 에이전트의 정책 매개변수를 모든 에이전트들이 공유하도록 제어하는 기술에 관한 것이다. 예를 들어, 각 에이전트의 경험을 공유하지 않고, 정책의 매개변수
Figure pat00107
만 공유하면, 에이전트의 정책 매개변수를 학습하는 방법은 완전 분산적 학습 알고리즘과 동일하게 학습하지만, 매
Figure pat00108
번의 훈련이 끝난 후, 그 중 한 에이전트의 정책 매개변수
Figure pat00109
를 공유하여 모든 에이전트들이
Figure pat00110
번의 훈련이 지날 때마다 같은 정책
Figure pat00111
을 가질 수 있다. 이 경우 매
Figure pat00112
번의 학습이 끝난 후, 중앙시스템은 모든 에이전트들에게 공유될 에이전트를 선택하고, 선택된 에이전트에게 정책 매개변수를 요청할 수 있다. 그러면, 요청 받은 에이전트는 현재 정책의 매개변수를 중앙시스템에 전송하고, 중앙시스템은 수신한 정책 매개변수를 모든 에이전트들에게 전송할 수 있다. 그러면, 모든 에이전트들이 공유된 정책을 직접적으로 사용하여, 에이전트들이 행동을 취할 때 사용할 수 있다. 이처럼, 모든 에이전트들이 경험을 공유하는 것보다 적은 통신량이 필요하며, 미리 정의된 기준 횟수인
Figure pat00113
번의 훈련마다 하나의 매개변수로 초기화되어 정책을 학습하며, 결과적으로 정책 매개변수 공간 상에서 하나의 매개변수로부터만 탐색을 진행하게 될 수 있다. 이런 제한적인 매개변수의 탐색은 정책을 느리게 학습시키므로, 효율적인 탐색 방법을 적용하여, 학습 속도를 증가시키고, 결과적으로 기존 방법보다 높은 성능을 제공하고자 한다.
본 실시예들에서, "에이전트(agent)"는 사용자 단말을 나타내는 것으로서, 예컨대, 자율주행 자동차, 스마트 시티(smart city)를 형성하는 전자기기 등을 나타낼 수 있다.
본 실시예들에서, "중앙시스템"은 복수의 에이전트들을 통합 제어 및 관리하는 전자기기로서, 다중 에이전트 훈련 제어 시스템으로 표현될 수 있다.
본 발명은
Figure pat00114
명의 에이전트가 각각 관측의 차원
Figure pat00115
, 행동의 차원
Figure pat00116
을 가지고 있다고 가정한다. 또한 각 에이전트는 자신의 정책 매개변수
Figure pat00117
, 가치 함수 매개변수
Figure pat00118
를 가지고 있으며, 모든 에이전트는 자신의 정책의 훈련에 필요한 변수
Figure pat00119
,
Figure pat00120
와 안내 정책의 매개변수
Figure pat00121
를 공유하고 있다고 가정한다.
정책 매개변수
Figure pat00122
들은 입력 차원이
Figure pat00123
, 출력 차원
Figure pat00124
이며, 뉴런의 개수가 64개인 은닉 층
Figure pat00125
개를 가지는 심층 신경망(multi-layer perceptron)의 매개변수로, 정책 매개변수를 이용하여 확률적 정책(stochastic policy)이 구성될 수 있다. 관측
Figure pat00126
에 대한 구성된 심층 신경망의 출력을
Figure pat00127
차원의 벡터
Figure pat00128
,
Figure pat00129
로 하여, 행동
Figure pat00130
에 대한 확률을 아래의 수학식 9와 같이 정규 분포 함수로 정의할 수 있다.
[수학식 9]
Figure pat00131
각 에이전트는 가지고 있는 정책 매개변수
Figure pat00132
로 자신의 정책
Figure pat00133
를 구성하고, 자신의 관측
Figure pat00134
에 대한 행동
Figure pat00135
를 자신의 정책
Figure pat00136
로부터 샘플링(sampling)할 수 있다. 또한 공유된 매개변수
Figure pat00137
를 이용하여 안내 정책
Figure pat00138
를 구성하여 학습에 사용할 수 있다.
가치 함수 매개변수
Figure pat00139
들은 입력 차원이
Figure pat00140
, 출력 차원이 1이며, 뉴런의 개수가 64개인 은닉 층 2개를 가지는 심층 신경망의 매개변수로, 관측
Figure pat00141
에 대한 가치를
Figure pat00142
로 예측할 수 있다.
도 1은 본 발명의 실시 예에 있어서, 다중 에이전트 훈련 제어 방법의 동작을 도시한 흐름도이고, 도 2는 본 발명의 일실시예에 있어서, 다중 에이전트 훈련 제어 시스템의 내부 구성을 도시한 블록도이다.
즉, 도 1은 중앙시스템인 다중 에이전트 훈련 제어 시스템에서 에이전트들을 안내 정책을 이용하여 독립적으로 훈련하는 방법의 각 단계를 도시한 순서도에 해당할 수 있다. 그리고, 도 2에 따르면, 다중 에이전트 훈련 제어 시스템(200)은 훈련 제어부(210), 수신 제어부(220), 전송 제어부(230) 및 공유 제어부(240)를 포함할 수 있다. 도 1의 각 단계들(즉, 110 내지 190 단계)은 도 2의 다중 에이전트 훈련 제어 시스템(200)의 구성 요소인 훈련 제어부(210), 수신 제어부(220), 전송 제어부(230) 및 공유 제어부(240)에 의해 수행될 수 있다.
110 단계에서, 중앙시스템인 다중 에이전트 훈련 제어 시스템(200)에서 관리하는 복수의 에이전트들에서 훈련을 시작하기 전에, 모든 에이전트들의 정책 매개변수와 공유되는 안내 정책의 매개변수는 동일한 임의의 매개변수로 초기화될 수 있다. 일례로, 자신의 정책의 훈련에 필요한 변수
Figure pat00143
,
Figure pat00144
와 안내 정책의 매개변수
Figure pat00145
가 초기화될 수 있다. 그러면, 초기화된 안내 정책의 매개변수는 중앙시스템인 다중 에이전트 훈련 제어 시스템(200)에 속하는 모든 에이전트들이 공유할 수 있다.
120 단계에서, 각 에이전트는 자신이 가지고 있는 정책
Figure pat00146
를 이용하여 미리 지정된
Figure pat00147
번의 행동을 취하며, 행동을 취하는 동안의 경험을 나타내는 경험 정보
Figure pat00148
를 각자 자신의 저장 장치(예컨대, memory)에 저장할 수 있다. 이때,
Figure pat00149
번의 행동을 취하는 도중, 에피소드(episode)가 종료되고 다시 처음 상황으로 돌아가면 그 동안의 보상의 합이 각 에이전트 별로 저장될 수 있으며, 저장된 각 에이전트 별 보상의 합은 에피소드 보상으로 표현될 수 있다.
훈련을 진행하기 전, 각 에이전트들은 현재의 정책 매개변수
Figure pat00150
를 예전 정책 매개변수
Figure pat00151
로 설정할 수 있다. 이처럼, 훈련을 시작하기 전에 요구되는 초기화, 안내 정책 공유 등의 전처리가 수행되면, 훈련을 위한 프로세스가 시작될 수 있다.
130 단계에서, 훈련 제어부(210)는 복수의 에이전트 각각을 대상으로, 미리 공유된 안내 정책에 기초하여 독립적으로 훈련(즉, 정책 훈련)이 수행되도록 제어할 수 있다.
일례로, 각 에이전트들이 현재의 정책 매개변수
Figure pat00152
를 예전 정책 매개변수
Figure pat00153
로 설정한 이후, 각 에이전트들은 자신의 경험 중 임의로
Figure pat00154
개의 관측, 행동, 보상, 그리고 다음 관측으로 이루어진 순서쌍
Figure pat00155
을 추출하여 아래의 수학식 10, 수학식 11에 기초하여 정책의 목적 함수
Figure pat00156
, 가치 함수의 목적 함수
Figure pat00157
를 계산할 수 있다. 이때, 복수의 에이전트들 각각에 해당하는 현재 정책
Figure pat00158
의 매개변수
Figure pat00159
는 복수의 에이전트들이 현재 공유하고 있는 변수(
Figure pat00160
,
Figure pat00161
), 안내 정책
Figure pat00162
, 및 각 에이전트의 경험 정보
Figure pat00163
에 기초하여 업데이트될 수 있다. 예컨대, 상기 현재 정책
Figure pat00164
의 매개변수
Figure pat00165
는 미리 정의된 해당 에이전트의 목적 함수를 상대적으로 증가시키는 방향으로 업데이트될 수 있다. 즉, 현재 정책 매개변수
Figure pat00166
와 가치 함수 매개변수
Figure pat00167
는 아담 최적화(Adam optimizer)에 기초하여 목적 함수의 합
Figure pat00168
을 상대적으로 증가시키는 방향으로 업데이트될 수 있다.
[수학식 10]
Figure pat00169
[수학식 11]
Figure pat00170
여기서
Figure pat00171
는 순서쌍
Figure pat00172
에 대한 샘플 평균을 나타내고,
Figure pat00173
는 예정 정책 매개변수
Figure pat00174
로 구성된 예전 정책
Figure pat00175
을 나타내고,
Figure pat00176
는 가치 함수 매개변수
Figure pat00177
로 구성된 가치 함수를 나타낼 수 있다.
Figure pat00178
는 현재 에피소드가 끝날 때까지의 discounted cumulated return으로
Figure pat00179
에 에피소드가 끝날 경우,
Figure pat00180
로 계산될 수 있다. 그리고,
Figure pat00181
는 해당 에이전트 자신의 경험을 나타내는 경험 정보와 해당 에이전트 자신의 가치 함수로 계산된 GAE(Generalized Advantage Estimator)를 나타낼 수 있다. 이처럼, 에이전트 자신의 경험으로부터
Figure pat00182
개의 순서쌍을 임의로 추출하고, 추출한 순서쌍을 기반으로 목적 함수를 계산 및 증가하는 방향으로 각 에이전트의 현재 정책 매개변수
Figure pat00183
를 업데이트하는 과정이
Figure pat00184
수행될 수 있으며, 이러한 과정을 한 번의 훈련(training)이라고 정의할 수 있다.
140 단계에서, 전송 제어부(230)는 매 훈련마다 수신된 각 에이전트의 정보를 기반으로 결정된 다음 훈련에 사용할 변수를 복수의 에이전트에게 전송할 수 있다. 이때, 수신 제어부(220)는 매 훈련마다 다음 훈련에서 사용할 변수들을 각 에이전트에서 획득하도록 하기 위해, 복수의 에이전트 각각의 정보(예컨대, 각 에이전트의 쿨백 라이블러 발산(KL divergence) 정보)를 해당 에이전트로부터 수신할 수 있다. 그러면, 전송 제어부(230)는 복수의 에이전트들 각각의 안내 정책
Figure pat00185
과 해당 에이전트의 현재 정책
Figure pat00186
사이의 거리를 나타내는 쿨백 라이블러 발산(KL divergence)에 기초하여 다음 훈련에 사용할 변수
Figure pat00187
Figure pat00188
를 계산할 수 있다.
일례로, 복수의 에이전트들 각각에서 한번의 훈련이 진행된 이후, 모든 에이전트들은 자신의 예전 안내 정책(즉, 예전 정책)
Figure pat00189
과 현재 정책
Figure pat00190
사이의 거리를 나타내는 쿨백 라이블러 발산(KL divergence)의 샘플 평균
Figure pat00191
과 모든 에이전트 간에 공유된 안내 정책
Figure pat00192
을 중앙시스템인 다중 에이전트 훈련 제어 시스템(200)으로 전송할 수 있다. 그러면, 전송 제어부(230)는 수신된 상기 쿨백 라이블러 발산(KL divergence)의 샘플 평균(즉, 복수의 에이전트들 각각에 해당하는 KL divergence의 평균) 및 아래의 수학식 12에 기초하여 다음 훈련에 사용할 변수
Figure pat00193
Figure pat00194
를 계산할 수 있다. 그러면, 계산된 변수
Figure pat00195
Figure pat00196
가 복수의 에이전트들로 전송되어 공유될 수 있다.
[수학식 12]
Figure pat00197
이처럼, 새롭게 결정된, 다음 훈련에 사용할 변수
Figure pat00198
Figure pat00199
가 중앙시스템인 다중 에이전트 훈련 제어 시스템(200)에 속하는 모든 에이전트들에게 전송됨에 따라, 상기 변수
Figure pat00200
Figure pat00201
가 각 에이전트의 다음 훈련에 이용될 수 있다.
150 단계에서, 훈련 횟수가 미리 정의된 기준 횟수인 R의 배수에 해당하면(
Figure pat00202
, 150, 예), 160 단계에서, 수신 제어부(220)는 각 에이전트의 성능 정보를 해당 에이전트로부터 수신할 수 있다. 즉, 수신 제어부(220)는 새로운 안내 정책을 선택하기 위해, 해당 에이전트의 성능을 나타내는 일정 개수(
Figure pat00203
)의 에피소드 보상의 평균(
Figure pat00204
)을 각 에이전트로부터 수신할 수 있다.
일례로, 복수의 에이전트들 각각에서 미리 지정된 기준 횟수인
Figure pat00205
번의 훈련이 수행되면(즉, 훈련 횟수가 기준 횟수인 R의 배수가 되면), 모든 에이전트들은 각자 저장해놓은 미리 지정된 일정 개수
Figure pat00206
의 에피소드 보상의 평균
Figure pat00207
을 계산하여, 중앙시스템인 다중 에이전트 훈련 제어 시스템(200)으로 전송할 수 있다. 여기서, 상기 일정 개수
Figure pat00208
의 에피소드 보상의 평균
Figure pat00209
은 각 에이전트의 메모리(memory)에 저장된 복수의 에피소드들 중 현재 시점을 기준으로 가장 가까운 순서로 미리 지정된 일정 개수의 에피소드 보상을 기반으로 계산된 평균을 나타낼 수 있다. 즉, 최근 에피소드 보상들의 평균에 해당할 수 있다.
한편, 다시 150 단계에서, 훈련 횟수가 미리 정의된 기준 횟수인 R의 배수가 아니면(150, 아니오), 다시 120 단계로 되돌아가 각 에이전트들은 해당 에이전트의 정책을 기반으로 H번의 행동을 수행한 이후, 행동을 수행함에 따라 발생한 자신의 경험 정보를 저장할 수 있다.
170 단계에서, 공유 제어부(240)는 수신된 각 에이전트의 성능 정보에 기초하여 결정된 베스트 에이전트의 정책 매개 변수를 복수의 에이전트들이 공유하도록 제어할 수 있다.
171 단계에서, 공유 제어부(240)는 수신된 에피소드 보상의 평균
Figure pat00210
에 기초하여 최대 성능을 가지는 에이전트를 베스트 에이전트로 선택/결정하고, 베스트 에이전트에 정책 매개 변수를 요청할 수 있다.
예컨대, 공유 제어부(240)는 수신된 에피소드 보상의 평균
Figure pat00211
에 기초하여 복수의 에이전트들 중 평균이 가장 높은 에이전트를 베스트 에이전트로 결정할 수 있다. 그리고, 결정된 베스트 에이전트로 해당 에이전트의 현재 정책의 매개 변수를 정책 매개변수로서 요청할 수 있다.
172 단계에서, 공유 제어부(240)는 베스트 에이전트로부터 정책 매개 변수
Figure pat00212
를 수신할 수 있다.
예컨대, 중앙시스템으로부터 정책 매개변수를 요청 받은 베스트 에이전트는 요청에 대한 응답으로서, 중앙시스템에 자신의 현재 정책의 매개변수
Figure pat00213
를 전송할 수 있다. 그러면, 공유 제어부(240)는 베스트 에이전트로부터 수신한 베스트 에이전트의 현재 정책의 매개변수
Figure pat00214
를 안내 정책의 매개변수
Figure pat00215
로 설정할 수 있다(
Figure pat00216
). 그리고, 공유 제어부(240)는 새로이 설정된 안내 정책의 매개변수(
Figure pat00217
)를 복수의 에이전트들로 전송할 수 있다.
180 단계에서, 훈련 횟수가 미리 지정된 최대 횟수 T보다 크면(180, 예), 훈련이 종료될 수 있다.
그리고, 최대 횟수 T보다 작으면(180, 아니오), 다시 120 단계로 되돌아가 각 에이전트들은 해당 에이전트의 정책을 기반으로 H번의 행동을 수행한 이후, 행동을 수행함에 따라 발생한 자신의 경험 정보를 저장할 수 있다. 즉, 에이전트와 중앙시스템 간의 통신이 마무리 되면, 다시 새롭게 만들어진 각 에이전트의 현재 정책
Figure pat00218
에 따라 각 에이전트는 H번의 행동을 취하고, 행동 수행으로 인해 발생한 그 동안의 경험을 나타내는 경험 정보를 자신의 메모리에 저장할 수 있다. 다시 각 에이전트의 예전 정책 매개변수
Figure pat00219
를 현재 정책 매개변수
Figure pat00220
로 업데이트하고, 각 에이전트 별로 저장된 경험 정보를 기반으로 각자의 정책 매개변수
Figure pat00221
가 업데이트될 수 있다. 이어, 에이전트와 중앙시스템 간의 통신을 통해(140, 160, 170, 180) 다음 훈련에 사용할 변수
Figure pat00222
Figure pat00223
및 안내 정책의 매개변수
Figure pat00224
가 업데이트될 수 있다. 이러한 과정은 총 T번의 훈련이 마무리 될 때까지 반복 수행될 수 있다.
이처럼, 본 발명은 완전 분산 다중 에이전트 PPO 알고리즘의 목표 함수에 추가적으로 베스트 에이전트(best agent)의 정책(policy)에 비슷해 지도록 하는 KL divergence 항을 넣고, 그리고 베스트 에이전트의 정책과 다른 에이전트의 현재 정책의 KL divergence 항의 변수
Figure pat00225
를 조정하여 베스트 에이전트의 정책의 매개변수
Figure pat00226
에서 약
Figure pat00227
만큼 떨어진 매개변수 공간에서
Figure pat00228
를 학습하도록 제어할 수 있다. 이에 따라, 업데이트 전 정책(즉, 예전 정책)
Figure pat00229
과 업데이트 된 현재 정책
Figure pat00230
사이의 KL divergence와 모든 에이전트들에게 공유된 안내 정책
Figure pat00231
와 에이전트의 현재 정책
Figure pat00232
사이의 KL divergence는 정책 매개변수 학습에 서로 다른 영향을 줄 수 있다. 이를 통해,
Figure pat00233
Figure pat00234
사이의 KL divergence는 에이전트의 정책 변화 정도를
Figure pat00235
수준으로 조정하기 위해 이용될 수 있으며, 결국, 학습을 안정적이게 수행되도록 할 수 있다. 그리고,
Figure pat00236
Figure pat00237
사이의 KL divergence는 가장 잘하는 정책과 비슷한 정책이 되도록 에이전트의 정책
Figure pat00238
을 학습하기 위해 이용될 수 있으며,
Figure pat00239
만큼 다른 위치에서 좋은 정책을 찾도록 할 수 있다.
이하에서는 도 3 내지 도 10을 참고하여, 시뮬레이션을 통해 베스트 에이전트의 정책으로 안내되는 다중 에이전트 PPO 알고리즘이 경험과 정책을 모두 공유하는 방법 대비 우수한 성능을 가짐을 설명하고자 한다.
시뮬레이션 환경은 Water-World라는 환경과 Multi-Walker라는 환경이 사용되었다. Water-World 환경은 에이전트가 500 행동을 하는 동안(예컨대, 500 timestep 동안) 움직이는 독을 피하며, 침략자를 잡는 환경이며, 에이전트가 독과 부딪히면 -1 보상을, 침략자와 부딪히면 +0.01보상을, 그리고 침략자를 두 명 이상의 에이전트가 부딪혀 침략자를 잡게 되면, 잡은 에이전트들에게 20/해당 침략자를 잡은 에이전트 수만큼의 보상을 제공할 수 있다.
도 3은 본 발명의 일실시예에 있어서,
Figure pat00240
일 때의 Water-World 환경의 한 프레임을 나타내고, 도 4는 본 발명의 일실시예에 있어서,
Figure pat00241
일 때의 Multi-Walker 환경의 한 프레임을 나타낼 수 있다.
도 3에서, 청색이 에이전트, 적색이 독, 엷은 녹색이 침략자, 짙은 녹색이 장애물에 해당할 수 있다. Multi-Walker 환경은 에이전트가 넘어지지 않으며 머리 위의 막대를 앞으로 이동하는 환경으로서, 에이전트가 넘어지면 해당 에이전트에게 -100 보상을 제공하며 한 에피소드가 종료되고, 막대가 땅에 떨어지면 모든 에이전트에게 -100 보상을 주고 한 에피소드가 종료되는 환경을 나타낼 수 있다. 이때, 환경 시작 후 미리 지정된 500 timestep 가 지나면 한 에피소드가 종료될 수 있다. 막대가 앞 또는 뒤로 이동하면 모든 에이전트에게 막대의 이동 속도의 130배가 보상으로 제공될 수 있다.
도 4에서, 나머지 변수들은 Water-World의 경우
Figure pat00242
Multi-Walker의 경우
Figure pat00243
이 모든 알고리즘에 공통으로 사용되었다. 그리고,
Figure pat00244
Figure pat00245
가 모든 알고리즘의 시뮬레이션에 사용되었다.
도 5는 본 발명의 일실시예에 있어서, Water-World 환경에서의 시뮬레이션으로 얻은 시간에 따른 정책의 최근 에피소드들의 평균 에피소드 보상을 나타내는 그래프이고, 도 6은 본 발명의 일실시예에 있어서, Multi-Walker 환경에서의 시뮬레이션으로 얻은 시간에 따른 정책의 최근 에피소드들의 평균 에피소드 보상을 나타내는 그래프를 나타낼 수 있다.
도 5 및 도 6에 도시된 그래프는 본 발명에서 제안하는 안내 정책
Figure pat00246
를 이용한 학습방법(proposed), 완전 분산 학습방법(Dec. PPO), 경험은 공유하지 않고 매 R번의 훈련 후 베스트 에이전트의 정책 π만을 모든 에이전트가 공유하여 직접적으로 사용하는 방법(Dir. Best Pol. Sharing PPO), 그리고 경험과 정책을 모두 공유하는 방법(Exp. Sharing PPO)의 훈련에 따른 평균 에피소드 보상을 나타낼 수 있다.
도 5 및 도 6에 따르면, 경험과 정책 모두 공유하는 방법의 경우, N배 경험이 빠르게 모이기 때문에 훈련 속도가 빠르지만, 정책 매개변수의 탐색의 효율성을 비교하기 위해
Figure pat00247
축으로 N배 늘인 그래프에 해당할 수 있다. 제안하는 안내 정책
Figure pat00248
를 이용한 학습방법(proposed)을 이용하는 경우, 정책을 모든 에이전트들이 공유하여 직접적으로 사용하는 경우보다 매개변수 탐색을 효율적으로 하며 결과적으로 높은 성능을 가짐을 확인할 수 있다.
도 7은 본 발명의 실시 예에 있어서, Water-World 환경의 에이전트 수
Figure pat00249
로 변화하였을 때의 시뮬레이션으로 얻은 훈련을 마친 후의 최근 에피소드들의 평균 에피소드 보상을 나타내는 그래프에 해당할 수 있다.
즉, 도 7에 도시된 그래프는 Water-World 환경의
Figure pat00250
일 때 학습 완료 후, 최근 에피소드들의 평균 에피소드 보상을 나타낼 수 있다.
도 8은 Water-World 환경에 완전 분산 PPO 알고리즘을 이용한 시뮬레이션으로 얻은 각 에이전트의 시간에 따른 베스트 에이전트로 뽑힌 비율 나타내는 그래프이고, 도 9는 Water-World 환경에 본 발명에서 제안하는 알고리즘을 이용한 시뮬레이션으로 얻은 각 에이전트의 시간에 따른 베스트 에이전트로 뽑힌 비율을 나타내는 그래프이다.
도 8 및 도 9의 그래프는, Water-World 환경의
Figure pat00251
일 때, 주어진 timestep 동안 가장 높은 평균 에피소드 보상을 가지고 있는 에이전트로 뽑힌 비율을 도시하고 있으며, 각각 완전 분산 학습을 이용한 PPO 방법과 안내 정책을 이용한 PPO 방법에 대해 도시하고 있다. 도 8 및 도 9를 참고하면, 완전 분산 학습 방법은 잘하는 에이전트가 계속 잘하는 현상이 발생하여 게으른 에이전트 문제를 겪고 있지만, 본 발명에서 제안하는 방법(안내 정책
Figure pat00252
를 이용한 학습방법)은 잘하는 에이전트(즉, 베스트 에이전트)가 계속 바뀌며, 최종적으로는 모든 에이전트가 비슷한 비율로 베스트 에이전트로 뽑혀, 게으른 에이전트 문제를 해결함을 확인할 수 있다. 그리고, 도 10을 참고하면, 경험과 정책을 모두 공유하는 방법은 본 발명에서 제안하는 방법(안내 정책
Figure pat00253
를 이용한 학습방법)에 비해 상당한 통신량을 요구함을 확인할 수 있다. 이때, 도 10에 도시된 그래프는 한번의 훈련에 필요한 통신량의 비율을 나타낸 것으로, 경험과 정책을 모두 공유하는 방법의 통신량과 본 발명에서 제안하는 방법의 통신량의 Water-World와 Multi-Walker 환경에 대한 비율을 나타낼 수 있다.
실시예의 방법은 컴퓨터 수단을 통해 수행되는 프로그램 명령 형태로 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 포함한다. 상기 매체에 기록되는 프로그램 명령은 실시 예를 위하여 설계되거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크, 자기 매체, CD-ROM, DVD와 같은 광기록 매체(Optical media), 플롭티컬 디스크(Floptical disk)와 같은 자기-광 매체(Magneto-optical media), 롬(ROM), 램(RAM), 및 플래시 메모리 등의 프로그램 명령을 저장하고 수행하도록 구성되는 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 인터프리터 등을 사용하는 컴퓨터의 고급 언어 코드를 포함한다.
이상과 같이 실시 예들은 한정된 실시 예와 도면에 의해 설명되었으나, 상기의 기재로부터 여러 수정 및 변형이 가능하다. 예를 들어 구성의 순서 변경이나 조합 등으로 실시 예를 변형할 수 있다.
그러므로, 다른 구현들, 다른 실시 예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (14)

  1. 복수의 에이전트(agent) 각각의 정책 매개변수의 훈련을 제어하는 방법에 있어서,
    상기 복수의 에이전트 각각을 대상으로 미리 공유된 안내 정책에 기초하여 독립적으로 훈련하도록 제어하는 정책 훈련 단계;
    매 훈련 마다 다음 훈련에서 사용할 변수들을 획득하도록 하기 위해, 상기 복수의 에이전트 각각의 정보를 해당 에이전트로부터 수신하는 단계;
    매 훈련 마다 각 에이전트의 정보를 기반으로 결정된 다음 훈련에 사용할 변수를 상기 복수의 에이전트에게 전송하는 단계;
    미리 정의된
    Figure pat00254
    번의 훈련이 수행됨에 따라, 각 에이전트의 성능 정보를 해당 에이전트로부터 수신하는 단계; 및
    수신된 상기 각 에이전트의 성능 정보에 기초하여 결정된 베스트 에이전트의 정책 매개 변수를 상기 복수의 에이전트들이 공유하도록 제어하는 단계
    를 포함하는 다중 에이전트 훈련 제어 방법.
  2. 제1항에 있어서,
    상기 복수의 에이전트들 각각에 해당하는 현재 정책(
    Figure pat00255
    )의 매개변수(
    Figure pat00256
    )는 상기 복수의 에이전트들이 공유하는 상기 다음 훈련에 사용할 변수(
    Figure pat00257
    ,
    Figure pat00258
    ), 안내 정책(
    Figure pat00259
    ), 및 각 에이전트의 경험 정보
    Figure pat00260
    에 기초하여 업데이트되는 것
    을 특징으로 하는 다중 에이전트 훈련 제어 방법.
  3. 제2항에 있어서,
    상기 복수의 에이전트들 각각에 해당하는 현재 정책(
    Figure pat00261
    )의 매개변수(
    Figure pat00262
    )는, 미리 정의된 해당 에이전트의 목표 함수를 상대적으로 증가시키는 방향으로 업데이트되는 것
    을 특징으로 하는 다중 에이전트 훈련 제어 방법.
  4. 제1항에 있어서,
    상기 다음 훈련에 사용할 변수를 상기 복수의 에이전트에게 전송하는 단계는,
    상기 안내 정책과 각 에이전트의 현재 정책 사이의 쿨백 라이블러 발산(KL divergence)에 기초하여 상기 다음 훈련에 사용할 변수(
    Figure pat00263
    )를 계산하는 단계
    를 포함하는 다중 에이전트 훈련 제어 방법.
  5. 제1항에 있어서,
    상기 정책 매개 변수를 상기 복수의 에이전트들이 공유하도록 제어하는 단계는,
    상기 복수의 에이전트 각각에서 상기
    Figure pat00264
    번의 훈련이 수행되면, 새로운 안내 정책을 선택하기 위해, 해당 에이전트의 성능을 나타내는 일정 개수(
    Figure pat00265
    )의 에피소드 보상의 평균(
    Figure pat00266
    )을 수신하는 단계
    를 포함하는 다중 에이전트 훈련 제어 방법.
  6. 제5항에 있어서,
    상기 정책 매개 변수를 상기 복수의 에이전트들이 공유하도록 제어하는 단계는,
    수신된 상기 에피소드 보상의 평균(
    Figure pat00267
    )에 기초하여 상기 복수의 에이전트 중 평균이 가장 높은 에이전트를 상기 베스트 에이전트로 결정하는 단계; 및
    결정된 상기 베스트 에이전트로 상기 정책 매개 변수(
    Figure pat00268
    )를 요청하는 단계
    를 더 포함하는 다중 에이전트 훈련 제어 방법.
  7. 제 6항에 있어서,
    상기 정책 매개 변수를 상기 복수의 에이전트들이 공유하도록 제어하는 단계는,
    상기 정책 매개 변수의 요청에 대한 응답으로, 상기 베스트 에이전트의 현재 정책에 해당하는 매개변수(
    Figure pat00269
    )를 상기 베스트 에이전트로부터 수신하는 단계;
    안내 정책의 매개변수(
    Figure pat00270
    )를 수신된 상기 베스트 에이전트의 현재 정책에 해당하는 매개변수(
    Figure pat00271
    )로 설정하는 단계; 및
    설정된 상기 안내 정책의 매개변수(
    Figure pat00272
    )를 상기 복수의 에이전트들로 전송하는 단계
    를 더 포함하는 다중 에이전트 훈련 제어 방법.
  8. 복수의 에이전트(agent) 각각의 정책 매개변수의 훈련을 제어하는 시스템에 있어서,
    상기 복수의 에이전트 각각을 대상으로 미리 공유된 안내 정책에 기초하여 독립적으로 훈련하도록 제어하는 훈련 제어부;
    매 훈련 마다 다음 훈련에서 사용할 변수들을 획득하도록 하기 위해, 상기 복수의 에이전트 각각의 정보를 해당 에이전트로부터 수신하고, 미리 정의된
    Figure pat00273
    번의 훈련이 수행됨에 따라, 각 에이전트의 성능 정보를 해당 에이전트로부터 수신하는 수신 제어부;
    매 훈련 마다 각 에이전트의 정보를 기반으로 결정된 다음 훈련에 사용할 변수를 상기 복수의 에이전트에게 전송하는 전송 제어부; 및
    수신된 상기 각 에이전트의 성능 정보에 기초하여 결정된 베스트 에이전트의 정책 매개 변수를 상기 복수의 에이전트들이 공유하도록 제어하는 공유 제어부
    를 포함하는 다중 에이전트 훈련 제어 시스템.
  9. 제8항에 있어서,
    상기 복수의 에이전트들 각각에 해당하는 현재 정책(
    Figure pat00274
    )의 매개변수(
    Figure pat00275
    )는 상기 복수의 에이전트들이 공유하는 상기 다음 훈련에 사용할 변수(
    Figure pat00276
    ,
    Figure pat00277
    ), 안내 정책(
    Figure pat00278
    ), 및 각 에이전트의 경험 정보
    Figure pat00279
    에 기초하여 업데이트되는 것
    을 특징으로 하는 다중 에이전트 훈련 제어 시스템.
  10. 제9항에 있어서,
    상기 복수의 에이전트들 각각에 해당하는 현재 정책(
    Figure pat00280
    )의 매개변수(
    Figure pat00281
    )는, 미리 정의된 해당 에이전트의 목표 함수를 상대적으로 증가시키는 방향으로 업데이트되는 것
    을 특징으로 하는 다중 에이전트 훈련 제어 시스템.
  11. 제9항에 있어서,
    상기 전송 제어부는,
    상기 안내 정책과 각 에이전트의 현재 정책 사이의 쿨백 라이블러 발산(KL divergence)에 기초하여 상기 다음 훈련에 사용할 변수(
    Figure pat00282
    )를 계산하는 것
    을 특징으로 하는 다중 에이전트 훈련 제어 시스템.
  12. 제9항에 있어서,
    상기 공유 제어부는,
    상기 복수의 에이전트 각각에서 상기
    Figure pat00283
    번의 훈련이 수행되면, 새로운 안내 정책을 선택하기 위해, 해당 에이전트의 성능을 나타내는 일정 개수(
    Figure pat00284
    )의 에피소드 보상의 평균(
    Figure pat00285
    )을 수신하는 것
    을 특징으로 하는 다중 에이전트 훈련 제어 시스템.
  13. 제12항에 있어서,
    상기 공유 제어부는,
    수신된 상기 에피소드 보상의 평균(
    Figure pat00286
    )에 기초하여 상기 복수의 에이전트 중 평균이 가장 높은 에이전트를 상기 베스트 에이전트로 결정하고, 결정된 상기 베스트 에이전트로 상기 정책 매개 변수(
    Figure pat00287
    )를 요청하는 것
    을 특징으로 하는 다중 에이전트 훈련 제어 시스템.
  14. 제13항에 있어서,
    상기 공유 제어부는,
    상기 정책 매개 변수의 요청에 대한 응답으로, 상기 베스트 에이전트의 현재 정책에 해당하는 매개변수(
    Figure pat00288
    )를 상기 베스트 에이전트로부터 수신하고, 안내 정책의 매개변수(
    Figure pat00289
    )를 수신된 상기 베스트 에이전트의 현재 정책에 해당하는 매개변수(
    Figure pat00290
    )로 설정하고, 설정된 상기 안내 정책의 매개변수(
    Figure pat00291
    )를 상기 복수의 에이전트들로 전송하는 것
    을 특징으로 하는 다중 에이전트 훈련 제어 시스템.
KR1020180103642A 2018-06-15 2018-08-31 베스트 에이전트의 정책으로 안내되는 다중 에이전트 ppo 알고리즘 KR102147017B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20180068873 2018-06-15
KR1020180068873 2018-06-15

Publications (2)

Publication Number Publication Date
KR20190142181A true KR20190142181A (ko) 2019-12-26
KR102147017B1 KR102147017B1 (ko) 2020-08-21

Family

ID=69103839

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180103642A KR102147017B1 (ko) 2018-06-15 2018-08-31 베스트 에이전트의 정책으로 안내되는 다중 에이전트 ppo 알고리즘

Country Status (1)

Country Link
KR (1) KR102147017B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111932341A (zh) * 2020-08-10 2020-11-13 北京嘀嘀无限科技发展有限公司 一种确定拼车订单的方法和系统

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
[1] Schulman, John, et al. "High-dimensional continuous control using generalized advantage estimation." arXiv preprint arXiv:1506.02438 (2015).
Control with Distributed Deep Reinforcement Learning: Learn a Better Policy. Qihao Liu, Xiaofeng Liu, Guoping Cai. 2018.11. *
DISTRIBUTED DISTRIBUTIONAL DETERMINISTIC POLICY GRADIENTS. Gabriel Barth-Maron et al. ICLR. 2018. *
Emergence of Locomotion Behaviours in Rich Environments. Nicolas Heess et al. DeepMind. 2017.07.10. *
Massively Parallel Methods for Deep Reinforcement Learning. Arun Nair et al. arXiv. 2015. *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111932341A (zh) * 2020-08-10 2020-11-13 北京嘀嘀无限科技发展有限公司 一种确定拼车订单的方法和系统

Also Published As

Publication number Publication date
KR102147017B1 (ko) 2020-08-21

Similar Documents

Publication Publication Date Title
Foerster et al. Stabilising experience replay for deep multi-agent reinforcement learning
Xu et al. Learning to explore via meta-policy gradient
US10168705B2 (en) Automatic tuning of autonomous vehicle cost functions based on human driving data
Majumdar et al. Evolutionary reinforcement learning for sample-efficient multiagent coordination
Hamrick et al. Combining q-learning and search with amortized value estimates
Shalev-Shwartz et al. Long-term planning by short-term prediction
CN113474231A (zh) 使用神经网络对自主对象进行组合预测和路径规划
Khan et al. Scalable centralized deep multi-agent reinforcement learning via policy gradients
Wang et al. I2hrl: Interactive influence-based hierarchical reinforcement learning
Coşkun et al. Deep reinforcement learning for traffic light optimization
Hrolenok et al. Collaborative foraging using beacons
Taylor et al. Parallel transfer learning in multi-agent systems: What, when and how to transfer?
CN111414681A (zh) 基于共享深度强化学习的建筑物内疏散仿真方法及系统
Jaafra et al. Context-aware autonomous driving using meta-reinforcement learning
KR20190142181A (ko) 베스트 에이전트의 정책으로 안내되는 다중 에이전트 ppo 알고리즘
Ge et al. Enhancing cooperation by cognition differences and consistent representation in multi-agent reinforcement learning
Chen et al. An Adaptive Federated Reinforcement Learning Framework with Proximal Policy Optimization for Autonomous Driving
Wen et al. Improving the exploration efficiency of DQNs via the confidence bound methods
Diallo et al. Coordination in adversarial multi-agent with deep reinforcement learning under partial observability
Lin et al. Robust Route Planning with Distributional Reinforcement Learning in a Stochastic Road Network Environment
Zhan et al. Relationship explainable multi-objective reinforcement learning with semantic explainability generation
CN116882607B (zh) 一种基于路径规划任务的关键节点识别方法
Zhao et al. Targeted multi-agent communication algorithm based on state control
CN114118400B (zh) 一种基于专注网络的集群对抗方法及装置
KR102558092B1 (ko) 샘플 효율적인 탐색을 위한 샘플-인지 엔트로피 정규화 기법

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