HOME / CATALOG / 데이터 사이언스
데이터 사이언스

파이토치와 유니티 ML-Agents로 배우는 강화학습 [응용편] (ebook)

멀티에이전트, 커리큘럼 학습, 분산학습, 어려운 탐험환경까지 직접 만들면서 배우는 강화학습 알고리즘
지은이 민규식, 이현호, 박유민
도서 정보
출간일
2025년 6월 30일
쪽수
556쪽
판형
188*240*23mm
ISBN
9791158396237
시리즈
데이터 사이언스 시리즈_099
정가
30,400원
난이도
도서 소개
저자 소개
목차
예제 코드

도서 소개

유니티를 이용하여 직접 게임을 제작하고 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을 통한 응용 강화학습 알고리즘 설정 및 학습 방법

 

도서 소개

저자 소개

민규식 (kyushikmin@gmail.com)

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

이현호 (ramanuzann@gmail.com)

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

박유민 (qkrdbals1630@gmail.com)

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

목차

  • ▣ 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.2 DodgeScene 스크립트
  • __1.3.3 BallScript 스크립트
  • __1.3.4 Area 스크립트
  • __1.3.5 DodgeAgent 스크립트
  • 1.4 닷지 환경 설정 및 환경 빌드
  •  
  • ▣ 02장: Proximal Policy Optimization (PPO)
  • 2.1 PPO 알고리즘의 개요
  • 2.2 PPO 알고리즘의 이론
  • __2.2.1 PPO 알고리즘의 목적함수
  • __2.2.2 PPO의 분산학습
  • __2.2.3 PPO의 네트워크 구조
  • __2.2.4 PPO 알고리즘의 학습
  • __2.2.5 PPO 알고리즘의 성능
  • 2.3 PPO 코드
  • __2.3.1 라이브러리 불러오기
  • __2.3.2 파라미터 값 설정
  • __2.3.3 Model 클래스
  • __2.3.4 Agent 클래스
  • __2.3.5 Main 함수
  • __2.3.6 학습 결과
  • 2.4 mlagents-learn (파라미터 랜덤화)
  • 2.5 커리큘럼 학습
  • __2.5.1 mlagents-learn을 이용한 커리큘럼 학습
  • __2.5.2 Python-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.3 Model 클래스
  • __3.4.4 Agent 클래스
  • __3.4.5 Main 함수
  • __3.4.6 학습 결과
  •  
  • ▣ 04장: 퐁 환경 만들기
  • 4.1 프로젝트 시작하기
  • 4.2 퐁 환경 구성하기
  • 4.3 스크립트 작성하기
  • __4.3.1 스크립트 파일 생성
  • __4.3.2 PongAgent 스크립트
  • __4.3.3 EnvController 스크립트
  • 4.4 퐁 환경 설정 및 환경 빌드
  •  
  • ▣ 05장: 적대적 강화학습
  • 5.1 적대적 강화학습 개요
  • 5.2 적대적 PPO 코드
  • __5.2.1 라이브러리 불러오기
  • __5.2.2 파라미터 값 설정
  • __5.2.3 Model 클래스
  • __5.2.4 Agent 클래스
  • __5.2.5 Main 함수
  • __5.2.6 학습 결과
  • 5.3 mlagents-learn(적대적 강화학습)
  •  
  • ▣ 06장: 방탈출 환경 만들기
  • 6.1 프로젝트 시작하기
  • 6.2 방탈출 환경 구성하기
  • 6.3 스크립트 작성하기
  • __6.3.1 스크립트 파일 생성
  • __6.3.2 EnvController 스크립트
  • __6.3.3 BlockAgent 스크립트
  • 6.4 방탈출 환경 설정 및 환경 빌드
  •  
  • ▣ 07장: MA-POCA
  • 7.1 COMA 알고리즘의 이론
  • __7.1.1 COMA 알고리즘 개요
  • __7.1.2 중앙화 크리틱, 탈중앙화 액터
  • __7.1.3 반사실적 베이스라인
  • __7.1.4 COMA 논문의 결과
  • 7.2 MA-POCA 알고리즘의 이론
  • __7.2.1 MA-POCA 알고리즘 개요
  • __7.2.2 MA-POCA의 가치함수
  • __7.2.3 MA-POCA의 반사실적 베이스라인
  • __7.2.4 MA-POCA 논문의 결과
  • 7.3 MA-POCA 코드
  • __7.4.1 라이브러리 불러오기
  • __7.4.2 파라미터 값 설정
  • __7.4.3 Model 클래스
  • __7.4.4 Agent 클래스
  • __7.4.5 Main 함수
  • __7.4.6 학습 결과
  • 7.4 mlagents-learn(MA-POCA)
  •  
  • ▣ 08장: 메이즈 환경 만들기
  • 8.1 프로젝트 시작하기
  • 8.2 메이즈 환경 구성하기
  • 8.3 스크립트 작성하기
  • __8.3.1. 스크립트 파일 생성
  • __8.3.2. HardExplorationAgent 스크립트
  • 8.4 메이즈 환경 설정 및 빌드하기
  •  
  • ▣ 09장: Random Network Distillation
  • 9.1 RND 알고리즘의 개요
  • 9.2 RND 알고리즘의 기법
  • 9.3 RND 알고리즘 구현
  • 9.4 RND 코드
  • __9.4.1 라이브러리 불러오기 및 파라미터 값 설정하기
  • __9.4.2 Model 클래스
  • __9.4.3 RMS 클래스
  • __9.4.4 Agent 클래스
  • __9.4.5 Main 함수
  • __9.4.6 학습 결과
  • 9.5 mlagents-learn(RND)
  •  
  • ▣ 10장: 투 미션 환경 만들기
  • 10.1 프로젝트 시작하기
  • 10.2 투 미션 환경 구성하기
  • 10.3 스크립트 작성하기
  • __10.3.1 스크립트 파일 생성
  • __10.3.2 TwoMissionAgent 스크립트
  • __10.3.3 TwoMissionEnvController 스크립트
  • __10.3.4 TwoMissionGoalDetect 스크립트
  • 10.4 투 미션 환경 설정 및 빌드하기
  •  
  • ▣ 11장: Hypernetworks
  • 11.1 Hypernetworks 알고리즘의 개요
  • 11.2 Hypernetworks 알고리즘의 기법
  • 11.3 Hypernetworks 코드
  • __11.3.1 라이브러리 불러오기 및 파라미터 값 설정
  • __11.3.2 Model 클래스
  • __11.3.3 Agent 클래스
  • __11.3.4 Main 함수
  • __11.3.5 학습 결과
  • 11.4 mlagents-learn(HyperNetworks)
  •  
  • ▣ 12장: 마무리
  • 12.1 응용편 내용 정리
  • 12.2 책에서 다루지 않은 내용
  • __12.2.1 순환 신경망
  • __12.2.2 Soft Actor Critic
  • 12.3 유니티 머신러닝 에이전트 적용 사례
  • __12.3.1 자율주행 연구 환경 구축 사례
  • __12.3.2 머신러닝 에이전트를 이용한 유튜브 사례
  • __12.3.3 산업 문제에 머신러닝 에이전트를 적용한 사례
  • __12.3.4 상용 게임에 머신러닝 에이전트를 적용한 사례
WHERE TO BUY · 정가 30,400원
WHERE TO BUY · 정가 30,400원