깊은 강화 학습 Nanodegree

이 저장소에는 Udacity의 깊은 강화 학습 Nanodegree 프로그램과 관련된 자료가 포함되어 있습니다.
목차
튜토리얼
튜토리얼은 강화 학습에서 다양한 알고리즘을 구현함으로써 당신을 이끌어냅니다. 모든 코드는 Pytorch (v0.4)와 Python 3에 있습니다.
- 동적 프로그래밍 : 정책 평가, 정책 개선, 정책 반복 및 가치 반복과 같은 동적 프로그래밍 알고리즘 구현.
- Monte Carlo : 예측 및 제어를위한 Monte Carlo 방법을 구현합니다.
- 시간 차이 : SARSA, Q- 러닝 및 예상 SARSA와 같은 시간 차례 방법을 구현합니다.
- 이산화 : 연속 상태 공간을 이산화하고 산 자동차 환경을 해결하는 방법을 배우십시오.
- 타일 코딩 : 더 나은 일반화를 가능하게하는 연속 상태 공간을 이산화하는 방법을 구현합니다.
- Deep Q-Network : DQN (Deep Q-Network)을 사용하여 충돌없이 우주 차량을 탐색하는 방법을 탐색하십시오.
- 로봇 공학 : C ++ API를 사용하여 3D의 가상 로봇 시뮬레이션에서 강화 학습 에이전트를 훈련시킵니다. ( 외부 링크 )
- 언덕 등반 : 적응 형 소음 스케일링으로 언덕 등반을 사용하여 움직이는 카트의 기둥의 균형을 유지하십시오.
- 교차 엔트로피 방법 : 크로스 엔트로피 방법을 사용하여 가파른 언덕을 탐색하기 위해 자동차를 훈련시킵니다.
- 강화 : Monte Carlo 정책 구배를 사용하여 고전적인 제어 작업을 해결하는 방법을 배우십시오.
- 근위 정책 최적화 : 근위 정책 최적화 (PPO)를 사용하여 고전적인 강화 학습 과제를 해결하는 방법을 살펴 봅니다. ( 곧 올! )
- 심도있는 결정 론적 정책 구배 : OpenAI 체육관 환경과 함께 DDPG (Deep Decentistic Policy Gradients)를 사용하는 방법을 탐색하십시오.
- 진자 : OpenAi 체육관의 진자 환경을 사용하십시오.
- Bipedalwalker : Openai Gym의 Bipedalwalker 환경을 사용하십시오.
- 금융 : 최적의 거래 전략을 발견하기 위해 에이전트를 교육하십시오.
실험실 / 프로젝트
실험실과 프로젝트는 아래에서 찾을 수 있습니다. 모든 프로젝트는 Unity ML-Agents의 풍부한 시뮬레이션 환경을 사용합니다. 깊은 강화 학습 Nanodegree 프로그램에서는 프로젝트에 대한 검토를 받게됩니다. 이 리뷰는 개인화 된 피드백을 제공하고 코드에서 개선 될 수있는 것을 알려주기위한 것입니다.
- 택시 문제 :이 실험실에서는 택시를 훈련하여 승객을 데리러 내려갑니다.
- 내비게이션 : 첫 번째 프로젝트에서는 청색 바나나를 피하면서 노란색 바나나를 수집하도록 에이전트를 훈련시킵니다.
- 연속 제어 : 두 번째 프로젝트에서는 로봇 팔을 훈련하여 대상 위치에 도달합니다.
- 협업 및 경쟁 : 세 번째 프로젝트에서는 한 쌍의 에이전트를 훈련시킬 것입니다!
자원
- 치트 시트 :이 PDF 파일을 사용하여 강화 학습에 대한 연구를 안내하는 것이 좋습니다.
Openai 체육관 벤치 마크
고전적인 제어
- 타일 코딩 및 Q- 러닝을 갖는
Acrobot-v1 - 언덕 등반을 가진
Cartpole-v0 | 13 개의 에피소드에서 해결되었습니다 - 강화 된
Cartpole-v0 | 691 에피소드에서 해결되었습니다 - 교차 엔트로피 방법을 가진
MountainCarContinuous-v0 | 47 개의 반복으로 해결되었습니다 - 균일 한 그리드 이산화 및 Q- 러닝이있는
MountainCar-v0 | <50000 에피소드로 해결되었습니다 - 깊은 결정 론적 정책 그라디언트 (DDPG)가있는
Pendulum-v0
box2d
- 심층 결정 론적 정책 구배 (DDPG)가있는
BipedalWalker-v2 - 깊은 Q- 네트워크 (DQN) |가있는
CarRacing-v0 곧 올 것입니다! - 깊은 Q- 네트워크 (DQN) |가있는
LunarLander-v2 1504 에피소드에서 해결되었습니다
장난감 텍스트
- 동적 프로그래밍이있는
FrozenLake-v0 - Monte Carlo Methods가있는
Blackjack-v0 - 시간 차량 방법이있는 절벽
CliffWalking-v0
의존성
이 저장소에서 코드를 실행하도록 파이썬 환경을 설정하려면 아래 지침을 따르십시오.
Python 3.6으로 새로운 환경을 만들고 활성화하십시오.
conda create --name drlnd python=3.6
source activate drlnd
conda create --name drlnd python=3.6
activate drlnd
Windows 에서 실행중인 경우이 사이트에서 "Visual Studio 2019를위한 빌드 도구"가 설치되어 있는지 확인하십시오. 이 기사는 또한 매우 도움이 될 수 있습니다. 이것은 Windows 10 Home에서 작동하는 것으로 확인되었습니다.
이 저장소의 지침에 따라 최소한의 OpenAi 체육관 설치를 수행하십시오.
- 다음으로 여기에 지침을 따라 클래식 제어 환경 그룹을 설치하십시오.
- 그런 다음 여기에 지침에 따라 Box2D 환경 그룹을 설치하십시오.
저장소를 복제하고 (아직하지 않은 경우) python/ 폴더로 이동하십시오. 그런 다음 몇 가지 종속성을 설치하십시오.
git clone https://github.com/udacity/deep-reinforcement-learning.git
cd deep-reinforcement-learning/python
pip install .
drlnd 환경을위한 ipython 커널을 만듭니다.
python -m ipykernel install --user --name drlnd --display-name " drlnd "
노트북에서 코드를 실행하기 전에 드롭 다운 Kernel 메뉴를 사용하여 drlnd 환경과 일치하도록 커널을 변경하십시오.

더 배우고 싶습니까?
Udacity의 깊은 강화 학습 Nanodegree 프로그램에서 우리와 함께 배우십시오!
