[Research] 무선 네트워크에 강화학습을 적용하는 법

2022. 8. 21. 13:02

필자는 무선 네트워크 (5G, 6G) 기술에서 발생하는 high compleixty 문제를 해결하기 위한 심층 강화학습 연구를 수행하였다.

 

DNN, CNN 등의 다양한 딥러닝 기법들이 활용되었지만, 별도의 데이터 셋을 필요로 하지 않고, 원하는 objective function에 도달할 수 있다는 점에서 최근 다양한 강화 학습 기법들이 무선 네트워크에 적용되고 있다.

 

그러나, 실제 Mario, Atari, Cartpole 등의 강화 학습 예시를 살펴보면, 무선 네트워크의 environment와 다르므로 개발 및 연구하는 과정에서 큰 혼동이 생기기 마련이다.

 

이것만 기억하자. 대부분의 강화 학습은 {A, S, R, S'}로 구성된다.

 

실제로 모든 강화 학습은 위와 같은 Action, State, Reward, Next state로 구성되며, 필요에 의해 차원 수가 변화하거나, Discrete, Continous, Policy 등등이 다르게 설정된다.

 

이해를 돕기위해 실제 필자가 개발하였던  "Deep Reinforcement Learning-Based Power Allocation in Multi-Cell Massive MIMO" 시나리오를 가정한다.

 

첫 번쨰로 직면하는 문제는 'Action'을 무엇으로 정의할 것인가? 이다.

Action은 강화 학습 간 Agent가 수행할 수 있는 행동을 의미하며, 위의 시나리오라면 Power control을 위해서 Action은 power로 정의되는 것이 적합하다. 

 

다음은 State이며, 가장 정의하기 애매한 부분이다. 이때, 특정 논문에서는 Objective function을 넣기도하고, previous action 등을 넣기도 한다. State는 말 그대로, Agent가 특정 행동을 취했을 때, 관찰할 수 있는 상태를 의미하며, Observation space와 직결된다.

따라서, 우리가 Power allocation (Action)을 취했을 때, 할당을 위해 직접적으로 연관된 값을 넣어주는 것이 바람직하다. 따라서 필자의 경우, SINR, channel gain, objective function으로 구성하였다. SINR의 경우, 실제 power 뿐만 아니라 channel gain, interference 등을 포함하고 있기에, 전력 변화에 따라 다양한 observation을 제공할 수 있다.

 

Reward는 사용자가 지정하기 나름으로, 일반적으로 이전 혹은 최대 값과의 비교를 통해 positive reward를 부여하거나, 특정 조건에 따라 penalty를 부여하기 도한다.

필자의 경우, Objective function의 최대값을 목표로 하기때문에, 보상 역시 동일하게 action에 의한 objective function의 결괏값으로 처리하였다.

 

Next state는 직접적으로 구현하지 않아도, {S, A, R}에 의해서 agent가 동적으로 결정할 수 있으므로 우리가 고려할 문제가 아니다.

 

사실, 어떻게 정의하고, 어떻게 학습시킬지에 대한 정답은 없다. 다만 action은 우리가 특정 목표를 달성하기 위해 수행하는 행동으로 정의되고, state는 action에 의해 변화할 수 있는 다양한 observation 환경을 구축해주는 것이다. 

 

Cartpole과 같이 기본적인 예제이면서, 다양한 DRL 기법들이 적용가능한 env를 확인하면서, 다양한 접근 방법 및 학습 방법을 비교 분석하는것이 큰 도움이 될 것이다. 

 

특히 state의 개수와 각각의 state element를 어떻게 다루고 있는지, 그리고 보상은 threashold값 기준으로 처리하는지, action은 이산인지, 연속인지 등을 확인하고, 각 DRL 알고리즘이 적용됨에 따라 어떻게 모델을 구현하는지 확인다면, 무선 네트워크에 강화학습을 적용하는 문제도 조금은 쉽고 재미있게 느껴질 것이다.

 

BELATED ARTICLES

more