본문 바로가기

황민규

강화 학습(Reinforcement Learning)[#5]

강화 학습(Reinforcement Learning)

강화 학습 시리즈는 '바닥부터 배우는 강화 학습' 책을 공부하고, 또 공부하면서 느낀 점을 정리한 내용의 포스팅입니다. 해당 시리즈는 강화 학습(Reinforcement Learning)에 대한 내용을 최대한 쉽게 풀어서 설명하는 것을 목표로 하고 있습니다.

1. Previous writing

이전 포스팅에서는 강화 학습의 근간이 되는 마르코프 프로세스의 기본적인 성질들과 마르코프 프로세스에서 보상이 추가된 마르코프 리워드 프로세스 Markov Reward Process 즉 MRP를 설명하였습니다.

이번 포스팅에서는 드디어 마지막 마르코프 프로세스인 마르코프 결정 프로세스 Markov Decision Process 즉 MDP를 설명하겠습니다.

2. 마르코프 결정 프로세스(Markov Decision Process)

앞서 소개했던 마르코프 프로세스와 마르코프 리워드 프로세스에서는 상태 변화가 자동으로 이루어졌습니다. 그렇기에 행동의 주체라는 것이 없었습니다. 하지만 강화학습은 순차적 의사결정 문제를 모델링하는 것이 핵심이며, 행동의 주체가 없이는 순차적 의사결정 문제를 모델링할 수 없습니다. 왜냐하면 순차적 의사결정에서는 의사결정이 핵심이기 때문입니다.

이러한 이유로 마르코프 결정 프로세스(Markov Decision Process)가 등장합니다.

2.1 마르코프 결정 프로세스(Markov Decision Process)의 정의

  • 마르코프 리워드 프로세스 (Markov Reward Process) 즉 MRP에 행동주체(에이전트)가 더해진 것
  • 에이전트는 각 상황마다 행동(액션)을 취한다
  • 선택한 행동(액션)에 의해 상태가 변한다
  • 변한 상태에 따라 그에 맞는 보상을 받는다

MDP(Markov Decision Process)의 수식적 표현

  • 상태의 집합 S
    • MP와 MRP에서의 S와 동일합니다.
  • 액션의 집합 A
    • 에이전트가 취할 수 있는 액션들의 집합
    • 에이전트는 매 상황마다 액션중 하나를 선택하고, 선택한 액션에 따라 상태가 변화
  • 전이 확률 행렬 P
    • 현재 상태 S에서 에이전트가 액션 a를 선택했을때 다음 상태가 s'이 될 확률
    • 동일한 상태인 S에서 같은 액션 a를 선택해도 다른 상태에 도착할 가능성이 있다

전이 확률 행렬 P의 수식적 표현

  • 보상함수 R
    • 현재 상태 s에서 에이전트가 액션 a를 선택했을때 받는 보상의 기댓값

보상함수 R의 수식적 표현

  • 감쇠인자 𝛾
    • MRP에서의 𝛾과 동일하다

2.2 아이 재우기 MDP

아이 재우기 MDP

아이 재우기 예제에 엄마라는 에이전트가 추가가 되었습니다. 위 그림에 a0, a1은 에이전트가 각 상황(상태)마다 취할 수 있는 액션입니다.

  • A ={ a0 : "자장가를 불러줌", a1 : "같이 놀아줌"}

그럼 이해를 돕기 위해 상태 S2를 예로 들어보겠습니다. 상태 S2에서 에이전트가 액션 a1을 선택했다고 가정합니다. 그렇다면 70%의 확률로 상태 S1이 되거나, 30%의 확률로 상태 S0이 됩니다. 이를 전이 확률 수식에 대입해보면 아래와 같습니다.

상태 S2에서의 전이 확률 수식적 표현

위에서는 저희가 상태 S2에서의 액션을 2개, 다음 상태도 2개로 가정하여 계산하였기에 이처럼 간단하게 표현하였지만, 실재 상황에서는 더 많은 액션과 상태가 존재함으로, 굉장히 복잡한 수식이 될 것입니다.

그리고 위 그림에서 확인할 수 있듯, 어느 한 상태에서 각 액션을 취할 때마다 받는 보상이 다릅니다. 그리고 저희의 목표는 보상의 합을 최대로 하는 것입니다.

그렇다면 여기서 한 질문을 해볼 수 있습니다. 과연 각 상태 S에 따라 어떤 액션 a를 선택해야 보상의 합을 최대로 할 수 있는가?

2.3 정책 함수와 2가지 가치 함수

정책 함수

정책함수란 각 상태에서 어떤 액션을 선택할지 정해주는 함수이며 주로 𝜋를 사용해서 표기합니다.

정책함수의 수식적 표현(상태 S에서 액션 a를 선택할 확률)

그리고 상태 s에서 선택할 수 있는 액션이 A={a0, a1, a2}라고 가정할 때

정책 함수가 각 액션에 대해 확률값을 결정

정책 함수는 상태 S에서 액션 A={a0, a1, a2}를 선택할 확률을 결정합니다. 여기서는 a0을 선택할 확률이 0.2, a1은 0.5, 그리고 a2는 0.3입니다.

상태 가치 함수

이전에 가치 함수는 주어진 상태에서 미래에 얻을 리턴의 기댓값을 상태의 벨류로 정의를 내렸습니다. 하지만 MDP에서는 에이전트가 추가되면서 에이전트가 취하는 액션, 그리고 어떤 액션을 취할지 결정하는 정책함수가 추가되었습니다.

그러므로 상태 가치 함수는 주어진 상태에서 정책함수에 의해서 정해지는 액션에 따라 얻어지는 리턴의 기댓값으로 새롭게 정의할 수 있습니다.

상태 가치 함수의 수식적 표현

이는 에이전트가 s부터 끝까지 정책함수 𝜋를 따라서 움직일 때 얻는 리턴의 기댓값입니다. 정책함수 𝜋를 따라서 움직임으로, 상태 가치 함수는 정책함수 𝜋에 의존적이라고 할 수 있습니다.

액션 가치 함수

위의 상태 가치 함수는 각 상태를 평가하는 함수였습니다. 그렇다면 반대로 해당 상태에서 각 액션에 대해 평가는 할 수 없는지에 대한 의문이 생깁니다. 만약 액션을 평가할 수 있다면 각 상태에서 선택할 수 있는 액션을 모두 평가해 본 후 가장 가치 있는 액션을 선택을 선택한다면 그것이 바로 최적의 정책이 될 수 있을 것입니다.

이러한 의문으로 인해 액션 가치 함수가 등장합니다.

각 상태에서 최적의 액션을 찾는 함수이기에 인풋으로는 상태 S와 액션 a가 들어갑니다.

액션 가치 함수의 수식적 표현

수식을 풀어보자면 하나의 상태 S에서 액션 a를 선택하고, 그 이후에는 정책함수 𝜋를 따라서 움직일 때 얻는 리턴의 기댓값을 계산하는 수식입니다. 이는 리턴이 가장 높은 액션 a가 해당 상태에서 가장 가치 있는 액션임으로, 하나의 상태에서 여러 액션 중 어느 것을 선택했을 때 리턴이 가장 높은가를 계산하는 것입니다.

마치며

여기까지 마르코프 결정 프로세스의 기본적인 성질들에 대해 살펴보았습니다. 다음 포스팅에서는 강화학습이라는 문제를 세팅하는 단계인 Prediction과 Control에 대해서 설명하겠습니다.

 

https://product.kyobobook.co.kr/detail/S000000555527

 

바닥부터 배우는 강화 학습 | 노승은 - 교보문고

바닥부터 배우는 강화 학습 | 강화 학습 기초 이론부터 블레이드 & 소울 비무 AI 적용까지 이 책은 강화 학습을 모르는 초보자도 쉽게 이해할 수 있도록 도와주는 입문서입니다. 현업의 강화 학습

product.kyobobook.co.kr