강화학습 소개
강화 학습(Reinforcement Learning, RL)은 본디 20세기 행동심리학에서 유래된 개념이다. 행동심리학자 스키너(B.F. Skinner)는 동물 실험을 통해 '강화(Reinforcement)'라는 개념을 처음 제시하였다. 이 개념은 이후 인공지능(AI) 분야에서 기계가 스스로 학습할 수 있도록 하는 중요한 학습 방법으로 발전하였다.
스키너의 강화 연구
행동심리학에는 시행착오(Trial and Error) 학습이라는 개념이 있다. 이는 동물들이 다양한 행동을 시도해 보면서 그 결과를 통해 학습하는 것을 의미한다. 스키너는 다음과 같은 쥐 실험을 통해 동물이 행동과 그 결과 사이의 관계를 학습하는 과정을 연구했다.
1. 굶긴 쥐를 지렛대가 있는 상자(Skinner Box)에 넣는다.
2. 상자 안의 지렛대를 누르면 먹이가 나오게 된다.
3. 쥐는 '우연히' 지렛대를 누르게 되나, 해당 시점에서는 지렛대와 먹이 사이의 관계를 알지 못한다.
4. 그러다 다시 지렛대를 눌러 먹이를 얻게 될 경우, 먹이와 지렛대 사이의 관계를 알게 되고 점점 더 자주 누르게 된다.
5. 이 과정의 반복을 통해, 쥐는 '지렛대를 누르면 먹이가 나온다'라는 사실을 학습하게 된다.
위 실험에서 쥐는 시행착오를 통해 '지렛대를 누르면 먹이가 나온다'라는 사실을 학습하였다. 스키너는 이러한 학습 과정을 통해 보상이 주어질 때 특정 행동이 강화된다는 사실을 발견했다. 이는 강화 학습의 핵심 원리로, 보상을 통해 특정 행동의 빈도를 증가시키는 것이다. 강화는 크게 두 가지로 나뉜다.
- 정적 강화 (Positive Reinforcement): 원하는 행동 후 긍정적인 보상을 제공해 해당 행동의 빈도를 증가시키는 방법.
- 부적 강화 (Negative Reinforcement): 불쾌한 자극을 제거함으로써 행동의 빈도를 증가시키는 방법.
스키너의 연구는 강화 학습의 기본 원리인 보상을 통한 학습의 중요성을 시사했다. 강화 학습에서는 에이전트가 보상을 최대화하는 방향으로 행동을 학습하며, 이는 스키너의 강화 개념과 밀접하게 연관된다.
강화 학습과 에이전트
일반적으로 머신러닝은 크게 지도 학습(Supervised Learning), 비지도 학습(Unsupervised Learning), 강화 학습(Reinforcement Learning)의 세 가지로 나뉜다. 지도 학습은 정답 레이블이 있는 데이터를 이용해 학습하고, 비지도 학습은 레이블이 없는 데이터를 통해 패턴을 발견한다.
반면, 강화 학습은 'Good or Not'을 나타내는 보상(Reward)을 바탕으로 다음 액션을 어떻게 선택하면 좋을지를 학습하게 된다. 이때 보상이란 에이전트가 환경에서 특정 행동을 수행했을 때 받는 신호로, 긍정적인 보상(양수)과 부정적인 보상(음수)이 모두 존재하며 총 보상의 합이 최대가 되도록 학습하게 된다.

강화학습의 대상이 되는 존재를 에이전트(Agent)라고 하는데, 에이전트란 강화학습을 통해 스스로 학습하는 주체를 의미하며, 에이전트를 둘러싼 환경(Environment)와 상호작용하며 학습을 진행한다. 여기서 에이전트가 환경에서의 행동 방침을 정하는 것을 정책(Policy)이라고 한다. 정책은 특정 상태(State)에서 어떤 행동(Action)을 선택할지를 결정하는 전략으로, 이를 수식으로 표현하면 다음과 같다.
π(a|s)=P(At=a|St=s)
위 식에서 π(a|s)는 상태 s에서 행동 a를 선택할 확률을 의미한다. 정책은 결정론적(Deterministic)일 수도 있고, 확률적(Statistical)일 수도 있다.
💡 정책이 Deterministic 하다는 것은? ⇒ 특정 State에서 선택하는 Action이 항상 동일한 것 (a=π(s))
강화 학습의 목적은 총 보상의 기대치를 최대화하는 최적 정책(Optimal Policy)을 학습하는 것이다. 하지만 복잡한 환경에서는 정책을 직접 찾기가 어렵기 때문에, 대신 가치함수(Value Function)를 이용해 간접적으로 정책을 찾는다.
가치함수는 상태-행동 쌍에서의 기대 보상(Expected Reward)을 평가하는 함수로, 크게 상태 가치함수(State Value Function, V(s))와 행동 가치함수(Action Value Function, Q(s,a))로 나뉜다.
상태 가치함수는 특정 상태 s에서 시작했을 때 기대되는 총 보상의 합을 의미하며, 미래 보상의 가치를 결정하는 할인율(Discount Factor) γ이라는 개념이 포함된다.
V(s)=E[∞∑t=0γtRt|S0=s]
행동 가치함수는 상태 s에서 특정 행동 a를 선택했을 때 기대되는 총 보상의 합을 의미한다.
Q(s,a)=E[∞∑t=0γtRt|S0=s,A0=a]
이러한 가치함수를 통해 최적 정책을 찾는 방법 중 대표적인 방법이 바로 Q-러닝이다. 추후 글로 작성할 예정이지만 간단하게만 설명하자면, Q-러닝에서는 Q 함수를 반복적으로 업데이트하여 최적 정책을 유도하고 Q 값이 가장 높은 행동을 선택(argmax)함으로써 최적 정책을 학습해 나간다.
Explore & Exploit
에이전트는 다음 새로운 행동을 시도해 보며 데이터를 수집하는 탐색(Exploration)과, 기존의 경험을 활용해 높은 보상을 얻는 방향으로 행동하는 활용(Exploitation)을 적절한 비율로 사용하여 학습을 진행한다.
강화 학습에서는 이 두 가지를 균형 있게 관리하는 것이 중요하다. 만약 에이전트가 활용 없이 탐색만 한다면, 그 상황은 랜덤 선택에 가까워 학습이 되지 않을 것이고, 반대로 활용만 하면 국지 최적해(Local Optimum)에 빠질 수 있기 때문이다. 이를 해결하기 위해 Epsilon-Greedy, UCB 등 다양한 탐색-활용 전략이 사용된다.
'ML&DL > 강화학습' 카테고리의 다른 글
가치함수와 벨만 방정식 (0) | 2025.03.24 |
---|---|
마르코프 결정 과정 (Markov decision process) 이해하기 (0) | 2025.03.21 |
UCB(Upper Confidence Bound) 알고리즘 이해하기 (0) | 2025.03.20 |
Non-stationary에서의 점진적 Update (0) | 2025.03.19 |
강화학습의 장점과 한계, 그리고 해결 방안 (0) | 2025.03.17 |
댓글