본문 바로가기
논문 리뷰/Reinforcement Learning

[AGAC] Adversarially Guided Actor-Critic

by 박사개구리 2024. 9. 11.

1. Introduction

  • Actor-critic 기반 알고리즘의 경우 복잡한 환경에서 sample inefficiency 문제가 여전히 발생 → 특히 효율적인 exploration이 필요한 문제가 bottleneck
  • 제안하는 알고리즘! → Adversarially Guided Actor-Critic (AGAC): 더욱 포괄적인 exploration을 유도
  • AGAC는 actor-critic 프레임워크를 재정의하여 세번째 요소인 adversary를 추가
  • Adversary는 actor의 행동을 예측하는 것을 목표로 함, 반면 actor는 expected returns의 합을 최대로 하는 optimal action을 찾는 것 뿐 아니라 adversary의 예측과 다르게 행동해야함
    • Adversarial method → GAN과 유사하게 생각할 수 있음
    • Adversary의 경우 discriminator와, actor의 경우 generator와 유사한 역할 수행
  • 본 논문에서 수행할 작업
    • 어떻게 AGAC가 explicit하게 에이전트가 보상에 집중하면서도 다양한 행동을 하게 만들지 분석
    • 해당 기법을 procedurally-generated 환경에 적용 → 매 새로운 에피소드마다 맵이 다르게 생성됨
    • Adversarial network가 hyperparameter sensitivity issue가 있으므로 이에 대해서도 분석
  • Contribution
    • Adversarial learning으로부터 영감을 받은 새로운 actor-critic formulation 제안
    • AGAC를 diversity, exploration, stability 관점에서 경험적으로 분석
    • Procedually-generated task를 포함하는 몇몇의 sparse-reward hard-exploration 문제에서 뛰어난 성능 확인

2. Adversarially Guided Actor-Critic

  • Adversary의 역할
    • Actor의 행동을 정확히 예측하여 adversary가 추정한 action distribution $\pi_{adv}$와 실제 policy $\pi$ 사이의 차이를 최소화 하는 것
  • Actor의 역할
    • 예측 기대값의 합을 최대로 하는 최적의 행동을 찾는 동시에 adversary의 예측과 차이를 최대로 하는 policy 도출 → $\pi$와 $\pi_{adv}$ 사이의 차이를 최대로
  • Policy간의 log-probability 차이를 exploration bonus의 형태로 사용 → expectation은 Kullback-Leibler divergence
    • $D_{KL}(\pi(\cdot|s)||\pi_{adv}(\cdot|s)) = E_{\pi(\cdot|s)}[\log \pi(\cdot|s) - \log \pi_{adv}(\cdot|s)]$
  • 파라미터
    • $\theta$: Policy의 파라미터 ($\theta_{old}$는 이전 iteration에서 policy의 파라미터)
    • $\phi$: Critic의 파라미터 ($\theta_{old}$는 이전 iteration에서 critic의 파라미터)
    • $\psi$: adversary의 파라미터 ($\psi_{old}$는 이전 iteration에서 adversary의 파라미터)
  • Loss (Adversary에 대한 loss 추가) → adversary가 추가되면서 변한 부분 (파란글씨) 

  • 새로운 objective $L_{PG}=-\frac{1}{N}\sum_{t=0}^{N}(A_{t}^{AGAC}\log \pi(a_t |s_t , \theta) + \alpha H^{\pi} (s_t, \theta))$
  • AGAC에서는 $A_t$를 다음과 같이 변경

  • $c$: action log-probability 차이에 대한 의존도를 조절하는 하이퍼 파라미터
  • Asymptotic stability를 방지하지 않고 exploration을 장려하기 위해 $c$를 학습동안에 선형적으로 감소시킴
    • $L_V$는 critic의 objective function

 

    • 마지막으로 adversary의 objective function $L_{adv}$

  • $\beta_V$와 $\beta_{adv}$는 고정된 하이퍼파라미터

 

  • 제안된 actor-critic formulation에서는 행동을 샘플링하는 확률은 변경된 advantage가 양수일때 증가
    • (i) 반환값이 예측된 가치보다 클떄
    • (ii) action log-probability 차이가 클 때
  • 더 구체적으로는 평균 행동보다 행동이 덜 정확하게 예측될 때 transition을 선호 
    • $\log \pi (a|s) - \log \pi_{adv}(a|s) \geq D_{KL}(\pi(\cdot |s) || \pi _{adv}(\cdot |s))$
    • 이는 특히 $\lambda \rightarrow 1$ 일 때 볼 수 있음 → generalized advantage가 $A_t = G_t - V_{\phi_{old}}(s_t)$ 인 경우
  • 이를 통해 변경된 advantage

  • $G_t$: 관측된 return, $\hat{V}{t}^{\phi{old}}$: 예측된 return, $\hat{D}{KL}^{\phi{old}}(\pi(\cdot|s_t )||\pi_{adv}(\cdot |s_t ))$는 예측된 KL-divergence
  • Instability를 피하기 위해 adversary는 분리된 estimator로 사용하고 actor보다 작은 learning rate 사용
    • actor의 policy 보다 더 지연되고 느린 버전 → 에이전트가 계속 adversary를 속이는데만 집중하는 것을 방지

2.1 Building Motivation

        • Actor와 adversary 간의 attraction & repulsion dynamics에 의한 AGAC의 해석
        • AGAC의 modified action-value

 

      • iteration $k$에서 policy가 $\pi_k$일 떄 Entropic penalty를 포함한 새로운 policy $\pi_{k+1}$은 다음과 같음

 

    • 이 objective를 다음과 같이 다시 쓸 수 있음

 

  • 이 Policy iteration scheme에서 AGAC는 Q-value를 최대화하는 policy를 찾는 동시에 현재 policy가 이전 policies의 조합과 최대한 멀어지게 해야함 ($i.e., \pi_{k-1}, \pi_{k-2}, ...$)

2.2 Implementation

    • PPO를 baseline으로 제안하는 알고리즘 적용

  • $N$: 파라미터 한번 업데이트를 위한 temporal length, $\epsilon$: clipping parameter
  • episodic state visitation count에 따라 PPO를 discount (VizDoom 제외)
  • Actor, Critic, Adversary는 DQN과 동일한 conv 구조 사용
  • Optimizer → Adam
  • Frame stacking 사용
  • Policy, Critic, Adversary가 network를 공유하지 않음 → 하지만 AGAC와 PPO 사이의 계산 복잡도는 크게 차이나지 않음
  • 계수 $c$ (adversarial bonus)는 선형적으로 annealed
  • 각 학습 스텝의 stochastic optimization step에서 stop-gradient를 사용하여 $L_{AGAC}$를 최소화

3. Experiments

  • Experimental study를 통해 다음의 4가지를 살펴볼 예정
    • Adversarial bonus만 (e.g. episodic state visitation count 제외)하고도 VizDoom에서 다른 기법들의 성능을 뛰어 넘을 수 있는지
    • 다른 기법들과 비교해서 reward의 sparsity가 매우 높은 partially observable 환경이나 procedually-generated 환경에서도 좋은 성능을 낼 수 있는지
    • Extrinsic reward 없이 AGAC가 얼마나 환경 내부를 잘 탐험할 수 있는지
    • 제안하는 기법의 학습 안정성
  • 본 기법의 코드!! → https://github.com/yfletberliac/adversarially-guided-actor-critic

Environments

  • Robust exploration 전략과 본적 없는 상태에 대한 generalization 성능 검증을 위해 다음의 특성들을 가진 환경들을 통해 검증
    • High-dimensional observations, sparse reward, procedurally generated environments
  • 환경들
    • VizDoom: 3D 환경에서 reward feedback 없이 복도를 지나 방으로 이동하는 방법을 학습해야함
    • MiniGrid: partially observable, sparse reward gridworld, 3가지 종류의 환경으로 구성
      • MultiRoom: 첫 방에서 시작해서 가장 먼 방에 있는 골로 이동
      • KeyCorridor: 다른 방에 있는 열쇠를 줍고 잠긴 문을 연 다음 이동해야 함
      • ObstructedMaze: 박스나 공 안에 있는 열쇠를 찾아서 문을 열고 3x3 maze 구석에 있는 박스를 집어야함

Baselines

3.1 Adversarially-based Exploration (No Episodic Count)

  • 표의 결과를 통해 AGAC가 명확하게 sample efficiency 측면에서 다른 기법들의 성능을 능가하는 것을 확인할 수 있음

3.2 Hard-Exploration Tasks with Partially-Observable Environments

  • 위의 결과를 봤을 때 MiniGrid에서도 AGAC가 다른 기법들에 비해 sample-efficiency나 성능 측면에서 훨씬 좋은 결과를 보인다는 것을 확인할 수 있음
  • 고려된 문제들에서 에이전트는 매우 큰 state space에서 generalize하는 것을 학습해야 함 → 왜냐하면 layout들이 procedurally 생성되기 때문

3.3 Training Stability

  • 하이퍼 파라미터 변화에 따른 안정성 분석
  • AGAC에서 가장 중요한 파라미터
    • $c$: adversarial bonus의 계수
    • $\nu = \frac{\eta_2}{\eta_1}$: learning rates
  • 하이퍼 파라미터 변화에 따라서 학습 속도가 조금 달라지기는 하지만 reasonable한 정도, $c$가 $\nu$에 비해 더 sensitive함

3.4 Exploration in Reward-free Environment

  • AGAC를 또다른 어려운 환경 (Procedurally generated)에서 extrinsic reward 없이 학습
  • Reward-free AGAC도 약 15% 정도 성공률을 보이는 것을 확인

3.5 Visualizing Coverage and Diversity

  • State visitation map → 많이 방문할수록 진한 색 (10M time step 학습)
  • Singleton에서는 RIDE만 5번째 방까지, AGAC는 마지막 방까지 이동
  • Procedurally generated에서는 조금 더 좋지 못한 결과를 보임

  • Extrinsic reward 없이 procedurally generated 환경에서 10 에피소드 결과
  • Extrinsic reward가 없지만 여전히 행동을 다양화 하며 다음으로 이동

4. Discussion

  • 기존 actor-critic framework를 변경하여 세번째 요소로 adversary network를 추가한 AGAC 알고리즘 소개
  • Adversary는 에이전트가 현재 policy와 유사하면서도 이전 policy와는 멀어지도록 학습시킴
  • Adversary의 효과 → actor를 conservatively diversified
  • 몇몇 실험을 수행
    • 기존의 유명한 exploration 기법들 (RIDE, AMIGo, Count, RND, ICM) 보다 월등하게 좋은 성능 보임
    • Procedurally-generated 환경에서의 성능 검증을 통해 unseen scenario에 대한 generalization 성능 확인
    • Training stablity, reward가 없는 세팅에서 exploration 성능 등을 검증
    • 위와 같은 결과들을 통해 adversary가 성공적으로 actor의 행동을 다양화하는 것을 확인

Appendix

A.1 MiniGrid Performance

A.2 State Visitation Heatmaps in Singleton Environment with no Extrinsic Reward

A.3 (Extremely) Hard-Exploration Tasks with Partially-Observable Environments

  • 환경 → KeyCorridorS8R3, ObstructedMaze-Full

A.4 Mean Intrinsic Reward

B. Illustration of AGAC

C. HyperParameters

D. Implementation Details