파이썬과 케라스로 배우는 강화학습 (개정판)

내 손으로 직접 구현하는 게임 인공지능

강화학습의 기초부터 최근 알고리즘까지 친절하게 설명합니다!

‘알파고’로부터 받은 신선한 충격으로 많은 사람들이 강화학습에 관심을 가지기 시작했다. 하지만 처음 강화학습을 공부하는 분들을 위한 쉬운 자료나 강의를 찾아보기 어려웠다. 외국 강의를 통해 어렵게 이론을 공부하더라도 강화학습을 구현하는 데는 또 다른 장벽이 있었다. 이 책은 강화학습을 처음 공부하는 데 어려움을 겪는 독자를 위해 이론부터 코드 구현까지의 가이드를 제시한다.

특히 이번 개정판에서는 텐서플로 버전업에 맞춰서 코드를 업데이트하고 전반적인 이론 및 코드 설명을 개선했다. 그리고 실무에서 많이 활용될 수 있는 연속적 액터-크리틱 알고리즘을 추가했다.

   

★ 이 책에서 다루는 내용 ★

  • 강화학습의 배경과 개념
  • 강화학습의 기초 이론: MDP, 벨만 방정식, 다이내믹 프로그래밍
  • 고전 강화학습 알고리즘: 몬테카를로, 살사, 큐러닝
  • 인공신경망을 이용한 강화학습 알고리즘: 딥살사, REINFORCE, DQN, 액터-크리틱, A3C
  • 강화학습 알고리즘 구현: 그리드월드, 카트폴, 아타리게임

   

도서 상세 이미지

이웅원

당근마켓에서 머신러닝 엔지니어 겸 프로덕트 매니저로서 재직 중이다. 그전에는 제이마플에서 딥러닝을 활용한 소리 인식기, 네이버에서 OCR을 연구했다. 머신러닝과 서비스가 맞닿은 지점에서 일하는 것을 즐긴다.

양혁렬

홍콩과학기술대학교 컴퓨터 공학과 석사과정에 재학 중이다. Visual Intelligence 랩에서 딥러닝을 이용한 오디오와 영상처리 연구를 진행 중이다.

김건우

뉴욕대학교 컴퓨터과학과를 졸업했다. 우버 라이드쉐어 마켓플레이스 팀에서 백엔드 엔지니어로 재직 중이다.


이영무

중앙대학교 컴퓨터공학과를 졸업했다. 현재는 당근마켓에서 머신러닝 엔지니어로 재직 중이며 추천을 비롯한 다양한 머신러닝 기술에 관심을 갖고 있다.

이의령

세종대학교 응용통계학을 졸업했다. 현재는 자동차 회사에서 머신러닝 엔지니어 업무를 하고 있다. 주로 자동차 R&D 과정에서 생성되는 이미지와 3D 데이터로 경험치를 쌓고 있다.

  • [1부] 강화학습 소개
    •  
  • ▣ 1장: 강화학습 개요
      • 강화학습의 개념
      • 스키너의 강화 연구
      • 우리 주변에서의 강화
      • 머신러닝과 강화학습
      • 스스로 학습하는 컴퓨터, 에이전트
    • 강화학습 문제
      • 순차적 행동 결정 문제
      • 순차적 행동 결정 문제의 구성 요소
      • 방대한 상태를 가진 문제에서의 강화학습
    • 강화학습의 예시: 브레이크아웃
      • 딥마인드에 의해 다시 빛을 본 아타리 게임
      • 브레이크아웃의 MDP와 학습 방법
    • 정리
      • 강화학습의 개념
      • 강화학습 문제
      • 강화학습의 예시: 브레이크아웃
    •  
  • [2부] 강화학습 기초
    •  
  • ▣ 2장: 강화학습 기초 1 - MDP와 벨만 방정식
    • MDP
      • 상태
      • 행동
      • 보상함수
      • 상태 변환 확률
      • 할인율
      • 정책
    • 가치함수
      • 가치함수
    • 큐함수
    • 벨만 방정식
      • 벨만 기대 방정식
      • 벨만 최적 방정식
    • 정리
      • MDP
      • 가치함수
      • 벨만 방정식
    •  
  • ▣ 3장: 강화학습 기초 2 - 그리드월드와 다이내믹 프로그래밍
    • 다이내믹 프로그래밍과 그리드월드
      • 순차적 행동 결정 문제
      • 다이내믹 프로그래밍
      • 격자로 이뤄진 간단한 예제: 그리드월드
    • 다이내믹 프로그래밍 1: 정책 이터레이션
      • 강화학습 알고리즘의 흐름
      • 정책 이터레이션
      • 정책 평가
      • 정책 발전
      • 정책 이터레이션 코드 설명
      • 정책 이터레이션 코드 실행
    • 다이내믹 프로그래밍 2: 가치 이터레이션
      • 명시적인 정책과 내재적인 정책
      • 벨만 최적 방정식과 가치 이터레이션
      • 가치 이터레이션 코드 설명
      • 가치 이터레이션 코드 실행
    • 다이내믹 프로그래밍의 한계와 강화학습
      • 다이내믹 프로그래밍의 한계
      • 모델 없이 학습하는 강화학습
    • 정리
      • 다이내믹 프로그래밍과 그리드월드
      • 다이내믹 프로그래밍 1: 정책 이터레이션
      • 다이내믹 프로그래밍 2: 가치 이터레이션
      • 다이내믹 프로그래밍의 한계와 강화학습
    •  
  • ▣ 4장: 강화학습 기초 3 - 그리드월드와 큐러닝
    • 강화학습과 정책 평가 1: 몬테카를로 예측
      • 사람의 학습 방법과 강화학습의 학습 방법
      • 강화학습의 예측과 제어
      • 몬테카를로 근사의 예시
      • 샘플링과 몬테카를로 예측
    • 강화학습과 정책 평가 2: 시간차 예측
      • 시간차 예측
    • 강화학습 알고리즘 1: 살사
      • 살사
      • 살사 코드 설명
      • 살사 코드의 실행 및 결과
    • 강화학습 알고리즘 2: 큐러닝
      • 살사의 한계
      • 큐러닝 이론
      • 큐러닝 코드 설명
      • 큐러닝 코드의 실행 결과
    • 정리
      • 강화학습과 정책 평가 1: 몬테카를로 예측
      • 강화학습과 정책 평가 2: 시간차 예측
      • 강화학습 알고리즘 1: 살사
      • 강화학습 알고리즘 2: 큐러닝
    •  
  • [3부] 강화학습 심화
    •  
  • ▣ 5장: 강화학습 심화 1 - 그리드월드와 근사함수
    • 근사함수
      • 몬테카를로, 살사, 큐러닝의 한계
      • 근사함수를 통한 가치함수의 매개변수화
    • 인공신경망
      • 인공신경망 1: 인공신경망의 개념
      • 인공신경망 2: 노드와 활성함수
      • 인공신경망 3: 딥러닝
      • 인공신경망 4: 신경망의 학습
    • 인공신경망 라이브러리: 케라스
      • 텐서플로 2.0과 케라스 소개
      • 간단한 케라스 예제
    • 딥살사
      • 딥살사 이론
      • 딥살사 코드 설명
      • 딥살사의 실행 및 결과
    • 폴리시 그레이디언트
      • 정책 기반 강화학습
      • 폴리시 그레이디언트
      • REINFORCE 코드 설명
      • REINFORCE의 실행 및 결과
    • 정리
      • 근사함수
      • 인공신경망
      • 인공신경망 라이브러리: 케라스
      • 딥살사
      • 폴리시 그레이디언트
    •  
  • ▣ 6장: 강화학습 심화 2 - 카트폴
    • 알고리즘 1: DQN
      • 카트폴 예제의 정의
      • DQN 이론
      • DQN 코드 설명
      • DQN 실행 및 결과
    • 알고리즘 2: 액터-크리틱
      • 액터-크리틱 이론 소개
      • 액터-크리틱 코드 설명
      • 액터-크리틱 실행 및 결과
      • 연속적 액터-크리틱 이론 소개
      • 연속적 액터-크리틱 코드 설명
      • 연속적 액터-크리틱 실행 및 결과
    • 정리
      • 알고리즘 1: DQN
      • 알고리즘 2: 액터-크리틱
    •  
  • ▣ 7장: 강화학습 심화 3 - 아타리
    • 브레이크아웃 DQN
      • 아타리: 브레이크아웃
      • 컨볼루션 신경망(CNN)이란?
      • 브레이크아웃의 컨볼루션 신경망
      • DQN 학습 전 준비 사항
      • DQN 코드 설명
      • 텐서보드 사용법
      • 브레이크아웃 DQN 실행 및 결과
    • 브레이크아웃 A3C
      • DQN의 한계
      • A3C란?
      • 멀티스레딩 소개
      • 브레이크아웃 A3C 코드 설명
      • 브레이크아웃 A3C 실행 결과
    • 정리
      • 브레이크아웃 DQN
      • 브레이크아웃 A3C
    •  
  • ▣ 참고문헌