티스토리 뷰
https://www.edwith.org/move37/lecture/47697
라벨링이 필요 없는, 자가 피드백을 통한 학습
역사
마르코프 체인으로부터 시작.
Transition Matrix를 구한다.
한 상태에서 다른 상태로 연속적으로 이동할 수 있는 프로세스의 상태 세트를 가지고 있다.
Base case S0 = [1 0 0]
에서
Inductive step St+1 = st*T
각 이동은 단일 단계이며, 한 상태에서 다음 상태로 이동하는 방법을 정의하는 전이 모델 T를 기반으로 한다.
마르코프 속성(Markov property)는 주어진 현재의 미래는 조건부로 과거와 독립적이다.
주어진 현재 단계는 무조건 한 단계 전의 상태에만 의존한다는 걸 전제로 한다.
예제
만약 2가지 상태가 있는 모델을 정의한다고 하자.
맑은 날과 흐린 날이 있다.
위에서 정의한 Transition Matrix(T)를 이용한다면, 맑은 날 다음에 또 다른 맑은 날이 올 가능성이 90%,
비오는 날 다음 비오늘 날이 올 확률이 90%인 날씨 모델을 표현할 수 있다.
각 체인의 노드는 confusion matrix로 표현될 수 있고, 각각은 그 matrix가 사실상 Trainsition Matrix가 된다.
마르코프 결정 프로세스
에이전트 학습의 강화 학습 문제를 표현하기 위한 가장 일반적인 프레임워크는 마르코프 결정 프로세스(Markov Decision Process)이다.
이것이 마르코프 체인의 확장 버전이다.
S - Set of States (가능한 상태의 세트)
A - Set of Actions(가능한 행동의 세트)
pr(s'|a,s) - Transitions(전이 모델)
베타 - Starting State Distribution(초기 상태 정의)
r(s,a) - Reward(리워드 함수)
Transition 모델은 이전 학습에서 A(set of actions)이 수행되었다면 probability of reaching the next state을 반환한다.
즉, at -> st+1 -> rt+1이 수행된다.
sn과 a가 주어지면 이전 상태와 행동으로부터 모두 조건부 독립이다.(마르코프 속성)
그리고 r은 해당하는 실제 값을 에이전트가 하나의 상태로부터 다른 상태로 될 때마다 리턴한다.
그러나 우리는 리워드 함수가 있기 떄문에, 어떠한 상태가 다른 상태보다 더 고려할만한 요소가 된다는 걸 안다. 리워드 값이 높은 녀석들이 분명 있기 때문이다.
반대도 분명히 있다. 리워드가 작은 상태는 피해야만 한다. 마이너스 리워드를 주기 때문이다.
마르코프 체인의 문제
에이전트는 이런 상황을 회피하면서, reward를 최대로 늘려야 한다.
그러므로 이런 상태에 대해서 잘 골라야 한다.
이걸 해결하는 방법이 Policy(정책)이다.
이 상황에서 Policy는 가장 높은 리워드를 고르는 정책으로 설정된다.
에이전트는 매우 다양한 정책을 시도할 수 있지만, 단 하나만 optimal policy(최적화 정책)으로 채택될 수 있다.
가장 좋은 결과를 내놓는 정책이다.
예를 들어서 드론으로 배달을 한다고 할 때, 어떠한 경로를 찾 알고리즘을 이 마르코프 결정 프로세스로 만들 수 있다.
환경을 matrix로 설정하고, starting state를 코너로 설정할 수 있다.
set of state(각각의 상태는 격자), action(행동은 +1,-1), starting state(코너)
그리고 리워드가 있으므로,
우리는 각 상태마다 어떻게 되는 지를 명확히 알 수 있으므로, 이는 화이트 박스 모델이다.
그리고 시간이 무한하다고 가정해야 한다.
이를 통해 가장 좋은 정책을 찾는 알고리즘을 만들 수 있다.
그러면 이제 한 가지 질문이 생긴다.
에이전트가 그게 가장 좋은 정책인지는 어떻게 아는가?
그게 바로 다음 강의의 토픽이 될 것이다.