logo

[강화학습] DQN의 심화

 

경험 리플레이(Experience Replay)

경험 리플레이는 강화학습에서 에이전트가 환경과 상호작용하며 얻은 경험(상태, 행동, 보상, 다음 상태)을 메모리에 저장하고, 학습 시점에서 이 메모리를 기반으로 랜덤하게 샘플링하여 학습에 사용하는 기법을 의미합니다.

강화학습에서는 일반적으로 에이전트가 연속된 결정을 내리면서 학습하게 됩니다. 이 과정에서 연속된 경험은 상호 연관성이 높아 직접적인 학습에 사용하게 될 경우, 학습의 효율성과 안정성이 떨어지는 문제가 발생합니다. 경험 리플레이는 이러한 문제를 해결하기 위해 제안되었으며, 무작위 샘플링을 통해 얻은 다양한 경험을 학습에 사용함으로써 시간적 연관성을 약화시키고 다양성을 강화하는 원리를 가지고 있습니다.

장점:

  • 샘플 효율성의 증가: 각 경험이 여러 번 재사용될 수 있기 때문에, 같은 환경에서 더 적은 수의 에피소드로도 유의미한 학습이 가능하여 샘플 효율성이 증가합니다.
  • 학습의 안정성 개선: 무작위 샘플링을 통해 얻은 다양한 경험을 학습에 사용함으로써 연속적인 경험에 의한 부정적인 영향을 줄이고, 학습 과정의 분산을 감소시켜 전체적인 학습 안정성을 향상시킵니다.
  • 비시차원 데이터 처리의 유리함: 강화학습에서 관찰되는 환경은 비시차원적이고 고차원적인 특성을 가질 수 있습니다. 경험 리플레이를 사용하면 이러한 다양한 상황을 메모리에 저장하고 이를 통해 학습함으로써 모델이 더 일반화된 결정을 내릴 수 있게 합니다.
 

고정 Q-타겟(Fixed Q-Targets)

고정 Q-타겟은 Q-학습 알고리즘에서 타겟 Q 값(예상되는 최적의 미래 보상 값)을 계산할 때, 매 업데이트마다 변하는 Q 값이 아닌, 일정 기간 동안 고정된 Q 값을 사용하는 방법입니다. 이를 통해 학습 중 타겟 값의 변동성을 줄이고 안정성을 높입니다.

강화학습에서는 타겟 값과 예측 값의 차이를 최소화하는 방향으로 학습이 진행됩니다. 하지만 타겟 값이 지속적으로 변하게 되면 학습이 불안정해지고 수렴 속도가 느려질 수 있습니다. 고정 Q-타겟은 이러한 문제를 해결하기 위해 도입되었습니다. 일정 기간 동안 Q-타겟 값을 고정함으로써, 학습 중인 파라미터 변화에 상대적으로 안정적인 기준을 제공합니다.

장점:

  • 타겟 값의 안정화: 타겟 값이 일정 기간 고정되어 있기 때문에 학습 과정에서의 타겟 값의 변동성이 줄어들어, 모델 학습이 보다 안정적으로 이루어집니다.
  • 학습 과정의 수렴 속도 향상: 타겟 값의 안정화는 언급한 것처럼 학습 과정의 분산을 줄여주기 때문에, 전반적인 학습 과정의 수렴 속도가 향상됩니다.
 

더블 DQN(Double DQN)

더블 DQN은 기존 DQN에서 발생하는 과대평가(overestimation) 문제를 해결하기 위해 제안된 알고리즘입니다. 과대평가 문제는 DQN이 최적의 행동 가치 함수를 추정하는 과정에서 특정 상태에서의 최대 보상을 과대 평가하게 되는 현상을 의미합니다. 더블 DQN은 이를 해결하기 위해 Q 값을 업데이트하는 과정에서 두 개의 네트워크를 사용합니다.

기존 DQN은 단일 네트워크를 사용해 최대 Q 값을 예측하고 업데이트합니다. 반면, 더블 DQN은 두 개의 네트워크를 사용하는데, 하나는 현재의 Q 값을 선택하는데 사용되고, 다른 하나는 타겟 Q 값을 계산하는데 사용됩니다. 이러한 분리는 과대평가 문제를 감소시키는 데 도움을 줍니다.

더블 DQN은 DQN의 과대평가 문제를 해결하고자 합니다. 특히, 특정 상황에서 최적이 아닌 행동이 과대 평가되어 선택되는 문제를 줄임으로써 모델의 전반적인 성능을 향상시키고자 합니다.

 

듀얼링 DQN(Dueling DQN)

듀얼링 DQN은 강화학습에서의 의사 결정 과정을 더 잘 모델링하기 위해 제안된 알고리즘입니다. 이는 주어진 상태에서 행동의 가치와 그 상태 자체의 가치를 별개로 추정하여, 이 두 가치의 차이를 사용해 어떤 상태에서 어떤 행동을 할지 결정합니다. 듀얼링 DQN은 이러한 구조적 차이를 통해 특정 상황에서 행동의 가치를 더 정확하게 평가할 수 있습니다.

듀얼링 DQN은 기존 DQN과 달리, 네트워크의 마지막 부분에서 두 개의 별도의 스트림(stream)으로 나뉘어집니다. 하나는 상태 가치 함수 V(s)V(s)를 추정하기 위한 것이고, 다른 하나는 행동 가치 함수 A(a)A(a)를 추정하기 위한 것입니다. 이 두 스트림은 최종적으로 합쳐져서 Q 값을 계산하는데, 이 구조를 통해 각 상태의 전반적인 가치와 각 행동의 상대적 가치를 더 명확하게 분리하여 평가할 수 있습니다.

듀얼링 DQN은 특정 상황에서 행동을 선택할 때, 상태 자체의 가치와 각 행동의 추가적인 가치를 더 명확하게 평가할 수 있게 합니다. 이는 특히 의사결정이 중요한 상황에서 모델이 더 합리적인 선택을 할 수 있게 도와줍니다. 예를 들어, 특정 상황에서 어떤 특별한 행동을 취하는 것보다 현재 상태를 유지하는 것이 더 가치가 있다고 판단될 때, 듀얼링 DQN은 이러한 결정을 더 정확하게 지원할 수 있습니다.

Previous
심층 Q-네트워크(DQN)