강화 학습의 좋은 구현?
문제
AI-Class 프로젝트의 경우 간단한 테트리스 게임을 능가하는 강화 학습 알고리즘을 구현해야합니다. 이 게임은 Java로 작성되었으며 소스 코드가 있습니다. 나는 강화 학습 이론의 기본 사항을 알고 있지만 SO 커뮤니티의 모든 사람이 이런 유형의 경험에 대한 경험을 가지고 있는지 궁금했습니다.
- Tetris 게임에서 강화 학습을 구현하기위한 권장 독서는 무엇입니까?
- 체크 아웃 할 가치가있는 비슷한 일을 달성하는 좋은 오픈 소스 프로젝트가 있습니까?
편집 : 더 구체적 일수록 더 좋지만 주제에 대한 일반적인 자원이 환영받습니다.
후속 조치 :
후속작을 게시하면 좋을 것이라고 생각했습니다.
다음은 미래의 학생들을 위해 끝났던 해결책 (코드 및 쓰기)입니다. :).
해결책
2009 년을 살펴보십시오 RL 경쟁. 문제 도메인 중 하나는 a 테트리스 게임. 1 년 전도 테트리스 문제가있었습니다. 여기에 있습니다 52 페이지의 최종 보고서 그해의 5 위 결선 진출 자에서, 이는 에이전트의 작동 방식에 대해 많은 세부 사항을 얻었습니다.
다른 팁
그만큼 Heaton Research eBook은 신경망 개념을 설명하는 데 능숙합니다 (코드 포함). 4 장은 기계 학습 및 네트워크를위한 다양한 교육 방법에 전념합니다. 다운로드 가능한 라이브러리 및 샘플 응용 프로그램이 있습니다.
다음은 주제에 대한 좋은 책입니다.
기계 학습 및 데이터 마이닝 : 원리 및 알고리즘 소개
작성자 : Igor Kononenko, Matjaz Kukar (2007 년 6 월)
또한 이러한 오픈 소스 프로젝트를 살펴보십시오.
이것은 강화 학습에만 국한되지 않지만 Stanford는 훌륭한 일련의 강의를 가지고 있습니다. YouTube에서 기계 학습 그리고 iTunes.
링크는 컨텐츠에 대해 약 30 분이 걸리는 첫 번째 강의입니다.
삼베 많은 일반적인 강화 학습 알고리즘과 몇 가지 환경과 유용한 도구를 구현하는 최근 Java 라이브러리입니다.
이 질문은 정말 오래되었지만 2018 년 에이 글을 읽는 사람이라면 기존 RL 알고리즘에 대한 견고한 참조에 관심이 있다면 OpenAi 기준선을 사용하는 것이 좋습니다. 이 알고리즘은 OpenAI의 직원 그룹 이이 내용을 실제로 알고 있으며 광범위하게 미세 조정 및 디버깅 된 직원에 의해 구현됩니다.
공정하게 말하면, 당신은 테트리스에게는 이것들이 필요하지 않지만 요즘에는 숙제 질문에는 좀 더 정교한 환경이 포함될 수 있다고 생각합니다.
Java 기반 인 rl4j를 배우는 것이 좋습니다. 나는 이것을 사용하고 있었고 행위자 비평가 알고리즘 (A3C라고 함)이있는 강화 학습 알고리즘에서 LSTM 네트워크조차 배울 수 있습니다.
여기 링크가 있습니다:https://github.com/deeplearning4j/dl4j-examples/blob/master/rl4j-examples/
이 질문은 상당히 구식 (10 세)이며 현대적인 RL 프레임 워크 및 환경 모음이 여기에서 유용 할 수 있음을 알았습니다. 나는 이것을 위해 Github Repo를 만들었고 정기적으로 업데이트하려고합니다.