Data & AI

복잡한 시장 상태 분포 정복 (Continual Learning method via Diffusion-based Dual Generative Replay for Offline RL)

JeTech 2024. 6. 21. 17:06
반응형

안녕하세요

 

오늘은 강화학습 주제로 글을 적어보려고 합니다.

 

논문의 제목은 Continual Offline Reinforcement Learning via Diffusion-based Dual Generative Replay으로 다소 긴데

 

CuGRO라고 명칭하고 있습니다.

 

이 논문은 오프라인 강화학습에서

 

연속적인 오프라인 학습에서 이전 학습에 대한 지식을 유지하고

 

Forward Transfer, Catastrophic Forgetting문제를 해결하기 위한 방법론을 제시하고 있습니다.

 

강화학습

강화학습은 제가 주로 연구하는 주제라서 어쩌면 잘 알고계실 수 있는데요

 

강화학습은 에이전트가 환경과 상호작용하며 보상을 최대화 하는 행동을 학습하는 방법론입니다.

 

에이전트는 특정 상태에서 행동을 선택하고 이에 따른 보상을 받습니다.

 

목표는 주어진 환경에서 최대 보상을 얻는 최적의 정책(Policy)을 찾는 것입니다.

 

생각해 보면 강화학습이 트레이딩을 정복할 수 있는 도구가 될 것 같다는 생각이 본능적으로 들겠지만

 

알파고같이 널리 알려진 강화학습 AI들의 학습 방법으로는 트레이딩 모델을 학습시키기 매우 어렵습니다.

 

강화학습은 내가 정복하려는 환경(우리의 경우는 시장)과 즉각적인 상호작용이 필요합니다.

 

모델이 이런 행동, 저런 행동을 해보면서 환경이 나에게 주는 상태가 어떻게 변하는지 파악하면서 성장합니다.

 

하지만 트레이딩의 영역에선 조금 다릅니다.

 

내 모델이 매수나 매도를 한다고 시장이 나에게 주는 상태값이 의미 있게 변동되지 않습니다.

 

그래서 내가 행동하면서 상태가 어떻게 전이될지에 대한 상태전이함수를 학습하는 건 무의미하다는 것입니다.

 

강화학습의 핵심 중 하나인 벨만방정식 자체가 성립되지 않는 환경이 트레이딩입니다.

 

그럼에도 제가 강화학습에 대한 논문을 계속 읽고 트레이딩이라는 주제로 연구를 하는 이유는

 

행동에 따른 상태전이 함수는 학습이 불가능하지만

 

환경의 상태전이분포를 기반으로 행동하는 건 가능하기 때문입니다.

 

쉽게 말하면 1%의 확률이라도 높은 예측모델을 만들고 그 모델에 기반해 행동하는 AI를 만들고 있습니다.

 

 

강화학습의 원리를 수식으로 나타내면 위와 같습니다. 논문에서도 설명하고 있는 부분인데요

 

Rho Pi of S는 정책 Pi에 따른 환경이 주는 상태의 분포를 의미하고

 

Pi of a given s의 경우 정책함수에 기반해서 상태 s에 대해 행동 a를 취할 확률을 나타내고

 

Q pi of s and a의 경우 정책에 대한 가치함수로 상태 s에 a라는 행동을 하면서 기대 보상을 나타냅니다.

 

각 식에 필요한 값들을 설명했고 이제 각 요소들을 최종 보상값이 최대가 되도록 학습하는 과정이 강화학습입니다.

 

널리 알려진 강화학습들은 Q-Learning, Policy Gradient처럼

 

행동가치함수나 정책함수를 근사화하는 방법을 많이 시도합니다.

 

하지만 트레이딩은 말했듯 행동에 따라 상태가 변한다기보다

 

상태의 분포자체가 유기적인 생명과 같기에 저런 함수들을 근사하는 것보단

 

시장참여자들의 군중심리 이해를 위해 심리학책을 보는 게 나을 수 있습니다.

 

트레이딩환경은 우리의 행동에 상태가 변하지 않기 때문에 우리가 정책함수, 가치함수는 정복할 순 없지만

 

다루지 않았던 수식의 Rho pi of s

 

즉 시장 환경의 상태변수에 대한 분포를 조금이라도 이해하면

 

그에 따른 상태 예측과 행동을 수행하는 에이전트를 만들 수 있습니다.

 

 

Dual Generator using Diffusion Model

Offline RL에서 중요한 것은 Continual Learning입니다.

 

즉, 초기에 접한 데이터뿐 아니라, 마지막에 본 데이터에 대한 올바른 행동도 학습할 수 있어야 합니다.

 

하지만 논문에서는 대부분의 정책함수들이 unimodal gaussian 형태라

 

다양한 상태-행동에 대한 올바른 정책을 표현할 수 없음을 이야기합니다.

 

결국 초기 학습한 데이터에 대해선 망각을 하는 "Catastrophic Forgetting" 현상이 발생되게 됩니다.

 

물론 DQN과 같이 상태-행동을 메모리 버퍼에 기록해 두면서 이런 이슈들을 극복해 왔지만

 

아주 넓은 상태분포공간의 환경이라면 메모리버퍼의 물리적 한계점도 있을 수 있습니다.

 

 

해당 모델은 Diffusion Model을 사용한 State Generator, Action(Behavior) Generator를 이용해서

 

환경의 과거 상태분포에 기반한 상태들과 행동데이터들을 만들어내고

 

이를 망각하지 않고 지속적으로 기억하도록 학습데이터에 지속적으로 섞어주는 방법을 제시합니다.

 

 

상태 생성 리플레이

새로운 작업 M_K에서 상태 생성 모델의 망각을 방지하기 위해

 

이전에 학습된 생성기  phi_{K-1}를 사용하여 이전 작업의 지식을 유지합니다.

 

새로운 상태 생성기  phi_K는 새로운 작업의 실제 상태 샘플과 이전 작업의 리플레이된 상태 샘플을 받습니다.

 

실제와 리플레이된 샘플은 새로운 작업과 이전 작업의 중요도에 따라 혼합됩니다.

 

상태 생성기는 실제 샘플과 이전 생성기에서 리플레이된 샘플의 혼합된 데이터 분포를 모방하도록 학습됩니다.

 

여기서  beta는 리플레이된 데이터의 비율을 나타냅니다.

 


행동 생성 리플레이

이후, 행동 생성 모델  mu_phi를 지속적으로 훈련하여 점점 확장되는 행동 패턴을 포함하도록 샘플을 리플레이하는 것이 중요합니다.

 

새로운 작업 M_K에서, 이전 작업의 상태 샘플을 학습된 상태 생성기  phi_{K-1}을 사용하여 얻고,

 

이 샘플을 현재 행동 생성기  phi_K의 응답과 쌍으로 만듭니다.

 

새로운 행동 생성기  phi_K는 새로운 작업의 실제 상태-행동 쌍과 이전 작업의 리플레이된 쌍을 받습니다.

 

이 모델은 다양한 작업의 행동 패턴을 지속적으로 학습하고 잊지 않도록 설계되었습니다.

 

 

 

Behavior Cloning

 

 

 

이전 섹션에서 두 생성 모델의 손실 함수를 다룬 후,

 

이제 행동 클로닝을 통해 멀티-헤드 크리틱 네트워크가 다양한 작업을 어떻게 다루는지 설명하겠습니다.


새로운 작업 M_K에서 각 작업별 Q-함수 Q^k_theta(s, a)를 갖는 멀티-헤드 크리틱 네트워크 theta를 사용합니다.

 

최신 오프라인 데이터셋에서 실제 샘플을 사용하여 K번째 Q-함수를 업데이트합니다.

 

이 과정에서 행동 클로닝 기법을 사용하여 이전 작업의 헤드에서 발생하는 망각을 완화합니다.

 

이전 작업의 상태-행동 쌍을 가상 샘플로 생성하고, 이를 전문가 데이터로 간주하여 행동 클로닝을 수행합니다.

벨만 타겟(Bellman target)은 강화 학습에서 상태-행동 값(Q-값)을 업데이트하기 위해 사용되는 기준 값입니다. 

 

이는 현재 상태에서의 보상과 미래 상태에서의 예상 최대 보상의 합으로 계산됩니다. 

 

벨만 타겟은 현재 상태에서의 Q-값과 비교하여 Q-함수를 업데이트하는 데 사용됩니다.

멀티-헤드 크리틱의 전체 손실 함수는 다음과 같은 항목으로 구성됩니다:

1. 새로운 지식을 통합하여 크리틱을 업데이트하는 항
2. 이전 출력과의 유사성을 유지하여 망각을 완화하는 항

이를 통해 크리틱은 과거 작업의 가장 관련성 높은 부분을 재사용하여 새로운 작업의 학습을 향상합니다.

 

 

 

종합정리 / 마무리

 

이 논문에서는 연속 오프라인 강화 학습을 위해 Diffusion Based Dual Generator / Multi-head Critic 등의 도구를 사용했습니다.

 

CuGRO는 상태 생성 모델과 행동 생성 모델을 통해 과거 데이터를 기반으로 새로운 작업을 효과적으로 학습합니다.

 

상태 생성 모델은 실제 샘플과 리플레이된 샘플을 혼합하여 학습하며,

 

행동 생성 모델은 behavior cloning 기법을 통해 다양한 작업의 행동 패턴을 지속적으로 학습합니다.

 

 

Multi-Head Critic 네트워크는 새로운 지식을 통합하고, 이전 작업의 중요한 부분을 재사용하여 새로운 작업의 학습을 향상시킵니다.

 

이를 통해 모델은 과거 작업을 잊지 않고 지속적으로 학습하며, 새로운 작업에도 유연하게 적응할 수 있습니다.

비록 이번 연구에서 벨만 타겟 등 기존 강화 학습의 핵심 개념을 트레이딩에서 적용하긴 어렵겠지만,

 

상태의 분포를 기반으로 데이터를 생성하고 이용하는 접근 방식의 장점을 다음 연구에서 활용해 볼 것입니다.

 

이러한 접근법은 새로운 데이터셋이 계속해서 등장하는 상황에서 점진적으로 다양해지는 행동을

 

효과적으로 모델링할 수 있는 가능성을 보여줍니다.

논문에서 설명된 바와 같이, 새로운 작업 K에서 상태 생성 모델은 

 

실제 상태 샘플과 리플레이된 상태 샘플을 혼합하여, 작업 식별자 k에 따라 이전 상태 분포를 모방합니다. 

 

이를 통해 상태 생성기는 혼합된 데이터 분포를 학습하고, 과거 작업의 상태 분포를 유지하면서 새로운 작업을 학습할 수 있습니다.

 

이러한 접근 방식은 상태 분포 기반의 데이터 생성을 통해 모델이 이전 작업의 중요한 정보를 잊지 않도록 하며,

 

새로운 작업에도 빠르게 적응할 수 있도록 돕습니다. 

 

기존에 소개드린 시계열 예측모델이나 트레이딩 에이전트들에 이런 상태분포 분석 모델을 연동하는 연구도 진행해 보도록 하겠습니다. 

 

6월이 마무리되고 올 한 해도 절반이 지나가고 있습니다. 

 

앞으로도 좋은 연구내용으로 찾아뵙도록 하겠습니다. 

 

감사합니다. 

반응형