심층 강화 학습 과정
신경망과 강화 학습의 결합을 살펴보세요. Python 및 PyTorch의 알고리즘 및 예제
AlphaGo Zero를 사용한 Deepmind와 Dota 2의 OpenAI가 달성한 놀라운 결과에 대해 들어보셨나요? 심층 신경망과 강화 학습에 관한 것입니다. 그것에 대해 더 알고 싶습니까?
이것은 마침내 Deep RL을 배우고 새롭고 흥미로운 프로젝트와 애플리케이션에 사용할 수 있는 적절한 기회입니다.
여기서는 이러한 알고리즘에 대한 심층적인 소개를 찾을 수 있습니다. 그 중 q러닝, 딥q러닝, PPO, 배우비평 등을 배우고 Python과 PyTorch를 사용해 구현해보겠습니다.
궁극적인 목표는 이러한 범용 기술을 사용하여 모든 종류의 중요한 현실 문제에 적용하는 것입니다. 데미스 허사비스
이 저장소에는 다음이 포함됩니다.
주로 DeepMind 및 Berkley Youtube 채널의 강의(및 기타 콘텐츠)입니다.
알고리즘(예: DQN, A2C, PPO)은 PyTorch에서 구현되고 OpenAI Gym: RoboSchool 및 Atari에서 테스트되었습니다.
계속 관심을 갖고 저를 팔로우하고 #60DaysRLChallenge를 팔로우하세요.
이제 Slack 채널 도 생겼습니다. 초대장을 받으려면 [email protected]으로 이메일을 보내주세요. 또한 아이디어, 제안 또는 개선 사항이 있으면 이메일을 보내주세요.
딥 러닝, 컴퓨터 비전 또는 자연어 처리를 배우려면 내 1년 ML 여정을 확인하세요.
시작하기 전에.. 전제 조건
- Python 및 PyTorch의 기본 수준
- 기계 학습
- 딥러닝(MLP, CNN, RNN)의 기본 지식
빠른 참고 사항: 내 새 책이 나왔습니다!
강화 학습과 Deep RL에 대해 더 자세히 알아보려면 내 책 Reinforcement Learning Algorithms with Python을 확인하세요!!
목차
- 강화 학습의 환경
- RL Cycle 및 OpenAI Gym 구현
- 동적 프로그래밍 문제 해결
- Q 학습 및 SARSA 응용
- 깊은 Q-네트워크
- 확률론적 및 DDPG 최적화 학습
- TRPO 및 PPO 구현
- DDPG 및 TD3 애플리케이션
- 모델 기반 RL
- DAgger 알고리즘을 사용한 모방 학습
- 블랙박스 최적화 알고리즘 이해
- ESBAS 알고리즘 개발
- RL 과제 해결을 위한 실제 구현
색인 - 강화 학습
- 1주차 - 소개
- 2주차 - RL 기초
- 3주차 - 가치 기반 알고리즘 - DQN
- 4주차 - 정책 경사 알고리즘 - REINFORCE 및 A2C
- 5주차 - 고급 정책 변화 - PPO
- 6주차 - 진화 전략 및 유전 알고리즘 - ES
- 7주차 - 모델 기반 강화 학습 - MB-MF
- 8주차 - 고급 개념 및 원하는 프로젝트
- 지난 4일 - 검토 + 공유
- 최고의 리소스
- 추가 리소스
1주차 - 소개
- 강화 학습이 중요한 학습 방법인 이유 - 간단한 설명
- 소개 및 과정 개요 - CS294 by Levine, Berkley
- 심층 강화 학습: Karpathy의 Pixels에서 제공되는 Pong
기타 리소스
- 강화 학습의 "성경": 1장 - Sutton & Barto
- 훌륭한 입문서: 심층 강화 학습: 개요
- 코딩 시작: 처음부터: Python 50줄의 AI 균형 조정 행위
2주차 - RL 기본: MDP, 동적 프로그래밍 및 모델 없는 제어
과거를 기억하지 못하는 사람은 과거를 반복하게 된다 - 조지 산타야나
이번 주에는 문제 정의부터 시작하여 정책이나 상태의 품질을 표현하는 데 사용되는 함수의 추정 및 최적화에 이르기까지 강화 학습의 기본 블록에 대해 알아봅니다.
강의 - 이론
- 마르코프 결정 과정 - David Silver (DeepMind)
- 동적 프로그래밍을 통한 계획 - David Silver(DeepMind)
- 모델 없는 예측 - David Silver(DeepMind)
- 모델 프리 제어 - David Silver(DeepMind)
- ㅇ 탐욕스러운 정책 반복
- GLIE 몬테카를로 검색
- 사르사
- 중요도 샘플링
이번주 프로젝트 - Q-learning
FrozenLake에 적용된 Q-러닝 - 연습으로는 SARSA를 이용하여 게임을 풀거나 직접 Q-러닝을 구현할 수 있습니다. 전자의 경우에는 몇 가지 변경 사항만 필요합니다.
기타 리소스
- 강화 학습의 "성경": 3장과 4장 - Sutton & Barto
- 가치 기능 소개 - Sergey Levine의 DRL UC Berkley
3주차 - 가치 기반 알고리즘 - DQN
이번 주에는 좀 더 고급 개념을 배우고 심층 신경망을 Q-러닝 알고리즘에 적용해 보겠습니다.
강의 - 이론
- 가치 함수 근사 - David Silver(DeepMind)
- 미분 가능한 함수 근사기
- 증분 방법
- 배치 방법(DQN)
- 고급 Q-학습 알고리즘 - Sergey Levine(UC Berkley)
- 재생 버퍼
- 더블 Q-러닝
- 지속적인 활동(NAF,DDPG)
- 실용적인 팁
금주의 프로젝트 - DQN 및 변형
Pong에 적용된 DQN 및 일부 변형 - 이번 주의 목표는 Atari 게임을 플레이하기 위한 DQN 알고리즘을 개발하는 것입니다. 더 흥미롭게 만들기 위해 DQN의 세 가지 확장인 Double Q-learning , Multi-step learning , Dueling network 및 Noisy Nets를 개발했습니다. 그들과 함께 플레이하고 자신감이 있다면 우선순위 재생, 결투 네트워크 또는 분산 RL을 구현할 수 있습니다. 이러한 개선 사항에 대해 자세히 알아보려면 문서를 읽어보세요!
서류
꼭 읽어야 할
- 심층 강화 학습으로 Atari 재생 - 2013
- 심층 강화 학습을 통한 인간 수준의 제어 - 2015
- Rainbow: 심층 강화 학습의 개선 사항 결합 - 2017
DQN의 확장
- Double Q-learning을 사용한 심층 강화 학습 - 2015
- 우선순위 경험 재생 - 2015
- 심층 강화 학습을 위한 듀얼 네트워크 아키텍처 - 2016
- 탐사를 위한 시끄러운 네트워크 - 2017
- 분위수 회귀를 이용한 분포 강화 학습 - 2017
기타 리소스
- 강화 학습의 "성경": 5장과 6장 - Sutton & Barto
- 기업 내 심층 강화 학습: 게임에서 산업까지의 격차 해소
4주차 - 정책 경사 알고리즘 - REINFORCE 및 A2C
4주차에는 정책을 직접 최적화하는 알고리즘 클래스인 정책 그라데이션 방법을 소개합니다. 또한 Actor-Critic 알고리즘에 대해서도 알아봅니다. 이러한 알고리즘은 정책 기울기(행위자)와 가치 함수(비평가)를 모두 결합합니다.
강의 - 이론
- 정책 그라데이션 방법 - David Silver(DeepMind)
- 유한차분정책 기울기
- 몬테카를로 정책 변화도
- 배우-평론가 정책 변화
- 정책 그라데이션 소개 - Sergey Levine(RECAP, 선택 사항)
- 정책 그라데이션(REINFORCE 및 바닐라 PG)
- 분산 감소
- 배우 평론가 - Sergey Levine(자세한 내용)
- 배우 평론가
- 할인 요인
- 배우 평론가 알고리즘 설계(배치 모드 또는 온라인)
- 상태 의존 기준선
금주의 프로젝트 - 바닐라 PG 및 A2C
CartPole에 적용된 바닐라 PG 및 A2C - 이번 주의 연습은 정책 그라디언트 방법 또는 보다 정교한 행위자 평론가를 구현하는 것입니다. 저장소에서 PG 및 A2C의 구현된 버전을 찾을 수 있습니다. 버그 경고! A2C가 나에게 이상한 결과를 준다는 점에 유의하십시오. PG 및 A2C 구현이 쉽다면 A2C(A3C)의 비동기 버전을 사용해 볼 수 있습니다.
서류
- 함수 근사를 이용한 강화 학습을 위한 정책 기울기 방법
- 심층 강화 학습을 위한 비동기식 방법
기타 리소스
- 강화 학습의 "성경": 9장과 10장 - Sutton & Barto
- 직관적인 RL: A2C(Advantage-Actor-Critic) 소개
- 비동기 배우-비평가 에이전트(A3C)
5주차 - 고급 정책 변화 - PPO
이번 주에는 "바닐라" 정책 그라디언트 방법의 안정성과 수렴을 향상시키는 고급 정책 그라디언트 방법에 대해 설명합니다. OpenAI에서 개발하고 OpenAI Five에 채택된 RL 알고리즘인 PPO를 배우고 구현하게 됩니다.
강의 - 이론
- 고급 정책 그라디언트 - Sergey Levine(UC Berkley)
- "바닐라" 정책 그라데이션 방법의 문제
- 정책 성과 한계
- 단조로운 개선 이론
- 알고리즘: NPO, TRPO, PPO
- 자연 정책 그라데이션, TRPO, PPO - John Schulman(Berkey DRL Bootcamp) - (RECAP, 선택 사항)
- "바닐라" 정책 그라데이션 방법의 한계
- 자연 정책 변화
- 신뢰 지역 정책 최적화, TRPO
- 근접 정책 최적화, PPO
금주의 프로젝트 - PPO
BipedalWalker에 PPO 적용 - 이번 주에는 PPO 또는 TRPO를 구현해야 합니다. TRPO에 비해 단순함을 고려하여 PPO를 제안합니다. Week5 프로젝트 폴더에는 BipedalWalker 플레이 방법을 배우는 PPO 구현이 있습니다. 또한 폴더에서는 프로젝트 개발에 도움이 되는 기타 리소스를 찾을 수 있습니다. 재미있게 보내세요!
PPO에 대해 자세히 알아보려면 논문을 읽고 Arxiv Insights의 동영상을 시청하세요.
서류
- 신뢰 지역 정책 최적화 - 2015
- 근위 정책 최적화 알고리즘 - 2017
기타 리소스
- PPO와 TRPO를 더 잘 이해하려면: (로봇) 행복 추구
- Deep RL의 너트와 볼트
- PPO 모범 사례: 근접 정책 최적화를 통한 교육
- Arxiv Insights의 PPO 알고리즘 설명
6주차 - 진화 전략 및 유전 알고리즘 - ES
작년에 진화 전략(ES)과 유전 알고리즘(GA)은 RL 방법과 비슷한 결과를 달성하는 것으로 나타났습니다. 학습하는 데 RL보다 더 많은 데이터가 필요하지만 수천 개의 CPU에 걸쳐 확장할 수 있는 파생물이 없는 블랙박스 알고리즘입니다. 이번 주에는 블랙박스 알고리즘을 살펴보겠습니다.
강의 및 기사 - 이론
- 진화 전략
- ES 소개: 진화 전략에 대한 시각적 가이드
- RL용 ES: 안정적인 전략의 진화
- 파생 없는 방법 - 강의
- 진화 전략(논문 토론)
- 유전 알고리즘
금주의 프로젝트 - ES
LunarLander에 적용된 진화 전략 - 이번 주 프로젝트는 ES 또는 GA를 구현하는 것입니다. Week6 폴더 에서는 LunarLanderContinuous를 해결하기 위한 강화 학습에 대한 확장 가능한 대안으로서의 진화 전략 논문의 기본 구현을 찾을 수 있습니다. 더 어려운 환경을 플레이하도록 수정하거나 아이디어를 추가할 수 있습니다.
서류
- 심층 신경 진화: 유전자 알고리즘은 강화 학습을 위한 심층 신경망 훈련을 위한 경쟁력 있는 대안입니다.
- 강화 학습에 대한 확장 가능한 대안으로서의 진화 전략
기타 리소스
7주차 - 모델 기반 강화 학습 - MB-MF
지금까지 연구된 알고리즘은 모델이 없습니다. 즉, 주어진 상태에서 더 나은 동작만 선택한다는 의미입니다. 이러한 알고리즘은 매우 좋은 성능을 달성하지만 많은 훈련 데이터가 필요합니다. 대신 모델 기반 알고리즘은 환경을 학습하고 학습된 모델에 따라 다음 작업을 계획합니다. 이러한 방법은 모델이 없는 방법보다 샘플 효율성이 높지만 전반적으로 최악의 성능을 나타냅니다. 이번 주에는 이러한 방법 뒤에 있는 이론을 배우고 마지막 알고리즘 중 하나를 구현하게 됩니다.
강의 - 이론
- 모델 기반 RL, David Silver(DeepMind)(간결한 버전)
- 학습과 계획의 통합
- 모델 기반 RL 개요
- 통합 아키텍처
- 시뮬레이션 기반 검색
- 모델 기반 RL, Sergey Levine(UC Berkley)(심층 버전)
- 데이터로부터 동적 시스템 학습
- 모델 기반 RL 개요
- 글로벌 및 로컬 모델
- 로컬 모델 및 신뢰 영역을 통한 학습
- 최적의 컨트롤러를 모방하여 정책 학습
- 학습된 모델을 사용하여 정책으로 역전파
- 안내된 정책 검색 알고리즘
- DAgger로 최적의 제어 모방
- 고급 모델 학습 및 이미지
- 잠재 공간의 모델
- 이미지 공간에서 직접 모델 생성
- 역모델
금주의 프로젝트 - MB-MF
RoboschoolAnt에 MB-MF 적용 - 이번 주에는 이 문서에 설명된 모델 기반 알고리즘을 구현하기로 결정했습니다. 여기에서 내 구현을 찾을 수 있습니다. NB: 논문에서처럼 Mujoco에 구현하는 대신 OpenAI Gym과 통합된 로봇용 오픈 소스 시뮬레이터인 RoboSchool을 사용했습니다.
서류
- 심층 강화 학습을 위한 상상력 증강 에이전트 - 2017
- 비지도 보조 작업을 통한 강화 학습 - 2016
- 모델 없는 미세 조정을 사용한 모델 기반 심층 강화 학습을 위한 신경망 역학 - 2018
기타 리소스
- 강화 학습의 "성경": 8장 - Sutton & Barto
- 월드 모델 - 에이전트가 자신의 꿈 속에서 학습할 수 있나요?
8주차 - 고급 개념 및 원하는 프로젝트
지난주는 고급 RL 개념과 선택한 프로젝트에 관한 것입니다.
강의 - 이론
- 세르게이 레빈(버클리)
- 추론과 제어의 연결
- 역 강화 학습
- 탐험(1부)
- 탐색(2부) 및 전이 학습
- 다중 작업 학습 및 전송
- 메타러닝과 병렬성
- 고급 모방 학습 및 미해결 문제
- 데이비드 실버(딥마인드)
최종 프로젝트
여기서 몇 가지 프로젝트 아이디어를 찾을 수 있습니다.
- 포머맨(멀티플레이어)
- 보철물을 위한 AI 챌린지(Challenge)
- 단어 모델(종이 구현)
- 연구요청 OpenAI(연구)
- 레트로 콘테스트(편입학습)
기타 리소스
- 알파고 제로
- 종이
- DeepMind 블로그 게시물: AlphaGo Zero: 처음부터 학습
- Arxiv Insights 비디오: AlphaGo Zero 작동 방식 - Google DeepMind
- 오픈AI 파이브
- OpenAI 블로그 게시물: OpenAI Five
- Arxiv Insights 비디오: OpenAI Five: Dota II에서 인간 프로와 마주하기
지난 4일 - 검토 + 공유
60일 RL 챌린지를 완료한 것을 축하합니다!! 재미있게 보셨다면 알려주시고 공유해주세요!
또 봐요!
최고의 리소스
강화 학습: 소개 - Sutton & Barto 저. 강화 학습의 "성경". 여기에서 두 번째 버전의 PDF 초안을 찾을 수 있습니다.
심층 강화 학습 실습 - Maxim Lapan 작성
딥 러닝 - 이안 굿펠로우
심층 강화 학습 - Levine의 UC Berkeley 수업은 여기에서 해당 사이트를 확인하세요.
강화 학습 과정 - DeepMind의 David Silver 작성. AlphaGo 수석연구원 Silver님의 훌륭한 입문 강의입니다. 그들은 Sutton & Barto의 강화 학습 책을 따릅니다.
추가 리소스
놀라운 강화 학습. 강화 학습 전용으로 선별된 리소스 목록
RL의 GroundAI. 강화학습에 관한 논문
커피한잔 ☺
어떤 기여라도 높이 평가됩니다! 건배!