KR102147017B1 - Multi-agent PPO Guided By The Best Local Policy - Google Patents

Multi-agent PPO Guided By The Best Local Policy Download PDF

Info

Publication number
KR102147017B1
KR102147017B1 KR1020180103642A KR20180103642A KR102147017B1 KR 102147017 B1 KR102147017 B1 KR 102147017B1 KR 1020180103642 A KR1020180103642 A KR 1020180103642A KR 20180103642 A KR20180103642 A KR 20180103642A KR 102147017 B1 KR102147017 B1 KR 102147017B1
Authority
KR
South Korea
Prior art keywords
agent
policy
training
agents
parameter
Prior art date
Application number
KR1020180103642A
Other languages
Korean (ko)
Other versions
KR20190142181A (en
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/en
Application granted granted Critical
Publication of KR102147017B1 publication Critical patent/KR102147017B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (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)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Figure 112018086782712-pat00292
번의 훈련이 수행됨에 따라 각 에이전트의 성능 정보를 해당 에이전트로부터 수신하는 단계, 및 수신된 상기 각 에이전트의 성능 정보에 기초하여 결정된 베스트 에이전트의 정책 매개 변수를 상기 복수의 에이전트들이 공유하도록 제어하는 단계를 포함할 수 있다.The present invention relates to a PPO algorithm using an efficient policy parameter search method guided from the policy of the best agent in a multi-agent system. A method of controlling training of a policy parameter of each of a plurality of agents, the policy training step of controlling each of the plurality of agents to independently train based on a shared guidance policy, the following for each training: Receiving information of each of the plurality of agents from a corresponding agent in order to obtain variables to be used in training, and transmitting variables to be used for training to the plurality of agents after being determined based on the information of each agent for each training , Predefined
Figure 112018086782712-pat00292
Receiving performance information of each agent from the corresponding agent as the training is performed, and controlling the plurality of agents to share the policy parameter of the best agent determined based on the received performance information of each agent. Can include.

Description

베스트 에이전트의 정책으로 안내되는 다중 에이전트 PPO 알고리즘{Multi-agent PPO Guided By The Best Local Policy}Multi-agent PPO Guided By The Best Local Policy}

본 발명의 실시예들은 다중 에이전트(multi-agent) 시스템의 정책(policy) 매개변수(para-meter)의 탐색(exploration) 방법으로, 보다 상세하게는 효율적인 정책 매개변수의 탐색 방법을 이용한 다중 에이전트 PPO 알고리즘에 관한 것이다.Embodiments of the present invention are an exploration method of a policy parameter of a multi-agent system, and more particularly, a multi-agent PPO using an efficient policy parameter search method. It's about the algorithm.

한 명의 에이전트만 존재하는 상황에서의 강화학습 알고리즘 중 하나로 Proximal Policy Optimization(PPO)가 제안이 되었다. PPO는 주어진 환경에서 최고의 성능을 가지는 정책

Figure 112018086782712-pat00001
의 매개변수
Figure 112018086782712-pat00002
를 훈련하는 알고리즘으로, 업데이트 전 매개변수
Figure 112018086782712-pat00003
에서 성능을 증가시키는 방향으로 조금씩
Figure 112018086782712-pat00004
를 변화하여 업데이트하는 방법이다. 에이전트(agent)는 정책
Figure 112018086782712-pat00005
를 이용하여 먼저 H번의 행동을 한 후, 그 동안의 상태 (state)
Figure 112018086782712-pat00006
, 행동 (action)
Figure 112018086782712-pat00007
, 보상 (reward)
Figure 112018086782712-pat00008
을 모두 모은 경험
Figure 112018086782712-pat00009
을 저장한다. Proximal Policy Optimization (PPO) was proposed as one of the reinforcement learning algorithms in the context of only one agent. PPO is a policy that has the best performance in a given environment
Figure 112018086782712-pat00001
Parameters of
Figure 112018086782712-pat00002
It is an algorithm that trains the parameters before update
Figure 112018086782712-pat00003
Gradually in the direction of increasing the performance
Figure 112018086782712-pat00004
It is a way to update by changing. Agent is a policy
Figure 112018086782712-pat00005
First, H times, and then the state in the meantime
Figure 112018086782712-pat00006
, Action
Figure 112018086782712-pat00007
, Reward
Figure 112018086782712-pat00008
Experience
Figure 112018086782712-pat00009
Save it.

모은 경험으로부터 임의로

Figure 112018086782712-pat00010
개의 관측, 행동, 보상, 그리고 다음 관측으로 이루어진 순서쌍
Figure 112018086782712-pat00011
을 뽑아 수학식 1과 같은 정책의 목적 함수와 수학식 2와 같은 매개변수
Figure 112018086782712-pat00012
로 구성된 가치 함수(value function)의 목적 함수를 계산한다.Randomly from accumulated experience
Figure 112018086782712-pat00010
An ordered pair of observations, actions, rewards, and next observations
Figure 112018086782712-pat00011
By pulling out, the objective function of the policy as in Equation 1 and the parameters as in Equation 2
Figure 112018086782712-pat00012
Compute the objective function of a value function consisting of

[수학식 1] [Equation 1]

Figure 112018086782712-pat00013
Figure 112018086782712-pat00013

[수학식 2] [Equation 2]

Figure 112018086782712-pat00014
Figure 112018086782712-pat00014

여기서

Figure 112018086782712-pat00015
는 순서쌍
Figure 112018086782712-pat00016
에 대한 샘플 평균이며,
Figure 112018086782712-pat00017
는 예정 정책 매개변수
Figure 112018086782712-pat00018
로 구성된 정책이다. 또한
Figure 112018086782712-pat00019
는 경험, 가치 함수
Figure 112018086782712-pat00020
와, 변수
Figure 112018086782712-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 112018086782712-pat00022
는 현재 에피소드가 끝날 때까지의 discounted cumulated return으로
Figure 112018086782712-pat00023
에 에피소드가 끝날 경우,
Figure 112018086782712-pat00024
로 계산된다. 이후 에이전트는 목적 함수들의 합
Figure 112018086782712-pat00025
를 증가시키는 방향으로 매개변수
Figure 112018086782712-pat00026
Figure 112018086782712-pat00027
를 Adam optimizer를 이용해 아래의 수학식 3과 같이 업데이트 한다. here
Figure 112018086782712-pat00015
Is an ordered pair
Figure 112018086782712-pat00016
Is the sample mean for
Figure 112018086782712-pat00017
Is the expected policy parameter
Figure 112018086782712-pat00018
It is a policy composed of. Also
Figure 112018086782712-pat00019
Is an experience, value function
Figure 112018086782712-pat00020
Wow, variable
Figure 112018086782712-pat00021
As representing the Generalized Advantage Estimator (GAE) calculated as, λ , the Generalized Advantage Estimator (GAE) is a non-patent document [1] Schulman, John, et al. "High-dimensional continuous control using generalized advantage estimation." arXiv preprint arXiv:1506 .02438 (2015). Detailed in
Figure 112018086782712-pat00022
Is a discounted cumulated return until the end of the current episode.
Figure 112018086782712-pat00023
If the episode ends on,
Figure 112018086782712-pat00024
Is calculated as Then the agent is the sum of the objective functions
Figure 112018086782712-pat00025
In the direction of increasing the parameter
Figure 112018086782712-pat00026
Wow
Figure 112018086782712-pat00027
Is updated as in Equation 3 below using the Adam optimizer.

[수학식 3][Equation 3]

Figure 112018086782712-pat00028
Figure 112018086782712-pat00028

저장된 경험으로부터

Figure 112018086782712-pat00029
개의 순서쌍을 임의로 뽑고, 뽑은 순서쌍을 이용해 목적 함수들을 계산하고 이들의 합을 증가시키는 방향으로 각 에이전트의 현재 정책 매개변수
Figure 112018086782712-pat00030
와 가치 함수 매개변수
Figure 112018086782712-pat00031
를 업데이트하는 과정을
Figure 112018086782712-pat00032
진행하며 이것을 한번의 훈련이라고 부른다.From saved experiences
Figure 112018086782712-pat00029
The current policy parameters of each agent in the direction of randomly picking two ordinal pairs, calculating the objective functions using the picked ordered pairs, and increasing the sum of them.
Figure 112018086782712-pat00030
And value function parameters
Figure 112018086782712-pat00031
The process of updating
Figure 112018086782712-pat00032
It proceeds and is called a one-time training.

한번의 훈련 후, 확률 분포 함수 사이의 거리인 KL divergence의 샘플 평균값

Figure 112018086782712-pat00033
을 이용하여 평균값이 원하는 값
Figure 112018086782712-pat00034
보다 1.5배 보다 크거나 1/1.5배 보다 작으면 변수
Figure 112018086782712-pat00035
를 아래의 수학식 4와 같이 조정하여 다음 업데이트에서 KL divergence의 평균값을
Figure 112018086782712-pat00036
과 비슷하도록 만든다. Sample mean value of KL divergence, which is the distance between the probability distribution function after one training
Figure 112018086782712-pat00033
The average value is the desired value using
Figure 112018086782712-pat00034
If greater than 1.5 times or less than 1/1.5 times the variable
Figure 112018086782712-pat00035
By adjusting as in Equation 4 below, the average value of the KL divergence in the next update
Figure 112018086782712-pat00036
Make it similar to

[수학식 4][Equation 4]

Figure 112018086782712-pat00037
Figure 112018086782712-pat00037

수학식 1의 KL divergence 항은 업데이트 전의 정책

Figure 112018086782712-pat00038
Figure 112018086782712-pat00039
를 가까워지도록 하는 목적을 가지며, 이를
Figure 112018086782712-pat00040
과 비슷하게 유지함으로써 학습의 안정성을 증가시키는 효과가 있다.The KL divergence term in Equation 1 is the policy before the update
Figure 112018086782712-pat00038
in
Figure 112018086782712-pat00039
Has the purpose of getting closer to
Figure 112018086782712-pat00040
It has the effect of increasing the stability of learning by keeping it similar to.

한번의 훈련을 거쳐 다음 훈련에 사용할 변수

Figure 112018086782712-pat00041
를 조정하는 것을
Figure 112018086782712-pat00042
번 반복한 후, 학습을 종료한다.Variable to use in the next training after one training
Figure 112018086782712-pat00041
To adjust
Figure 112018086782712-pat00042
After repeating once, the learning is ended.

현재 강화학습 분야에서는 앞의 PPO 알고리즘과 같이 하나의 에이전트만 있는 환경에서의 강화학습 알고리즘에 대한 연구 외에 여려 명의 에이전트가 서로 협력하는 다중 에이전트 상황에서의 강화학습 알고리즘에 대한 연구도 활발히 진행되고 있다. 다중 에이전트 강화학습 알고리즘은 하나의 에이전트만 존재하는 시스템에서의 강화학습 알고리즘과 달리 각 에이전트가 모든 상황에 대한 상태를 볼 수 있다는 가정을 사용할 수 없으며, 따라서 각 에이전트는 자신의 관측(observation), 행동, 보상만을 환경으로부터 얻을 수 있다고 가정한다. 그러면, 다중 에이전트 강화학습 알고리즘은 훈련 단계 혹은 실행 단계에서 다른 에이전트와의 정보교환 유무로 구분이 가능하며, 각각을 중앙집권적(centralized), 분산적(decentralized)으로 구분한다. 각 에이전트가 자신만의 정보만을 이용하여 각 에이전트의 정책을 훈련 및 실행을 하는 경우를 완전 분산적(fully decentralized)이라고 하며, 이 경우 각 에이전트들은 자신의 관측

Figure 112018086782712-pat00043
만을 이용해서 자신의 행동
Figure 112018086782712-pat00044
을 취하며, 자신의 경험만을 이용해 자신의 정책 매개변수
Figure 112018086782712-pat00045
를 훈련한다. 예를 들어 PPO를 사용한 완전 분산적 다중 에이전트 알고리즘은 각 에이전트가 자신의 경험
Figure 112018086782712-pat00046
을 모은 뒤, 이를 이용하여 아래의 수학식 5와 수학식 6의 목적 함수를 계산하고, 목적 함수의 합
Figure 112018086782712-pat00047
을 증가시키는 방향으로 아담 최적화(Adam optimizer)를 이용하여
Figure 112018086782712-pat00048
Figure 112018086782712-pat00049
를 업데이트한다. Currently, in the field of reinforcement learning, in addition to research on reinforcement learning algorithms in an environment with only one agent, like the previous PPO algorithm, research on reinforcement learning algorithms in a multi-agent situation in which several agents cooperate with each other is actively being conducted. Unlike the reinforcement learning algorithm in a system with only one agent, the multi-agent reinforcement learning algorithm cannot use the assumption that each agent can see the state of all situations, so each agent has its own observation and behavior. However, it is assumed that only rewards can be obtained from the environment. Then, the multi-agent reinforcement learning algorithm can be classified by the presence or absence of information exchange with other agents in the training or execution stage, and each is classified into centralized and decentralized. The case where each agent trains and executes each agent's policy using only its own information is called fully decentralized. In this case, each agent has its own observation.
Figure 112018086782712-pat00043
Your own actions using only
Figure 112018086782712-pat00044
And use only your own experience to set your policy parameters
Figure 112018086782712-pat00045
To train. For example, a fully distributed multi-agent algorithm using PPO allows each agent to
Figure 112018086782712-pat00046
After collecting, using this, the objective function of Equations 5 and 6 below is calculated, and the sum of the objective functions
Figure 112018086782712-pat00047
In the direction of increasing the value, using the Adam optimizer
Figure 112018086782712-pat00048
Wow
Figure 112018086782712-pat00049
Update.

[수학식 5] [Equation 5]

Figure 112018086782712-pat00050
Figure 112018086782712-pat00050

[수학식 6] [Equation 6]

Figure 112018086782712-pat00051
Figure 112018086782712-pat00051

수학식 5 및 6에서,

Figure 112018086782712-pat00052
는 각 에이전트의 정책 매개변수
Figure 112018086782712-pat00053
로 구성된 정책이고,
Figure 112018086782712-pat00054
는 업데이트 전 정책 매개변수
Figure 112018086782712-pat00055
로 구성된 정책,
Figure 112018086782712-pat00056
는 가치 함수 매개변수
Figure 112018086782712-pat00057
로 구성된 가치 함수이다. 또한
Figure 112018086782712-pat00058
는 자신의 경험의 샘플 평균이며,
Figure 112018086782712-pat00059
는 자신의 경험과 자신의 가치 함수를 이용하여 계산된 GAE이다.In Equations 5 and 6,
Figure 112018086782712-pat00052
Is the policy parameter of each agent
Figure 112018086782712-pat00053
Is a policy consisting of
Figure 112018086782712-pat00054
Is the pre-update policy parameter
Figure 112018086782712-pat00055
A policy consisting of,
Figure 112018086782712-pat00056
Is the value function parameter
Figure 112018086782712-pat00057
It is a value function composed of Also
Figure 112018086782712-pat00058
Is the sample mean of your own experience,
Figure 112018086782712-pat00059
Is the GAE calculated using your own experience and your own value function.

그러나, 이 방법은 다른 에이전트에 대한 정보를 교환하지 않고, 환경의 임의성 (randomness)으로 생각하며, 따라서 수렴하는데 필요한 경험의 수가 증가하고, 수렴 속도를 느리게 한다. 또한 수렴속도가 느리기 때문에 수렴 후의 성능도 낮다. 게다가 에이전트 중 잘하는 에이전트가 있으면, 못하는 에이전트가 학습을 느리게 하는 게으른 에이전트 문제가 있다. However, this method does not exchange information for other agents, and considers it as the randomness of the environment, thus increasing the number of experiences required for convergence, and slowing the convergence speed. Also, since the convergence speed is slow, the performance after convergence is also low. In addition, there is a problem of a lazy agent that slows learning by an agent that is not able to learn if there is an agent that does well among the agents.

게으른 에이전트 문제를 해결하기 위해, 모든 에이전트의 정책 매개변수

Figure 112018086782712-pat00060
를 공유하여 하나의 정책
Figure 112018086782712-pat00061
을 모든 에이전트가 사용하는 중앙집권적 훈련과 분산적 실행 방법이 있다. 기존에 많은 연구에서 사용하는 정책 매개변수 공유 방법은 모든 에이전트들이 같은 정책,
Figure 112018086782712-pat00062
으로 행동을 한 후 얻은 경험을 중앙 시스템에 전송을 하며, 중앙 시스템에서는 모든 에이전트들로부터 전송된 경험을 이용하여 중앙 시스템의 가치 함수 매개변수
Figure 112018086782712-pat00063
와 공유된 정책 매개변수
Figure 112018086782712-pat00064
를 학습한다. 이 경우 중앙 시스템에서 학습된 정책 매개변수
Figure 112018086782712-pat00065
는 다시 모든 에이전트들에게 전송이 되고, 다시 에이전트들은 공유된 정책을 이용해 경험을 얻는다. 이 방법은 한번의 훈련에 필요한 경험을 모든 에이전트들로부터 얻기 때문에 에이전트 수
Figure 112018086782712-pat00066
배만큼 빠르게 경험을 모아 학습을 하지만, 경험과 정책 매개변수 모두 공유하는 방법은 상당한 통신량을 요구하며 통신량에 제한이 있는 실제 환경에서는 적용하기 힘들다. To solve the lazy agent problem, the policy parameters of all agents
Figure 112018086782712-pat00060
Share one policy
Figure 112018086782712-pat00061
There are centralized training and distributed execution methods used by all agents. The policy parameter sharing method used in many studies is that all agents have the same policy,
Figure 112018086782712-pat00062
The experience gained after performing the action is transmitted to the central system, and the central system uses the experience transmitted from all agents to the value function parameter of the central system.
Figure 112018086782712-pat00063
Policy parameters shared with
Figure 112018086782712-pat00064
To learn. In this case, the policy parameters learned from the central system
Figure 112018086782712-pat00065
Is sent back to all agents, again the agents gain experience using the shared policy. This method provides the necessary experience for one training session from all agents, so the number of agents
Figure 112018086782712-pat00066
Experience is collected and learned twice as fast, but the method of sharing both experience and policy parameters requires a significant amount of communication and is difficult to apply in a real environment where the amount of communication is limited.

협력을 요구하는 환경에 대해서 각각의 에이전트가 자신의 정책을 훈련 및 실행을 하는 완전 분산적 방법은 못하는 에이전트가 계속 느리게 학습하는 게으른 에이전트(lazy agent) 문제가 존재한다. 이러한 게으른 에이전트는 학습 속도를 저하시키며, 최종적으로 전체 성능을 저하시킨다. 이러한 문제를 해결할 수 있는 방법으로 모든 에이전트가 동일한 하나의 정책을 공유하며, 이를 행동을 취하는데 이용하는 방법이 있지만, 이 경우 성능이 높은 정책 매개변수를 탐색하는 속도가 느려, 최종적인 성능이 낮다. 또한 기존에 많이 알려진 경험과 정책 모두 공유하는 방법은 훈련 시에 상당한 통신량이 필요하다.For an environment that requires cooperation, there is a problem of a lazy agent in which an agent continues to learn slowly, which cannot be a fully distributed method in which each agent trains and executes its own policy. Such a lazy agent slows down the learning rate, and ultimately lowers the overall performance. As a way to solve this problem, there is a method where all agents share the same policy and use it to take action, but in this case, the speed of searching for high-performance policy parameters is slow, and the final performance is low. In addition, the method of sharing all of the experiences and policies that are well known before requires a considerable amount of communication during training.

따라서 게으른 에이전트 문제를 해결하며, 적은 양의 통신을 사용하여 정책 매개변수의 탐색을 효율적으로 하는 기술이 요구된다. Therefore, there is a need for a technique that solves the problem of lazy agents and efficiently searches for policy parameters by using a small amount of communication.

[1] Schulman, John, et al. "High-dimensional continuous control using generalized advantage estimation." arXiv preprint arXiv:1506.02438 (2015).[1] Schulman, John, et al. "High-dimensional continuous control using generalized advantage estimation." arXiv preprint arXiv: 1506.02438 (2015).

본 발명의 일실시예는 앞에서 설명한 다중 에이전트 시스템에서 게으른 에이전트 문제를 해결하기 위한 것으로서, 동시에 적은 양의 통신을 사용하며, 정책 매개변수의 탐색을 효율적으로 하여 학습 속도와 성능을 증가시키는 중앙집권적 훈련 및 분산적 실행 PPO 알고리즘, 다중 에이전트 훈련 제어 방법 및 시스템을 제공하기 위한 것이다.An embodiment of the present invention is to solve the lazy agent problem in the multi-agent system described above, and uses a small amount of communication at the same time, and is a centralized system that increases the learning speed and performance by efficiently searching for policy parameters. It is to provide a training and distributed execution PPO algorithm, a multi-agent training control method and system.

복수의 에이전트(agent) 각각의 정책 매개변수의 훈련을 제어하는 방법에 있어서, 상기 복수의 에이전트 각각을 대상으로 미리 공유된 안내 정책에 기초하여 독립적으로 훈련하도록 제어하는 정책 훈련 단계, 매 훈련 마다 다음 훈련에서 사용할 변수들을 획득하도록 하기 위해, 상기 복수의 에이전트 각각의 정보를 해당 에이전트로부터 수신하는 단계, 매 훈련 마다 각 에이전트의 정보를 기반으로 결정된 다음 훈련에 사용할 변수를 상기 복수의 에이전트에게 전송하는 단계, 미리 정의된 R번의 훈련이 수행됨에 따라 각 에이전트의 성능 정보를 해당 에이전트로부터 수신하는 단계, 및 수신된 상기 각 에이전트의 성능 정보에 기초하여 결정된 베스트 에이전트의 정책 매개 변수를 상기 복수의 에이전트들이 공유하도록 제어하는 단계를 포함할 수 있다.A method of controlling training of a policy parameter of each of a plurality of agents, the policy training step of controlling each of the plurality of agents to independently train based on a shared guidance policy, the following for each training: In order to obtain variables to be used in training, receiving information of each of the plurality of agents from a corresponding agent, transmitting variables to be used for training next to the plurality of agents determined based on the information of each agent for each training , Receiving the performance information of each agent from the corresponding agent as the training of the predefined R times is performed, and the plurality of agents share the policy parameter of the best agent determined based on the received performance information of each agent. It may include controlling to do so.

일측면에 따르면, 상기 복수의 에이전트들 각각에 해당하는 현재 정책(

Figure 112018086782712-pat00067
)의 매개변수(
Figure 112018086782712-pat00068
)는 상기 복수의 에이전트들이 공유하는 상기 다음 훈련에 사용할 변수(
Figure 112018086782712-pat00069
,
Figure 112018086782712-pat00070
), 안내 정책(
Figure 112018086782712-pat00071
), 및 각 에이전트의 경험 정보
Figure 112018086782712-pat00072
에 기초하여 업데이트될 수 있다.According to one aspect, the current policy corresponding to each of the plurality of agents (
Figure 112018086782712-pat00067
) Of the parameter (
Figure 112018086782712-pat00068
) Is a variable to be used for the next training shared by the plurality of agents (
Figure 112018086782712-pat00069
,
Figure 112018086782712-pat00070
), information policy (
Figure 112018086782712-pat00071
), and experience information of each agent
Figure 112018086782712-pat00072
It can be updated based on.

다른 측면에 따르면, 상기 복수의 에이전트들 각각에 해당하는 현재 정책(

Figure 112018086782712-pat00073
)의 매개변수(
Figure 112018086782712-pat00074
)는, 미리 정의된 해당 에이전트의 목표 함수를 상대적으로 증가시키는 방향으로 업데이트될 수 있다.According to another aspect, the current policy corresponding to each of the plurality of agents (
Figure 112018086782712-pat00073
) Of the parameter (
Figure 112018086782712-pat00074
) May be updated in a direction to relatively increase the target function of the corresponding agent.

또 다른 측면에 따르면, 상기 다음 훈련에 사용할 변수를 상기 복수의 에이전트에게 전송하는 단계는, 상기 안내 정책과 각 에이전트의 현재 정책 사이의 쿨백 라이블러 발산(KL divergence)에 기초하여 상기 다음 훈련에 사용할 변수(

Figure 112018086782712-pat00075
)를 계산하는 단계를 포함할 수 있다.According to another aspect, the transmitting of the variable to be used for the next training to the plurality of agents may be used for the next training based on the KL divergence between the guidance policy and the current policy of each agent. variable(
Figure 112018086782712-pat00075
) May include the step of calculating.

또 다른 측면에 따르면, 상기 정책 매개 변수를 상기 복수의 에이전트들이 공유하도록 제어하는 단계는, 상기 복수의 에이전트 각각에서 상기

Figure 112018086782712-pat00076
번의 훈련이 수행되면, 새로운 안내 정책을 선택하기 위해, 해당 에이전트의 성능을 나타내는 일정 개수(
Figure 112018086782712-pat00077
)의 에피소드 보상의 평균(
Figure 112018086782712-pat00078
)을 수신하는 단계를 포함할 수 있다.According to another aspect, the controlling of the plurality of agents to share the policy parameter includes, in each of the plurality of agents, the
Figure 112018086782712-pat00076
Once training is performed, a certain number representing the performance of the agent in order to select a new guidance policy (
Figure 112018086782712-pat00077
) Of the episode reward average (
Figure 112018086782712-pat00078
) May include receiving.

또 다른 측면에 따르면, 상기 정책 매개 변수를 상기 복수의 에이전트들이 공유하도록 제어하는 단계는, 수신된 상기 에피소드 보상의 평균(

Figure 112018086782712-pat00079
)에 기초하여 상기 복수의 에이전트 중 평균이 가장 높은 에이전트를 상기 베스트 에이전트로 결정하는 단계, 및 결정된 상기 베스트 에이전트로 상기 정책 매개 변수(
Figure 112018086782712-pat00080
)를 요청하는 단계를 더 포함할 수 있다.According to another aspect, the controlling of the policy parameter to be shared by the plurality of agents includes an average of the received episode rewards (
Figure 112018086782712-pat00079
Determining an agent having the highest average among the plurality of agents as the best agent, and the policy parameter as the determined best agent (
Figure 112018086782712-pat00080
) May further include requesting.

또 다른 측면에 따르면, 상기 정책 매개 변수를 상기 복수의 에이전트들이 공유하도록 제어하는 단계는, 상기 정책 매개 변수의 요청에 대한 응답으로, 상기 베스트 에이전트의 현재 정책에 해당하는 매개변수(

Figure 112018086782712-pat00081
)를 상기 베스트 에이전트로부터 수신하는 단계, 안내 정책의 매개변수(
Figure 112018086782712-pat00082
)를 수신된 상기 베스트 에이전트의 현재 정책에 해당하는 매개변수(
Figure 112018086782712-pat00083
)로 설정하는 단계, 및 설정된 상기 안내 정책의 매개변수(
Figure 112018086782712-pat00084
)를 상기 복수의 에이전트들로 전송하는 단계를 더 포함할 수 있다.According to another aspect, the controlling of the plurality of agents to share the policy parameter includes, in response to a request for the policy parameter, a parameter corresponding to the current policy of the best agent (
Figure 112018086782712-pat00081
) From the best agent, the parameters of the guidance policy (
Figure 112018086782712-pat00082
Parameter corresponding to the current policy of the best agent received (
Figure 112018086782712-pat00083
), and a parameter of the set guide policy (
Figure 112018086782712-pat00084
) May further include transmitting to the plurality of agents.

복수의 에이전트(agent) 각각의 정책 매개변수의 훈련을 제어하는 시스템에 있어서, 상기 복수의 에이전트 각각을 대상으로 미리 공유된 안내 정책에 기초하여 독립적으로 훈련하도록 제어하는 훈련 제어부, 매 훈련 마다 다음 훈련에서 사용할 변수들을 획득하도록 하기 위해, 상기 복수의 에이전트 각각의 정보를 해당 에이전트로부터 수신하고, 미리 정의된

Figure 112018086782712-pat00085
번의 훈련이 수행됨에 따라 각 에이전트의 성능 정보를 해당 에이전트로부터 수신하는 수신 제어부, 매 훈련 마다 각 에이전트의 정보를 기반으로 결정된 다음 훈련에 사용할 변수를 상기 복수의 에이전트에게 전송하는 전송 제어부, 및 수신된 상기 각 에이전트의 성능 정보에 기초하여 결정된 베스트 에이전트의 정책 매개 변수를 상기 복수의 에이전트들이 공유하도록 제어하는 공유 제어부를 포함할 수 있다.A system for controlling training of a policy parameter of each of a plurality of agents, comprising: a training control unit that controls each of the plurality of agents to independently train based on a previously shared guide policy; the next training for each training In order to obtain variables to be used in, the information of each of the plurality of agents is received from the agent, and
Figure 112018086782712-pat00085
A reception control unit that receives performance information of each agent from the corresponding agent as training is performed, a transmission control unit that transmits variables to be used for training after being determined based on the information of each agent for each training to the plurality of agents, and received It may include a sharing control unit for controlling the plurality of agents to share the policy parameter of the best agent determined based on the performance information of each agent.

일측면에 따르면, 상기 복수의 에이전트들 각각에 해당하는 현재 정책(

Figure 112018086782712-pat00086
)의 매개변수(
Figure 112018086782712-pat00087
)는 상기 복수의 에이전트들이 공유하는 상기 다음 훈련에 사용할 변수(
Figure 112018086782712-pat00088
,
Figure 112018086782712-pat00089
), 안내 정책(
Figure 112018086782712-pat00090
), 및 각 에이전트의 경험 정보
Figure 112018086782712-pat00091
에 기초하여 업데이트될 수 있다.According to one aspect, the current policy corresponding to each of the plurality of agents (
Figure 112018086782712-pat00086
) Of the parameter (
Figure 112018086782712-pat00087
) Is a variable to be used for the next training shared by the plurality of agents (
Figure 112018086782712-pat00088
,
Figure 112018086782712-pat00089
), information policy (
Figure 112018086782712-pat00090
), and experience information of each agent
Figure 112018086782712-pat00091
It can be updated based on.

다른 측면에 따르면, 상기 복수의 에이전트들 각각에 해당하는 현재 정책(

Figure 112018086782712-pat00092
)의 매개변수(
Figure 112018086782712-pat00093
)는, 미리 정의된 해당 에이전트의 목표 함수를 상대적으로 증가시키는 방향으로 업데이트될 수 있다.According to another aspect, the current policy corresponding to each of the plurality of agents (
Figure 112018086782712-pat00092
) Of the parameter (
Figure 112018086782712-pat00093
) May be updated in a direction to relatively increase the target function of the corresponding agent.

또 다른 측면에 따르면, 상기 전송 제어부는, 상기 안내 정책과 각 에이전트의 현재 정책 사이의 쿨백 라이블러 발산(KL divergence)에 기초하여 상기 다음 훈련에 사용할 변수(

Figure 112018086782712-pat00094
)를 계산할 수 있다.According to another aspect, the transmission control unit, based on the KL divergence between the guidance policy and the current policy of each agent, a variable to be used for the next training (
Figure 112018086782712-pat00094
) Can be calculated.

또 다른 측면에 따르면, 상기 공유 제어부는, 상기 복수의 에이전트 각각에서 상기

Figure 112018086782712-pat00095
번의 훈련이 수행되면, 새로운 안내 정책을 선택하기 위해, 해당 에이전트의 성능을 나타내는 일정 개수(
Figure 112018086782712-pat00096
)의 에피소드 보상의 평균(
Figure 112018086782712-pat00097
)을 수신할 수 있다.According to another aspect, the shared control unit, in each of the plurality of agents
Figure 112018086782712-pat00095
Once training is performed, a certain number representing the performance of the agent in order to select a new guidance policy (
Figure 112018086782712-pat00096
) Of the episode reward average (
Figure 112018086782712-pat00097
) Can be received.

또 다른 측면에 따르면, 상기 공유 제어부는, 수신된 상기 에피소드 보상의 평균(

Figure 112018086782712-pat00098
)에 기초하여 상기 복수의 에이전트 중 평균이 가장 높은 에이전트를 상기 베스트 에이전트로 결정하고, 결정된 상기 베스트 에이전트로 상기 정책 매개 변수(
Figure 112018086782712-pat00099
)를 요청할 수 있다.According to another aspect, the sharing control unit, the average of the received episode compensation (
Figure 112018086782712-pat00098
), the agent having the highest average among the plurality of agents is determined as the best agent, and the policy parameter (
Figure 112018086782712-pat00099
) Can be requested.

또 다른 측면에 따르면, 상기 공유 제어부는, 상기 정책 매개 변수의 요청에 대한 응답으로, 상기 베스트 에이전트의 현재 정책에 해당하는 매개변수(

Figure 112018086782712-pat00100
)를 상기 베스트 에이전트로부터 수신하고, 안내 정책의 매개변수(
Figure 112018086782712-pat00101
)를 수신된 상기 베스트 에이전트의 현재 정책에 해당하는 매개변수(
Figure 112018086782712-pat00102
)로 설정하고, 설정된 상기 안내 정책의 매개변수(
Figure 112018086782712-pat00103
)를 상기 복수의 에이전트들로 전송할 수 있다.According to another aspect, in response to the request for the policy parameter, the sharing control unit includes a parameter corresponding to the current policy of the best agent (
Figure 112018086782712-pat00100
) From the best agent, and the parameters of the guidance policy (
Figure 112018086782712-pat00101
Parameter corresponding to the current policy of the best agent received (
Figure 112018086782712-pat00102
), and the parameters of the set guide policy (
Figure 112018086782712-pat00103
) Can be transmitted to the plurality of agents.

베스트 에이전트(best agent)의 정책을 공유함으로써, 성능이 좋지 않은 에이전트가 자신의 정책 매개변수를 훈련함에 있어서 가장 좋은 성능을 가지는 다른 에이전트의 매개변수로부터 안내 받아 더욱 빠르게 성능이 증가할 수 있으며, 게으른 에이전트 문제를 해결 할 수 있다. By sharing the policy of the best agent, an agent with poor performance can train its policy parameters, and the performance can be increased more quickly by being guided by the parameters of other agents with the best performance. Agent problems can be solved.

또한 각 에이전트의 정책 매개변수를 동일한 공유된 매개변수로 업데이트하지 않고, 공유된 매개변수로부터 각 에이전트의 정책을 학습함으로써, 정책 매개변수 공간상에서 여러 부분을 동시에 탐색을 하는 효과가 있으며, 그 중에서 가장 좋은 매개변수 주변을 탐색함으로써, 좋은 매개변수를 빠르게 찾을 수 있다.In addition, by learning the policy of each agent from the shared parameter without updating the policy parameter of each agent to the same shared parameter, it has the effect of simultaneously searching several parts in the policy parameter space. By searching around good parameters, you can quickly find good parameters.

또한, 기존에 많이 알려진 경험과 정책 모두 공유하는 방법에 비해 현저히 적은 양의 통신을 요구하여, 통신 비용을 크게 절감할 수 있다.In addition, a significantly smaller amount of communication is required compared to a method of sharing both experiences and policies known in the past, and communication costs can be greatly reduced.

도 1은 본 발명의 실시 예에 있어서, 다중 에이전트 훈련 제어 방법의 동작을 도시한 흐름도이다.
도 2는 본 발명의 일실시예에 있어서, 다중 에이전트 훈련 제어 시스템의 내부 구성을 도시한 블록도이다.
도 3은 본 발명의 일실시예에 있어서,

Figure 112018086782712-pat00104
일 때의 Water-World 환경의 한 프레임을 나타낼 수 있다.
도 4는 본 발명의 일실시예에 있어서,
Figure 112018086782712-pat00105
일 때의 Multi-Walker 환경의 한 프레임을 나타낼 수 있다.
도 5는 본 발명의 일실시예에 있어서, Water-World 환경에서의 시뮬레이션으로 얻은 시간에 따른 정책의 최근 에피소드들의 평균 에피소드 보상을 나타내는 그래프이다.
도 6은 본 발명의 일실시예에 있어서, Multi-Walker 환경에서의 시뮬레이션으로 얻은 시간에 따른 정책의 최근 에피소드들의 평균 에피소드 보상을 나타내는 그래프를 나타낼 수 있다.
도 7은 본 발명의 실시 예에 있어서, Water-World 환경의 에이전트 수
Figure 112018086782712-pat00106
로 변화하였을 때의 시뮬레이션으로 얻은 훈련을 마친 후의 최근 에피소드들의 평균 에피소드 보상을 나타내는 그래프에 해당할 수 있다.
도 8은 Water-World 환경에 완전 분산 PPO 알고리즘을 이용한 시뮬레이션으로 얻은 각 에이전트의 시간에 따른 베스트 에이전트로 뽑힌 비율 나타내는 그래프이다.
도 9는 Water-World 환경에 본 발명에서 제안하는 알고리즘을 이용한 시뮬레이션으로 얻은 각 에이전트의 시간에 따른 베스트 에이전트로 뽑힌 비율을 나타내는 그래프이다.
도 10은 경험과 정책을 모두 공유하는 방법과 본 발명에서 제안하는 방법의 한번의 훈련에 필요한 통신량의 비율을 나타내는 그래프이다.1 is a flowchart illustrating an operation of a method for controlling multi-agent training according to an embodiment of the present invention.
2 is a block diagram showing the internal configuration of a multi-agent training control system according to an embodiment of the present invention.
3 is an embodiment of the present invention,
Figure 112018086782712-pat00104
It can represent one frame of the Water-World environment when
4 is an embodiment of the present invention,
Figure 112018086782712-pat00105
It can represent one frame of the Multi-Walker environment at the time of.
5 is a graph showing average episode compensation of recent episodes of a policy over time obtained by simulation in a water-world environment according to an embodiment of the present invention.
6 is a graph showing average episode compensation of recent episodes of a policy over time obtained by simulation in a multi-walker environment according to an embodiment of the present invention.
7 is the number of agents in the Water-World environment in an embodiment of the present invention
Figure 112018086782712-pat00106
It may correspond to a graph showing the average episode compensation of recent episodes after training obtained by the simulation when changed to.
8 is a graph showing the ratio of each agent selected as the best agent over time obtained through a simulation using a fully distributed PPO algorithm in a Water-World environment.
9 is a graph showing the ratio of each agent selected as the best agent over time obtained by simulation using the algorithm proposed by the present invention in a water-world environment.
10 is a graph showing the ratio of the amount of communication required for one training of the method of sharing both experience and policy and the method proposed in the present invention.

이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 자세히 설명한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 발명은 베스트 에이전트의 정책으로 안내되는 다중 에이전트 PPO 알고리즘, 다중 에이전트 훈련 제어 방법 및 시스템에 관한 것으로, 베스트 에이전트를 선택하여 베스트 에이전트의 정책 매개변수를 모든 에이전트들이 공유하도록 제어하는 기술에 관한 것이다. 예를 들어, 각 에이전트의 경험을 공유하지 않고, 정책의 매개변수

Figure 112018086782712-pat00107
만 공유하면, 에이전트의 정책 매개변수를 학습하는 방법은 완전 분산적 학습 알고리즘과 동일하게 학습하지만, 매
Figure 112018086782712-pat00108
번의 훈련이 끝난 후, 그 중 한 에이전트의 정책 매개변수
Figure 112018086782712-pat00109
를 공유하여 모든 에이전트들이
Figure 112018086782712-pat00110
번의 훈련이 지날 때마다 같은 정책
Figure 112018086782712-pat00111
을 가질 수 있다. 이 경우 매
Figure 112018086782712-pat00112
번의 학습이 끝난 후, 중앙시스템은 모든 에이전트들에게 공유될 에이전트를 선택하고, 선택된 에이전트에게 정책 매개변수를 요청할 수 있다. 그러면, 요청 받은 에이전트는 현재 정책의 매개변수를 중앙시스템에 전송하고, 중앙시스템은 수신한 정책 매개변수를 모든 에이전트들에게 전송할 수 있다. 그러면, 모든 에이전트들이 공유된 정책을 직접적으로 사용하여, 에이전트들이 행동을 취할 때 사용할 수 있다. 이처럼, 모든 에이전트들이 경험을 공유하는 것보다 적은 통신량이 필요하며, 미리 정의된 기준 횟수인
Figure 112018086782712-pat00113
번의 훈련마다 하나의 매개변수로 초기화되어 정책을 학습하며, 결과적으로 정책 매개변수 공간 상에서 하나의 매개변수로부터만 탐색을 진행하게 될 수 있다. 이런 제한적인 매개변수의 탐색은 정책을 느리게 학습시키므로, 효율적인 탐색 방법을 적용하여, 학습 속도를 증가시키고, 결과적으로 기존 방법보다 높은 성능을 제공하고자 한다.The present invention relates to a multi-agent PPO algorithm guided by a policy of a best agent, a method and a system for controlling multi-agent training, and relates to a technique of selecting a best agent and controlling the policy parameters of the best agent to be shared by all agents. For example, without sharing the experience of each agent, the parameters of the policy
Figure 112018086782712-pat00107
If only shared, the method of learning the agent's policy parameters is the same as the fully distributed learning algorithm, but
Figure 112018086782712-pat00108
After training, one of the agent's policy parameters
Figure 112018086782712-pat00109
And all agents
Figure 112018086782712-pat00110
Same policy every time training passes
Figure 112018086782712-pat00111
Can have In this case every
Figure 112018086782712-pat00112
After each learning is completed, the central system can select an agent to be shared with all agents and request policy parameters from the selected agent. Then, the requested agent transmits the parameters of the current policy to the central system, and the central system can transmit the received policy parameters to all agents. Then, all agents can use the shared policy directly, which can be used by agents to take action. In this way, less communication is required than all agents share their experiences, and
Figure 112018086782712-pat00113
Each training is initialized with one parameter to learn the policy, and as a result, the search can proceed from only one parameter in the policy parameter space. Since the search for such a limited parameter learns the policy slowly, an efficient search method is applied to increase the learning speed, and as a result, it is intended to provide higher performance than the existing method.

본 실시예들에서, "에이전트(agent)"는 사용자 단말을 나타내는 것으로서, 예컨대, 자율주행 자동차, 스마트 시티(smart city)를 형성하는 전자기기 등을 나타낼 수 있다.In the present embodiments, "agent" refers to a user terminal and may refer to, for example, an autonomous vehicle, an electronic device forming a smart city, and the like.

본 실시예들에서, "중앙시스템"은 복수의 에이전트들을 통합 제어 및 관리하는 전자기기로서, 다중 에이전트 훈련 제어 시스템으로 표현될 수 있다.In the present embodiments, the "central system" is an electronic device for integrated control and management of a plurality of agents, and may be expressed as a multi-agent training control system.

본 발명은

Figure 112018086782712-pat00114
명의 에이전트가 각각 관측의 차원
Figure 112018086782712-pat00115
, 행동의 차원
Figure 112018086782712-pat00116
을 가지고 있다고 가정한다. 또한 각 에이전트는 자신의 정책 매개변수
Figure 112018086782712-pat00117
, 가치 함수 매개변수
Figure 112018086782712-pat00118
를 가지고 있으며, 모든 에이전트는 자신의 정책의 훈련에 필요한 변수
Figure 112018086782712-pat00119
,
Figure 112018086782712-pat00120
와 안내 정책의 매개변수
Figure 112018086782712-pat00121
를 공유하고 있다고 가정한다. The present invention
Figure 112018086782712-pat00114
2 agents each observation dimension
Figure 112018086782712-pat00115
, The dimension of action
Figure 112018086782712-pat00116
Suppose you have In addition, each agent has its own policy parameters
Figure 112018086782712-pat00117
, Value function parameter
Figure 112018086782712-pat00118
And all agents need variables to train their policies
Figure 112018086782712-pat00119
,
Figure 112018086782712-pat00120
And guiding policy parameters
Figure 112018086782712-pat00121
Suppose you are sharing

정책 매개변수

Figure 112018086782712-pat00122
들은 입력 차원이
Figure 112018086782712-pat00123
, 출력 차원
Figure 112018086782712-pat00124
이며, 뉴런의 개수가 64개인 은닉 층
Figure 112018086782712-pat00125
개를 가지는 심층 신경망(multi-layer perceptron)의 매개변수로, 정책 매개변수를 이용하여 확률적 정책(stochastic policy)이 구성될 수 있다. 관측
Figure 112018086782712-pat00126
에 대한 구성된 심층 신경망의 출력을
Figure 112018086782712-pat00127
차원의 벡터
Figure 112018086782712-pat00128
,
Figure 112018086782712-pat00129
로 하여, 행동
Figure 112018086782712-pat00130
에 대한 확률을 아래의 수학식 9와 같이 정규 분포 함수로 정의할 수 있다. Policy parameter
Figure 112018086782712-pat00122
The input dimension
Figure 112018086782712-pat00123
, Output dimension
Figure 112018086782712-pat00124
Is a hidden layer with 64 neurons
Figure 112018086782712-pat00125
As a parameter of a multi-layer perceptron with dogs, a stochastic policy can be constructed using policy parameters. observation
Figure 112018086782712-pat00126
The output of the constructed deep neural network for
Figure 112018086782712-pat00127
Vector of dimensions
Figure 112018086782712-pat00128
,
Figure 112018086782712-pat00129
By action
Figure 112018086782712-pat00130
Probability for can be defined as a normal distribution function as shown in Equation 9 below.

[수학식 9][Equation 9]

Figure 112018086782712-pat00131
Figure 112018086782712-pat00131

각 에이전트는 가지고 있는 정책 매개변수

Figure 112018086782712-pat00132
로 자신의 정책
Figure 112018086782712-pat00133
를 구성하고, 자신의 관측
Figure 112018086782712-pat00134
에 대한 행동
Figure 112018086782712-pat00135
를 자신의 정책
Figure 112018086782712-pat00136
로부터 샘플링(sampling)할 수 있다. 또한 공유된 매개변수
Figure 112018086782712-pat00137
를 이용하여 안내 정책
Figure 112018086782712-pat00138
를 구성하여 학습에 사용할 수 있다. Policy parameters each agent has
Figure 112018086782712-pat00132
As your own policy
Figure 112018086782712-pat00133
Construct and observe your own
Figure 112018086782712-pat00134
Action on
Figure 112018086782712-pat00135
Own policy
Figure 112018086782712-pat00136
It can be sampled from Also shared parameters
Figure 112018086782712-pat00137
Using the guide policy
Figure 112018086782712-pat00138
Can be used for learning.

가치 함수 매개변수

Figure 112018086782712-pat00139
들은 입력 차원이
Figure 112018086782712-pat00140
, 출력 차원이 1이며, 뉴런의 개수가 64개인 은닉 층 2개를 가지는 심층 신경망의 매개변수로, 관측
Figure 112018086782712-pat00141
에 대한 가치를
Figure 112018086782712-pat00142
로 예측할 수 있다.Value function parameter
Figure 112018086782712-pat00139
The input dimension
Figure 112018086782712-pat00140
, As a parameter of a deep neural network with two hidden layers with an output dimension of 1 and 64 neurons.
Figure 112018086782712-pat00141
Value for
Figure 112018086782712-pat00142
Can be predicted.

도 1은 본 발명의 실시 예에 있어서, 다중 에이전트 훈련 제어 방법의 동작을 도시한 흐름도이고, 도 2는 본 발명의 일실시예에 있어서, 다중 에이전트 훈련 제어 시스템의 내부 구성을 도시한 블록도이다.1 is a flowchart showing the operation of a method for controlling multi-agent training according to an embodiment of the present invention, and FIG. 2 is a block diagram showing an internal configuration of a multi-agent training control system in an embodiment of the present invention. .

즉, 도 1은 중앙시스템인 다중 에이전트 훈련 제어 시스템에서 에이전트들을 안내 정책을 이용하여 독립적으로 훈련하는 방법의 각 단계를 도시한 순서도에 해당할 수 있다. 그리고, 도 2에 따르면, 다중 에이전트 훈련 제어 시스템(200)은 훈련 제어부(210), 수신 제어부(220), 전송 제어부(230) 및 공유 제어부(240)를 포함할 수 있다. 도 1의 각 단계들(즉, 110 내지 190 단계)은 도 2의 다중 에이전트 훈련 제어 시스템(200)의 구성 요소인 훈련 제어부(210), 수신 제어부(220), 전송 제어부(230) 및 공유 제어부(240)에 의해 수행될 수 있다.That is, FIG. 1 may correspond to a flow chart showing each step of a method for independently training agents using a guide policy in a multi-agent training control system, which is a central system. Further, according to FIG. 2, the multi-agent training control system 200 may include a training control unit 210, a reception control unit 220, a transmission control unit 230, and a shared control unit 240. Each of the steps of FIG. 1 (that is, steps 110 to 190) is a training control unit 210, a reception control unit 220, a transmission control unit 230, and a shared control unit, which are components of the multi-agent training control system 200 of Fig. 2 It can be done by 240.

110 단계에서, 중앙시스템인 다중 에이전트 훈련 제어 시스템(200)에서 관리하는 복수의 에이전트들에서 훈련을 시작하기 전에, 모든 에이전트들의 정책 매개변수와 공유되는 안내 정책의 매개변수는 동일한 임의의 매개변수로 초기화될 수 있다. 일례로, 자신의 정책의 훈련에 필요한 변수

Figure 112018086782712-pat00143
,
Figure 112018086782712-pat00144
와 안내 정책의 매개변수
Figure 112018086782712-pat00145
가 초기화될 수 있다. 그러면, 초기화된 안내 정책의 매개변수는 중앙시스템인 다중 에이전트 훈련 제어 시스템(200)에 속하는 모든 에이전트들이 공유할 수 있다.In step 110, before starting training in a plurality of agents managed by the multi-agent training control system 200, which is a central system, the policy parameters of all agents and the parameters of the guide policy shared with the same arbitrary parameter Can be initialized. For example, variables needed for training of one's policy
Figure 112018086782712-pat00143
,
Figure 112018086782712-pat00144
And guiding policy parameters
Figure 112018086782712-pat00145
Can be initialized. Then, the parameters of the initialized guide policy can be shared by all agents belonging to the multi-agent training control system 200, which is a central system.

120 단계에서, 각 에이전트는 자신이 가지고 있는 정책

Figure 112018086782712-pat00146
를 이용하여 미리 지정된
Figure 112018086782712-pat00147
번의 행동을 취하며, 행동을 취하는 동안의 경험을 나타내는 경험 정보
Figure 112018086782712-pat00148
를 각자 자신의 저장 장치(예컨대, memory)에 저장할 수 있다. 이때,
Figure 112018086782712-pat00149
번의 행동을 취하는 도중, 에피소드(episode)가 종료되고 다시 처음 상황으로 돌아가면 그 동안의 보상의 합이 각 에이전트 별로 저장될 수 있으며, 저장된 각 에이전트 별 보상의 합은 에피소드 보상으로 표현될 수 있다. In step 120, each agent
Figure 112018086782712-pat00146
Pre-specified using
Figure 112018086782712-pat00147
Taking an action, and experiential information representing the experience during the action
Figure 112018086782712-pat00148
Each of them can be stored in their own storage device (eg, memory). At this time,
Figure 112018086782712-pat00149
In the middle of taking an action, when the episode ends and returns to the initial situation, the sum of the rewards during that time can be stored for each agent, and the sum of the saved rewards for each agent can be expressed as an episode reward.

훈련을 진행하기 전, 각 에이전트들은 현재의 정책 매개변수

Figure 112018086782712-pat00150
를 예전 정책 매개변수
Figure 112018086782712-pat00151
로 설정할 수 있다. 이처럼, 훈련을 시작하기 전에 요구되는 초기화, 안내 정책 공유 등의 전처리가 수행되면, 훈련을 위한 프로세스가 시작될 수 있다.Before proceeding with training, each agent will have the current policy parameters
Figure 112018086782712-pat00150
Old policy parameters
Figure 112018086782712-pat00151
Can be set to In this way, if the required pre-processing such as initialization and guide policy sharing is performed before starting training, a process for training can be started.

130 단계에서, 훈련 제어부(210)는 복수의 에이전트 각각을 대상으로, 미리 공유된 안내 정책에 기초하여 독립적으로 훈련(즉, 정책 훈련)이 수행되도록 제어할 수 있다. In step 130, the training control unit 210 may control each of the plurality of agents to independently perform training (ie, policy training) based on a shared guidance policy.

일례로, 각 에이전트들이 현재의 정책 매개변수

Figure 112018086782712-pat00152
를 예전 정책 매개변수
Figure 112018086782712-pat00153
로 설정한 이후, 각 에이전트들은 자신의 경험 중 임의로
Figure 112018086782712-pat00154
개의 관측, 행동, 보상, 그리고 다음 관측으로 이루어진 순서쌍
Figure 112018086782712-pat00155
을 추출하여 아래의 수학식 10, 수학식 11에 기초하여 정책의 목적 함수
Figure 112018086782712-pat00156
, 가치 함수의 목적 함수
Figure 112018086782712-pat00157
를 계산할 수 있다. 이때, 복수의 에이전트들 각각에 해당하는 현재 정책
Figure 112018086782712-pat00158
의 매개변수
Figure 112018086782712-pat00159
는 복수의 에이전트들이 현재 공유하고 있는 변수(
Figure 112018086782712-pat00160
,
Figure 112018086782712-pat00161
), 안내 정책
Figure 112018086782712-pat00162
, 및 각 에이전트의 경험 정보
Figure 112018086782712-pat00163
에 기초하여 업데이트될 수 있다. 예컨대, 상기 현재 정책
Figure 112018086782712-pat00164
의 매개변수
Figure 112018086782712-pat00165
는 미리 정의된 해당 에이전트의 목적 함수를 상대적으로 증가시키는 방향으로 업데이트될 수 있다. 즉, 현재 정책 매개변수
Figure 112018086782712-pat00166
와 가치 함수 매개변수
Figure 112018086782712-pat00167
는 아담 최적화(Adam optimizer)에 기초하여 목적 함수의 합
Figure 112018086782712-pat00168
을 상대적으로 증가시키는 방향으로 업데이트될 수 있다.As an example, each agent has the current policy parameters
Figure 112018086782712-pat00152
Old policy parameters
Figure 112018086782712-pat00153
After setting to, each agent randomly
Figure 112018086782712-pat00154
An ordered pair of observations, actions, rewards, and next observations
Figure 112018086782712-pat00155
Is extracted and the objective function of the policy based on Equations 10 and 11 below
Figure 112018086782712-pat00156
, The objective function of the value function
Figure 112018086782712-pat00157
Can be calculated. At this time, the current policy for each of the plurality of agents
Figure 112018086782712-pat00158
Parameters of
Figure 112018086782712-pat00159
Is a variable currently shared by multiple agents (
Figure 112018086782712-pat00160
,
Figure 112018086782712-pat00161
), information policy
Figure 112018086782712-pat00162
, And experience information of each agent
Figure 112018086782712-pat00163
It can be updated based on. For example, the above current policy
Figure 112018086782712-pat00164
Parameters of
Figure 112018086782712-pat00165
May be updated in a direction to relatively increase the predefined objective function of the corresponding agent. That is, the current policy parameter
Figure 112018086782712-pat00166
And value function parameters
Figure 112018086782712-pat00167
Is the sum of the objective functions based on the Adam optimizer
Figure 112018086782712-pat00168
It can be updated in a direction of relatively increasing.

[수학식 10] [Equation 10]

Figure 112018086782712-pat00169
Figure 112018086782712-pat00169

[수학식 11] [Equation 11]

Figure 112018086782712-pat00170
Figure 112018086782712-pat00170

여기서

Figure 112018086782712-pat00171
는 순서쌍
Figure 112018086782712-pat00172
에 대한 샘플 평균을 나타내고,
Figure 112018086782712-pat00173
는 예정 정책 매개변수
Figure 112018086782712-pat00174
로 구성된 예전 정책
Figure 112018086782712-pat00175
을 나타내고,
Figure 112018086782712-pat00176
는 가치 함수 매개변수
Figure 112018086782712-pat00177
로 구성된 가치 함수를 나타낼 수 있다.
Figure 112018086782712-pat00178
는 현재 에피소드가 끝날 때까지의 discounted cumulated return으로
Figure 112018086782712-pat00179
에 에피소드가 끝날 경우,
Figure 112018086782712-pat00180
로 계산될 수 있다. 그리고,
Figure 112018086782712-pat00181
는 해당 에이전트 자신의 경험을 나타내는 경험 정보와 해당 에이전트 자신의 가치 함수로 계산된 GAE(Generalized Advantage Estimator)를 나타낼 수 있다. 이처럼, 에이전트 자신의 경험으로부터
Figure 112018086782712-pat00182
개의 순서쌍을 임의로 추출하고, 추출한 순서쌍을 기반으로 목적 함수를 계산 및 증가하는 방향으로 각 에이전트의 현재 정책 매개변수
Figure 112018086782712-pat00183
를 업데이트하는 과정이
Figure 112018086782712-pat00184
수행될 수 있으며, 이러한 과정을 한 번의 훈련(training)이라고 정의할 수 있다. here
Figure 112018086782712-pat00171
Is an ordered pair
Figure 112018086782712-pat00172
Represents the sample mean for,
Figure 112018086782712-pat00173
Is the expected policy parameter
Figure 112018086782712-pat00174
Old policy consisting of
Figure 112018086782712-pat00175
Represents,
Figure 112018086782712-pat00176
Is the value function parameter
Figure 112018086782712-pat00177
We can represent a value function composed of
Figure 112018086782712-pat00178
Is a discounted cumulated return until the end of the current episode.
Figure 112018086782712-pat00179
If the episode ends on,
Figure 112018086782712-pat00180
Can be calculated as And,
Figure 112018086782712-pat00181
May represent experience information representing the agent's own experience and a GAE (Generalized Advantage Estimator) calculated as a function of the agent's own value. Like this, from the agent's own experience
Figure 112018086782712-pat00182
Randomly extracts the ordered pairs, calculates the objective function based on the extracted ordered pairs, and increases the current policy parameters of each agent
Figure 112018086782712-pat00183
The process of updating
Figure 112018086782712-pat00184
It can be performed, and this process can be defined as a single training.

140 단계에서, 전송 제어부(230)는 매 훈련마다 수신된 각 에이전트의 정보를 기반으로 결정된 다음 훈련에 사용할 변수를 복수의 에이전트에게 전송할 수 있다. 이때, 수신 제어부(220)는 매 훈련마다 다음 훈련에서 사용할 변수들을 각 에이전트에서 획득하도록 하기 위해, 복수의 에이전트 각각의 정보(예컨대, 각 에이전트의 쿨백 라이블러 발산(KL divergence) 정보)를 해당 에이전트로부터 수신할 수 있다. 그러면, 전송 제어부(230)는 복수의 에이전트들 각각의 안내 정책

Figure 112018086782712-pat00185
과 해당 에이전트의 현재 정책
Figure 112018086782712-pat00186
사이의 거리를 나타내는 쿨백 라이블러 발산(KL divergence)에 기초하여 다음 훈련에 사용할 변수
Figure 112018086782712-pat00187
Figure 112018086782712-pat00188
를 계산할 수 있다.In step 140, the transmission control unit 230 may transmit a variable to be used for training to a plurality of agents after it is determined based on the information of each agent received for each training. At this time, the reception control unit 220 transmits information of each of the plurality of agents (e.g., KL divergence information) of each agent in order to obtain variables to be used in the next training for each training. Can be received from Then, the transmission control unit 230 is a guide policy of each of the plurality of agents
Figure 112018086782712-pat00185
And the current policy of that agent
Figure 112018086782712-pat00186
Variable to use for the next training based on the KL divergence, which represents the distance between
Figure 112018086782712-pat00187
Wow
Figure 112018086782712-pat00188
Can be calculated.

일례로, 복수의 에이전트들 각각에서 한번의 훈련이 진행된 이후, 모든 에이전트들은 자신의 예전 안내 정책(즉, 예전 정책)

Figure 112018086782712-pat00189
과 현재 정책
Figure 112018086782712-pat00190
사이의 거리를 나타내는 쿨백 라이블러 발산(KL divergence)의 샘플 평균
Figure 112018086782712-pat00191
과 모든 에이전트 간에 공유된 안내 정책
Figure 112018086782712-pat00192
을 중앙시스템인 다중 에이전트 훈련 제어 시스템(200)으로 전송할 수 있다. 그러면, 전송 제어부(230)는 수신된 상기 쿨백 라이블러 발산(KL divergence)의 샘플 평균(즉, 복수의 에이전트들 각각에 해당하는 KL divergence의 평균) 및 아래의 수학식 12에 기초하여 다음 훈련에 사용할 변수
Figure 112018086782712-pat00193
Figure 112018086782712-pat00194
를 계산할 수 있다. 그러면, 계산된 변수
Figure 112018086782712-pat00195
Figure 112018086782712-pat00196
가 복수의 에이전트들로 전송되어 공유될 수 있다.For example, after one training is conducted on each of a plurality of agents, all agents have their previous guidance policy (i.e., the previous policy)
Figure 112018086782712-pat00189
And current policy
Figure 112018086782712-pat00190
Sample mean of KL divergence representing the distance between
Figure 112018086782712-pat00191
Guidance policy shared between users and all agents
Figure 112018086782712-pat00192
Can be transmitted to the multi-agent training control system 200, which is a central system. Then, the transmission control unit 230 performs the next training based on the received sample average of the KL divergence (that is, the average of the KL divergence corresponding to each of the plurality of agents) and Equation 12 below. Variable to use
Figure 112018086782712-pat00193
Wow
Figure 112018086782712-pat00194
Can be calculated. Then, the calculated variable
Figure 112018086782712-pat00195
Wow
Figure 112018086782712-pat00196
May be transmitted to multiple agents and shared.

[수학식 12][Equation 12]

Figure 112018086782712-pat00197
Figure 112018086782712-pat00197

이처럼, 새롭게 결정된, 다음 훈련에 사용할 변수

Figure 112018086782712-pat00198
Figure 112018086782712-pat00199
가 중앙시스템인 다중 에이전트 훈련 제어 시스템(200)에 속하는 모든 에이전트들에게 전송됨에 따라, 상기 변수
Figure 112018086782712-pat00200
Figure 112018086782712-pat00201
가 각 에이전트의 다음 훈련에 이용될 수 있다. As such, the newly determined variable to be used for the next training
Figure 112018086782712-pat00198
Wow
Figure 112018086782712-pat00199
As is transmitted to all agents belonging to the multi-agent training control system 200, which is a central system, the variable
Figure 112018086782712-pat00200
Wow
Figure 112018086782712-pat00201
Can be used for the next training of each agent.

150 단계에서, 훈련 횟수가 미리 정의된 기준 횟수인 R의 배수에 해당하면(

Figure 112018086782712-pat00202
, 150, 예), 160 단계에서, 수신 제어부(220)는 각 에이전트의 성능 정보를 해당 에이전트로부터 수신할 수 있다. 즉, 수신 제어부(220)는 새로운 안내 정책을 선택하기 위해, 해당 에이전트의 성능을 나타내는 일정 개수(
Figure 112018086782712-pat00203
)의 에피소드 보상의 평균(
Figure 112018086782712-pat00204
)을 각 에이전트로부터 수신할 수 있다. In step 150, if the number of training is a multiple of R, which is a predefined reference number (
Figure 112018086782712-pat00202
In operation 150, yes) and 160, the reception control unit 220 may receive performance information of each agent from the corresponding agent. That is, in order to select a new guidance policy, the reception control unit 220 determines a certain number (
Figure 112018086782712-pat00203
) Of the episode reward average (
Figure 112018086782712-pat00204
) Can be received from each agent.

일례로, 복수의 에이전트들 각각에서 미리 지정된 기준 횟수인

Figure 112018086782712-pat00205
번의 훈련이 수행되면(즉, 훈련 횟수가 기준 횟수인 R의 배수가 되면), 모든 에이전트들은 각자 저장해놓은 미리 지정된 일정 개수
Figure 112018086782712-pat00206
의 에피소드 보상의 평균
Figure 112018086782712-pat00207
을 계산하여, 중앙시스템인 다중 에이전트 훈련 제어 시스템(200)으로 전송할 수 있다. 여기서, 상기 일정 개수
Figure 112018086782712-pat00208
의 에피소드 보상의 평균
Figure 112018086782712-pat00209
은 각 에이전트의 메모리(memory)에 저장된 복수의 에피소드들 중 현재 시점을 기준으로 가장 가까운 순서로 미리 지정된 일정 개수의 에피소드 보상을 기반으로 계산된 평균을 나타낼 수 있다. 즉, 최근 에피소드 보상들의 평균에 해당할 수 있다.For example, in each of the plurality of agents,
Figure 112018086782712-pat00205
When one training is performed (i.e., when the number of training is a multiple of R, which is the reference number), all agents each store a predetermined number of presets.
Figure 112018086782712-pat00206
Average of episode rewards
Figure 112018086782712-pat00207
Can be calculated and transmitted to the multi-agent training control system 200, which is a central system. Here, the predetermined number
Figure 112018086782712-pat00208
Average of episode rewards
Figure 112018086782712-pat00209
May represent an average calculated based on compensation for a predetermined number of episodes preset in the nearest order based on a current time point among a plurality of episodes stored in the memory of each agent. That is, it may correspond to the average of recent episode rewards.

한편, 다시 150 단계에서, 훈련 횟수가 미리 정의된 기준 횟수인 R의 배수가 아니면(150, 아니오), 다시 120 단계로 되돌아가 각 에이전트들은 해당 에이전트의 정책을 기반으로 H번의 행동을 수행한 이후, 행동을 수행함에 따라 발생한 자신의 경험 정보를 저장할 수 있다.On the other hand, in step 150 again, if the number of training is not a multiple of R, which is a predefined reference number (150, No), it goes back to step 120 and each agent performs H times based on the agent's policy. , You can store your own experience information that occurred as you performed the action.

170 단계에서, 공유 제어부(240)는 수신된 각 에이전트의 성능 정보에 기초하여 결정된 베스트 에이전트의 정책 매개 변수를 복수의 에이전트들이 공유하도록 제어할 수 있다.In step 170, the sharing control unit 240 may control a plurality of agents to share the policy parameter of the best agent determined based on the received performance information of each agent.

171 단계에서, 공유 제어부(240)는 수신된 에피소드 보상의 평균

Figure 112018086782712-pat00210
에 기초하여 최대 성능을 가지는 에이전트를 베스트 에이전트로 선택/결정하고, 베스트 에이전트에 정책 매개 변수를 요청할 수 있다. In step 171, the sharing control unit 240 is the average of the received episode compensation
Figure 112018086782712-pat00210
Based on, the agent with the maximum performance may be selected/determined as the best agent, and a policy parameter may be requested from the best agent.

예컨대, 공유 제어부(240)는 수신된 에피소드 보상의 평균

Figure 112018086782712-pat00211
에 기초하여 복수의 에이전트들 중 평균이 가장 높은 에이전트를 베스트 에이전트로 결정할 수 있다. 그리고, 결정된 베스트 에이전트로 해당 에이전트의 현재 정책의 매개 변수를 정책 매개변수로서 요청할 수 있다.For example, the sharing control unit 240 is the average of the received episode compensation
Figure 112018086782712-pat00211
Based on, an agent having the highest average among a plurality of agents may be determined as the best agent. And, the determined best agent may request a parameter of the current policy of the corresponding agent as a policy parameter.

172 단계에서, 공유 제어부(240)는 베스트 에이전트로부터 정책 매개 변수

Figure 112018086782712-pat00212
를 수신할 수 있다.In step 172, the sharing control unit 240 is a policy parameter from the best agent
Figure 112018086782712-pat00212
Can receive.

예컨대, 중앙시스템으로부터 정책 매개변수를 요청 받은 베스트 에이전트는 요청에 대한 응답으로서, 중앙시스템에 자신의 현재 정책의 매개변수

Figure 112018086782712-pat00213
를 전송할 수 있다. 그러면, 공유 제어부(240)는 베스트 에이전트로부터 수신한 베스트 에이전트의 현재 정책의 매개변수
Figure 112018086782712-pat00214
를 안내 정책의 매개변수
Figure 112018086782712-pat00215
로 설정할 수 있다(
Figure 112018086782712-pat00216
). 그리고, 공유 제어부(240)는 새로이 설정된 안내 정책의 매개변수(
Figure 112018086782712-pat00217
)를 복수의 에이전트들로 전송할 수 있다.For example, the best agent that has received a request for policy parameters from the central system, in response to the request, sends the parameters of its current policy to the central system.
Figure 112018086782712-pat00213
Can be transmitted. Then, the sharing control unit 240 is a parameter of the current policy of the best agent received from the best agent.
Figure 112018086782712-pat00214
Guide to the parameters of the policy
Figure 112018086782712-pat00215
Can be set to (
Figure 112018086782712-pat00216
). In addition, the sharing control unit 240 is a parameter of the newly set guide policy (
Figure 112018086782712-pat00217
) Can be transmitted to multiple agents.

180 단계에서, 훈련 횟수가 미리 지정된 최대 횟수 T보다 크면(180, 예), 훈련이 종료될 수 있다.In step 180, if the number of training is greater than the predetermined maximum number T (180, YES), training may be terminated.

그리고, 최대 횟수 T보다 작으면(180, 아니오), 다시 120 단계로 되돌아가 각 에이전트들은 해당 에이전트의 정책을 기반으로 H번의 행동을 수행한 이후, 행동을 수행함에 따라 발생한 자신의 경험 정보를 저장할 수 있다. 즉, 에이전트와 중앙시스템 간의 통신이 마무리 되면, 다시 새롭게 만들어진 각 에이전트의 현재 정책

Figure 112018086782712-pat00218
에 따라 각 에이전트는 H번의 행동을 취하고, 행동 수행으로 인해 발생한 그 동안의 경험을 나타내는 경험 정보를 자신의 메모리에 저장할 수 있다. 다시 각 에이전트의 예전 정책 매개변수
Figure 112018086782712-pat00219
를 현재 정책 매개변수
Figure 112018086782712-pat00220
로 업데이트하고, 각 에이전트 별로 저장된 경험 정보를 기반으로 각자의 정책 매개변수
Figure 112018086782712-pat00221
가 업데이트될 수 있다. 이어, 에이전트와 중앙시스템 간의 통신을 통해(140, 160, 170, 180) 다음 훈련에 사용할 변수
Figure 112018086782712-pat00222
Figure 112018086782712-pat00223
및 안내 정책의 매개변수
Figure 112018086782712-pat00224
가 업데이트될 수 있다. 이러한 과정은 총 T번의 훈련이 마무리 될 때까지 반복 수행될 수 있다.And, if it is less than the maximum number of times T (180, no), it goes back to step 120, and after each agent performs H actions based on the agent's policy, it stores their own experience information that occurred as the action was performed. I can. That is, when communication between the agent and the central system is completed, the current policy of each newly created agent
Figure 112018086782712-pat00218
As a result, each agent can take H actions and store experience information representing the past experiences that occurred due to the action performance in its own memory. Again each agent's old policy parameters
Figure 112018086782712-pat00219
The current policy parameter
Figure 112018086782712-pat00220
And each agent's own policy parameters based on the stored experience information
Figure 112018086782712-pat00221
Can be updated. Next, through communication between the agent and the central system (140, 160, 170, 180), variables to be used for the next training
Figure 112018086782712-pat00222
Wow
Figure 112018086782712-pat00223
And parameters of the guidance policy
Figure 112018086782712-pat00224
Can be updated. This process can be repeated until a total of T trainings are completed.

이처럼, 본 발명은 완전 분산 다중 에이전트 PPO 알고리즘의 목표 함수에 추가적으로 베스트 에이전트(best agent)의 정책(policy)에 비슷해 지도록 하는 KL divergence 항을 넣고, 그리고 베스트 에이전트의 정책과 다른 에이전트의 현재 정책의 KL divergence 항의 변수

Figure 112018086782712-pat00225
를 조정하여 베스트 에이전트의 정책의 매개변수
Figure 112018086782712-pat00226
에서 약
Figure 112018086782712-pat00227
만큼 떨어진 매개변수 공간에서
Figure 112018086782712-pat00228
를 학습하도록 제어할 수 있다. 이에 따라, 업데이트 전 정책(즉, 예전 정책)
Figure 112018086782712-pat00229
과 업데이트 된 현재 정책
Figure 112018086782712-pat00230
사이의 KL divergence와 모든 에이전트들에게 공유된 안내 정책
Figure 112018086782712-pat00231
와 에이전트의 현재 정책
Figure 112018086782712-pat00232
사이의 KL divergence는 정책 매개변수 학습에 서로 다른 영향을 줄 수 있다. 이를 통해,
Figure 112018086782712-pat00233
Figure 112018086782712-pat00234
사이의 KL divergence는 에이전트의 정책 변화 정도를
Figure 112018086782712-pat00235
수준으로 조정하기 위해 이용될 수 있으며, 결국, 학습을 안정적이게 수행되도록 할 수 있다. 그리고,
Figure 112018086782712-pat00236
Figure 112018086782712-pat00237
사이의 KL divergence는 가장 잘하는 정책과 비슷한 정책이 되도록 에이전트의 정책
Figure 112018086782712-pat00238
을 학습하기 위해 이용될 수 있으며,
Figure 112018086782712-pat00239
만큼 다른 위치에서 좋은 정책을 찾도록 할 수 있다.As described above, the present invention adds a KL divergence term to be similar to the policy of the best agent in addition to the target function of the fully distributed multi-agent PPO algorithm, and the KL of the policy of the best agent and the current policy of another agent. Variables in the divergence term
Figure 112018086782712-pat00225
The parameters of the best agent's policy
Figure 112018086782712-pat00226
From about
Figure 112018086782712-pat00227
In the parameter space away by
Figure 112018086782712-pat00228
Can be controlled to learn. Accordingly, the pre-update policy (i.e. the old policy)
Figure 112018086782712-pat00229
And updated current policy
Figure 112018086782712-pat00230
KL divergence between and guidance policy shared with all agents
Figure 112018086782712-pat00231
And agent's current policy
Figure 112018086782712-pat00232
The KL divergence between can have different effects on the learning of policy parameters. because of this,
Figure 112018086782712-pat00233
Wow
Figure 112018086782712-pat00234
The KL divergence between the agent's policy changes
Figure 112018086782712-pat00235
It can be used to adjust to the level, and in the end, it can ensure that learning is performed stably. And,
Figure 112018086782712-pat00236
Wow
Figure 112018086782712-pat00237
The KL divergence between the agent's policy so that the policy is similar to the
Figure 112018086782712-pat00238
Can be used to learn
Figure 112018086782712-pat00239
As long as you can find good policies in different locations.

이하에서는 도 3 내지 도 10을 참고하여, 시뮬레이션을 통해 베스트 에이전트의 정책으로 안내되는 다중 에이전트 PPO 알고리즘이 경험과 정책을 모두 공유하는 방법 대비 우수한 성능을 가짐을 설명하고자 한다.Hereinafter, with reference to FIGS. 3 to 10, it will be described that the multi-agent PPO algorithm guided to the policy of the best agent through simulation has superior performance compared to the method of sharing both experience and policy.

시뮬레이션 환경은 Water-World라는 환경과 Multi-Walker라는 환경이 사용되었다. Water-World 환경은 에이전트가 500 행동을 하는 동안(예컨대, 500 timestep 동안) 움직이는 독을 피하며, 침략자를 잡는 환경이며, 에이전트가 독과 부딪히면 -1 보상을, 침략자와 부딪히면 +0.01보상을, 그리고 침략자를 두 명 이상의 에이전트가 부딪혀 침략자를 잡게 되면, 잡은 에이전트들에게 20/해당 침략자를 잡은 에이전트 수만큼의 보상을 제공할 수 있다.As the simulation environment, an environment called Water-World and an environment called Multi-Walker were used. The Water-World environment is an environment where the agent avoids moving poisons during 500 actions (e.g., during 500 timesteps) and catches the invaders, -1 reward for the agent hitting the poison, +0.01 reward for hitting the invader, and If two or more agents collide with the invader and catch the invader, a reward equal to 20/the number of agents that caught the invader can be provided to the caught agents.

도 3은 본 발명의 일실시예에 있어서,

Figure 112018086782712-pat00240
일 때의 Water-World 환경의 한 프레임을 나타내고, 도 4는 본 발명의 일실시예에 있어서,
Figure 112018086782712-pat00241
일 때의 Multi-Walker 환경의 한 프레임을 나타낼 수 있다.3 is an embodiment of the present invention,
Figure 112018086782712-pat00240
It shows one frame of the Water-World environment at the time of, and FIG. 4 is in an embodiment of the present invention,
Figure 112018086782712-pat00241
It can represent one frame of the Multi-Walker environment at the time of.

도 3에서, 청색이 에이전트, 적색이 독, 엷은 녹색이 침략자, 짙은 녹색이 장애물에 해당할 수 있다. Multi-Walker 환경은 에이전트가 넘어지지 않으며 머리 위의 막대를 앞으로 이동하는 환경으로서, 에이전트가 넘어지면 해당 에이전트에게 -100 보상을 제공하며 한 에피소드가 종료되고, 막대가 땅에 떨어지면 모든 에이전트에게 -100 보상을 주고 한 에피소드가 종료되는 환경을 나타낼 수 있다. 이때, 환경 시작 후 미리 지정된 500 timestep 가 지나면 한 에피소드가 종료될 수 있다. 막대가 앞 또는 뒤로 이동하면 모든 에이전트에게 막대의 이동 속도의 130배가 보상으로 제공될 수 있다.In FIG. 3, blue may correspond to an agent, red may correspond to poison, light green may correspond to an invader, and dark green may correspond to obstacles. Multi-Walker environment is an environment in which the agent does not fall and moves the bar above the head forward. When the agent falls, the agent is rewarded with -100, and one episode ends, and when the bar falls to the ground, -100 to all agents. It can give rewards and indicate an environment in which an episode ends. At this time, one episode may end after 500 timesteps previously specified after the environment starts. When the bar moves forward or backward, 130 times the bar's movement speed can be rewarded to all agents.

도 4에서, 나머지 변수들은 Water-World의 경우

Figure 112018086782712-pat00242
Multi-Walker의 경우
Figure 112018086782712-pat00243
이 모든 알고리즘에 공통으로 사용되었다. 그리고,
Figure 112018086782712-pat00244
Figure 112018086782712-pat00245
가 모든 알고리즘의 시뮬레이션에 사용되었다.In Figure 4, the remaining variables are in the case of Water-World
Figure 112018086782712-pat00242
For Multi-Walker
Figure 112018086782712-pat00243
It was used in common with all of these algorithms. And,
Figure 112018086782712-pat00244
Figure 112018086782712-pat00245
Was used for simulation of all algorithms.

도 5는 본 발명의 일실시예에 있어서, Water-World 환경에서의 시뮬레이션으로 얻은 시간에 따른 정책의 최근 에피소드들의 평균 에피소드 보상을 나타내는 그래프이고, 도 6은 본 발명의 일실시예에 있어서, Multi-Walker 환경에서의 시뮬레이션으로 얻은 시간에 따른 정책의 최근 에피소드들의 평균 에피소드 보상을 나타내는 그래프를 나타낼 수 있다.FIG. 5 is a graph showing average episode compensation of recent episodes of a policy over time obtained by simulation in a water-world environment, according to an embodiment of the present invention. FIG. -A graph showing the average episode compensation of recent episodes of the policy over time obtained by simulation in the Walker environment can be displayed.

도 5 및 도 6에 도시된 그래프는 본 발명에서 제안하는 안내 정책

Figure 112018086782712-pat00246
를 이용한 학습방법(proposed), 완전 분산 학습방법(Dec. PPO), 경험은 공유하지 않고 매 R번의 훈련 후 베스트 에이전트의 정책 π만을 모든 에이전트가 공유하여 직접적으로 사용하는 방법(Dir. Best Pol. Sharing PPO), 그리고 경험과 정책을 모두 공유하는 방법(Exp. Sharing PPO)의 훈련에 따른 평균 에피소드 보상을 나타낼 수 있다.The graphs shown in FIGS. 5 and 6 are guide policies proposed by the present invention.
Figure 112018086782712-pat00246
Method (proposed), fully distributed learning method (Dec. PPO), using only the best agent's policy π after each R training session without sharing experiences (Dir. Best Pol. Sharing PPO), and how to share both experiences and policies (Exp.Sharing PPO).

도 5 및 도 6에 따르면, 경험과 정책 모두 공유하는 방법의 경우, N배 경험이 빠르게 모이기 때문에 훈련 속도가 빠르지만, 정책 매개변수의 탐색의 효율성을 비교하기 위해

Figure 112018086782712-pat00247
축으로 N배 늘인 그래프에 해당할 수 있다. 제안하는 안내 정책
Figure 112018086782712-pat00248
를 이용한 학습방법(proposed)을 이용하는 경우, 정책을 모든 에이전트들이 공유하여 직접적으로 사용하는 경우보다 매개변수 탐색을 효율적으로 하며 결과적으로 높은 성능을 가짐을 확인할 수 있다.According to FIGS. 5 and 6, in the case of a method of sharing both experience and policy, training speed is fast because N times experience is gathered quickly, but in order to compare the efficiency of search for policy parameters
Figure 112018086782712-pat00247
It can correspond to a graph stretched by N times as an axis. Proposed Guidance Policy
Figure 112018086782712-pat00248
In the case of using the proposed method using, it can be seen that the parameter search is more efficient than when the policy is shared by all agents and used directly, and as a result, it has high performance.

도 7은 본 발명의 실시 예에 있어서, Water-World 환경의 에이전트 수

Figure 112018086782712-pat00249
로 변화하였을 때의 시뮬레이션으로 얻은 훈련을 마친 후의 최근 에피소드들의 평균 에피소드 보상을 나타내는 그래프에 해당할 수 있다.7 is the number of agents in the Water-World environment in an embodiment of the present invention
Figure 112018086782712-pat00249
It may correspond to a graph showing the average episode compensation of recent episodes after training obtained by the simulation when changed to.

즉, 도 7에 도시된 그래프는 Water-World 환경의

Figure 112018086782712-pat00250
일 때 학습 완료 후, 최근 에피소드들의 평균 에피소드 보상을 나타낼 수 있다.That is, the graph shown in FIG. 7 is a water-world environment.
Figure 112018086782712-pat00250
When is, after completion of learning, the average episode compensation of recent episodes may be indicated.

도 8은 Water-World 환경에 완전 분산 PPO 알고리즘을 이용한 시뮬레이션으로 얻은 각 에이전트의 시간에 따른 베스트 에이전트로 뽑힌 비율 나타내는 그래프이고, 도 9는 Water-World 환경에 본 발명에서 제안하는 알고리즘을 이용한 시뮬레이션으로 얻은 각 에이전트의 시간에 따른 베스트 에이전트로 뽑힌 비율을 나타내는 그래프이다.8 is a graph showing the ratio of each agent selected as the best agent over time obtained by simulation using a fully distributed PPO algorithm in a water-world environment, and FIG. 9 is a simulation using the algorithm proposed by the present invention in a water-world environment. This is a graph showing the percentage of each obtained agent selected as the best agent over time.

도 8 및 도 9의 그래프는, Water-World 환경의

Figure 112018086782712-pat00251
일 때, 주어진 timestep 동안 가장 높은 평균 에피소드 보상을 가지고 있는 에이전트로 뽑힌 비율을 도시하고 있으며, 각각 완전 분산 학습을 이용한 PPO 방법과 안내 정책을 이용한 PPO 방법에 대해 도시하고 있다. 도 8 및 도 9를 참고하면, 완전 분산 학습 방법은 잘하는 에이전트가 계속 잘하는 현상이 발생하여 게으른 에이전트 문제를 겪고 있지만, 본 발명에서 제안하는 방법(안내 정책
Figure 112018086782712-pat00252
를 이용한 학습방법)은 잘하는 에이전트(즉, 베스트 에이전트)가 계속 바뀌며, 최종적으로는 모든 에이전트가 비슷한 비율로 베스트 에이전트로 뽑혀, 게으른 에이전트 문제를 해결함을 확인할 수 있다. 그리고, 도 10을 참고하면, 경험과 정책을 모두 공유하는 방법은 본 발명에서 제안하는 방법(안내 정책
Figure 112018086782712-pat00253
를 이용한 학습방법)에 비해 상당한 통신량을 요구함을 확인할 수 있다. 이때, 도 10에 도시된 그래프는 한번의 훈련에 필요한 통신량의 비율을 나타낸 것으로, 경험과 정책을 모두 공유하는 방법의 통신량과 본 발명에서 제안하는 방법의 통신량의 Water-World와 Multi-Walker 환경에 대한 비율을 나타낼 수 있다. The graphs of FIGS. 8 and 9 are in the Water-World environment.
Figure 112018086782712-pat00251
When is, the ratio of the agent selected as the agent with the highest average episode reward during a given timestep is shown, respectively, showing the PPO method using fully distributed learning and the PPO method using guidance policy. Referring to FIGS. 8 and 9, in the fully distributed learning method, a good agent continues to do well, and thus a lazy agent problem occurs, but the method proposed by the present invention (guide policy
Figure 112018086782712-pat00252
As for the learning method using ), it can be confirmed that the agent that does well (that is, the best agent) is constantly changing, and finally all agents are selected as the best agent at a similar rate, solving the lazy agent problem. And, referring to FIG. 10, a method of sharing both experiences and policies is a method proposed by the present invention (guide policy
Figure 112018086782712-pat00253
It can be seen that it requires a considerable amount of communication compared to the learning method using In this case, the graph shown in FIG. 10 shows the ratio of the amount of communication required for one training, and in the Water-World and Multi-Walker environment of the communication amount of the method of sharing both experience and policy and the amount of communication of the method proposed in the present invention. It can represent the ratio for.

실시예의 방법은 컴퓨터 수단을 통해 수행되는 프로그램 명령 형태로 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 포함한다. 상기 매체에 기록되는 프로그램 명령은 실시 예를 위하여 설계되거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크, 자기 매체, CD-ROM, DVD와 같은 광기록 매체(Optical media), 플롭티컬 디스크(Floptical disk)와 같은 자기-광 매체(Magneto-optical media), 롬(ROM), 램(RAM), 및 플래시 메모리 등의 프로그램 명령을 저장하고 수행하도록 구성되는 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 인터프리터 등을 사용하는 컴퓨터의 고급 언어 코드를 포함한다.The method of the embodiment may be recorded in a computer-readable medium in the form of program instructions executed through computer means. The computer-readable medium includes program instructions, data files, data structures, and the like. The program instructions recorded in the medium may be designed for an exemplary embodiment or may be known to and usable by those skilled in computer software. Examples of computer-readable recording media include hard disks, floppy disks, magnetic media, optical media such as CD-ROM and DVD, and magnetic-optical media such as floptical disks. ), ROM, RAM, and a hardware device configured to store and execute program instructions such as flash memory. Examples of program instructions include high-level language codes of a computer using an interpreter or the like.

이상과 같이 실시 예들은 한정된 실시 예와 도면에 의해 설명되었으나, 상기의 기재로부터 여러 수정 및 변형이 가능하다. 예를 들어 구성의 순서 변경이나 조합 등으로 실시 예를 변형할 수 있다.As described above, the embodiments have been described with reference to limited embodiments and drawings, but various modifications and variations are possible from the above description. For example, the embodiment may be modified by changing the order of configurations or combinations.

그러므로, 다른 구현들, 다른 실시 예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and those equivalent to the claims also fall within the scope of the claims to be described later.

Claims (14)

복수의 에이전트(agent) 각각의 정책 매개변수의 훈련을 제어하는 시스템을 이용하여 수행되는 복수의 에이전트(agent) 각각의 정책 매개변수의 훈련을 제어하는 방법에 있어서,
상기 복수의 에이전트(agent) 각각의 정책 매개변수의 훈련을 제어하는 시스템의 훈련 제어부는 상기 복수의 에이전트 각각을 대상으로 미리 공유된 안내 정책에 기초하여 독립적으로 훈련하도록 제어하는 정책 훈련 단계;
수신 제어부는 매 훈련 마다 다음 훈련에서 사용할 변수(
Figure 112020039508506-pat00303
,
Figure 112020039508506-pat00304
)를 획득하도록 하기 위해, 상기 복수의 에이전트 각각의 정보를 해당 에이전트로부터 수신하는 단계;
전송 제어부는 매 훈련 마다 각 에이전트의 정보를 기반으로 결정된 다음 훈련에 사용할 변수(
Figure 112020039508506-pat00305
,
Figure 112020039508506-pat00306
)를 상기 복수의 에이전트에게 전송하는 단계;
상기 수신 제어부는 미리 정의된
Figure 112020039508506-pat00254
번의 훈련이 수행됨에 따라, 각 에이전트의 성능 정보를 해당 에이전트로부터 수신하는 단계; 및
공유 제어부는 수신된 상기 각 에이전트의 성능 정보에 기초하여 결정된 베스트 에이전트의 정책 매개변수(
Figure 112020039508506-pat00307
)를 상기 복수의 에이전트들이 공유하도록 제어하는 단계
를 포함하고,
상기 각 에이전트는 심층 신경망(multi-layer perceptron)의 매개변수인 자신의 상기 정책 매개변수(
Figure 112020039508506-pat00308
)를 가지며, 상기 정책 매개변수(
Figure 112020039508506-pat00309
)로 자신의 정책을 구성하고, 자신의 상기 정책의 훈련에 필요한 상기 변수(
Figure 112020039508506-pat00310
,
Figure 112020039508506-pat00311
)와 안내 정책의 매개변수(
Figure 112020039508506-pat00312
)를 공유하며, 공유된 상기 안내 정책의 매개변수(
Figure 112020039508506-pat00313
)를 이용하여 안내 정책을 구성하여 훈련에 사용하는 것
을 특징으로 하는 다중 에이전트 훈련 제어 방법.
In the method of controlling the training of each policy parameter of a plurality of agents performed using a system for controlling the training of each policy parameter of a plurality of agents,
A policy training step of controlling the training of the plurality of agents to independently train each of the plurality of agents based on a guide policy shared in advance for each of the plurality of agents;
The receiving control unit is the variable to be used in the next training for each training (
Figure 112020039508506-pat00303
,
Figure 112020039508506-pat00304
Receiving information of each of the plurality of agents from a corresponding agent to obtain );
The transmission control unit is determined based on the information of each agent for each training, and then the variable to be used for training (
Figure 112020039508506-pat00305
,
Figure 112020039508506-pat00306
Transmitting) to the plurality of agents;
The reception control unit is a predefined
Figure 112020039508506-pat00254
Receiving performance information of each agent from the corresponding agent as the training is performed once; And
The shared control unit is the policy parameter of the best agent determined based on the received performance information of each agent (
Figure 112020039508506-pat00307
) To be shared by the plurality of agents
Including,
Each agent has its own policy parameter (a parameter of a multi-layer perceptron).
Figure 112020039508506-pat00308
), and the policy parameter (
Figure 112020039508506-pat00309
), and the variables required for training of the policies (
Figure 112020039508506-pat00310
,
Figure 112020039508506-pat00311
) And the parameters of the guidance policy (
Figure 112020039508506-pat00312
), and the parameters of the shared guidance policy (
Figure 112020039508506-pat00313
) To construct a guide policy and use it for training
Multi-agent training control method, characterized in that.
제1항에 있어서,
상기 복수의 에이전트들 각각에 해당하는 현재 정책(
Figure 112020039508506-pat00255
)의 매개변수(
Figure 112020039508506-pat00256
)는 상기 복수의 에이전트들이 공유하는 상기 다음 훈련에 사용할 변수(
Figure 112020039508506-pat00257
,
Figure 112020039508506-pat00258
), 안내 정책(
Figure 112020039508506-pat00259
), 및 각 에이전트의 경험 정보
Figure 112020039508506-pat00260
에 기초하여 업데이트되고,
상기 다음 훈련에 사용할 변수(
Figure 112020039508506-pat00314
,
Figure 112020039508506-pat00315
)를 상기 복수의 에이전트에게 전송하는 단계는,
상기 안내 정책과 각 에이전트의 현재 정책 사이의 쿨백 라이블러 발산(KL divergence)에 기초하여 상기 다음 훈련에 사용할 변수(
Figure 112020039508506-pat00316
)를 계산하는 단계를 포함하고,
상기 베스트 에이전트의 안내 정책과 각 에이전트의 현재 정책의 쿨백 라이블러 발산(KL divergence) 항의 변수(
Figure 112020039508506-pat00317
)를 조정하여 상기 베스트 에이전트의 안내 정책의 매개변수(
Figure 112020039508506-pat00318
)에서
Figure 112020039508506-pat00319
만큼 떨어진 매개변수 공간에서 상기 정책 매개변수(
Figure 112020039508506-pat00320
)를 학습하도록 제어하는 것
을 특징으로 하는 다중 에이전트 훈련 제어 방법.
The method of claim 1,
Current policy corresponding to each of the plurality of agents (
Figure 112020039508506-pat00255
) Of the parameter (
Figure 112020039508506-pat00256
) Is a variable to be used for the next training shared by the plurality of agents (
Figure 112020039508506-pat00257
,
Figure 112020039508506-pat00258
), information policy (
Figure 112020039508506-pat00259
), and experience information of each agent
Figure 112020039508506-pat00260
Is updated based on
The variable to be used for the next training (
Figure 112020039508506-pat00314
,
Figure 112020039508506-pat00315
) To the plurality of agents,
Based on the KL divergence between the guidance policy and the current policy of each agent, the variable to be used for the next training (
Figure 112020039508506-pat00316
Including the step of calculating ),
The variables of the guidance policy of the best agent and the KL divergence clause of the current policy of each agent (
Figure 112020039508506-pat00317
) To adjust the parameters of the best agent's guidance policy (
Figure 112020039508506-pat00318
)in
Figure 112020039508506-pat00319
The policy parameter (
Figure 112020039508506-pat00320
Controlling to learn)
Multi-agent training control method, characterized in that.
제2항에 있어서,
상기 복수의 에이전트들 각각에 해당하는 현재 정책(
Figure 112018086782712-pat00261
)의 매개변수(
Figure 112018086782712-pat00262
)는, 미리 정의된 해당 에이전트의 목표 함수를 상대적으로 증가시키는 방향으로 업데이트되는 것
을 특징으로 하는 다중 에이전트 훈련 제어 방법.
The method of claim 2,
Current policy corresponding to each of the plurality of agents (
Figure 112018086782712-pat00261
) Of the parameter (
Figure 112018086782712-pat00262
) Is to be updated in the direction of relatively increasing the target function of the corresponding agent.
Multi-agent training control method, characterized in that.
삭제delete 제1항에 있어서,
상기 정책 매개변수(
Figure 112020039508506-pat00321
)를 상기 복수의 에이전트들이 공유하도록 제어하는 단계는,
상기 복수의 에이전트 각각에서 상기
Figure 112020039508506-pat00264
번의 훈련이 수행되면, 새로운 안내 정책을 선택하기 위해, 해당 에이전트의 성능을 나타내는 일정 개수(
Figure 112020039508506-pat00265
)의 에피소드 보상의 평균(
Figure 112020039508506-pat00266
)을 수신하는 단계
를 포함하는 다중 에이전트 훈련 제어 방법.
The method of claim 1,
The above policy parameters (
Figure 112020039508506-pat00321
Controlling the) to be shared by the plurality of agents,
In each of the plurality of agents
Figure 112020039508506-pat00264
Once training is performed, a certain number representing the performance of the agent in order to select a new guidance policy (
Figure 112020039508506-pat00265
) Of the episode reward average (
Figure 112020039508506-pat00266
) Receiving steps
Multi-agent training control method comprising a.
제5항에 있어서,
상기 정책 매개변수(
Figure 112020039508506-pat00322
)를 상기 복수의 에이전트들이 공유하도록 제어하는 단계는,
수신된 상기 에피소드 보상의 평균(
Figure 112020039508506-pat00267
)에 기초하여 상기 복수의 에이전트 중 평균이 가장 높은 에이전트를 상기 베스트 에이전트로 결정하는 단계; 및
결정된 상기 베스트 에이전트로 상기 정책 매개 변수(
Figure 112020039508506-pat00268
)를 요청하는 단계
를 더 포함하는 다중 에이전트 훈련 제어 방법.
The method of claim 5,
The above policy parameters (
Figure 112020039508506-pat00322
Controlling the) to be shared by the plurality of agents,
Average of the episode rewards received (
Figure 112020039508506-pat00267
Determining an agent having the highest average among the plurality of agents as the best agent based on ); And
The policy parameters (
Figure 112020039508506-pat00268
Steps to request)
Multi-agent training control method further comprising a.
제6항에 있어서,
상기 정책 매개변수(
Figure 112020039508506-pat00323
)를 상기 복수의 에이전트들이 공유하도록 제어하는 단계는,
상기 정책 매개변수(
Figure 112020039508506-pat00324
)의 요청에 대한 응답으로, 상기 베스트 에이전트의 현재 정책에 해당하는 매개변수(
Figure 112020039508506-pat00269
)를 상기 베스트 에이전트로부터 수신하는 단계;
안내 정책의 매개변수(
Figure 112020039508506-pat00270
)를 수신된 상기 베스트 에이전트의 현재 정책에 해당하는 매개변수(
Figure 112020039508506-pat00271
)로 설정하는 단계; 및
설정된 상기 안내 정책의 매개변수(
Figure 112020039508506-pat00272
)를 상기 복수의 에이전트들로 전송하는 단계
를 더 포함하는 다중 에이전트 훈련 제어 방법.
The method of claim 6,
The above policy parameters (
Figure 112020039508506-pat00323
Controlling the) to be shared by the plurality of agents,
The above policy parameters (
Figure 112020039508506-pat00324
In response to the request of ), the parameter corresponding to the current policy of the best agent (
Figure 112020039508506-pat00269
Receiving) from the best agent;
Guidance policy parameters (
Figure 112020039508506-pat00270
Parameter corresponding to the current policy of the best agent received (
Figure 112020039508506-pat00271
Setting to ); And
The parameters of the set guide policy (
Figure 112020039508506-pat00272
) To the plurality of agents
Multi-agent training control method further comprising a.
복수의 에이전트(agent) 각각의 정책 매개변수의 훈련을 제어하는 시스템에 있어서,
상기 복수의 에이전트 각각을 대상으로 미리 공유된 안내 정책에 기초하여 독립적으로 훈련하도록 제어하는 훈련 제어부;
매 훈련 마다 다음 훈련에서 사용할 변수들을 획득하도록 하기 위해, 상기 복수의 에이전트 각각의 정보를 해당 에이전트로부터 수신하고, 미리 정의된
Figure 112020039508506-pat00273
번의 훈련이 수행됨에 따라, 각 에이전트의 성능 정보를 해당 에이전트로부터 수신하는 수신 제어부;
매 훈련 마다 각 에이전트의 정보를 기반으로 결정된 다음 훈련에 사용할 변수를 상기 복수의 에이전트에게 전송하는 전송 제어부; 및
수신된 상기 각 에이전트의 성능 정보에 기초하여 결정된 베스트 에이전트의 정책 매개변수(
Figure 112020039508506-pat00325
)를 상기 복수의 에이전트들이 공유하도록 제어하는 공유 제어부
를 포함하고,
상기 각 에이전트는 심층 신경망(multi-layer perceptron)의 매개변수인 자신의 상기 정책 매개변수(
Figure 112020039508506-pat00326
)를 가지며, 상기 정책 매개변수(
Figure 112020039508506-pat00327
)로 자신의 정책을 구성하고, 자신의 상기 정책의 훈련에 필요한 상기 변수(
Figure 112020039508506-pat00328
,
Figure 112020039508506-pat00329
)와 안내 정책의 매개변수(
Figure 112020039508506-pat00330
)를 공유하며, 공유된 상기 안내 정책의 매개변수(
Figure 112020039508506-pat00331
)를 이용하여 안내 정책을 구성하여 훈련에 사용하는 것
을 특징으로 하는 다중 에이전트 훈련 제어 시스템.
In a system for controlling the training of policy parameters of each of a plurality of agents,
A training control unit configured to independently train each of the plurality of agents based on a previously shared guidance policy;
In order to obtain variables to be used in the next training for each training, information of each of the plurality of agents is received from the agent, and a predefined
Figure 112020039508506-pat00273
A receiving control unit for receiving performance information of each agent from a corresponding agent as the training is performed once;
A transmission control unit configured to transmit a variable to be used for training after each training is determined based on the information of each agent to the plurality of agents; And
Policy parameters of the best agent determined based on the received performance information of each agent (
Figure 112020039508506-pat00325
) To the plurality of agents to share
Including,
Each agent has its own policy parameter (a parameter of a multi-layer perceptron).
Figure 112020039508506-pat00326
), and the policy parameter (
Figure 112020039508506-pat00327
), and the variables required for training of the policies (
Figure 112020039508506-pat00328
,
Figure 112020039508506-pat00329
) And the parameters of the guidance policy (
Figure 112020039508506-pat00330
), and the parameters of the shared guidance policy (
Figure 112020039508506-pat00331
) To construct a guide policy and use it for training
Multi-agent training control system, characterized in that.
제8항에 있어서,
상기 복수의 에이전트들 각각에 해당하는 현재 정책(
Figure 112020039508506-pat00274
)의 매개변수(
Figure 112020039508506-pat00275
)는 상기 복수의 에이전트들이 공유하는 상기 다음 훈련에 사용할 변수(
Figure 112020039508506-pat00276
,
Figure 112020039508506-pat00277
), 안내 정책(
Figure 112020039508506-pat00278
), 및 각 에이전트의 경험 정보
Figure 112020039508506-pat00279
에 기초하여 업데이트되고,
상기 전송 제어부는,
상기 안내 정책과 각 에이전트의 현재 정책 사이의 쿨백 라이블러 발산(KL divergence)에 기초하여 상기 다음 훈련에 사용할 변수(
Figure 112020039508506-pat00332
)를 계산하고, 상기 베스트 에이전트의 안내 정책과 각 에이전트의 현재 정책의 쿨백 라이블러 발산(KL divergence) 항의 변수(
Figure 112020039508506-pat00333
)를 조정하여 상기 베스트 에이전트의 안내 정책의 매개변수(
Figure 112020039508506-pat00334
)에서
Figure 112020039508506-pat00335
만큼 떨어진 매개변수 공간에서 상기 정책 매개변수(
Figure 112020039508506-pat00336
)를 학습하도록 제어하는 것
을 특징으로 하는 다중 에이전트 훈련 제어 시스템.
The method of claim 8,
Current policy corresponding to each of the plurality of agents (
Figure 112020039508506-pat00274
) Of the parameter (
Figure 112020039508506-pat00275
) Is a variable to be used for the next training shared by the plurality of agents (
Figure 112020039508506-pat00276
,
Figure 112020039508506-pat00277
), information policy (
Figure 112020039508506-pat00278
), and experience information of each agent
Figure 112020039508506-pat00279
Is updated based on
The transmission control unit,
Based on the KL divergence between the guidance policy and the current policy of each agent, the variable to be used for the next training (
Figure 112020039508506-pat00332
) Is calculated, and the variable of the guide policy of the best agent and the KL divergence term of the current policy of each agent
Figure 112020039508506-pat00333
) To adjust the parameters of the best agent's guidance policy (
Figure 112020039508506-pat00334
)in
Figure 112020039508506-pat00335
The policy parameter (
Figure 112020039508506-pat00336
Controlling to learn)
Multi-agent training control system, characterized in that.
제9항에 있어서,
상기 복수의 에이전트들 각각에 해당하는 현재 정책(
Figure 112018086782712-pat00280
)의 매개변수(
Figure 112018086782712-pat00281
)는, 미리 정의된 해당 에이전트의 목표 함수를 상대적으로 증가시키는 방향으로 업데이트되는 것
을 특징으로 하는 다중 에이전트 훈련 제어 시스템.
The method of claim 9,
Current policy corresponding to each of the plurality of agents (
Figure 112018086782712-pat00280
) Of the parameter (
Figure 112018086782712-pat00281
) Is to be updated in the direction of relatively increasing the target function of the corresponding agent.
Multi-agent training control system, characterized in that.
삭제delete 제9항에 있어서,
상기 공유 제어부는,
상기 복수의 에이전트 각각에서 상기
Figure 112018086782712-pat00283
번의 훈련이 수행되면, 새로운 안내 정책을 선택하기 위해, 해당 에이전트의 성능을 나타내는 일정 개수(
Figure 112018086782712-pat00284
)의 에피소드 보상의 평균(
Figure 112018086782712-pat00285
)을 수신하는 것
을 특징으로 하는 다중 에이전트 훈련 제어 시스템.
The method of claim 9,
The sharing control unit,
In each of the plurality of agents
Figure 112018086782712-pat00283
Once training is performed, a certain number representing the performance of the agent in order to select a new guidance policy (
Figure 112018086782712-pat00284
) Of the episode reward average (
Figure 112018086782712-pat00285
Receiving)
Multi-agent training control system, characterized in that.
제12항에 있어서,
상기 공유 제어부는,
수신된 상기 에피소드 보상의 평균(
Figure 112020039508506-pat00286
)에 기초하여 상기 복수의 에이전트 중 평균이 가장 높은 에이전트를 상기 베스트 에이전트로 결정하고, 결정된 상기 베스트 에이전트로 상기 정책 매개변수(
Figure 112020039508506-pat00287
)를 요청하는 것
을 특징으로 하는 다중 에이전트 훈련 제어 시스템.
The method of claim 12,
The sharing control unit,
Average of the episode rewards received (
Figure 112020039508506-pat00286
), the agent having the highest average among the plurality of agents is determined as the best agent, and the policy parameter (
Figure 112020039508506-pat00287
Requesting)
Multi-agent training control system, characterized in that.
제13항에 있어서,
상기 공유 제어부는,
상기 정책 매개변수(
Figure 112020039508506-pat00337
)의 요청에 대한 응답으로, 상기 베스트 에이전트의 현재 정책에 해당하는 매개변수(
Figure 112020039508506-pat00288
)를 상기 베스트 에이전트로부터 수신하고, 안내 정책의 매개변수(
Figure 112020039508506-pat00289
)를 수신된 상기 베스트 에이전트의 현재 정책에 해당하는 매개변수(
Figure 112020039508506-pat00290
)로 설정하고, 설정된 상기 안내 정책의 매개변수(
Figure 112020039508506-pat00291
)를 상기 복수의 에이전트들로 전송하는 것
을 특징으로 하는 다중 에이전트 훈련 제어 시스템.
The method of claim 13,
The sharing control unit,
The above policy parameters (
Figure 112020039508506-pat00337
In response to the request of ), the parameter corresponding to the current policy of the best agent (
Figure 112020039508506-pat00288
) From the best agent, and the parameters of the guidance policy (
Figure 112020039508506-pat00289
Parameter corresponding to the current policy of the best agent received (
Figure 112020039508506-pat00290
), and the parameters of the set guide policy (
Figure 112020039508506-pat00291
) To the plurality of agents
Multi-agent training control system, characterized in that.
KR1020180103642A 2018-06-15 2018-08-31 Multi-agent PPO Guided By The Best Local Policy KR102147017B1 (en)

Applications Claiming Priority (2)

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

Publications (2)

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

Family

ID=69103839

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180103642A KR102147017B1 (en) 2018-06-15 2018-08-31 Multi-agent PPO Guided By The Best Local Policy

Country Status (1)

Country Link
KR (1) KR102147017B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111932341A (en) * 2020-08-10 2020-11-13 北京嘀嘀无限科技发展有限公司 Method and system for determining car pooling order

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
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.

Also Published As

Publication number Publication date
KR20190142181A (en) 2019-12-26

Similar Documents

Publication Publication Date Title
CN108063961B (en) Self-adaptive code rate video transmission method and system based on reinforcement learning
Foerster et al. Stabilising experience replay for deep multi-agent reinforcement learning
US10168705B2 (en) Automatic tuning of autonomous vehicle cost functions based on human driving data
Hamrick et al. Combining q-learning and search with amortized value estimates
CN110956148B (en) Autonomous obstacle avoidance method and device for unmanned vehicle, electronic equipment and readable storage medium
CN111766782B (en) Strategy selection method based on Actor-Critic framework in deep reinforcement learning
CN111260027B (en) Intelligent agent automatic decision-making method based on reinforcement learning
KR20210030063A (en) System and method for constructing a generative adversarial network model for image classification based on semi-supervised learning
Khan et al. Scalable centralized deep multi-agent reinforcement learning via policy gradients
KR102147017B1 (en) Multi-agent PPO Guided By The Best Local Policy
Zhang et al. Policy expansion for bridging offline-to-online reinforcement learning
CN111414681A (en) In-building evacuation simulation method and system based on shared deep reinforcement learning
KR20200100302A (en) Data processing method based on neural network, training method of neural network, and apparatuses thereof
Jaafra et al. Context-aware autonomous driving using meta-reinforcement learning
US11552858B2 (en) Reinforcement learning for optical network re-grooming
Guo et al. Directed exploration for reinforcement learning
KR20220088497A (en) Method and apparatus for optimizing an on-device neural network model using a sub-kernel searching module
Wen et al. Improving the exploration efficiency of DQNs via the confidence bound methods
Liu et al. Forward-looking imaginative planning framework combined with prioritized-replay double DQN
Diallo et al. Coordination in adversarial multi-agent with deep reinforcement learning under partial observability
Cuervo et al. Emergent cooperation through mutual information maximization
CN114118400B (en) Concentration network-based cluster countermeasure method and device
KR102558092B1 (en) Sample-aware entropy regularization method for sample efficient exploration
Hu et al. An improved particle swarm optimization algorithm for site index curve model
CN109889928A (en) Multicast light tree transmission quality prediction technique, device, equipment and storage medium

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