☆ 이 글은 '단단한 강화학습(리처드 서튼, 앤드류 바르토, 옮긴이 김성우)' 책 내을 요약합니다.
틱택토 게임에서 강화학습하기
틱택토 게임은 설명하지 않아도 될 것 같다. 유저가 X로 먼저 시작하고 상대방은 늘 최선의 수는 두지 않는다고 가정하자. 그리고 무승부도 패배로 간주한다.
- 보드판에서 가능한 모든 경우의 수에 대해 해당 상황에서의 승리 확률 표를 가치(value)로 정의한다.
- 가치의 초기 값은 모두 0.5이다.(승리 확률 반반)
- 게임을 하는 동안 나는 가치를 변화시키며 가치가 승리 확률에 대한 정확한 추정이 필요하다. 이때 항상 최적의 선택을 하는 것이 아니라 무작위의 선택을 할 수도 있는데, 이를 탐험적(exploratory) 선택이라고 한다.
- 그리디 서치로 행동을 선택한다. 이때 선택 이전의 상태를 \(S_t\)라고 하고, 선택 이후의 상태를 \(S_{t+1}\)라고 하면, \(V(S_t)\)로 표현되는 가치 갱신은 다음과 같이 나타낼 수 있다. $$V(S_t)\leftarrow V(S_t)+\alpha \left [ V(S_{t+1})-V(S_t) \right ]$$
여기서 \(\alpha>0\)는 시간 간격 파라미터(step_size parameter)이며 학습 속도에 영향을 준다. 이 갱신 규칙은 시간차 학습(temporal-difference learning)방법이다. 갱신 과정의 변화량이 두 연속적 시각의 추정값 차이에 기반하여 계산되기 때문이다.
\(\alpha\)가 시간이 지남에 따라 적당히 줄어든다는 것은 표의 확률값이 각각의 상태에서 승리할 확률의 참값에 수렴한다는 것을 의미한다. 또한 다음에 설명할 진화적 방법에 대비되는, 정적(stationary) 정책이 아닌 게임 중간에 정책이 계속 바뀌는 특징을 잘 보여준다.
강화학습과 비지도학습의 차이
비지도학습에서는 지침이 없는 데이터의 집합 안에서 숨겨진 구조를 찾으려고 하지만, 강화학습에서는 보상을 최대로 만들기 위해 노력할 뿐 숨겨진 구조를 찾으려고 하지는 않는다.
진화적(evolutionary) 방법
책에서 다루는 대부분의 강화학습 방법은 가치 함수를 추정하기 위한 것이다. 하지만 강화학습 문제를 풀기 위해 반드시 그럴 필요는 없는데, 예를 들어 유전자 알고리즘, 유전자 프로그래밍, 강화 시뮬레이션(simulated annealing) 과 같은 최적화 방법은 가치 함수를 추정하지 않는다. 이러한 방법은 환경과 오랜 시간 동안 불연속적인 시간 간격으로 상호작용하는 다수의 정적 정책(static policy)를 채택한다. 가장 큰 보상을 얻는 정책과 그것의 무작위 변형이 다음 세대의 정책으로 전달되는 일련의 과정을 반복한다. 이 방법은 생물의 진화와 비슷하기 때문에 진화적(evolutionary) 방법이라고 한다. 이 책에서는 환경과 상호작용하며 학습하는 강화학습 방법에 초점을 두고 있으므로 진화적 방법은 다루지 않는다.
'NLP lab > 강화학습' 카테고리의 다른 글
02. 다중 선택 문제와 행동 가치 방법 [CH2 다중 선택] (0) | 2022.05.02 |
---|---|
00. 강화학습 용어 한국어 번역 정리 (0) | 2022.04.18 |