brunch

You can make anything
by writing

C.S.Lewis

by 디이프 Jul 08. 2024

강화학습(Reinforcement Learning)

강화학습(Reinforcement Learning)은 인공지능의 한 분야로, 에이전트(Agent)가 주어진 환경(Environment)에서 상호작용을 통해 최적의 행동 전략을 학습하는 과정을 말한다. 많이 활용되는 지도 학습과 비지도 학습은 이미 주어진 정적인 상태에서 학습을 진행했다면, 강화학습은 에이전트가 주어진 환경에서 어떤 행동을 취하고 이에 대한 보상(Reward)을 얻으면서 학습을 진행하는 특징을 가진다. 


예를 들어, 자율주행차가 가속, 감속, 좌회전, 우회전 등의 액션을 취했을 때, 목적지에 도착하면 +100점을 주거나 신호를 지키면 +10점을 주는 식의 보상을 통해 보상이 최대화되는 방향으로 행동을 선택하는 정책을 학습하는 방법이 강화학습이라고 할 수 있다. 


이는 마르코프 결정 과정(Markov Decision Process, MDP)이라는 수학적 모델을 기반으로 하며, 상태(state), 행동(action), 보상(reward), 정책(policy), 그리고 가치 함수(value function)로 구성된다. 이들 요소의 역할은 다음과 같다:


1. 상태 (State): 에이전트가 현재 위치하고 있는 환경의 상황을 나타낸다. 이는 에이전트가 의사 결정을 내리는 데 필요한 모든 정보를 포함한다. 예를 들어, 체스 게임에서는 현재 체스판의 모든 말의 위치가 상태가 된다. 


2. 행동 (Action): 에이전트가 취할 수 있는 모든 가능한 행동을 의미한다. 각 행동은 에이전트가 현재 상태에서 취할 수 있는 결정으로, 예를 들어 자율주행차의 경우 가속, 감속, 좌회전, 우회전 등이 된다. 


3. 보상 (Reward): 에이전트가 특정 행동을 취한 후 환경으로부터 받는 피드백을 의미한다. 보상은 긍정적일 수도, 부정적일 수도 있으며, 에이전트는 보상을 최대화하기 위해 행동을 학습한다. 예를 들어, 목적지에 도착하면 +100점을 주거나 신호를 지키면 +10점을 주는 식이다. 


4. 정책 (Policy): 에이전트가 특정 상태에서 어떤 행동을 취할지를 결정하는 전략이다. 정책은 결정 규칙으로, 상태를 입력받아 행동을 출력하는 함수로 볼 수 있다. 정책은 확률적일 수도 있고 결정적일 수도 있다. 


5. 가치 함수 (Value Function): 특정 상태 또는 상태-행동 쌍의 가치를 나타내는 함수이다. 가치 함수는 해당 상태에 있는 것이 얼마나 좋은지, 또는 특정 행동을 취했을 때의 기대되는 장기적인 보상을 평가한다. 가치 함수는 에이전트가 최적의 정책을 학습하는 데 중요한 역할을 한다.


그림 1. 강화학습 개념과 설명

강화학습은 에이전트가 환경과 상호작용을 하며 최적의 행동을 찾아가는 과정에서 보상 신호를 통해 학습을 진행한다. 이 과정에서 에이전트는 장기적인 보상 최대화를 목표로 하는데, 이를 위해 단기적인 보상을 포기하고 더 큰 장기적 보상을 추구하는 전략을 선택할 수도 있다. 이러한 학습 과정은 탐색(exploration)과 이용(exploitation) 간의 균형을 맞추는 것이 핵심이다. 탐색은 새로운 행동을 시도하는 과정이고, 이용은 이미 학습된 행동을 사용하는 과정이다. 이를 해결하기 위해 다양한 전략들이 연구되고 있으며, 대표적인 방법으로는 ε-탐욕(ε-greedy) 방법과 근사함수(approximation functions)를 사용하는 방법 등이 있다.


강화학습 알고리즘에는 다양한 종류가 있으며, 그중 대표적인 두 가지는 정책 기반 방법(Policy-based methods)과 가치 기반 방법(Value-based methods)이다. 정책 기반 방법은 에이전트가 취할 행동을 직접적으로 학습하는 반면, 가치 기반 방법은 각 상태의 가치를 평가하여 최적의 행동을 간접적으로 결정한다.


최근에는 이 두 접근법을 결합한 Actor-Critic 방법이 주목받고 있다. 이 방법은 정책을 담당하는 Actor와 가치를 담당하는 Critic으로 구성되어, 정책과 가치를 동시에 학습함으로써 두 방법의 장점을 모두 취하는 방식이다. Actor-Critic 방법은 높은 안정성과 효율성을 제공하여 다양한 복잡한 문제들에 효과적으로 적용될 수 있다. 


또한, 심층 강화학습(Deep Reinforcement Learning)은 강화학습과 심층 신경망을 결합한 형태로, 복잡한 고차원 상태 공간에서도 강력한 성능을 발휘한다. 대표적인 예로, 딥마인드의 DQN(Deep Q-Network)이 있으며, 이는 심층 신경망을 통해 Q-러닝을 확장하여 고차원 상태 공간에서도 효과적으로 학습할 수 있게 한다.


그림 2. DQN 아키텍처

디이프에서도 이러한 강화학습 기반의 식단 생성 모델을 활용하여 다양한 서비스에 적용하고 있다. 현재 적용된 식단 생성 모델은 Teaching-Focused Reinforcement(TFR)을 활용하여, 식단을 생성하고 생성된 식단의 영양 품질을 보상으로 하여 최적의 식단을 생성한다는 기술적 특징을 가지고 있다. 예를 들어, 주요 영양소들의 하루 권장섭취량(Reference Daily Intake)을 만족하는 식단에 높은 보상을 주고, 충족되지 않은 식단에는 낮은 보상을 주는 방식이다. 또한, 식단 생성을 위해 LSTM(Long Short-Term Memory) 네트워크를 이용하여 식단을 생성하며, 이를 통해 영양학적으로 우수한 식단을 자동으로 생성할 수 있다.


그림3. 강화학습 기반 식단 생성 모델과 활용 서비스

식단 생성 모델이 적용된 서비스(ABC diet)는 병원과 협업하여 알레르기 환아들에게 적합한 식단을 제공하는 데 활용되고 있다. 알레르기 환아들의 개별적인 영양 요구와 알레르기 유발 물질을 고려하여 맞춤형 식단을 제공함으로써, 환아들의 건강 관리에 큰 도움을 주고 있다. 이러한 맞춤형 식단 제공 시스템은 환아들의 식생활을 개선하고, 병원에서의 식단 관리 업무를 효율적으로 수행할 수 있게 도와준다.


그림 4. 강화학습 기반의 식단 생성 서비스(ABC diet)

이처럼, 강화학습은 다양한 응용 분야에서 활발히 활용되고 있다. 자율주행차 외에도 게임 인공지능, 로봇 제어, 금융 거래, 추천 시스템 등 여러 분야에서 그 가능성을 보여주고 있다. 강화학습은 단순한 알고리즘 이상의 복잡하고 다차원적인 문제들을 다루고 있으며, 인공지능 연구의 중요한 축으로 자리 잡고 있다. 이처럼 강화학습의 지속적인 발전은 인공지능 발전에 중요한 역할을 하며, 지속적인 관심과 연구가 필요하다.



Reference

https://davinci-ai.tistory.com/31

https://joungheekim.github.io/2020/12/06/code-review/

Lee, C., Kim, S., Lim, C., Kim, J., Kim, Y. and Jung, M., "Diet Planning with Machine Learning: Teacher-forced REINFORCE for Composition Compliance with Nutrition Enhancement," 27th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, August 14 - 18, 2021.


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari