지금까지는 model based learning에 대해 알아봤다.
이제 모델이 알려지지 않은 경우는 어떻게 학습이 진행되는지 알아보자.
Temporal-Difference Learning (시간차 학습)
policy를 따라서 경험(episode)을 쌓으며 value function을 update하는 것이다.(nonterminal states에서)
target과 이전값의 차이를 이전값에 반영함으로써 새로운 추정값을 만들어내는 것이다.
물론 이 target도 100% 신뢰할수는 없는 값이다. 따라서 이 차이를 전체를 반영하지 않고 stepsize를 이용하여 일부만 반영하게 된다.
즉 위와 같은 식으로 도출할 수 있다. 추정값을 이용하여 새로운 추정값을 만들어내는 과정(bootstrap)이 DP와 같지만, 모델이 필요없다는 점에서 DP와 다르다.
위와같은 알고리즘을 TD(0)이라고 하거나 one-step TD라고한다.
TD(0)알고리즘은 다음과 같다.
Tabular는 테이블 형태라는 말
input에 어떤 policy가 들어온다.
모든 state에 대해서 value function을 0으로 주거나, random으로 준다.
v(s)를 업데이트한다. terminal에 도달할때까지.
추가로 최적의 policy를 찾는 알고리즘은 아래와 같다.
input policy가 주어지지 않지만 Q(s,a)가 랜덤으로 주어진다.
Q에 따라 action을 선택하지만, 엡실론의 확률로는 랜덤으로 액션을 정한다.
terminal에 도달할 때까지, Q(s,a)를 업데이트한다.
control하는 알고리즘은
action value를 학습할 때
이때는 optimal한 action을 연이어 선택해야하는데,
위 알고리즘에서는 입실론 greedy방법을 사용한다.
그 이유가 무엇일까?
입실론 greedy방법은 항상 좋은 쪽의 액션만 선택하는 것이 아니라 랜덤으로 액션을 선택하는 것을 의미하는데
이렇게 되면 가보지 않은 영역이 줄어들게 된다. 탐험을 할 수 있다는 것이다.
이 과정에서 optimal한 policy를 배우는 것이기 때문에 compromise하다고 한다. 탐험도 해야하고 최적의 policy를 선택해야하니까! 그렇기 때문에 완벽한 optimal한 것이 아니라 near-optimal한 학습이다.
그렇기 때문에 policy를 두가지로 나누다.
-target policy와 behavior policy
target policy는 최적의 학습을 위한 것이고, behavior policy는 탐험을 하기 위한 policy이다.
이런 방식으로 학습을 하는것이 off-policy라고 한다.(위의 sarsa는 on-policy)
이 부분에서는 Q를 max하는 action만 골라 계산. => optimal한 학습 가능.
behavior policy:어떤 q값을 바꿀지를 정하는 policy
그 값이 바뀔 떄 그 값은 target policy 방식으로 이용/
reinforcement에서는 큐러닝이 상당히 중요한 알고리즘.
k가 무한대로 가게 되면 위와 같이 단순한 알고리즘이 아닌 뉴럴네트워크를 이용하게 됨
'대학원 공부 > 기계학습의원리' 카테고리의 다른 글
[머신러닝 원리] 10-2. PCA(Principal Component Analysis)의 원리 및 사용 예시 (0) | 2024.04.23 |
---|---|
CNN 파라미터 개수 계산 (예제) (0) | 2023.10.29 |
[머신러닝 원리] 12-3. 강화 학습(Reinforcement Learning) (0) | 2022.12.13 |
[머신러닝 원리] 12-2. 강화 학습(Reinforcement Learning) (0) | 2022.12.13 |
[머신러닝 원리] 12-1. 강화 학습(Reinforcement Learning) (0) | 2022.12.08 |