PyTorch를 활용한 강화학습/심층강화학습 실전 입문

파이토치로 익히는 기초 강화학습 및 심층강화학습 알고리즘의 원리와 구현

강화학습과 심층강화학습 알고리즘을 직접 구현하면서 이해한다!

이 책에서는 강화학습이나 딥러닝 같은 이론보다는 강화학습을 실제로 구현하는 데 초점을 맞춘다. 연구자가 아닌 일반인을 대상으로 실제로 강화학습 알고리즘을 구현하는 과정과 통해 강화학습 및 강화학습에 딥러닝을 접목한 심층강화학습을 이해하는 것을 목표로 한다. 따라서 이론보다는 구현을 중시하고 코드와 그에 대한 설명을 많이 다룬다. 초보 수준의 파이썬 프로그래밍 및 선형대수에 대한 지식을 갖췄고, 딥러닝과 강화학습에 대해 관심은 있지만 자세한 구현 방법을 알지 못하는 분들이라면 이 책을 통해 강화학습 및 심층강화학습 알고리즘의 원리와 구체적인 구현 방법을 손에 익힐 수 있을 것이다.

★ 이 책에서 다루는 내용 ★

  • 강화학습 기초 이론
  • 미로찾기를 통한 강화학습 구현
  • 역진자 문제를 통한 강화학습 구현
  • 파이토치를 이용한 딥러닝 구현
  • 심층강화학습 알고리즘 구현: DQN
  • 기타 심층강화학습 알고리즘 및 구현 방법
  • AWS GPU 환경에서 벽돌 깨기 구현

오가와 유타로

주식회사 덴쓰 국제정보서비스 기술본부 개발기술부 소속. 딥러닝을 비롯한 머신러닝 관련 기술의 연구개발 및 워크스타일이노베이션실의 HR 데이터 분석을 담당하고 있다. 아카시 공업고등전문학교, 도쿄대학 공학부를 거쳐 도쿄대학 대학원의 짐보-코타니 연구실에서 뇌기능 계측 및 계산 신경과학을 연구했으며 2016년 박사학위를 취득했다. 도쿄대학 특임연구원을 거쳐 현직에는 2017년 4월부터 종사 중이다.

심효섭

연세대학교 문헌정보학과를 졸업하고 모교 중앙도서관과의 인연으로 도서관 솔루션 업체에서 일하게 되면서 개발을 시작했다. 네이버에서 웹 서비스 개발 업무를 맡았으며, 웹 서비스 외에 기계학습에 대한 공부도 꾸준히 하고 있다. 최근 관심사는 회사에 속하지 않고도 지속 가능한 삶이다. 옮긴 책으로 『PyTorch를 활용한 머신러닝, 딥러닝 철저 입문』 『딥러닝 제대로 시작하기』 『그림과 수식으로 배우는 통통 딥러닝』 등 10여 종이 있다.

  • ▣ 01장: 강화학습이란 무엇인가?
    • 1.1 머신러닝의 유형(지도학습, 비지도학습, 강화학습)
      • 용어 정리
      • 지도학습, 비지도학습, 강화학습
    • 1.2 강화학습 및 심층강화학습의 역사
      • 강화학습과 뇌에서 일어나는 학습
      • 강화학습과 딥러닝의 결합
    • 1.3 심층강화학습의 응용 사례
      • 심층강화학습의 응용 사례
      • 심층강화학습의 미래
    •  
  • ▣ 02장: 미로찾기를 위한 강화학습 구현
    • 2.1 주피터 노트북 체험 페이지 사용법
      • 이번 장에서 사용할 강화학습 구현 및 실행 환경
      • 주피터 노트북 체험 페이지 사용법
    • 2.2 미로와 에이전트 구현
      • 미로 구현
      • 에이전트 구현
    • 2.3 정책반복 구현
      • 정책반복과 가치반복
      • 정책경사 알고리즘에 따라 에이전트 이동시키기
      • 정책경사 알고리즘으로 정책 수정
      • 정책경사 알고리즘에 대한 이론
      • 보상
    • 2.4 가치반복 알고리즘 관련 용어 정리
      • 행동가치와 상태가치
      • 벨만 방정식과 마르코프 결정 프로세스
      • ε-greedy 알고리즘으로 정책 구현하기
    • 2.5 Sarsa 알고리즘 구현
      • 행동가치 함수 Q(s,a)를 Sarsa 알고리즘으로 수정
      • Sarsa로 미로찾기 구현
      • Q러닝의 알고리즘
      • Q러닝 구현
    • 2.6 Q러닝 구현
    •  
  • ▣ 03장: 역진자 문제를 위한 강화학습 구현
    • 3.1 로컬 PC에 강화학습 개발환경 갖추기
      • 파이썬 실행 환경인 아나콘다 설치
      • 강화학습에 사용할 라이브러리 설치
    • 3.2 역진자 태스크 “CartPole”
      • CartPole이란?
      • CartPole 구현
    • 3.3 다변수, 연속값 상태를 표형식으로 나타내기
      • CartPole의 상태
      • 상태의 이산변수 변환 구현
    • 3.4 Q러닝 구현
    •  
  • ▣ 04장: 파이토치를 이용한 딥러닝 구현
    • 4.1 신경망과 딥러닝의 역사
      • 첫 번째 신경망 연구 붐
      • 두 번째 신경망 연구 붐
      • 세 번째 신경망 연구 붐
    • 4.2 딥러닝의 계산 과정
      • 추론 단계
      • 학습 단계
    • 4.3 파이토치를 이용한 MNIST 손글씨 이미지 분류 구현
      • 파이토치란?
      • 파이토치 개발환경 갖추기
      • MNIST 데이터 다운로드
      • 파이토치를 이용한 딥러닝 구현
      • __1. 데이터 전처리
      • __2. DataLoader 생성
      • __3. 신경망 구성
      • __4. 오차함수 및 최적화 기법 설정
      • __5. 학습 및 추론 설정
      • __6. 학습 및 추론 수행
    • 파이토치 사용법에 대한 보충 설명
    •  
  • ▣ 05장: 딥러닝을 적용한 강화학습 - DQN 구현
    • 5.1 딥러닝을 적용한 Q러닝
      • 표형식 표현의 문제점
      • 심층강화학습 알고리즘 DQN
    • 5.2 DQN을 구현할 때 중요한 4가지 기법
    • 5.3 DQN 구현(1)
      • 파이토치로 DQN을 구현할 때 주의점
      • DQN 구현
    • 5.4 DQN 구현(2)
    •  
  • ▣ 06장: 딥러닝을 적용한 강화학습 - 심화 과정
    • 6.1 심층강화학습 알고리즘 지도
    • 6.2 DDQN(Double-DQN) 구현
      • DDQN
      • DDQN 구현
    • 6.3 Dueling Network 구현
      • Dueling Network
      • Dueling Network 구현
    • 6.4 Prioritized Experience Replay 구현
      • Prioritized Experience Replay
      • Prioritized Experience Replay 구현
    • 6.5 A2C 구현
      • A2C
      • A2C 구현
    •  
  • ▣ 07장: AWS GPU 환경에서 벽돌 깨기 구현
    • 7.1 벽돌 깨기 게임 “Breakout”
    • 7.2 AWS로 GPU를 사용하는 딥러닝 실행 환경 구성
      • 우분투 터미널 설치
      • 가상 서버와 통신하는 데 사용할 키 생성
      • AWS에서 딥러닝을 실행할 가상 서버 만들기
      • 벽돌 깨기 게임 실행 환경 구축
    • 7.3 Breakout 학습에서 중요한 포인트 4가지
      • 로컬 PC 환경 설정
      • Breakout 게임을 학습하는 데 중요한 포인트 4가지
    • 7.4 A2C 구현(1)
    • 7.5 A2C 구현(2)
    •