파이토치와 유니티 ML-Agents로 배우는 강화학습 (다양한 게임을 제작하며 배우는 심층강화학습)

파이토치와 유니티 ML-Agents로 배우는 강화학습 (다양한 게임을 제작하며 배우는 심층강화학습)

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

★ 이 책에서 다루는 내용 ★

◎ 강화학습의 기초 용어 및 이론
◎ 유니티 설치 및 기초 사용법
◎ 유니티 ML-Agents 설치, 구성 요소 및 사용법 설명(mlagents-learn, Python API)
◎ 강화학습 환경 제작: 그리드월드, 드론, 카트레이싱
◎ 강화학습 알고리즘 이론 학습 및 코드 구현: DQN, A2C, DDPG, BC
◎ ML-Agents 예제 환경을 이용한 강화학습 환경 제작
◎ 무료 에셋을 이용한 강화학습 환경 제작
저자

민규식

한양대학교미래자동차공학과에서박사학위를취득했으며현재카카오에서AI엔지니어로일하고있다.강화학습관련페이스북그룹인ReinforcementLearningKorea의운영진으로활동하고있으며유니티코리아에서공인한유니티전문가그룹인UnityMasters3~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.2ML-Agents
2.2유니티설치및기초조작법
___2.2.1유니티허브다운로드및설치
___2.2.2유니티라이선스활성화
___2.2.3유니티에디터설치
___2.2.4유니티프로젝트생성
___2.2.5유니티인터페이스
___2.2.6유니티의기초적인조작
2.3ML-Agents설치
___2.3.1ML-Agents파일내려받기
___2.3.2유니티에ML-Agents설치하기
___2.3.3ML-Agents파이썬패키지설치하기
2.4ML-Agents의구성요소
___2.4.1BehaviorParameters
___2.4.2AgentScript
___2.4.3DecisionRequester,ModelOverrider
___2.4.4환경빌드하기
2.5mlagents-learn을이용해ML-Agents사용하기
___2.5.1ML-Agents에서제공하는강화학습알고리즘
___2.5.2ML-Agents에서제공하는학습방식
___2.5.3PPO알고리즘을이용한3DBall환경학습
2.6Python-API를이용해ML-Agents사용하기
___2.6.1Python-API를통한에이전트랜덤제어

▣3장:그리드월드환경만들기
3.1프로젝트시작하기
3.2그리드월드스크립트설명
3.3벡터관측추가및환경빌드
3.4번외:코드최적화하기

▣4장:DeepQNetwork(DQN)
4.1DQN알고리즘의배경
___4.1.1가치기반강화학습
___4.1.2DQN알고리즘의개요
4.2DQN알고리즘의기법
___4.2.1경험리플레이(experiencereplay)
___4.2.2타깃네트워크(targetnetwork)
4.3DQN학습
4.4DQN코드
___4.4.1라이브러리불러오기및파라미터값설정
___4.4.2Model클래스
___4.4.3Agent클래스
___4.4.4Main함수
___4.4.5학습결과

▣5장:드론환경만들기
5.1A2C알고리즘의개요
5.2액터-크리틱네트워크의구조
5.3A2C알고리즘의학습과정
5.4A2C의전체적인학습과정
5.5A2C코드
___5.5.1라이브러리불러오기및파라미터값설정
___5.5.2Model클래스
___5.5.3Agent클래스
___5.5.4Main함수
5.5.5학습결과

▣6장:AdvantageActorCritic(A2C)
6.1프로젝트시작하기
6.2드론에셋가져오기&오브젝트추가
___6.2.1에셋스토어에서드론에셋내려받기
___6.2.2드론환경제작하기
6.3스크립트설명
___6.3.1DroneSetting스크립트
___6.3.2.DroneAgent스크립트
6.4드론환경실행및환경빌드

▣7장:DeepDeterministicPolicyGradient(DDPG)
7.1DDPG알고리즘의개요
7.2DDPG알고리즘의기법
___7.2.1경험리플레이(experiencereplay)
___7.2.2타깃네트워크(targetnetwork)
___7.2.3소프트타깃업데이트(softtargetupdate)
___7.2.4OU노이즈(OrnsteinUhlenbeckNoise)
7.3DDPG학습
___7.3.1크리틱네트워크업데이트
___7.3.2액터네트워크업데이트
7.4DDPG코드
___7.4.1라이브러리불러오기및파라미터값설정
___7.4.2OUNoise클래스
___7.4.3Actor클래스
___7.4.4Critic클래스
___7.4.5Agent클래스
___7.4.6Main함수
___7.4.7학습결과

▣8장:카트레이싱환경만들기
8.1프로젝트시작하기
8.2카트레이싱환경구성하기
8.3스크립트작성및빌드하기

▣9장:BehavioralCloning(BC)
9.1BehavioralCloning알고리즘의개요
9.2BehavioralCloning알고리즘의기법
___9.2.1보상이음수인데이터제외하기
9.3BehavioralCloning학습
9.4BehavioralCloning알고리즘코드
___9.4.1라이브러리불러오기및파라미터값설정
___9.4.2Model클래스
___9.4.3Agent클래스
___9.4.4Main함수
___9.4.5학습결과
9.5ml-agents의내장ImitationLearning사용
___9.5.1ML-Agents에서제공하는BehavioralCloning알고리즘
___9.5.2ML-Agents에서제공하는GAIL알고리즘
___9.5.3모방학습을위한Config파일설정
___9.5.4ml-agent에서의모방학습결과

▣10장:마무리
10.1기초편내용정리
10.2추가학습자료
___10.2.1유니티
___10.2.2유니티ML-Agents
___10.2.3강화학습
10.3응용편에서살펴볼내용