강화학습에서 자주 언급되는 주요 개념 중 하나는 탐험(Exploration)과
탐욕(Exploitation)의 균형 문제이다. 강화학습의
목적은 누적 보상을 최대화하는 방향으로 행동을 선택하는 것이며, 이러한 선택 전략을 탐욕 정책이라고
부른다. 탐욕 정책은 현재까지의 학습 결과를 바탕으로 가장 좋은 보상을 기대할 수 있는 행동만을 선택하는
방식이다.
입실론 탐욕 정책
하지만 학습 초기에 정책이 충분히 성숙하지 않았을 때 탐욕적으로 행동을 선택하면, 에이전트는 다양한 상태를 경험하지 못하고 국소 최적 해(local
optimum)에 갇힐 위험이 있다. 이를 방지하기 위해 사용하는 방법이 바로 '입실론 탐욕 정책'이다.
입실론 탐욕 정책은 0과 1 사이의
값을 가지는 입실론(ε)을 기준으로 행동 선택을 탐험과 탐욕
중 하나로 결정한다. 무작위로 선택한 값이 ε보다 크면, 에이전트는
탐욕적으로 현재 가장 Q값이 큰 행동을 선택하고, ε보다
작으면 랜덤하게 행동을 선택한다. 이로 인해 에이전트는 새로운 상태들을 시도해보는 탐험 기회를 얻고, 장기적으로 더 나은 정책을 학습할 수 있다.
입실론 값은 학습이 진행될수록 점차 줄어들어야 한다(decay). 학습
초기에는 더 많은 탐험이 필요하지만, 학습이 진행되면 이미 충분히 좋은 정책을 학습했기 때문에 더 자주
정책에 따라 행동하는 것이 바람직하다. 입실론이 줄어드는 비율과 방식은 학습자가 직접 정해야 하며, 이 설정은 전체 학습 성능에 큰 영향을 미칠 수 있다.
리플레이 메모리
강화학습에서 에이전트가 경험한 데이터를 바로바로 학습에 사용하는 경우, 학습
데이터가 시간적인 연속성을 가지게 되어 학습 성능에 부정적인 영향을 줄 수 있다. 예를 들어, 최근에 수집된 데이터가 특정한 좋지 않은 상황에서 얻어진 것이라면, 에이전트는
그와 같은 상태만 반복해서 학습하게 되어 오히려 성능이 저하될 수 있다.
이러한 문제를 해결하기 위해 등장한 것이 바로 '리플레이 메모리(Replay Memory)'이다. 리플레이 메모리는 학습 데이터를
저장해두었다가, 일정 시간이 지난 후 무작위로 다시 추출하여 사용하는 방식이다. 이를 통해 데이터 간의 시간적 상관관계를 제거하고, 더 일반화된
학습이 가능하도록 돕는다.
리플레이 메모리를 활용한 학습 과정은 크게 두 단계로 나뉜다. 첫
번째는 리플레이 메모리 생성 단계이며, 이때는 모델을 학습하지 않고 에이전트를 실행시켜 데이터를 수집하는
데에 집중한다. 이 과정에서 수집되는 데이터는 상태(state), 행동(action), 보상(reward), 다음 상태(new state)로 구성되어 있으며, 리플레이 메모리에 저장된다.
두 번째 단계는 저장된 리플레이 메모리에서 데이터를 무작위로 추출하여 인공신경망 모델을 학습하는 과정이다. 이 단계에서는 시간에 따라 연속적으로 쌓인 데이터를 그대로 사용하는 것이 아니라, 기억된 경험 중에서 임의로 샘플링하여 학습하기 때문에 시간적인 종속성이 사라지고, 보다 안정적이고 일반화된 학습이 가능해진다.
리플레이 메모리에는 최대 저장 용량이 정해져 있으며, 이 용량을 초과하면
가장 오래된 데이터부터 삭제된다. 이렇게 하면 최근 데이터와 과거 데이터를 적절히 혼합하여 사용할 수
있게 된다.
결국 리플레이 메모리는 데이터의 다양성을 높이고, 시간적 편향을 줄이며, 에이전트가 더 균형 잡힌 학습을 할 수 있도록 돕는 핵심 요소라 할 수 있다.