태그 보관물: 강화학습

강화학습 #2

Published / by greennuri

강화학습 #2

MDP(Markov Decision Process)

MDP는 이전 포스트에서 상태, 행동, 보상, 정책으로 구성 되어 있다고 적었는데

더 정확히 말하면 MDP는 [상태, 행동, 보상, 상태변환확률, 감가율]로 구성 되어 있습니다.

개별 요소에 대해 더 정확히 풀이 하면 다음과 같습니다.

이해를 간단히 하기 위해서 그리드 월드(격자로 표현 가능한 세상)를 중심으로 표현 합니다.

*상태

  • 그리드 월드에서 상태는 에이전트가 위치한 좌표를 의미 합니다.
  • 5*5 격자 그리드 월드 일 경우 나올수 있는 경우의 수는 25가지가 됩니다.
  • \(S = {(1,1),(1,2),(1,3),,,(5,5)}\)이 됩니다.
  • 그리고 어떤 특정 시간 \(t\)에 상태값을 표현 하는 것은 \(S_t\) 로 표현하고, 이 값이 \((1,3)\)일때 다음과 같이 표현 됩니다.
  • \(S_t = (1,3)\)
  • 어떤 상태 t에서의 상태 \(S_t\)는 정해져 있지 않습니다. 때에 따라서 \(t=1\) 일 때 \(S_t = (1,3)\)일 수도 있고, \(S_t=(4,2)\)일 수도 있습니다. 이러한 것을 확률 변수라고 합니다.
  • \(S_t=s\) 이 식은 “시간 \(t\)에서 상태 \(S_t\)가 어떤 상태 \(s\)다를 표현
  • 행동
  • 에이전트가 상태 (S)일 때 할수 있는 행동의 집합은 (A)
  • 행동 집합 (A)의 한 원소는 (a)로 표현.
  • 어떤 특정 시간 (t)에서 하나의 행동은 (A_t=a)로 표현
  • (A_t)는 어떤 특정 시간(t)에서 선택할 행동, 어떤 행동을 할 것인지를 정의한것이 아니기 때문에 전체집합(A)으로 표현
  • 그리드 월드에서의 행동은 다음고 같다
  • (A = {up,down,left,right})

강화학습 #1

Published / by greennuri

기계학습

  • 지도학습(Supervised Learning) : 주어진 데이터와 정답이 있어서 데이터를 통해서 정답을 판별하는 패턴을 학습
    • 분류기(Classification), 회귀분석(Regression)
  • 비지도 학습 (unsupervised Learning): 주어진 데이터를 개별적인 기준으로 비슷한것 끼리 묶는것.
    • Cluster, Topic Modelling
  • 강화학습(Reinforcement Learning) : 보상(Reward)을 통해 학습 하는 일련의 과정
    • 어떠한 환경에서 에이전트(즉 컴퓨터)가 어떤 행위를 통해 목표를 구행해 가면서 그 과정에서 보상을 받고 그 보상(보상이 긍정적인 것만 있는것은 아님, 때론 부정적 보상도 받음)을 통해 학습을 이루어 나감.
      흔히 강화학습에 대한 슬라이드 보면 스키너의 행동 심리학 실험(스키너 상자)을 주로 예를 든다.
      내용은 실험실에서 쥐에게 어떤 특정 버튼을 누르면 쥐가 좋아하는 먹이를 주게 하여 그 버튼을 계속 누르게 하는 보상을 통해 행동을 강화(Reinforcement)하는 실험을 이야기 한다.
      해당 내용 링크(스키너 상자)[https://www.youtube.com/watch?v=R4iK1rZKu4I]

    아래 그림은 강화학습을 간략히 표현한 그림.

    강화학습

    강화 학습은 어떠한 환경과 에이전트(컴퓨터)가 주어지고 에이전트가 어떤 상태에서 다음 상태로 가기 위한 어떤 행동을 수행하면, 그 결과로 보상을 받으면서 계속 자신의 상태와 행동을 계속 수행해서 목적한바를 수행 하는 과정을 의미. 강화학습은 이 과정을 모사하여 학습을 하고, 재현하는 것을 의미

강화학습은 어떤 문제를 푸는 과정을 모사하고 학습

이를 위해서 문제가 정의 되어야 하는데 이 문제는 순차적 행동 결정 문제이어야만 가능.

순차적 행동 결정 문제는 어떤 행동을 행하는데 있어 순서가 있고 지금 할수 있는 행동이 이전에 영향을 받는것을 의미.

간단히 말해서 동전을 100번 던져서 앞 뒤가 나올 확률은 순차적 행동 문제가 아님, 왜 냐면 동전을 10번째 던지나, 20번째 던지나 나오는 확률값은 똑같기 때문이다.

순차적 행동의 예제는 유명한 알파고나, 아케이드 게임처음 이전 혹은 지금의 행동이 다음의 내 행동에 영향을 주는 경우를 의미

이러한 순차적 행동을 풀기 위해서 마코프 의사결정 과정(Markov Decision Process)을 통해 문제를 수학적으로 정의 한다.

마코프 의사 결정과정은 마코프 과정(Markov Process)의 한 분류로서, 마코프 과정은 시간축에 따라서 상태가 변하는 것을 확률 개념으로 추론하여 시간의 변화에 따른 상태의 변화를 확률적으로 표현한다.

마코프 과정

상태 관측 가능 상태 관측 불가
상태 변화가 자동적(No Agent) Markov Model Hidden Markov Model
상태가 행동에 의해 바뀜(Single Agent) Markov Decision Process Partially Observable Markov Decision Process

kind of markov processes

위에서 보듯이 마코프 과정은 상태 변화가 자동적으로 이루어지고 모든 상태가 관측 가능하면 마코프 모델로, 상태가 숨겨지면 은닉 마코프모델로 모델링한다.

상태 변화가 자동적, 행동에 의해 바뀜의 차이는 상태와 상태 사이에 행동이라는 과정이 있냐 없느냐의 차이이다 .

강화학습은 마코프 의사결정 모델을 통해서 상태와 상태의 변화에 행동이 포함이 된다.

강화학습에서는 에이전트(컴퓨터)와 환경사이의 상호작용으로 학습을 수행한다.

강화학습을 마코프 의사결정 모델을 통해 처리 하기 위해서는 다음과 같은 값들이 필요로 하다.

에이전트가 움직일수 있는 환경이 그리드 월드라고 가정하면 다음과 같이 설명 할 수 있다.

그리드 월드 : 정사각형 좌표위에서 한칸씩 움직여서 원하는 위치로 옮길수 있는 환경

  1. 상태
    1. 에이전트의 상태 값. 에이전트가 현재 그리드 월드 위에서 어디에 있는지 나타내는 좌표값
  2. 행동
    1. 상태에서 할수 있는 행동의 집합, 그리드 월드에서 상하좌우로 움직일수 행동을 결정 할수 있으므로, 행동은 상하좌우가 된다.
    2. 에이전트가 행동을 취하면 환경은 상태를 변경시키고, 보상을 주게 된다.
  3. 보상
    1. 그리드 월드에서 어떤 행동을 선택 했을때, 그 행동에 대한 보상,’
    2. 보상은 꼭 긍정적이지만은 않다 경우에 따라서는 부정적인 보상을 받기도 한다.
    3. 보상은 상태 변화에 대한 보상이 아니라, 행동에 대한 보상’
  4. 정책
    1. 어떤 상태에서 어떤 행동을 취할것인가에 대해 결정 하는 과정을 정책이라고 한다.

좀더 엄밀히 말하면 이외에 여러가지 다른 변수를 포함하여 순차적 행동 문제를 모델링 한다.