기계 학습의 이론을 이해하려고 하고 나서 오셀로 AI 를 만들어 보았다 ~ 재시동! ~

시리즈 목차


  • 기계 학습의 이론을 이해하지 않고 tensorflow로 오셀로 AI를 만들어 보았다 ~도입편~
  • 기계 학습의 이론을 이해하지 않고 tensorflow로 오셀로 AI를 만들어 보았다 ~실장편~
  • 기계 학습의 이론을 이해하지 않고 tensorflow에서 오셀로 AI를 만들어 보았다 ~ 막상 대전편 ~
  • 기계 학습의 이론을 이해하려고 하고 나서 오셀로 AI 를 만들어 보았다 ~ 재시동‼ ~
  • 머신러닝의 이론을 이해하려고 하고 나서 오셀로 AI를 만들어 보았다 ~무엇 이것 Alpha Zero 편~
  • 기계 학습의 이론을 이해하려고 엑셀로 중립 네트워크를 만들어 보았다 ~ 이미지 인식 mnist 편 ~

  • 지난 번 반성 ...



    이 분야에서는 문외한의 내가 '기계학습의 이론'을 전혀 공부하지 않고
    오셀로의 AI를 만들어 보았습니다만, 결과 참패였습니다. 강하지 않다.

    당신이 없기 때문에 기계 학습을 공부하려고합니다.

    공부하는 교재



    오셀로 AI에 관해 내가 이해할 수 있는 책은 단지 이것뿐이었다.


    이 책의 제 6 장 강화 학습 - 세 번째 나란히 강한 컴퓨터를 기른다
    에 따라 오셀로 AI를 만듭니다.

    이 외에 참고가 되는 서적을 아시는 분 교시해 주세요

    우선 교과서대로 ...라고하고 싶습니다.



    이 책의 제 6 장 강화 학습 - 세 번째 나란히 강한 컴퓨터를 기른다
    그러면 아래와 같은 점을 개량한 것을 재시동의 초기 상태로 합니다.

    1. RL-Glue라는 구조는 삭제한다



    이 책의 예에서는 RL-Glue라는 구조를 사용하여 학습하고 있습니다.
    나에게는 어렵고 잘 사용할 수 없기 때문에 삭제하려고했습니다.

    시작하기 전에 소스 코드를 다운로드합니다.
    $ git clone -b "#1" https://github.com/sasaco/train-chainerai.git

    환경이 완성되면 소스 코드 디렉토리로 이동하여 experiment.py를 두드리면 학습이 시작됩니다.
    $ cd train-chainerai
    $ python experiment.py
    



    아무래도 개조 RL-Glue 없음 버전도 정상적으로 학습할 수 있는 것 같습니다.

    2. 게임이 세번째라서 오셀로로 변경



    우선 이번에는, 중간층의 수나 세세한 곳은 이 책인 채로, 이하의 수정을 했습니다
    - 입력층과 출력층을 3×3 → 8×8로 변경하였습니다.
    - 오셀로는 공백에서도 넣을 수 없는 매스가 있다
    - 놓을 수 없는 경우 패스하는 동작 추가
    - 상대는 완전한 랜덤

    먼저 움직여 보자.



    시작하기 전에 소스 코드를 다운로드합니다.
    소스는 여기에 있습니다.
    $ git clone -b "#2" https://github.com/sasaco/train-chainerai.git

    학습



    환경이 완성되면 소스 코드 디렉토리로 이동하여 experiment.py를 두드리면 학습이 시작됩니다.
    $ cd train-chainerai
    $ python experiment.py
    



    결과



    랜덤 상대에게 5000 에피소드 학습시켜도 효과 보이지 않고
    조금 승률이 오르고 있을까? 같은 곳


    50000 에피소드로 변경하고 재시도 한 결과


    150000 에피소드를 넘어서면서 Loss nan이 되어 버렸다!!



    승률도 오르지 않고... 실패입니다.

    다음 번 , 기계 학습 이론을 이해하려고

    좋은 웹페이지 즐겨찾기