바닥부터 배우는 강화학습4 알파고와 MCTS(1)

김승오·2024년 1월 3일
0

머신러닝

목록 보기
8/9

알파고와 MCTS

알파고: 학습 + 실시간 플래닝

  • 학습: 알파고가 이세돌을 만나기 전에 이루어지는 과정
  • 실시간 플래닝: 이세돌과의 대국 도중에 실시간으로 어디에 바둑알을 놓을지 고민하는 과정
    • MCTS(Monte Carlo Tree Search): 실시간 플래닝 알고리즘

학습 단계

  • MCTS에서 쓰일 재료들을 만드는 과정
    • 사람의 기보를 이용해 지도 학습한 정책
    • 롤아웃 정책
    • 스스로 대국하며 강화학습한 정책
    • 밸류 네트워크

지도 학습(무거움)

  • 6단 이상의 기사가 플레이한 데이터를 사용
  • 바둑판의 상태 정보 s가 인풋으로 들어오면 총19x19=361개의 바둑 칸들 중 현재 둘 수 있는 곳에 대해 실제로 돌을 내려놓을 확률 리턴
  • 13층의 컨볼루션 레이어

  • 학습 결과: 57%의 정답률
  • 사람 5단 정도의 실력

롤아웃 정책(가벼움)

  • 위 지도 학습 정책의 가벼운 버전
  • 마찬가지로 사람의 기보 데이터 이용해 지도 학습으로 만들어짐
  • 대신 뉴럴넷이 훨씬 작고 가벼운 네트워크
  • 13층의 컨볼루션 레이어가 아니라 사람 지식을 이용하여 만든 수많은 feature에 대한 선형결합 레이어 하나만 존재
  • ⇒ 속도가 빠름 / 성능 부족
  • ⇒ 정확도 24.2%

강화학습 정책

  • 지도 학습과 완벽히 똑같이 생긴 뉴럴 네트워크
  • 지도 학습의 파라미터를 이용해 초기화
  • 초기에는 완전히 같은 네트워크이나 강화학습 정책은 self-play를 통해 계속해서 강화됨
  • REINFORCE 알고리즘 사용
  • ⇒80%의 승률 달성

밸류 네트워크

  • 각 상태의 밸류를 리턴(1차원)
  • V(S) :주어진 상태 s부터 시작해서 강화학습 정책을 이용하여 플레이했을때 이길지 여부를 예측하는 함수
  • 손실함수 : MSE
vπrl(s)=Eπrl[Gtst=S]v_{\pi rl}(s)=\mathbb{E}_{\pi r l }[G_t|s_t=S]

profile
코딩코

0개의 댓글

관련 채용 정보