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

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

$38.84
Description
유니티를 이용하여 직접 게임을 제작하고 ML-Agents로 강화학습 환경을 구성해 보자!
유니티 ML-Agents는 게임 엔진인 유니티를 통해 제작한 시뮬레이션 환경을 강화학습을 위한 환경으로 만들어주는 고마운 도구이다. ML-Agents를 통해 많은 개발자, 연구자들이 원하는 강화학습 환경을 직접 만들 수 있게 되면서 ML-Agents는 학술적, 산업적으로 강화학습의 사용에 있어 중요한 도구가 되었다. 하지만 아직까지도 ML-Agents, 그중에서도 특히 ML-Agents 2.0 이후의 버전을 다루는 참고 자료가 많지 않기 때문에 ML-Agents를 사용하는 데 어려움이 많았다.

이 책은 2022년에 출간된 《파이토치와 유니티 ML-Agents로 배우는 강화학습》의 후속편으로 더욱 깊이 있는 강화학습에 대한 이론과 코드, 이를 위한 환경 제작 방법 등을 다루고 있다.

★ 이 책에서 다루는 내용 ★

◎ 응용 강화학습 환경 제작: 닷지, 퐁, 방탈출, 메이즈, 투 미션
◎ 응용 강화학습 알고리즘과 이를 응용하기 위한 기법들의 이론 및 학습 코드 구현: PPO, Attention,RND, MA-POCA, HyperNetworks
◎ 분산 학습, 커리큘럼 학습, 가변 입력 환경, 자가 학습, 멀티에이전트, 어려운 탐험 환경, 다중 골 환경 등 ML-Agents를 이용한 다양한 학습 방법 제공
◎ Python API와 mlagents-learn을 통한 응용 강화학습 알고리즘 설정 및 학습 방법

저자

민규식,이현호,박유민

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

저자:이현호
응용수학및컴퓨터공학을전공하였고,ML을통해문제들을해결하는일을해왔다.현재삼성전자에서LLMOps구축업무를수행하고있다.

저자:박유민
경희대학교컴퓨터공학과에서박사학위를취득했으며현재버지니아공대에서박사후연구원으로일하고있다.주연구분야는네트워크도메인에서머신러닝을활용한통신자원최적화이다.

목차


00장:유니티와ML-Agents설치하기
유니티와ML-Agents설치하기
유니티허브다운로드및설치
유니티라이선스활성화
유니티에디터설치
ML-Agents설치
ML-Agents파일내려받기
유니티에ML-Agents설치하기
ML-Agents파이썬패키지설치하기

01장:유니티와ML-Agents설치하기
1.1프로젝트시작하기
1.2닷지환경구성하기
1.3스크립트작성하기
1.3.1스크립트파일생성및설정
1.3.2DodgeScene스크립트
1.3.3BallScript스크립트
1.3.4Area스크립트
1.3.5DodgeAgent스크립트
1.4닷지환경설정및환경빌드

02장:ProximalPolicyOptimization(PPO)
2.1PPO알고리즘의개요
2.2PPO알고리즘의이론
2.2.1PPO알고리즘의목적함수
2.2.2PPO의분산학습
2.2.3PPO의네트워크구조
2.2.4PPO알고리즘의학습
2.2.5PPO알고리즘의성능
2.3PPO코드
2.3.1라이브러리불러오기
2.3.2파라미터값설정
2.3.3Model클래스
2.3.4Agent클래스
2.3.5Main함수
2.3.6학습결과
2.4mlagents-learn(파라미터랜덤화)
2.5커리큘럼학습
2.5.1mlagents-learn을이용한커리큘럼학습
2.5.2Python-API를이용한커리큘럼학습

03장:가변적인입력환경과어텐션
3.1가변적인입력환경의개요
3.2닷지환경수정(가변적인입력환경)
3.3어텐션기법의이론
3.3.1멀티헤드어텐션
3.3.2강화학습에서어텐션의적용
3.4어텐션PPO코드
3.4.1라이브러리불러오기
3.4.2파라미터값설정
3.4.3Model클래스
3.4.4Agent클래스
3.4.5Main함수
3.4.6학습결과

04장:퐁환경만들기
4.1프로젝트시작하기
4.2퐁환경구성하기
4.3스크립트작성하기
4.3.1스크립트파일생성
4.3.2PongAgent스크립트
4.3.3EnvController스크립트
4.4퐁환경설정및환경빌드

05장:적대적강화학습
5.1적대적강화학습개요
5.2적대적PPO코드
5.2.1라이브러리불러오기
5.2.2파라미터값설정
5.2.3Model클래스
5.2.4Agent클래스
5.2.5Main함수
5.2.6학습결과
5.3mlagents-learn(적대적강화학습)

06장:방탈출환경만들기
6.1프로젝트시작하기
6.2방탈출환경구성하기
6.3스크립트작성하기
6.3.1스크립트파일생성
6.3.2EnvController스크립트
6.3.3BlockAgent스크립트
6.4방탈출환경설정및환경빌드

07장:MA-POCA
7.1COMA알고리즘의이론
7.1.1COMA알고리즘개요
7.1.2중앙화크리틱,탈중앙화액터
7.1.3반사실적베이스라인
7.1.4COMA논문의결과
7.2MA-POCA알고리즘의이론
7.2.1MA-POCA알고리즘개요
7.2.2MA-POCA의가치함수
7.2.3MA-POCA의반사실적베이스라인
7.2.4MA-POCA논문의결과
7.3MA-POCA코드
7.4.1라이브러리불러오기
7.4.2파라미터값설정
7.4.3Model클래스
7.4.4Agent클래스
7.4.5Main함수
7.4.6학습결과
7.4mlagents-learn(MA-POCA)

08장:메이즈환경만들기
8.1프로젝트시작하기
8.2메이즈환경구성하기
8.3스크립트작성하기
8.3.1.스크립트파일생성
8.3.2.HardExplorationAgent스크립트
8.4메이즈환경설정및빌드하기

09장:RandomNetworkDistillation
9.1RND알고리즘의개요
9.2RND알고리즘의기법
9.3RND알고리즘구현
9.4RND코드
9.4.1라이브러리불러오기및파라미터값설정하기
9.4.2Model클래스
9.4.3RMS클래스
9.4.4Agent클래스
9.4.5Main함수
9.4.6학습결과
9.5mlagents-learn(RND)

10장:투미션환경만들기
10.1프로젝트시작하기
10.2투미션환경구성하기
10.3스크립트작성하기
10.3.1스크립트파일생성
10.3.2TwoMissionAgent스크립트
10.3.3TwoMissionEnvController스크립트
10.3.4TwoMissionGoalDetect스크립트
10.4투미션환경설정및빌드하기

11장:Hypernetworks
11.1Hypernetworks알고리즘의개요
11.2Hypernetworks알고리즘의기법
11.3Hypernetworks코드
11.3.1라이브러리불러오기및파라미터값설정
11.3.2Model클래스
11.3.3Agent클래스
11.3.4Main함수
11.3.5학습결과
11.4mlagents-learn(HyperNetworks)

12장:마무리
12.1응용편내용정리
12.2책에서다루지않은내용
12.2.1순환신경망
12.2.2SoftActorCritic
12.3유니티머신러닝에이전트적용사례
12.3.1자율주행연구환경구축사례
12.3.2머신러닝에이전트를이용한유튜브사례
12.3.3산업문제에머신러닝에이전트를적용한사례
12.3.4상용게임에머신러닝에이전트를적용한사례

출판사 서평

이책에서다루는내용

응용강화학습환경제작:닷지,퐁,방탈출,메이즈,투미션
응용강화학습알고리즘과이를응용하기위한기법들의이론및학습코드구현:PPO,Attention,RND,MA-POCA,HyperNetworks
분산학습,커리큘럼학습,가변입력환경,자가학습,멀티에이전트,어려운탐험환경,다중골환경등ML-Agents를이용한다양한학습방법제공
PythonAPI와mlagents-learn을통한응용강화학습알고리즘설정및학습방법