Sequential Decision Making에 대해 알아보자.

A, B, C 세 신약을 두고 테스트를 진행했다고 가정하자.

K-armed bandit problem이란, agent가 "k"개의 선택지를 놓고 action을 취했을 때, 가장 효과가 좋은 경우의 수에게 reward를 주며 선택을 반복하는 일을 말한다.


Action-Values function의 꼴은 아래와 같다.
1부터 k개의 action을 취했을 때 나타나는 반응 reward의 기댓값이다.
이 때의 expected reward를 maximize하는 것이 목적인 함수이다.

를 계산하는 과정은 아래와 같다.
첫 번째 신약이 -11을 reward로 가질 확률이 0.5, 9를 reward로 가질 확률이 0.5라면 Expectation(기댓값)은 로 최종 R이 결정된다.
두 번째 신약은 평균값이 1, 세 번째 신약은 평균값이 3으로 계산된다.

Uncertainty(불확실성) 아래에서 무언가를 결정하는 일은 다음과 같은 상황 모두에서 적용될 수 있다.

Multi-Armed Bandits은 Reinforcement Learning에서 가장 기초적인 알고리즘인 알고리즘에 해당한다.


Action-Values function에 대해 알아보자.

이번 part가 끝난 이후 알게 될 개념들은 다음과 같다.

Action의 Value를 계산한다는 것은 expected reward를 계산한다는 것이다.

Sample-Average Method는 아래와 같이 정의 된다.
어떠한 action 에 대해 계산된 rewards를 모두 더해, 해당 action을 취하기 직전까지의 시간으로 나눈 평균값이라고 할 수 있다.


우리는 각 신약의 효능에 대한 확률을 아래와 같이 이미 알고 있다고 가정하겠다.

방법은 random하게 약을 처방하여 효능을 직접 추정하는 수밖에 없다.

Greedy한 selection이란, 이렇게 추정한 확률 중 가장 큰 확률을 가지는 action을 선택한다는 의미다.

요약하자면 다음과 같다.


본 강의가 끝나고 나면 알게 될 내용들은 다음과 같다.

가치 함수()의 식은 보상()의 평균이라 정의했다.
이를 수식으로 나타내면 라 표현할 수 있고, n-1에 대해 전개하면 다.

위 수식을 직전 가치 함수 과 으로만 다시 전개하면 다음과 같이 정리된다.

즉, 새로운 estimation은 {이전 estimation + step * (target - 이전 estimation)}으로 incremental하게 update 시킬 수 있다.


은 [0, 1]사이의 parameter로 설정할 수 있는 것이다.


Non-stationary bandit problem에서 함수를 업데이트하는 알고리즘 수식은 다음과 같다.

시행 횟수가 많아질 수록 의 크기가 커진다.

위 함수를 새롭게 전개하여 여러 시행 횟수의 급수로 표현해보자.

이를 initial action-value 까지 전개해보면 아래와 같은 수식으로 정리된다.

요점은 다음과 같다.

만약 친구와 함께 restaurant를 가야하는 상황이라고 가정해보자.
매일 가는 맛있는 음식을 먹을 수도 있지만, 새로운 곳을 도전해볼 수도 있는 상황이기도 하다.

이번 강의를 통해 알게 될 개념들은 다음과 같다.

Exploration 탐색은 long-term benefit을 향상시키기 위한 action을 취하는 방법론이다.
각 조건들의 의미를 보고 음식을 선택해 나가보자.

는 각 식당의 평점 기댓값, 는 시행 횟수 n과 reward로부터 계산된 추정 평점 기대치에 해당한다.
각 식당에 대한 평가는 매번 동일하지 않을 것이다.


식당의 평점이 가장 높은 곳만을 찾다 보면 주변에 더 좋은 식당이 있는 상황이더라도 가보지 못할 경우들이 생긴다.


우리가 주사위를 던지는 상황을 가정한다면 random하게 한 번 굴렸을 때 1이 나올 수 있는 확률은 이다.
만약 주사위를 굴려 1이 나왔음에도 다른 선택지들을 향해 간다면, Greedy한 선택을 하고 있는 상황일 것이다.

이러한 선택 방법론을 epsilon-greedy action selection이라 한다.
확률이 일 경우에 random 선택하도록 하고, 일 경우에 argmax(greedy) 선택하는 방법론이다.


1번의 시행으로는 noisy curve가 매우 많이 생기는 것을 알 수 있다.




우리는 random 시행에 대한 확률을 의미하는 을 parameter로 취급하여 조정함으로써 다른 결과를 얻어낼 수 있다.
이 0이라면 greedy한 선택만을 택하는 것이다(exploitation).


만일 의사가 매우 낙관적인 성향이어서 처방한 value 값이 다소 큰 값이라면 어떨까?

이번 강의에서는 optimistic initial values에 대해 알아보도록 하자.

이전에는 초깃값을 0으로 두고 임상실험을 진행하였었다.

각 시험체의 initial estimated value를 2.0으로 설정하였다고 해보자. (optimistic)

를 0.5로 설정하여 치료약을 random하게 선택한 뒤, 처방한 약에 대한 reward를 1 or 0으로 주었다고 하자.
초깃값(2)에 비해 reward(1)가 더 적기 때문에 estimated values는 초반에는 급격하게 감소한다.

여러 번의 시행으로 각 선택지의 values는 점점 특정한 값으로 수렴해 갈 것이다.
중요한 점은 초깃값이 낙관적으로 설정된 경우에 초반 몇 번의 탐색은 여러 개의 선택지를 모두 선택하는 방향으로 흘러간다는 것이다.

다시 10-armed bandit problem으로 넘어가보자.
현재 대부분의 values는 3 이하에 위치해 있다.

아래 기존 epsilon-greedy 탐색 방식과 optimistic greedy 탐색 방식의 차이를 보도록 하자.
Epsilon-greedy에 비해 optimistic greedy 방식이 수렴 속도가 훨씬 빠른 것을 알 수 있다.(x축)

그러나 optimistic initial values가 항상 좋은 방법인 것만은 아니다.


UCB action selection은 추정의 불확실성(uncertainty)을 이용하는 방법론이다.


Epsilon-greedy 알고리즘을 다시 한 번 살펴보자.

는 현재 추정한 value이며 괄호는 주위의 신뢰 구간을 나타낸다.




추정한 가치의 신뢰 구간 면적에 따라 uncertainty의 정도도 결정된다.


만약 불확실성이 동반되는 세 가지 행동이 있다고 가정해, 한 가지 action을 수행했다고 생각해보자.
Agent는 어느 것이 최선의 선택인지 모른 채로 무조건 greedy한 선택지를 골라 왔다.


Upper-Confidence Bound 값을 사용하려면 아래와 같은 수식으로 선택하게 된다.


항의 의미는 다음과 같다.
전체 timesteps를 action 가 선택된 횟수로 나누어 표현한다.
이는 특정 action을 많이 선택하면 할수록 uncertainty가 줄어드는 것을 의미한다고 볼 수 있다.


