AI: RLOps 알고리즘/최적화 – Experience Replay Buffer
ㅁ RLOps 알고리즘/최적화
ㅇ 정의:
강화학습에서 에이전트가 환경과 상호작용하며 수집한 경험(상태, 행동, 보상, 다음 상태)을 저장하는 메모리 버퍼로, 학습 시 무작위로 샘플링하여 데이터 상관성을 줄이고 학습 안정성을 높이는 기법.
ㅇ 특징:
– 과거 경험을 재사용하여 데이터 효율성을 향상.
– 샘플링 시 시계열 상관성을 줄여 학습의 분산과 안정성 개선.
– 메모리 크기가 제한되어 오래된 경험은 삭제(FIFO 구조).
– 균등 샘플링 외에 우선순위 샘플링(Prioritized Experience Replay) 방식도 존재.
ㅇ 적합한 경우:
– 환경 상호작용 비용이 높아 데이터 재사용이 필요한 경우.
– 비정상성(non-stationary) 환경에서 안정적인 학습이 필요한 경우.
– 오프라인/배치 학습 환경.
ㅇ 시험 함정:
– Experience Replay Buffer는 온라인(on-policy) 알고리즘에서는 효과가 제한적임.
– 모든 샘플이 동일 확률로 선택된다고 단정하는 것은 틀림(우선순위 방식 있음).
– 메모리 크기가 무한하다고 착각하는 경우.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “Experience Replay Buffer는 데이터 간 상관성을 줄여 학습을 안정화한다.”
X: “Experience Replay Buffer는 항상 최신 데이터만 사용한다.”
ㅁ 추가 학습 내용
학습 정리
1. Prioritized Experience Replay(PER)
– 개념: 경험 재플레이에서 TD 오차가 큰 샘플에 더 높은 선택 확률을 부여하여 학습 효율 향상
– 구현 원리: 각 샘플의 우선순위를 계산하고, 우선순위에 비례한 확률로 미니배치를 구성
2. Replay Buffer의 크기와 샘플링 전략
– 크기 영향: 너무 작으면 다양성 부족, 너무 크면 오래된 데이터가 포함되어 학습 지연
– 샘플링 전략: 균일 샘플링 vs 우선순위 기반 샘플링(PER)
3. on-policy와 off-policy 알고리즘에서의 Replay Buffer 사용 차이
– on-policy: 최신 정책으로 수집한 데이터만 사용, 오래된 데이터는 폐기
– off-policy: 과거 데이터도 재사용 가능, Replay Buffer 활용도 높음
4. 분산 환경(distributed RL)에서의 Replay Buffer 동기화 방식
– 여러 에이전트 또는 워커에서 수집한 데이터를 중앙 버퍼로 통합
– 네트워크 지연 및 동기화 빈도 관리가 중요
5. 주요 off-policy 알고리즘에서의 적용 사례
– DQN: 기본적으로 경험 재플레이 사용, PER 적용 가능
– DDPG: 연속 행동 공간에서 Replay Buffer 사용
– SAC: 스토캐스틱 정책 기반, Replay Buffer로 샘플 효율 향상
6. 메모리 관리 및 최적화 기법
– 순환 버퍼 구조: 고정 크기 버퍼에서 오래된 데이터를 덮어씀
– 메모리 사용량 최적화: 데이터 압축, 상태 표현 축소, 효율적 자료구조 사용