본문 바로가기
논문 리뷰/Offline RL

Batch Constrained Q-Learning (BCQ)

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

Paper link: https://arxiv.org/pdf/1812.02900.pdf

BCQ 구현 관련 사항

  • 총 4가지 모델 사용
    • Generative model: Gω(s)Gω(s)
    • Perturbation model: ξϕ(s,a)ξϕ(s,a)
    • Q-networks: Qθ1,Qθ2Qθ1,Qθ2
  • Algorithm

Generator

  • Encoder Eω1(s,a)Eω1(s,a)와 Decoder Dω2(s,a)Dω2(s,a)로 구성 → VAE
  • Encoder는 μ,σμ,σ를 도출 → z를 sampling → Decoder의 입력으로 s, z 사용 → action을 예측
  • 학습은 예측 action과 실제 action이 유사하도록, KL divergence를 통해 mu=0, sig=1이 되도록 학습
  • Generator를 통해 n개의 action 도출

Perturbation Network

  • Generator가 도출한 action에 noise 추가 → {ai=ai+ξϕ(s,ai,Φ)}
  • Perturbation이 추가된 action의 Q가 최대가 되도록 학습
    • ϕargmaxϕQθ1(s,a+ξϕ(s,a,Φ)),aGω(s)
  • Perturbation network의 경우 target network 사용 (soft update)
    • ϕτϕ+(1τ)ϕ

Q-Network

  • 일반 Q value 학습과 동일
    • θargminθ(yQθ(s,a))2
  • Q-network도 target network 사용 (soft update)
    • θiτθ+(1τ)θi

내용 정리