상세 컨텐츠

본문 제목

패키지 없이 R로 구현하는 심층 강화학습

전체 출간 도서

by 비제이퍼블릭 2021. 6. 30. 11:41

본문

패키지 없이 R로 구현하는 심층 강화학습 

부제 손으로 풀어보는 Q-Learning부터 R로 구현하는 심층 강화학습까지 

저자 이경택, 박이삭, 최영제 

 

출간/배본가능일 2021년 6월 29일 

정가 26,000 

페이지 332

판형 4*6배판 188*245 

 

ISBN 979-11-6592-074-6 [93000]

 

책 소개 

머신러닝과 강화학습의 기본 개념부터 심층 강화학습의 알고리즘과 발전방향까지!

 

본 서는 강화학습의 기본 요소와 작동 원리에 대해 상세히 다루는데, 딥러닝 프레임 워크를 사용하는 것이 아닌, R base code로 강화학습을 구현하여 강화학습 작동원리를 이해한다.  


Atari 게임 환경 외에 실생활에서 강화학습을 적용하고자 하는 독자들을 위하여 환경을 직접 설계함과 동시에 패키지 없이 low level부터 모든 것을 구현하기 때문에, 이 책을 통해 강화학습의 이론적 내용을 이해하고 알고리즘 및 환경을 구현하는 능력을 함양하여, 풀고자 하는 다양한 상황에서 쉽게 활용할 수 있을 것이다. 

 

이 책이 필요한 독자
- R을 활용하여 데이터를 읽고 원하는 머신러닝 모델을 적합할 수 있는 사람 
- 머신러닝과 딥러닝에 대해 기초 모델에 대한 지식(CNN, RNN 등)이 있는 사람 
- 강화학습에 대해 제대로 이해하고 R로 구현해보고 싶은 사람 
- 실생활에 강화학습을 적용하고 싶은 데이터 분석가 

 

저자 소개 

이경택 
성균관대학교에서 통계학을 전공하고, 현재 연세대학교 산업공학과에서 박사과정을 밟고 있다. 빅데이터 연합 학회 투빅스를 창설했으며, 데이터 분석 및 인공지능 관련 대회에서 다수 수상하였고, 데이터 분석과 인공지능 전 분야에 관심을 가지고 끊임없이 연구 중이다. 딥러닝과 강화학습에 관심이 많으며, 블로그 운영 및 다양한 강의 활동을 진행하고 있다. 

박이삭  
인하대학교에서 통계학을 전공하였다. 그 후 빅데이터 연합 학회 투빅스를 통해 저자들을 알게 되었고, R, Python 코딩과 인공지능에 관심을 갖게 되었다. 현재는 라인게임즈 데이터 사이언스팀에 재직 중이며, 게임 데이터 분석과 분석 파이프라인 구축을 진행하고 있다. 강화학습을 통한 게임 밸런스에 대해 관심이 많다. 

 

최영제 
국민대학교에서 빅데이터 경영통계를 전공하고, 현재 연세대학교 산업공학과에서 대학원 과정을 밟고 있다. 머신러닝, 딥러닝 전 분야에 관심을 갖고 있으며 현재는 automated feature extraction (AutoFE) 분야를 연구 중이다. 대학원에서는 주로 강화학습, 머신러닝 성능 향상을 위한 비정형 데이터 특징 추출 등의 프로젝트를 수행하고 있다. 빅데이터 연합 학회 투빅스를 통해 저자들을 알게 되었으며, 프로젝트 경험 등을 바탕으로 책을 집필하게 되었다. 

 

 

목차


Chapter 0. R 언어 소개 
0.1 R 설치 
> 0.1.1 Windows 버전 R 다운로드 < 
> 0.1.2 mac OS 버전 R 다운로드 <  
0.2 R 전용 통합 개발 환경(IDE) 설치 

 


Chapter 1. 머신러닝이란 Machine Learning 
1.1 머신러닝이 필요한 이유 
> 1.1.1 머신러닝 학습시키기 < 
> 1.1.2 손실 함수 < 
> 1.1.3 머신러닝의 구분 < 
1.2 딥러닝(Deep Learning) 
> 1.2.1 딥러닝의 사례 < 


Chapter 2. 딥러닝 Deep Learning 
2.1 퍼셉트론(Perceptron) 
2.2 Multi Layer Perceptron(MLP) 
> 2.2.1 Feed Forward < 
> 2.2.2 Back Propagation < 
> 2.2.3 활성 함수(Activation Function) < 
> 2.2.4 Gradient Descent Method < 
> 2.2.5 Iteration & Batch Size < 
> 2.2.6 딥러닝의 단점 및 극복 < 
2.3 딥러닝(Deep Learning) 
> 2.3.1 Universal Approximation Theorem < 
> 2.3.2 Convolutional Neural Network(CNN) < 
> 2.3.3 다양한 CNN 구조 < 
> 2.3.4 Recurrent Neural Network(RNN) < 
> 2.3.5 다양한 RNN 구조 < 
> 2.3.6 GAN 학습 과정 - Feed Forward < 
> 2.3.7 GAN 학습 과정 - Back Propagation < 
2.4 R로 구현하는 신경망 
> 2.4.1 Feed Forward < 
> 2.4.2 Back Propagation < 

 
Chapter 3. 강화학습 Reinforcement Learning 
3.1 강화학습 정의 요소  
> 3.1.1 상태(State) < 
> 3.1.2 행동(Action) < 
> 3.1.3 정책(Policy) < 
> 3.1.4 보상(Reward) < 
> 3.1.5 감가율과 감가 누적 보상(Discount factor and Return) < 
> 3.1.6 상태 가치 함수(State Value Function) < 
> 3.1.7 행동 가치 함수(Action Value Function) < 
> 3.1.8 벨만 방정식(Bellman equation) < 
> 3.1.9 몬테 카를로 학습(Monte-Carlo Learning, MC) < 
> 3.1.10 시간 차 학습(Temporal Difference Learning, TD) < 
> 3.1.11 정책 갱신 < 
3.2 손으로 풀어보는 Q-Learning 

 
Chapter 4. 심층 강화학습 Deep Reinforcement Learning 
4.1 Deep Q-Learning with Experience Replay(DQN) 
[예제 4-1] DQN으로 최적 경로 찾기 
4.2 Prioritized Experience Replay (PerDQN) 
[예제 4-2] PerDQN으로 최적 경로 찾기  
4.3 Dueling DQN 
4.4 Policy Gradient(PG) 
> 4.4.1 REINFORCE Algorithm < 
> 4.4.2 Actor-Critic < 
4.5 Advantage Actor-Critic(A2C) 
[예제 4-3] A2C로 최적 경로 찾기 
4.6 Asynchronous Methods for Deep Reinforcement Learning(A3C) 
4.7 강화학습의 발전 방향 
> 4.7.1 다수의 에이전트(Multi Agent) < 
> 4.7.2 희소 보상 문제(Sparse Reward Problem) < 
4.8 Curiosity 
> 4.8.1 Exploration Bonus < 
> 4.8.2 Count-Based Exploration Bonus < 
> 4.8.3 Curiosity의 개념 < 
4.9 Self-Imitation Learning  
[예제 4-4] SIL로 최적 경로 찾기(난이도 3) 
4.10 Exploration by Random Network Distillation 
[예제 4-5] RND로 최적 경로 찾기(난이도 3)  

 
Chapter 5. 심층 강화학습을 이용한 프로젝트  
5.1 1단계 프로젝트 
> 5.1.1 Environment 소개 < 
> 5.1.2 State 설계 < 
> 5.1.3 Reward 설계 < 
> 5.1.4 1단계 프로젝트 학습 코드 < 
5.2 2단계 프로젝트  
> 5.2.1 Environment 소개 < 
> 5.2.2 State 설계 < 
> 5.2.3 Reward 설계 < 
> 5.2.4 2단계 프로젝트 학습 코드 < 
5.3 3단계 프로젝트 
> 5.3.1 Environment 소개 < 
> 5.3.2 3단계 프로젝트 학습 코드 < 

 


Chapter 6. 최신 강화학습 트렌드 
6.1 Trust Region Policy Optimization(TRPO)  
6.2 Proximal Policy Optimization(PPO)  
6.3 Distributed Prioritized Experience Replay(Ape-X) 
6.4 Never Give Up(NGU) 
6.5 Rewarding Impact-Driven Exploration (RIDE) 
6.6 BeBold 
> 6.6.1 Episodic Restriction on Intrinsic Reward(ERIR) < 
6.7 Surprise Minimizing Reinforcement Learning(SMiRL) 

그림 출처 

찾아보기 

 

베타 리더 추천사

대부분의 실용성을 목적으로 한 딥러닝 책과는 현저히 다른 차별점을 보입니다. 코딩 중심으로 풀어나가야 하는 내용을 코딩만으로 풀어나가거나 이론에 대한 설명이 부족한 책이 많은 데에 비해, 이 책은 적절한 예시와 설명과 함께 제일 중요한 수리적 기반 및 매커니즘을 제시합니다. 특히 코드에서 각 부분마다 #(n)로 친절한 분석을 제공하고 있어, 코딩 자체의 구조가 헷갈리거나 처음 보는 구문이 있더라도 쉽게 이해할 수 있을 것입니다. 패키지 설치 없이 온전히 R의 기본 언어들로 구조를 만들었기 때문에 기초를 탄탄히 다질 수 있고, 근본적인 로직에 대한 이해력도 올라가는 느낌입니다. 
_ 김한영 (데이터 사이언티스트) 

시중에 R 과 관련된 책들은 대부분 전통적인 통계학이나 데이터 분석을 주로 다루는 반면 강화학습을 다루는 책들은 대부분 파이썬으로 코드를 제시합니다. 통계 및 시뮬레이션이 핵심인 강화학습 알고리즘을 R로 구현하는 책은 그간 없었는데, 그러한 갈증을 해소할 만한 좋은 책입니다. 책의 전반적인 서술은 흠잡을 곳이 없고 입문자도 쉽게 이해할 수 있게 잘 설명되어 있습니다. 단순히 개념 설명과 수식전개에서 그치지 않고, 실제 손으로도 계산해볼 수도 있을 만큼 간단한 예제를 제시하여 확실하게 개념을 이해할 수 있습니다. 다루기 다소 방대한 주제에도 불구하고 읽기 부담스럽지 않게 300페이지 내외로 서술되어 있으며, 패키지에 의존하지 않고 R 내장 함수로만 구현되어 있으므로 다소 응용만 한다면 다른 언어로도 손쉽게 포팅도 가능할 것 같습니다. 
_ 원동식 (대학원생) 

R을 이용하여 머신러닝과 딥러닝의 기초부터 충분히 설명하고 있어 초심자나 중급자 모두가 이해할 수 있습니다. 특히 R을 이용해 강화학습을 설명하는 책은 별로 없었는데 이 책은 그 점에서도 큰 가치가 있다고 생각합니다. 
_ 송진영 (데이터 분석가) 

R을 활용하여 밑바닥부터 강화학습을 구현하는 책입니다. R은 Python 같은 범용 언어에 비해 유연성은 부족하지만 군더더기를 걷어낸 핵심 로직에 집중할 수 있어, 강화학습과 같은 난이도 높은 알고리즘을 연구하기에 제격이라 생각합니다. 이 책은 Q-learning을 직접 손으로 풀어보고 Grid World를 활용하여 3단계 심층 강화학습 실습을 거치는 구성이 인상적이었는데, 특히 강화학습과 관련된 주요 논문들의 핵심 분석 과정이 백미입니다. 책 말미에는 TRPO, SMiRL와 같은 최신 주제도 다룹니다. 강화학습은 그 자체로도 난이도가 상당하며, 이 책에서는 수식을 정면 돌파하기 때문에 입문자보다는 딥러닝에 익숙한 분들께 추천해 드리고 싶습니다. 
_ 허민 (데이터 분석가) 

관련글 더보기

댓글 영역