파이토치와 유니티 ML-Agents로 배우는 강화학습

민규식 외 지음 | 위키북스
  • 등록일2022-09-26
  • 파일포맷pdf
  • 파일크기32 M  
  • 지원기기아이폰, 아이패드, 안드로이드, 태블릿, PC
  • 평점 평점점 평가없음

책소개

유니티 ML-Agents는 게임 엔진인 유니티를 통해 제작한 시뮬레이션 환경을 강화학습을 위한 환경으로 만들어주는 고마운 도구이다. 하지만 아직까지도 ML-Agents, 그중에서도 특히 ML-Agents 2.0 이후의 버전을 다루는 참고 자료가 많지 않기 때문에 ML-Agents를 사용하는 데 어려움이 많았다. 이 책은 유니티, ML-Agents, 심층강화학습 등 유니티 ML-Agents를 사용하는 데 필요한 다양한 내용을 다룬다. 또한 이 책은 2020년 출간된 ≪텐서플로와 유니티 ML-Agents로 배우는 강화학습≫의 개정판으로 최신버전의 ML-Agents에 대한 내용을 다루고 있다.

저자소개

한양대학교 미래자동차공학과에서 박사학위를 취득했으며 현재 카카오에서 AI 엔지니어로 일하고 있다. 강화학습 관련 페이스북 그룹인 Reinforcement Learning Korea의 운영진으로 활동하고 있으며 유니티 코리아에서 공인한 유니티 전문가 그룹인 Unity Masters 3~5기로 활동했다.

목차

▣ 1장: 강화학습의 개요

1.1 강화학습이란?

___1.1.1 기계학습이란?

___1.1.2 강화학습의 성과

1.2 강화학습의 기초 용어

1.3 강화학습의 기초 이론

___1.3.1 벨만 방정식

___1.3.2 탐험(exploration)과 이용(exploitation)



▣ 2장: 유니티 ML_Agents 살펴보기

2.1 유니티와 ML-Agents

___2.1.1 유니티

___2.1.2 ML-Agents

2.2 유니티 설치 및 기초 조작법

___2.2.1 유니티 허브 다운로드 및 설치

___2.2.2 유니티 라이선스 활성화

___2.2.3 유니티 에디터 설치

___2.2.4 유니티 프로젝트 생성

___2.2.5 유니티 인터페이스

___2.2.6 유니티의 기초적인 조작

2.3 ML-Agents 설치

___2.3.1 ML-Agents 파일 내려받기

___2.3.2 유니티에 ML-Agents 설치하기

___2.3.3 ML-Agents 파이썬 패키지 설치하기

2.4 ML-Agents의 구성 요소

___2.4.1 Behavior Parameters

___2.4.2 Agent Script

___2.4.3 Decision Requester, Model Overrider

___2.4.4 환경 빌드하기

2.5 mlagents-learn을 이용해 ML-Agents 사용하기

___2.5.1 ML-Agents에서 제공하는 강화학습 알고리즘

___2.5.2 ML-Agents에서 제공하는 학습 방식

___2.5.3 PPO 알고리즘을 이용한 3DBall 환경 학습

2.6 Python-API를 이용해 ML-Agents 사용하기

___2.6.1 Python-API를 통한 에이전트 랜덤 제어



▣ 3장: 그리드월드 환경 만들기

3.1 프로젝트 시작하기

3.2 그리드월드 스크립트 설명

3.3 벡터 관측 추가 및 환경 빌드

3.4 번외: 코드 최적화 하기



▣ 4장: Deep Q Network(DQN)

4.1 DQN 알고리즘의 배경

___4.1.1 가치 기반 강화학습

___4.1.2 DQN 알고리즘의 개요

4.2 DQN 알고리즘의 기법

___4.2.1 경험 리플레이(experience replay)

___4.2.2 타깃 네트워크(target network)

4.3 DQN 학습

4.4 DQN 코드

___4.4.1 라이브러리 불러오기 및 파라미터 값 설정

___4.4.2 Model 클래스

___4.4.3 Agent 클래스

___4.4.4 Main 함수

___4.4.5 학습 결과



▣ 5장: 드론 환경 만들기

5.1 A2C 알고리즘의 개요

5.2 액터-크리틱 네트워크의 구조

5.3 A2C 알고리즘의 학습 과정

5.4 A2C의 전체적인 학습 과정

5.5 A2C 코드

___5.5.1 라이브러리 불러오기 및 파라미터 값 설정

___5.5.2 Model 클래스

___5.5.3 Agent 클래스

___5.5.4 Main 함수

5.5.5 학습 결과



▣ 6장: Advantage Actor Critic(A2C)

6.1 프로젝트 시작하기

6.2 드론 에셋 가져오기 & 오브젝트 추가

___6.2.1 에셋스토어에서 드론 에셋 내려받기

___6.2.2 드론 환경 제작하기

6.3 스크립트 설명

___6.3.1 DroneSetting 스크립트

___6.3.2. DroneAgent 스크립트

6.4 드론 환경 실행 및 환경 빌드



▣ 7장: Deep Deterministic Policy Gradient(DDPG)

7.1 DDPG 알고리즘의 개요

7.2 DDPG 알고리즘의 기법

___7.2.1 경험 리플레이(experience replay)

___7.2.2 타깃 네트워크(target network)

___7.2.3 소프트 타깃 업데이트(soft target update)

___7.2.4 OU 노이즈(Ornstein Uhlenbeck Noise)

7.3 DDPG 학습

___7.3.1 크리틱 네트워크 업데이트

___7.3.2 액터 네트워크 업데이트

7.4 DDPG 코드

___7.4.1 라이브러리 불러오기 및 파라미터 값 설정

___7.4.2 OU Noise 클래스

___7.4.3 Actor 클래스

___7.4.4 Critic 클래스

___7.4.5 Agent 클래스

___7.4.6 Main 함수

___7.4.7 학습 결과



▣ 8장: 카트레이싱 환경 만들기

8.1 프로젝트 시작하기

8.2 카트레이싱 환경 구성하기

8.3 스크립트 작성 및 빌드하기



▣ 9장: Behavioral Cloning(BC)

9.1 Behavioral Cloning 알고리즘의 개요

9.2 Behavioral Cloning 알고리즘의 기법

___9.2.1 보상이 음수인 데이터 제외하기

9.3 Behavioral Cloning 학습

9.4 Behavioral Cloning 알고리즘 코드

___9.4.1 라이브러리 불러오기 및 파라미터 값 설정

___9.4.2 Model 클래스

___9.4.3 Agent 클래스

___9.4.4 Main 함수

___9.4.5 학습 결과

9.5 ml-agents의 내장 Imitation Learning 사용

___9.5.1 ML-Agents에서 제공하는 Behavioral Cloning 알고리즘

___9.5.2 ML-Agents에서 제공하는 GAIL 알고리즘

___9.5.3 모방학습을 위한 Config 파일 설정

___9.5.4 ml-agent에서의 모방학습 결과



▣ 10장: 마무리

10.1 기초편 내용 정리

10.2 추가 학습 자료

___10.2.1 유니티

___10.2.2 유니티 ML-Agents

___10.2.3 강화학습

10.3 응용편에서 살펴볼 내용

한줄 서평