강화 학습: 소개
Sutton & Barto의 책 Reinforcement Learning: An Introduction(2판) 에 대한 Python 복제
코드에 대해 혼동이 있거나 버그를 보고하려면 저에게 직접 이메일을 보내는 대신 문제를 열어주세요. 안타깝게도 책에 대한 연습 답변이 없습니다.
내용물
제1장
- 틱택토
제2장
- 그림 2.1: 10개 무장 테스트베드의 예시적인 산적 문제
- 그림 2.2: 10개의 테스트베드에서 엡실론 욕심 많은 행동 가치 방법의 평균 성능
- 그림 2.3: 낙관적인 초기 행동-가치 추정
- 그림 2.4: 10개 무장 테스트베드에서 UCB 작업 선택의 평균 성능
- 그림 2.5: Gradient Bandit 알고리즘의 평균 성능
- 그림 2.6: 다양한 밴디트 알고리즘에 대한 매개변수 연구
제3장
- 그림 3.2: 무작위 정책을 사용한 그리드 예
- 그림 3.5: 그리드월드 예시에 대한 최적의 솔루션
제4장
- 그림 4.1: 소규모 그리드 세계에서 반복적인 정책 평가의 수렴
- 그림 4.2: Jack의 자동차 렌트 문제
- 그림 4.3: 도박꾼의 문제에 대한 해결책
제5장
- 그림 5.1: 블랙잭 정책에 대한 대략적인 상태-가치 함수
- 그림 5.2: Monte Carlo ES가 찾아낸 블랙잭에 대한 최적의 정책 및 상태-가치 함수
- 그림 5.3: 가중 중요도 샘플링
- 그림 5.4: 놀라울 정도로 불안정한 추정치를 사용한 보통 중요도 샘플링
제6장
- 예제 6.2: 랜덤 워크
- 그림 6.2: 일괄 업데이트
- 그림 6.3: 바람이 부는 그리드 세계에 적용된 Sarsa
- 그림 6.4: 절벽 걷기 작업
- 그림 6.6: TD 제어 방법의 임시 및 점근적 성능
- 그림 6.7: Q-학습과 이중 Q-학습 비교
제7장
- 그림 7.2: 19개 상태 무작위 보행에 대한 n단계 TD 방법의 성능
제8장
- 그림 8.2: 계획 단계 수에 따라 달라지는 Dyna-Q 에이전트의 평균 학습 곡선
- 그림 8.4: 차단 작업에 대한 Dyna 에이전트의 평균 성능
- 그림 8.5: 바로가기 작업에 대한 Dyna 에이전트의 평균 성능
- 예제 8.4: 우선순위가 지정된 스위핑은 Dyna 미로 작업에 대한 학습 시간을 크게 단축합니다.
- 그림 8.7: 예상 업데이트와 샘플 업데이트의 효율성 비교
- 그림 8.8: 다양한 업데이트 배포의 상대적 효율성
제9장
- 그림 9.1: 1000개 상태 랜덤 워크 작업의 Gradient Monte Carlo 알고리즘
- 그림 9.2: 1000개 상태 랜덤 워크 작업에 대한 반구배 n단계 TD 알고리즘
- 그림 9.5: 1000개 상태 랜덤 워크 작업의 푸리에 기반과 다항식
- 그림 9.8: 초기 일반화 및 점근적 정확도에 대한 특징 폭의 영향 예
- 그림 9.10: 1000개 상태 랜덤 워크 작업의 단일 타일링과 다중 타일링
제10장
- 그림 10.1: 한 번의 실행으로 Mountain Car 작업에 대한 비용 함수
- 그림 10.2: Mountain Car 작업의 반 경사 Sarsa에 대한 학습 곡선
- 그림 10.3: Mountain Car 작업에서 반경사 Sarsa의 1단계 성능과 다단계 성능
- 그림 10.4: n단계 반구배 Sarsa의 초기 성능에 대한 알파와 n의 영향
- 그림 10.5: 액세스 제어 대기열 작업에 대한 차등 반 경사 Sarsa
제11장
- 그림 11.2: 베어드의 반례
- 그림 11.6: Baird의 반례에 대한 TDC 알고리즘의 동작
- 그림 11.7: Baird의 반례에 대한 기대에서 ETD 알고리즘의 동작
제12장
- 그림 12.3: 19개 상태 랜덤 워크의 오프라인 람다 반환 알고리즘
- 그림 12.6: 19개 상태 랜덤 워크의 TD(λ) 알고리즘
- 그림 12.8: 19개 상태 랜덤 워크에 대한 진정한 온라인 TD(λ) 알고리즘
- 그림 12.10: Mountain Car의 트레이스를 대체한 Sarsa(λ)
- 그림 12.11: Mountain Car의 Sarsa(λ) 알고리즘 요약 비교
제13장
- 예제 13.1: 동작이 전환되는 짧은 복도
- 그림 13.1: 짧은 복도 그리드 세계의 REINFORCE
- 그림 13.2: 짧은 복도 그리드 세계의 기준선을 사용한 REINFORCE
환경
- 파이썬 3.6
- 멍청하다
- matplotlib
- 바다 본
- tqdm
용법
모든 파일은 독립적입니다.
python any_file_you_want.py
기부금
누락된 예제를 제공하거나 일부 버그를 수정하고 싶다면 언제든지 이슈를 공개하거나 끌어오기 요청을 보내주세요.