[도서] 파이썬과 케라스로 배우는 강화학습 : 내 손으로 직접 구현하는 게임 인공지능
gridworld
1-policy-iteration
왜 이렇게 할까? 라는 의문을 책을 읽는 내내 가지고 있었는데, 차라리 저자의 깃북을 보는 것이 더 이해가 잘 되었다.
https://www.gitbook.com/book/dnddnjs/rl/details
또는 아래책의 강화학습 챕터가 기본적인 개념을 이해하기에 더 수월했다.
본 책은 깃북에 없었던 코드를 추가하면서 개념 설명이 많이 부족해진듯 하다.
확률 형태의 수식은 좀처럼 친숙하지 못해 이해하기 어려웠다.
그래서 그냥 코드 자체를 디버깅하면서 데이터의 흐름을 추적하였다.
전제 :
[2, 2]중심의 value는 항상 0이다.
[2, 2]중심의 policy는 계산하지 않는다.
evaluate : new value_table = ∑ policy * (next reward + 0.9 * next value)
improve :
temp = next reward + 0.9 * next value
max(temp)
new policy_table = temp == max ? 1 / len(max) : 0
move : policy > 0 이라면 어디나... [2, 2] 중심에 도착할 때까지 무한루프
gridworld
1-policy-iteration 에서 의문 :
5x5 matrix를 벗어나는 방향에 대해서는 무시하지 않고, 다시 자기 자신으로 평가한다는 것이다.
자기 자신의 reward와 value를 사용한다는 것이 의아했다. 그렇더라도 policy는 0으로 해야 하는 것이 아닐까?
'python 및 머신러닝 > 파이썬과 케라스로 배우는 강화학습' 카테고리의 다른 글
파이썬과 케라스로 배우는 강화학습 3장 2-value-iteration (0) | 2017.10.05 |
---|