HOME > Detail View

Detail View

텐서플로와 유니티 ML-Agents로 배우는 강화학습 : 다섯 가지 게임을 제작하며 살펴보는 심층강화학습 (Loan 10 times)

Material type
단행본
Personal Author
민규식, 저 신명재, 저 윤성훈, 저 이현호, 저 정규석, 저 조동헌, 저
Title Statement
텐서플로와 유니티 ML-Agents로 배우는 강화학습 : 다섯 가지 게임을 제작하며 살펴보는 심층강화학습 / 민규식 [외]지음
Publication, Distribution, etc
파주 :   위키북스,   2020  
Physical Medium
xxii, 526 p. : 삽화 ; 24 cm
Series Statement
데이터 사이언스 시리즈 = DS ; 046
ISBN
9791158391430
General Note
공저자: 신명재, 윤성훈, 이현호, 정규석, 조동헌  
색인수록  
000 00000cam c2200205 c 4500
001 000046017654
005 20200630142511
007 ta
008 200214s2020 ggka 001c kor
020 ▼a 9791158391430 ▼g 93000
040 ▼a 211009 ▼c 211009 ▼d 211009
082 0 4 ▼a 006.31 ▼2 23
085 ▼a 006.31 ▼2 DDCK
090 ▼a 006.31 ▼b 2020z3
245 0 0 ▼a 텐서플로와 유니티 ML-Agents로 배우는 강화학습 : ▼b 다섯 가지 게임을 제작하며 살펴보는 심층강화학습 / ▼d 민규식 [외]지음
260 ▼a 파주 : ▼b 위키북스, ▼c 2020
300 ▼a xxii, 526 p. : ▼b 삽화 ; ▼c 24 cm
440 0 0 ▼a 데이터 사이언스 시리즈 = ▼x DS ; ▼v 046
500 ▼a 공저자: 신명재, 윤성훈, 이현호, 정규석, 조동헌
500 ▼a 색인수록
700 1 ▼a 민규식, ▼e
700 1 ▼a 신명재, ▼e
700 1 ▼a 윤성훈, ▼e
700 1 ▼a 이현호, ▼e
700 1 ▼a 정규석, ▼e
700 1 ▼a 조동헌, ▼e

No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Science & Engineering Library/Sci-Info(Stacks1)/ Call Number 006.31 2020z3 Accession No. 121253531 Availability Available Due Date Make a Reservation Service B M
No. 2 Location Science & Engineering Library/Sci-Info(Stacks1)/ Call Number 006.31 2020z3 Accession No. 521005209 Availability In loan Due Date 2021-08-11 Make a Reservation Service M
No. 3 Location Sejong Academic Information Center/Science & Technology/ Call Number 006.31 2020z3 Accession No. 151349190 Availability Available Due Date Make a Reservation Service
No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Science & Engineering Library/Sci-Info(Stacks1)/ Call Number 006.31 2020z3 Accession No. 121253531 Availability Available Due Date Make a Reservation Service B M
No. 2 Location Science & Engineering Library/Sci-Info(Stacks1)/ Call Number 006.31 2020z3 Accession No. 521005209 Availability In loan Due Date 2021-08-11 Make a Reservation Service M
No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Sejong Academic Information Center/Science & Technology/ Call Number 006.31 2020z3 Accession No. 151349190 Availability Available Due Date Make a Reservation Service

Contents information

Book Introduction

딥러닝, 강화학습, 유니티, ML-Agents 모든 내용을 다루는 참고 자료로 AI를 잘 모르는 게임 개발자, 게임 개발을 잘 모르는 AI 개발자 그리고 둘 다 모르는 초보 개발자 모두를 위한 책이다. 강화학습 환경을 제작하고 심층강화학습 알고리즘까지 직접 구현한다.

강화학습 환경을 제작하고 심층강화학습 알고리즘까지 직접 구현한다!

알파고 이후 강화학습이 많은 사람들에게 관심을 받기 시작했다. 더불어 직접 시뮬레이션 환경을 제작하여 강화학습을 접목하고자 하는 사람도 많아지고 있다. 이를 위해 게임 엔진 회사인 유니티에서 ML-Agents라는 툴을 오픈소스로 공개했다.
하지만 이는 딥러닝, 강화학습, 유니티, ML-Agents 모두에 대한 전반적인 지식을 필요로 했다. 지금까지는 이 모든 지식을 다루는 참고 자료가 부족했기 때문에 ML-Agents에 대한 사용이 어려웠다.
이 책은 딥러닝, 강화학습, 유니티, ML-Agents 모든 내용을 다루는 참고 자료로 AI를 잘 모르는 게임 개발자, 게임 개발을 잘 모르는 AI 개발자 그리고 둘 다 모르는 초보 개발자 모두를 위한 책이다.

★ 이 책에서 다루는 내용 ★

◎ 강화학습의 기초 개념
◎ 딥러닝의 기초 이론과 알고리즘: ANN, CNN
◎ 심층강화학습 알고리즘: DQN, DDPG, DDDQN, BC
◎ 유니티 ML-Agents를 통한 강화학습 게임 환경 제작: 소코반, 드론, 퐁, 닷지
◎ ML-Agents 예제 환경을 이용한 강화학습 환경 제작
◎ 무료 에셋을 이용한 강화학습 환경 제작
◎ 점점 더 난이도를 높여가며 학습하는 커리큘럼 강화학습 환경 제작
◎ 에이전트끼리 대결하며 학습하는 적대적 강화학습 환경 제작


Information Provided By: : Aladin

Table of Contents

▣ 00장: 강화학습과 딥러닝 개요
0.1 강화학습의 개요
___0.1.1 기계 학습이란?
___0.1.2 강화학습의 성과
___0.1.3 강화학습의 기본 용어
___0.1.4 탐험(Exploration)과 이용(Exploitation)
0.2 인공 신경망 이론
___0.2.1 인공 신경망(Artificial Neural Network, ANN)
___0.2.2 인공 신경망의 학습
___0.2.3 데이터 세트의 구성
___0.2.4 오버피팅(Overfitting)과 언더피팅(Underfitting)
___0.2.5 텐서플로(TensorFlow)
___0.2.6 텐서보드(TensorBoard)
0.3 인공 신경망 코드
___0.3.1 분류와 회귀
___0.3.2 회귀 문제(Boston Housing)
0.4 합성곱 신경망 이론
___0.4.1 합성곱(Convolution)
___0.4.2 합성곱 연산과 관련된 주요 용어
___0.4.3 합성곱 신경망의 구조
0.5 합성곱 신경망 코드
___0.5.1 분류 문제(MNIST 데이터 세트)

▣ 01장: 유니티와 ML-Agents의 개요
1.1 유니티 설치 및 기초
___1.1.1 유니티 시작하기
___1.1.2 유니티 인터페이스
1.2 유니티 ML-Agents
___1.2.1 에이전트(Agent)
___1.2.2 브레인(Brain)
___1.2.3 아카데미(Academy)

▣ 02장: ML-Agents 맛보기
2.1 ML-Agents 프로젝트 설정
___2.1.1 유니티 ML-Agents 내려받기
___2.1.2 새로운 프로젝트 생성
___2.1.3 ML-Agents 폴더를 유니티로 복사
___2.1.4 프로젝트 설정
2.2 유니티 예제 열기
___2.2.1 3DBall 환경 열기
___2.2.2 브레인 변경
___2.2.3 3DBall 환경 빌드
2.3 mlagents 설치 및 학습
___2.3.1 mlagents 설치 및 경로 설정
___2.3.2 Getting-started.ipynb 실행 및 코드 설명
___2.3.3 mlagents를 이용한 학습
___2.3.4 학습된 결과 테스트

▣ 03장: 소코반 환경 만들기
3.1 그리드월드와 소코반
3.2 소코반 폴더 생성 및 파일명 변경
3.3 그리드월드와 소코반 비교
3.4 박스 프리팹 제작
3.5 Academy 스크립트 수정
___3.5.1 InitializeAcademy() 함수
___3.5.2 SetEnvironment() 함수
___3.5.3 AcademyReset() 함수
3.6 Agent 코드 수정
3.7 소코반 환경 플레이
3.8 소코반 환경 빌드

▣ 04장: Deep Q Network
4.1 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 텐서보드를 이용한 성능 확인

▣ 05장: 드론 환경 만들기
5.1 드론 환경
5.2 드론 폴더 생성 및 파일명 변경
5.3 에셋 스토어에서 드론 에셋 내려받기
5.4 드론 에셋 환경 설정 및 플레이
5.5 드론 환경 제작하기
5.6 Agent 코드 작성
___5.6.1 전역변수 설정
___5.6.2 InitializeAgent 함수
___5.6.3 CollectObservations 함수
___5.6.4 AgentAction 함수(행동 설정)
___5.6.5 AgentAction 함수(보상 설정)
___5.6.6 AgentReset 함수
5.7 플레이어 브레인 설정 및 드론 환경 플레이
5.8 러닝 브레인 설정 및 드론 환경 빌드

▣ 06장: Deep Deterministic Policy Gradient
6.1 DDPG 알고리즘의 개요
6.2 DDPG 알고리즘의 기법들
___6.2.1 경험 리플레이(Experience Replay)
___6.2.2 타겟 네트워크(Target Network)
___6.2.3 소프트 타겟 업데이트(Soft Target Update)
___6.2.4 OU 노이즈(Ornstien Uhlenbeck Noise)
6.3 DDPG 학습
___6.3.1 크리틱 네트워크 업데이트
___6.3.2 액터 네트워크 업데이트
6.4 DDPG 코드
___6.4.1 라이브러리 불러오기 및 파라미터 값 설정
___6.4.2 OU 노이즈 클래스
___6.4.3 Actor & Critic 클래스
___6.4.4 Agent 클래스
___6.4.5 Main 함수
___6.4.6 텐서보드를 이용한 성능 확인

▣ 07장: 퐁 환경 만들기
7.1 퐁 환경 설명
7.2 퐁 환경 폴더 생성 및 파일명 변경
7.3 퐁 환경 오브젝트 만들기
___7.3.1 게임판 만들기
___7.3.2 골대 만들기
___7.3.3 에이전트 만들기
7.4 오브젝트에 마찰 및 탄성력 적용
7.5 스크립트 제작
___7.5.1 PongAgent 스크립트
___7.5.2 PongGoalDetection 스크립트
___7.5.3 PongAcademy 스크립트
7.6 브레인 추가하기
___7.6.1 다수의 브레인을 이용한 멀티에이전트 환경 설정
___7.6.2 하나의 브레인을 이용한 멀티에이전트 환경 설정
7.7 퐁 환경 빌드

▣ 08장: 적대적인 DQN 에이전트 만들기
8.1 적대적인 DQN 알고리즘의 개요
8.2 적대적인 DQN 알고리즘 코드
___8.2.1 라이브러리 불러오기 및 파라미터 값 설정
___8.2.2 Model 클래스
___8.2.3 Agent 클래스
___8.2.4 Main 함수
8.3 하나의 브레인을 이용한 적대적인 DQN 알고리즘 코드
8.4 적대적인 DQN 학습 결과

▣ 09장: 소코반 커리큘럼 학습
9.1 커리큘럼 학습이란?
9.2 커리큘럼 학습을 위한 소코반 환경
___9.2.1 소코반 커리큘럼의 환경 설정 변경
___9.2.2 Academy 코드 수정
___9.2.3 Agent 코드 수정
9.3 DDDQN 알고리즘 이론
___9.3.1 Double DQN
___9.3.2 Dueling DQN
9.4 DDDQN의 학습 코드 작성
___9.4.1 라이브러리 불러오기
___9.4.2 파라미터 설정
___9.4.3 DDDQN_Model 클래스
___9.4.4 DDDQN_Agent 클래스
___9.4.5 Main 함수
9.5 소코반 커리큘럼 학습 실행 및 결과

▣ 10장: 닷지 환경 만들기
10.1 닷지 환경 소개
10.2 닷지 폴더 생성 및 파일명 변경
10.3 씬 내부의 오브젝트 설정
___10.3.1 아카데미 스크립트 교체
___10.3.2 닷지 게임 환경 만들기
___10.3.3 닷지 에이전트 만들기
___10.3.4 공 만들기
10.4 스크립트 구성하기
___10.4.1 DodgeAcademy 스크립트
___10.4.2 DodgeAgent 스크립트
___10.4.3 BallScript 스크립트
10.5 브레인 추가
10.6 환경 빌드
10.7 사람의 플레이 데이터 저장하기
___10.7.1 Demonstration 추가
___10.7.2 게임 실행 및 학습 데이터 녹화
___10.7.3 녹화 데이터 저장 경로

▣ 11장: Behavioral Cloning
11.1 Behavioral Cloning 알고리즘의 개요
11.2 Behavioral Cloning 알고리즘의 기법
___11.2.1 보상이 음수인 데이터 제외하기
___11.2.2 드롭아웃(Dropout)
11.3 Behavioral Cloning 학습
11.4 Behavioral Cloning 코드
___11.4.1 라이브러리 불러오기
___11.4.2 파라미터 값 설정
___11.4.3 Model 클래스
___11.4.4 Agent 클래스
___11.4.5 Main 함수
11.5 ml-agents의 내장 Behavioral Cloning

▣ 12장: 마무리
12.1 정리
12.2 여러 개의 ML-Agents 환경 동시에 실행하기

New Arrivals Books in Related Fields

Baumer, Benjamin (2021)