ABOUT ME

Today
-
Total
-
  • [Do it! 강화 학습 입문]1장. 강화 학습이란?(2)
    도서 정리/Do it! 강화 학습 입문 2023. 6. 23. 15:53
    본문의 모든 내용과 이미지의 저작권은 이지스퍼블리싱의 Do it! 강화 학습 입문 도서에 있습니다.

    1-3. 모델 프리 강화 학습

    • 가치 반복법은 에이전트가 환경 안에서 가질 수 있는 모든 상태와 각 상태 간의 전이 확률을 미리 안다는 전제가 필요
      • 즉, MDP를 이루는 구성 요소 중 모델에 대한 모든 지식을 알고 있다는 것
    • 종단 상태로부터 에이전트의 상태를 역추적해 모든 상태와 행동의 가치를 계산하는 완전 탐색이라는 특정도 존재
      • 현실 세계는 복잡하고 탐색 공간도 매우 방대하므로 가치 반복법을 적용하기 어려움
    • 복잡한 환경에는 에이전트가 모든 상태를 몰라도 환경 탐색 과정을 거치는 상태에 대해서만 가치 함수를 업데이트 할 수 있는 방법을 적용
      • 초기 상태로부터 탐색을 진행하며 경험을 누적하는 좀 더 현실적인 방식으로 정책 탐색 가능
      • 완전 탐색이 필요하지 않으므로 계산양을 크게 줄일 수 있음
    • 가치 반복법과 정책 반복법은 모델에 대한 완전한 지식이 필요하므로 모델 기반(Model-Based) 강화 학습
    • 몬테카를로 학습과 시간차 학습은 모델에 대한 완전한 지식이 필요하지 않으므로 모델 프리(Model-Free) 강화 학습

    1. 몬테카를로 학습

    • 모테카를로 학습은 완전한 가치 함수를 구할 수 없으므로 가치 함수의 추정치를 구하는 방식으로 문제 해결에 접근
      • 즉, 최적 행동이 무엇인지 모르는 상태에서 일단 행동을 취해 얻은 경험으로 학습

    몬테카를로 학습의 절차

    1. 정책을 초기에 무작위로 설정
    2. 설정한 정책에 따라 가치 함수를 추정
    3. 추정한 가치 함수로 정책을 개선
    4. 개선한 정책에 따라 가치 함수를 추정
    5. 추정한 가치 함수로 다시 정책을 개선
    6. 가치 함수와 정책이 모두 수렴할 때까지 이 과정을 반복
    • 정책 반복법과 비슷해 보이지만, 중요한 차이점이 있음
      • 몬테카를로 학습은 완전한 가치 함수가 아닌 가치 함수의 추정치만 얻을 수 있음
      • 몬테카를로 학습은 환경 내 모든 상태의 가치 함수를 추정하는 것이 아닌, 에이전트가 에피소드 안에서 거쳐간 상태의 가치 함수만 추정
    • 가치 반복법과 정책 반복법은 상태와 행동에 따른 전이와 보상을 모두 설명할 수 있는 결정론적 모델이 존재했기 때문에 주어진 환경에서 에이전트가 실제로 에피소드를 모두 겪을 필요가 없음
    • 현실에서는 직접 에피소드를 겪어 나가며 모델을 추정하여 만들어야 하기 때문에 가치 반복법과 정책 반복법으로 문제를 해결할 수 없음

    몬테카를로 학습의 특징

    • 알려진 모델이 없다고 가정. 즉, 에이전트는 주어진 상태에서 어떤 행동을 취했을 때 다음 상태, 보상을 알 수 없음
    • 에이전트는 경험의 표본으로부터 학습
    • 현재까지 겪은 모든 에피소드에 대해 상태의 이익 $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(S_t,A_t)=Q(S_t,A_t)+a(R_{t+1}+\gamma Q(S_{t+1},A_{t+1})-Q(S,A)) $$
    • 시간차 학습도 가치 반복법과 마찬가지로 처음에 모든 Q 함수의 초깃값은 0
    • Q 함수의 업데이트는 현재 상태의 Q 함수를 바탕으로 이전 상태의 Q 함수를 업데이트하는 방식으로 진행
      • 첫 번째 에피소드에서는 보상이 있는 상태로 전이하는 경우에만 이전 상태의 Q 함수를 갱신
      • 에피소드를 반복하다 보면 보상이 있는 상태에서 다른 상태로 가치가 전달
    • 위 과정은 가치 반복법의 과정과 비슷

    가치 반복법과 시간차 학습의 차이

    • 가치 반복법은 환경의 MDP 정보를 알고 있다는 가정을 하므로 모든 상태, 그리고 각 상태에서 취할 수 있는 모든 행동의 가치 함수를 업데이트
    • 반면, 시간차 학습에서는 에피소드에서 에이전트가 거치는 상태와 행동에만 Q 함수를 업데이트
      • 즉, 전체의 일부를 샘플링

    엡실론-탐욕 알고리즘

    • 가치 반복법에서 사용했던 항상 더 큰 가치 함수, 또는 Q 함수를 얻기 위한 행동을 선택하는 방식을 탐욕 알고리즘(Greedy Algorithm)이라고 함
    • 가치 반복법과 몬테카를로 학습에서는 기본적으로 탐욕 알고리즘을 사용했지만, 행동 공간이 넓은 환경에서는 가치 함수를 최대한 이용하는 탐욕 알고리즘으로 수렴한 정책보다 더 좋은 정책도 나올 수 있음
    • 엡실론-탐욕 알고리즘(Epsilon-Greedy Algorithm)은 에이전트가 가치 함수를 이용하면서, 새로운 영역을 탐험할 수 있도록 여지를 주는 알고리즘
    • 엡실론-탐욕 알고리즘을 사용하면 환경에 대한 탐색이 덜 진행된 상태에서 학습 결과가 수렴하는 것을 막을 수 있음
Designed by Tistory.