😇
Deep Multi-Agent Reinforcement Learning
  • Deep Multi-Agent Reinforcement Learning
  • Abstract & Contents
    • Abstract
  • 1. Introduction
    • 1. INTRODUCTION
      • 1.1 The Industrial Revolution, Cognition, and Computers
      • 1.2 Deep Multi-Agent Reinforcement-Learning
      • 1.3 Overall Structure
  • 2. Background
    • 2. BACKGROUND
      • 2.1 Reinforcement Learning
      • 2.2 Multi-Agent Settings
      • 2.3 Centralized vs Decentralized Control
      • 2.4 Cooperative, Zero-sum, and General-Sum
      • 2.5 Partial Observability
      • 2.6 Centralized Training, Decentralized Execution
      • 2.7 Value Functions
      • 2.8 Nash Equilibria
      • 2.9 Deep Learning for MARL
      • 2.10 Q-Learning and DQN
      • 2.11 Reinforce and Actor-Critic
  • I Learning to Collaborate
    • 3. Counterfactual Multi-Agent Policy Gradients
      • 3.1 Introduction
      • 3.2 Related Work
      • 3.3 Multi-Agent StarCraft Micromanagement
      • 3.4 Methods
        • 3.4.1 Independent Actor-Critic
        • 3.4.2 Counterfactual Multi-Agent Policy Gradients
        • 3.4.2.1 baseline lemma
        • 3.4.2.2 COMA Algorithm
      • 3.5 Results
      • 3.6 Conclusions & Future Work
    • 4 Multi-Agent Common Knowledge Reinforcement Learning
      • 4.1 Introduction
      • 4.2 Related Work
      • 4.3 Dec-POMDP and Features
      • 4.4 Common Knowledge
      • 4.5 Multi-Agent Common Knowledge Reinforcement Learning
      • 4.6 Pairwise MACKRL
      • 4.7 Experiments and Results
      • 4.8 Conclusion & Future Work
    • 5 Stabilizing Experience Replay
      • 5.1 Introduction
      • 5.2 Related Work
      • 5.3 Methods
        • 5.3.1 Multi-Agent Importance Sampling
        • 5.3.2 Multi-Agent Fingerprints
      • 5.4 Experiments
        • 5.4.1 Architecture
      • 5.5 Results
        • 5.5.1 Importance Sampling
        • 5.5.2 Fingerprints
        • 5.5.3 Informative Trajectories
      • 5.6 Conclusion & Future Work
  • II Learning to Communicate
    • 6. Learning to Communicate with Deep Multi-Agent ReinforcementLearning
      • 6.1 Introduction
      • 6.2 Related Work
      • 6.3 Setting
      • 6.4 Methods
        • 6.4.1 Reinforced Inter-Agent Learning
        • 6.4.2 Differentiable Inter-Agent Learning
      • 6.5 DIAL Details
      • 6.6 Experiments
        • 6.6.1 Model Architecture
        • 6.6.2 Switch Riddle
        • 6.6.3 MNIST Games
        • 6.6.4 Effect of Channel Noise
      • 6.7 Conclusion & Future Work
    • 7. Bayesian Action Decoder
      • 7.1 Introduction
      • 7.2 Setting
      • 7.3 Method
        • 7.3.1 Public belief
        • 7.3.2 Public Belief MDP
        • 7.3.3 Sampling Deterministic Partial Policies
        • 7.3.4 Factorized Belief Updates
        • 7.3.5 Self-Consistent Beliefs
      • 7.4 Experiments and Results
        • 7.4.1 Matrix Game
        • 7.4.2 Hanabi
        • 7.4.3 Observations and Actions
        • 7.4.4 Beliefs in Hanabi
        • 7.4.5 Architecture Details for Baselines and Method
        • 7.4.6 Hyperparamters
        • 7.4.7 Results on Hanabi
      • 7.5 Related Work
        • 7.5.1 Learning to Communicate
        • 7.5.2 Research on Hanabi
        • 7.5.3 Belief State Methods
      • 7.6 Conclusion & Future Work
  • III Learning to Reciprocate
    • 8. Learning with Opponent-Learning Awareness
      • 8.1 Introduction
      • 8.2 Related Work
      • 8.3 Methods
        • 8.3.1 Naive Learner
        • 8.3.2 Learning with Opponent Learning Awareness
        • 8.3.3. Learning via Policy gradient
        • 8.3.4 LOLA with Opponent modeling
        • 8.3.5 Higher-Order LOLA
      • 8.4 Experimental Setup
        • 8.4.1 Iterated Games
        • 8.4.2 Coin Game
        • 8.4.3 Training Details
      • 8.5 Results
        • 8.5.1 Iterated Games
        • 8.5.2 Coin Game
        • 8.5.3 Exploitability of LOLA
      • 8.6 Conclusion & Future Work
    • 9. DiCE: The Infinitely Differentiable Monte Carlo Estimator
      • 9.1 Introduction
      • 9.2 Background
        • 9.2.1 Stochastic Computation Graphs
        • 9.2.2 Surrogate Losses
      • 9.3 Higher Order Gradients
        • 9.3.1 Higher Order Gradient Estimators
        • 9.3.2 Higher Order Surrogate Losses
        • 9.3.3. Simple Failing Example
      • 9.4 Correct Gradient Estimators with DiCE
        • 9.4.1 Implement of DiCE
        • 9.4.2 Casuality
        • 9.4.3 First Order Variance Reduction
        • 9.4.4 Hessian-Vector Product
      • 9.5 Case Studies
        • 9.5.1 Empirical Verification
        • 9.5.2 DiCE For multi-agent RL
      • 9.6 Related Work
      • 9.7 Conclusion & Future Work
  • Reference
    • Reference
  • After
    • 보충
    • 역자 후기
Powered by GitBook
On this page

Was this helpful?

  1. II Learning to Communicate
  2. 6. Learning to Communicate with Deep Multi-Agent ReinforcementLearning

6.5 DIAL Details

Previous6.4.2 Differentiable Inter-Agent LearningNext6.6 Experiments

Last updated 4 years ago

Was this helpful?

좀 더 자세하게 DIAL의 알고리즘에 대해 알아보겠습니다. 아래 그림처럼 C-Net은 다음과 같은 input과 output을 가집니다.

Q(⋅),mta=C−Net(ota,m^t−1a′,ht−1a,ut−1a,a;θi)Q(\cdot),m^a_t = \mathrm{C-Net}(o^a_t,\hat{m}^{a'}_{t-1},h^a_{t-1},u^a_{t-1},a;\theta_i)Q(⋅),mta​=C−Net(ota​,m^t−1a′​,ht−1a​,ut−1a​,a;θi​)

agent a의 observation, 다른 agent로부터 받은 message, hidden state, 이전 action, 그리고 agent에 대한 index를 input으로 가지고, output으로 Q값과 message를 가지게 됩니다. action select은 ϵ\epsilonϵ-greedy하게 뽑기만 하면 되므로, 어렵게 생각할 것은 없습니다. 모든 agent의 action이 이렇게 선택되게 되면, environment에 전달되고, 그로인해 state가 바뀌고, 그에 따른 reward를 받게됩니다.

이렇게 반복되어 마지막 state에 도착하거나, 정해놓은 마지막 time-step에 도달하면, 그에 따라 update를 진행하면 됩니다. 이 때, target network에 의해 만들어진 ytay^a_t yta​를 사용한 l2 loss를 구해 Q-network는 업데이트하면 되고 이제 message를 어떻게 업데이트할 건지 보겠습니다.

message는 두 가지 loss로 구성되는데, 첫 번째로는 message mtam^a_tmta​에 대해서 l2 loss를 구해야합니다.(그렇게 하기 위해선 t+1의 Q값을 사용해야합니다.) 그리고 그에 대한 메세지에 대해 미분합니다. 이는 message의 error에 대한 loss입니다. 두번째로, message가 미래 reward에 미치는 영향을 계산하기 위해, 보내는 message mt+1a′m^{a'}_{t+1}mt+1a′​에 대한 받은 messagemtam^a_tmta​의 편미분과 그를 message gradientμt+1a′ \mu^{a'}_{t+1}μt+1a′​에 곱합니다.

decentralized execution때는 message를 continuous하게 학습시켰던 message를 (activation function을 대체하는 식으로)unit step function같이 처리하면 됩니다.

m^=1{mta>0}\hat{m} = \bm{1}\{m^a_t > 0\}m^=1{mta​>0}

continuous 한 communication을 discrete하도록 학습시키기위해 두가지 방법이 사용됩니다. 하나는 Gaussian noise를 넣는 것(noise를 통해 message의 값이 중간에 위치하는 것을 방해하도록 합니다.), 그리고 logistic function을 통해 정보의 범위를 제한시키는 것 입니다. 이는 정보를 regularization합니다. 이 것이 알고리즘의 전부인데, 수도코드를 통해 다시 한번 확인해보면 좋겠습니다.

특징으로는 앞에서 나왔지만 Target Network는 사용하지만 Experience Replay가 존재하지 않고, joint action을 고려하지 않는 점이 있습니다.

의문점

  • j와 t 둘다 time step인데 j에 대한 명확한 설명이 없습니다. j=t라 생각하였습니다. i는 network parameter에 대한 notation입니다.

  • ∂m^t+1a′∂m^ta\frac{\partial \hat{m}^{a'}_{t+1}}{\partial \hat{m}^a_t}∂m^ta​∂m^t+1a′​​가 어떻게 미래의 reward에 대한 기여를 계산할 수 있는지 의문이 있습니다. JJJ를 maximize하는 방향으로 ∂m^t+1a′∂θ\frac{\partial \hat{m}^{a'}_{t+1}}{\partial \theta}∂θ∂m^t+1a′​​를 구하고 받은 message ∂m^ta∂θ\frac{\partial \hat{m}^{a}_{t}}{\partial \theta}∂θ∂m^ta​​에 대한 기여를 나눠서 구한 수식이라고 이해했습니다.