-
[Do it! 강화 학습 입문]1장. 강화 학습이란?(2)도서 정리/Do it! 강화 학습 입문 2023. 6. 23. 15:53
본문의 모든 내용과 이미지의 저작권은 이지스퍼블리싱의 Do it! 강화 학습 입문 도서에 있습니다.
1-3. 모델 프리 강화 학습
- 가치 반복법은 에이전트가 환경 안에서 가질 수 있는 모든 상태와 각 상태 간의 전이 확률을 미리 안다는 전제가 필요
- 즉, MDP를 이루는 구성 요소 중 모델에 대한 모든 지식을 알고 있다는 것
- 종단 상태로부터 에이전트의 상태를 역추적해 모든 상태와 행동의 가치를 계산하는 완전 탐색이라는 특정도 존재
- 현실 세계는 복잡하고 탐색 공간도 매우 방대하므로 가치 반복법을 적용하기 어려움
- 복잡한 환경에는 에이전트가 모든 상태를 몰라도 환경 탐색 과정을 거치는 상태에 대해서만 가치 함수를 업데이트 할 수 있는 방법을 적용
- 초기 상태로부터 탐색을 진행하며 경험을 누적하는 좀 더 현실적인 방식으로 정책 탐색 가능
- 완전 탐색이 필요하지 않으므로 계산양을 크게 줄일 수 있음
- 가치 반복법과 정책 반복법은 모델에 대한 완전한 지식이 필요하므로 모델 기반(Model-Based) 강화 학습
- 몬테카를로 학습과 시간차 학습은 모델에 대한 완전한 지식이 필요하지 않으므로 모델 프리(Model-Free) 강화 학습
1. 몬테카를로 학습
- 모테카를로 학습은 완전한 가치 함수를 구할 수 없으므로 가치 함수의 추정치를 구하는 방식으로 문제 해결에 접근
- 즉, 최적 행동이 무엇인지 모르는 상태에서 일단 행동을 취해 얻은 경험으로 학습
몬테카를로 학습의 절차
- 정책을 초기에 무작위로 설정
- 설정한 정책에 따라 가치 함수를 추정
- 추정한 가치 함수로 정책을 개선
- 개선한 정책에 따라 가치 함수를 추정
- 추정한 가치 함수로 다시 정책을 개선
- 가치 함수와 정책이 모두 수렴할 때까지 이 과정을 반복
- 정책 반복법과 비슷해 보이지만, 중요한 차이점이 있음
- 몬테카를로 학습은 완전한 가치 함수가 아닌 가치 함수의 추정치만 얻을 수 있음
- 몬테카를로 학습은 환경 내 모든 상태의 가치 함수를 추정하는 것이 아닌, 에이전트가 에피소드 안에서 거쳐간 상태의 가치 함수만 추정
- 가치 반복법과 정책 반복법은 상태와 행동에 따른 전이와 보상을 모두 설명할 수 있는 결정론적 모델이 존재했기 때문에 주어진 환경에서 에이전트가 실제로 에피소드를 모두 겪을 필요가 없음
- 현실에서는 직접 에피소드를 겪어 나가며 모델을 추정하여 만들어야 하기 때문에 가치 반복법과 정책 반복법으로 문제를 해결할 수 없음
몬테카를로 학습의 특징
- 알려진 모델이 없다고 가정. 즉, 에이전트는 주어진 상태에서 어떤 행동을 취했을 때 다음 상태, 보상을 알 수 없음
- 에이전트는 경험의 표본으로부터 학습
- 현재까지 겪은 모든 에피소드에 대해 상태의 이익 $G$를 평균하여 상태의 가치 함수를 구함(경험적 평균)
- 에피소드 하나를 완전히 끝낸 다음 업데이트를 진행
- 에피소드 단위 문제에 한하여 적용 가능
- 기본 학습 단위가 에피소드의 완주이므로 에피소드가 무한히 이어지는 환경에서는 적용 불가
- 에피소드가 끝날 수는 있으나 복잡도가 매우 높아서 끝에 이르지 못한채로 상태 전이를 계속할 가능성이 있음
- 특정 상태에서의 특정 행동이 그 상태의 최선 행동이라 판단할 수 없음
몬테카를로 학습의 한계점
- 블랙잭과 같이 끝이 명확한 게임에는 적용 가능하지만, 끝이 명확하지 않은 경우에 에이전트의 실력이 좋아지면 에피소드 하나를 진행하는 시간이 길어지고 무한히 끝나지 않을 수 있음
- 몬테카를로 학습의 속도는 점점 느려짐
2. 시간차 학습
- 테트리스와 같이 끝없이 할 수 있는 게임이나 한 에피소드 자체가 긴 경우에 적용 가능한 방법
- 시간차 학습의 컨셉은 환경의 MDP 정보가 없다고 가정하는 모델 프리 학습
- 경험으로부터 직접 학습한다는 점에선 몬테카를로 학습과 동일하지만, 몬테카를로 학습은 하나의 에피소드가 끝날 때마다 Q 함수를 업데이트 하는 반면, 시간차 학습은 상태의 변화가 있을 때마다 Q 함수를 업데이트 함
- 이 덕분에 시간차 학습은 하나의 에피소드가 완전히 끝나지 않아도 단계마다 학습이 가능
시간차 학습의 수식
- 시간차 학습은 에피소드를 끝내지 않고도 Q 함수를 업데이트하므로 몬테카를로 학습 수식의 $G_t$값을 산출할 수 없음
- 그 대신, 다음 단계 보상 $R_{t+1}$과 Q 함수 $Q(s_{t+1,\,a_t+1})$가 반환하는 값을 사용하여 현재의 $Q(s_t,\,a_t)$값을 업데이트 할 수 있음
- 즉, 다음 수식과 같이 추정치 $Q(S_{t+1},A_{t+1})$로 $Q(S,A)$를 추정
- 시간차 학습도 가치 반복법과 마찬가지로 처음에 모든 Q 함수의 초깃값은 0
- Q 함수의 업데이트는 현재 상태의 Q 함수를 바탕으로 이전 상태의 Q 함수를 업데이트하는 방식으로 진행
- 첫 번째 에피소드에서는 보상이 있는 상태로 전이하는 경우에만 이전 상태의 Q 함수를 갱신
- 에피소드를 반복하다 보면 보상이 있는 상태에서 다른 상태로 가치가 전달
- 위 과정은 가치 반복법의 과정과 비슷
가치 반복법과 시간차 학습의 차이
- 가치 반복법은 환경의 MDP 정보를 알고 있다는 가정을 하므로 모든 상태, 그리고 각 상태에서 취할 수 있는 모든 행동의 가치 함수를 업데이트
- 반면, 시간차 학습에서는 에피소드에서 에이전트가 거치는 상태와 행동에만 Q 함수를 업데이트
- 즉, 전체의 일부를 샘플링
엡실론-탐욕 알고리즘
- 가치 반복법에서 사용했던 항상 더 큰 가치 함수, 또는 Q 함수를 얻기 위한 행동을 선택하는 방식을 탐욕 알고리즘(Greedy Algorithm)이라고 함
- 가치 반복법과 몬테카를로 학습에서는 기본적으로 탐욕 알고리즘을 사용했지만, 행동 공간이 넓은 환경에서는 가치 함수를 최대한 이용하는 탐욕 알고리즘으로 수렴한 정책보다 더 좋은 정책도 나올 수 있음
- 엡실론-탐욕 알고리즘(Epsilon-Greedy Algorithm)은 에이전트가 가치 함수를 이용하면서, 새로운 영역을 탐험할 수 있도록 여지를 주는 알고리즘
- 엡실론-탐욕 알고리즘을 사용하면 환경에 대한 탐색이 덜 진행된 상태에서 학습 결과가 수렴하는 것을 막을 수 있음
'도서 정리 > Do it! 강화 학습 입문' 카테고리의 다른 글
[Do it! 강화 학습 입문]5장. 영화 <아이언맨>의 자비스 만들기 (0) 2023.08.22 [Do it! 강화 학습 입문]4장. 딥레이서로 구현하는 자율 주행 (1) 2023.08.09 [Do it! 강화 학습 입문]3장. 알파고 도전을 위한 첫걸음 (0) 2023.07.06 [Do it! 강화 학습 입문]2장. 강화 학습에 딥러닝 조합하기 (0) 2023.06.26 [Do it! 강화 학습 입문]1장. 강화 학습이란?(1) (0) 2023.06.19 - 가치 반복법은 에이전트가 환경 안에서 가질 수 있는 모든 상태와 각 상태 간의 전이 확률을 미리 안다는 전제가 필요