Experience Replay 정리

JTDK·2021년 6월 27일
0

RL 개념정리

목록 보기
1/1
post-custom-banner

What is Experience Replay?

구글 딥마인드사에서 Atari게임을 위한 DQN을 구현할때 성능 개선을 위해 사용한 기법으로, supervised learning에서의 Batch Training과 같은 맥락으로 볼 수 있다.

Detail?

하나의 episode는 여러개의 상태 전이(transition)으로 이루어져있고, 각각의 transition은 (st,at,rt,st+1s_{t}, a_{t}, r_{t}, s_{t+1}) 으로 표현할 수 있다. 이 transition들을 적당히 큰 사이즈의 버퍼에 저장해놓고, 학습할때는 (예를들어)32개의 데이터를 임의로 뽑아서 사용하는 방식.

Why ?

정말 정말 간단히 요약하자면

  1. 하나의 데이터를 여러번 사용할 수 있어, 효율성을 높혀준다.
  2. 데이터간에 연관성(correlation)을 없애서 성능 개선에 효과적이다.

2번에 대해 얘기를 좀 해보자면, 하나의 에피소드 내 각 스텝들에는 연관성이 존재하고, TD의 특성상 편향성(bias)이 존재한다. 편향이 심한 에피소드의 스텝들을 순차적으로 학습하면 매개변수들이 최적의 값들로 수렴하지 않을 위험이 크다. 반면 여러 에피소드들에서 각 스텝들을 랜덤하게 뽑아오면, 각 데이터의 노이즈들이 평균화되기 때문에 매개변수들이 좀 더 안정적으로 갱신된다.

profile
RL, 퀀트 투자 공부 정리
post-custom-banner

0개의 댓글