강화학습은 Agent가 환경과 상호작용하며 보상을 최대화하는 action을 학습하는 기계 학습의 한 분야이다.
Agent는 학습하고 행동을 하는 주체를 말하고, 주어진 환경에서 어떤 행동이 보상을 최대화하는지 결정하는 것이 목표이다.
마르코프 체인은 현재 상태가 미래 상태에 영향을 주지만, 과거 상태에는 영향을 받지 않는 확률 모델이다.
현재의 state만 가지고 다음 state를 결정 짓는다는 의미이다.
P(St+1∣St,St−1,...,S0)=P(St+1∣St)
식으로는 간단하게 이렇게 표현된다.
벨만 방정식은 강화학습의 가치 함수를 결정하는데 사용되는 식이다.
가치 함수는 상태 가치 함수, 행동 가치 함수로 구분되는데
상태 가치 함수는 어떤 상태 s에서 시작했을 때, 앞으로 받을 기대 누적 보상을 의미한다.
V(s)=E[r(t)+γV(s(t)+1)∣s(t)=s] 이렇게 표현된다. r(t) 현재 보상이고, γ는 할인율이다.
할인율은 시간이 지남에 따라 가치 함수를 감소시키는 역할을 한다.
γ가 0이면 미래의 가치는 반영하지 않고 현재의 보상만을 중요시하는 것이고,
1이면 미래의 가치를 현재의 가치와 동등하게 생각하는 것이다.
행동 가치 함수는 상태 s에서 행동 를 했을 때 얻을 수 있는 기대 누적 보상이다.
Q(s,a)=E[r(t)+γQ(s(t)+1,a(t)+1)∣s(t)=s,a(t)=a] 이렇게 표현된다.
이 가치 함수들을 계산하고 업데이트하며 어떤 상황 s에서 어떤 행동 a를 해야 할지에 대한 정책을 결정하는 것이
가장 기본적인 강화학습의 알고리즘 Q-learning이다.
Q-learning 알고리즘은 Q(s,a), s와 a에 대한 행동 가치 함수를 업데이트 해 나가는 알고리즘이다.
Q(st,at)←Q(st,at)+α(rt+γ⋅a′maxQ(st+1,a′)−Q(st,at))
이 식이 Q(s,a)를 업데이트하는 식이다.
α는 rt+γ⋅maxQ(st+1,a′)−Q(st,at) 이 값을 어느 정도로 반영할지를 결정하는 학습률이며, 0~1 사이의 값이다.
maxQ(st+1,a′) 는 t+1 즉, 다음 상태에서 행동할 수 있는 모든 경우의 수 중에 가치 함수 Q가 최대가 되는 값을 의미한다.
최대 가치 함수에 할인율 γ 를 곱한 값 + 보상함수 rt 는 미래의 가치 중 최대값에 보상을 더한 값이다.
따라서 어떤 행동을 했을 때 얻을 수 있는 최대 이익과 현재 Q 가치 함수와의 차이에 학습률을 곱해서 Q 가치 함수를 업데이트 한다.
이 Q 함수를 업데이트 하기 위한 탐색 작업은 ε-greedy 정책으로 진행된다.
먼저 Q 함수의 초기값들을 설정해놓고, 초기 상태 s에서 무작위 행동 a를 한다.
이때 무작위 행동 a를 결정하는 것이 ε-greedy 인데, ε의 확률로 랜덤한 행동을 하고,
1- ε의 확률로 Q 값이 가장 높은 행동을 한다.
그러니까 ε에 따라서 랜덤하게 행동할지, 현재 측정된 Q값에 맞게 행동할지가 결정된다.
이렇게 행동 a를 하고 나서 관측되는 상태 s' 을 가지고 Q(st,at)←Q(st,at)+α(rt+γ⋅a′maxQ(st+1,a′)−Q(st,at)) 이 식에 맞게
Q값을 업데이트 해 나간다.
이렇게 모든 Q(s,a)를 업데이트하면서 최적값을 찾아나가는 것이 Q-Learning 강화학습 기법이다.
'인공지능' 카테고리의 다른 글
모두의 딥러닝 - 17장(순환 신경망, RNN, 마지막장) (0) | 2025.05.16 |
---|---|
모두의 딥러닝 - 16장(이미지 인식, CNN) (0) | 2025.05.13 |
모두의 딥러닝 - 14장, 15장(베스트 모델 만들기, 선형 회귀 적용하기) (0) | 2025.05.13 |
모두의 딥러닝 - 13장(과적합 피하기) (0) | 2025.03.21 |
모두의 딥러닝 - 12장(다중 분류 문제 해결하기) (0) | 2025.03.18 |