강화학습 (Reinforcement Learning)


강화학습(reinforcement learning)은 에이전트가 주어진 환경에서 최적의 행동을 할 수 있도록 학습하는 머신러닝 기법의 한 분야이다. 여기서 에이전트는 환경과 상호작용하며 목표를 달성하기 위해 최적의 의사결정을 내리는 주체를 의미한다. 예를 들어, 슈퍼마리오 게임에서는 슈퍼마리오,” 스타크래프트 게임에서는 "마린," 반도체 공정에서는 "로봇팔," 자율주행자동차에서는 "자동차"가 에이전트의 역할을 한다.


강화학습은 위에서 정의한 에이전트 외 환경(environment), 상태(state), 행동(action), 보상(reward)의 주요 구성 요소로 이루어진다. 환경은 에이전트의 행동에 반응하여 보상과 새로운 상태를 제공하는 외부 시스템으로 슈퍼마리오의 경우 슈퍼마리오 게임 자체가 환경이며 플레이하고 있는 게임 속 화면은 상태가 된다. 이 때 에이전트는 현재 상태를 바탕으로 행동을 선택하며, 그 결과로 환경에서 보상을 받는다. 보상은 에이전트가 행한 현재 행동이 얼마나 좋은지를 나타내는 정량화된 지표이며, 이를 기반으로 에이전트는 미래에 더 나은 행동을 선택하기 위해 학습한다.


강화학습의 핵심은 에이전트가 환경과 반복적으로 상호작용하며, 그 과정에서 얻는 보상을 통해 행동 방식을 학습하는 것이다. 좀 더 구체적으로 설명하면, 에이전트는 한 에피소드 내 각 행동으로부터 받는 보상의 합(리턴)을 최대화하기 위해 행동 전략을 지속적으로 개선하며, 이는 궁극적으로 더 나은 결정을 내리는 방향으로 이어진다.

* 에피소드: 에이전트가 처음 상태에서 최종 상태까지 도달할 때까지의 과정

따라서 강화학습의 궁극적인 목표는 에이전트가 시간에 따라 누적되는 총 보상을 최대화하는 정책(policy)을 찾는 것이다. 정책은 주어진 상태에서 어떤 행동을 선택할지 정해주는 규칙이나 함수로 정의되며, 에이전트는 반복적인 탐험(exploration)과 활용(exploitation)을 통해 이 정책을 점진적으로 개선해 나간다. 탐험은 새로운 행동을 시도해 환경에 대한 지식을 넓히는 과정으로 학습 초반에 주로 사용되며, 활용은 이미 학습한 정책을 바탕으로 최적이라고 판단되는 행동을 선택하는 과정으로 학습 후반에 사용된다. 만약 탐험에 너무 많은 비중을 두면 최적의 정책을 찾는 것이 늦어질 수 있고, 활용에 너무 많은 비중을 두면 최적의 정책을 찾지 못할 수도 있다. 이 두 과정의 균형을 적절히 유지하는 것이 강화학습의 중요한 문제 중 하나다.


강화학습은 기본적으로 마르코프 의사결정 과정(Markov decision process, MDP)을 기반으로 한다. MDP는 상태, 행동, 상태 전이 확률, 보상 함수로 구성되며, 강화학습 알고리즘은 이를 활용해 최적의 정책을 학습한다. MDP는 거창한 것 같아도 t시점의 상태는 바로 이전 시점인 t-1 상태에 의해서만 결정된다는 마르코프 특성만 알면 된다. , 많은 책이나 자료에서 MDP라는 용어를 수식과 함께 거창하게 써서 흐름을 방해하는데 여기에 매몰되지 말고 가볍게 지나가길 권한다.


강화학습 방법론은 우선 각 상태에 따른 가치를 테이블(table)형태로 표현한 방법론과 상태와 가치의 관계를 설명할 수 있는 함수(모델)형태로 구현한 방법론으로 나눌 수 있다. 테이블 형태의 강화학습은 각 상태에 따른 가치를 이산적으로 매칭하기 때문에 상태의 개수가 소수일 때는 가능하지만 게임 포함 대부분의 환경에서는 불가능하다. 따라서 모델 형태의 강화학습에 초점을 맞추면 된다. 여기서 사용되는 모델은 최근에는 주로 딥러닝(CNN ) 모델이 사용되며 이를 심층 강화학습이라고 부른다.


심층 강화학습 방법론은 크게 ①가치 기반(value-based) 방법, ②정책 기반(policy-based) 방법, ③하이브리드 방법론인 actor-critic으로 나눌 수 있다. ①가치 기반 방법은 현재 상태에서 선택할 수 있는 행동의 실제 가치를 추정할 수 있는 가치함수 값과 정답 가치 값과의 차이를 줄이는 방향으로 가치함수를 학습한다. 이 때 정책함수는 가치함수를 통해 현재 상황에서 더 높은 가치를 받을 수 있는 행동을 선택하는 규칙에 해당하기 때문에 학습 과정이 필요 없다. 다만 가치 기반 방법은 정책함수가 주어진 행동 중에서 선택하는 문제이기 때문에 행동 공간이 이산적인 경우에만 사용할 수 있다는 제약이 있다. 대표적인 알고리즘은 deep Q-network(DQN), Rainbow 등이 있다. ②정책 기반 방법은 누적 보상이 최대화되는 방향으로 정책함수를 직접 학습한다 (가치함수 사용하지 않음). 이 때 정책함수가 직접 행동 값을 출력할 수 있기 때문에 연속적 행동 공간에서도 효과적이다. 이는 위에서 언급한 가치 기반 방법론의 한계인 고차원 행동 공간 문제(행동 경우가 수가 많음)를 해결할 수 있다. 대표적인 알고리즘은 REINFORCE가 있다. Actor-critic 방법론은 정책(actor)과 가치(critic)을 모두 활용함으로써 학습 효율성과 안정성을 동시에 추구하며, 대표적인 알고리즘으로는 DDPG, TD3, PPO, SAC 등이 있다. Actor 함수는 상태가 주어졌을 때 가장 적합한 행동을 선택하며, critic 함수는 선택된 행동에 대한 가치를 평가한다. 이전에 설명한 정책 기반 방법에서 정책함수는 누적 보상을 최대화하는 방향으로 학습이 수행되었다. 하지만 에피소드마다 누적 보상의 분산이 클 수 있어 학습이 불안정한 경향이 있다. 따라서 critic 함수를 사용하여 에이전트가 선택한 행동의 상대적인 가치(속한 상태에서 얻을 수 있는 행동 가치의 평균보다 얼마나 더 혹은 덜 한지)를 최대화함으로써 보다 분산을 줄이고 안정적으로 학습을 수행한다. 따라서 궁극적으로 에이전트가 얻을 수 있는 가치가 최대가 될 수 있도록 학습한다. Actor critic 함수를 학습하는데에도 역시 딥러닝 모델이 사용된다. 강화학습에 관심이 있는 분들은 위 3가지 방법론들(가치 기반, 정책 기반, actor-critic 기반)을 공부하면 된다


최근에는 표현 학습이나 생성형 모델과 같이 다양한 딥러닝 분야가 발전하면서 심층 강화학습에 이를 적용하려는 시도가 많이 진행되고 있다. 특히 기존 강화학습에서 한계점으로 지적되었던 부분들을 개선하려는 연구가 활발하게 진행되고 있다. 대표적으로 ①Sample efficient 강화학습과 ②offline 강화학습이 있다. Sample efficient 강화학습은 에이전트가 더 적은 상호작용으로 최적의 정책을 찾기 위한 연구이다. 강화학습은 환경과의 상호작용을 통해서 데이터를 수집하고 학습하기 때문에 더 적은 상호작용은 곧 sample efficient와 동일하다. 이를 달성하는 방법은 다양하다. 탐험의 관점에서 볼 때 에이전트가 중복되는 상태를 방문하는 걸 피하고 최대한 생소한 상태를 가도록 별도의 보상을 추가로 지급할 수도 있다. 대표적인 알고리즘으로는 ICM, RND 등이 있다. 표현학습의 관점에서 볼 때는 (특히 상태를 이미지로 받을 때) 에이전트가 환경에서 상호작용할 수 있는 객체를 파악하거나 처음보는 상태라도 기존에 경험한 상태와 비슷한 맥락이라면 이를 잘 인지하는 것이 중요하다. 따라서 자기지도학습 등을 결합하여 에이전트의 표현학습을 보다 효율적으로 수행하고 sample efficient를 달성할 수 있다. 대표적인 알고리즘으로는 CURL, DrQ, SPR 등이 있다. 더 나아가 가장 최근에는 diffusion이나 GAN과 같은 생성형 모델을 사용하여 수집된 데이터를 학습하고 생성하여 적은 상호작용으로도 충분한 데이터를 학습하려는 연구도 진행되었다. 대표적인 알고리즘으로는 synthetic experience replay (SynthER), prioritized generative replay (PGR) 등이 있다. Offline 강화학습은 전통적인 강화학습이 실제 환경과 직접 상호작용을 하거나 실제 환경을 모사한 신뢰성 있는 시뮬레이터가 존재해야 에이전트 학습을 수행할 수 있다는 한계점을 극복하기 위해서 만들어졌다. 따라서 환경과의 상호작용 없이 기존에 수집된 데이터로만 에이전트 학습을 진행한다. 다만, 상호작용이 없기 때문에 에이전트가 얻을 수 있는 경험에 한계가 있고 이에 따른 문제점이 존재한다. 수집된 데이터로만 훈련된 에이전트가 실제 환경에 적용이 된다면 경험하지 못한 상태를 마주할 수도 있다. 이 때 정책은 전혀 엉뚱한 행동을 취할 수 있고 경우에 따라서 위험한 결과를 초래할 수도 있다. 이에 따라 최근 offline 강화학습은 에이전트가 학습된 경험 내에서만 존재할 수 있도록 정책을 학습하는데 초점을 맞추고 있다. 대표적인 알고리즘으로는 CQL, decision transformer, IQL 등이 있다.


현재까지는 하나의 에이전트를 다루는 강화학습 방법론(single agent RL)을 설명하였다. 이와는 별개로 여러 에이전트를 다루는 강화학습 방법론(multi agent RL)도 존재한다. 기본적인 강화학습의 개념들은 동일하게 적용되지만 여러 에이전트가 하나의 환경에 존재하면서 발생하는 추가적인 문제점들을 해결할 필요가 있다. 우선 여러 에이전트가 동시에 움직이기 때문에 각 에이전트가 판단할 상태가 고정되어 있지 않아서 최적의 행동을 선택하기가 훨씬 어려워진다. 또한 에이전트 들이 협업하는 환경에서는 하나의 보상이 주어졌을 때 각 에이전트가 얼마나 기여했는지를 평가하기가 어렵기 때문에 최적의 정책을 찾는데 어려움이 있다. 이는 마치 축구에서 골을 넣었을 때 각 선수들이 얼마나 득점에 기여했는지 평가하기 어려운 것과 같다. 앞선 문제들을 해결하기 위해 학습 시에는 전체 에이전트 정보를 사용하되 행동은 각자 독립적으로 하는 프레임워크(centralized training with decentralized execution), 특정 에이전트의 행동을 임의로 변경했을 때 발생하는 보상의 변화로 기여도를 측정하는 알고리즘(counterfactual multi agent policy gradient) 등이 연구되고 있다. Multi agent RL에 관심이 있다면 해당 내용을 먼저 살펴보는 것도 좋다.


강화학습은 게임 AI, 로봇 제어, 자율주행, 재무 전략, 추천 시스템 등 다양한 분야에서 응용되고 있다. 특히, 복잡한 환경에서의 의사결정을 학습하고, 인간 전문가의 도움 없이도 독립적으로 문제를 해결할 수 있는 잠재력으로 인해 많은 주목을 받고 있다.


Seoung Bum Kim. All Rights Reserved. No part of this document may be cited or reproduced without permission.