상세정보
강화학습 기본과 PyTorch
- 저자
- 추상목 저
- 출판사
- 자유아카데미
- 출판일
- 2024-02-10
- 등록일
- 2026-10-12
- 파일포맷
- PDF
- 파일크기
- 9MB
- 공급사
- YES24
- 지원기기
-
PC
PHONE
TABLET
웹뷰어
프로그램 수동설치
뷰어프로그램 설치 안내
책소개
신경망 공부를 하다 보면, ‘학습은 비지도 학습, 지도 학습, 그리고 강화학습으로 나뉜다. 알파고와 자율 주행차에서 사용하는 강화학습, 아이가 세상과 상호작용하면서 세상을 배우는 과정을 모방한 강화학습.’ 등과 같은 문장을 접하게 된다. 그러면서 다음과 같은 생각이 든다.
‘강화학습을 공부해 볼까?’
그러나 이 영역으로 들어가기가 쉽지 않다: (1) 기존 신경망 학습 구조와 완전히 다르고, (2) 매우 많은 강화학습 방법을 어떤 순서로 공부해야 하는지 알기 어렵고, (3) 강화학습을 개념부터 코딩까지 분명하게 이해할 수 있도록 안내해 주는 저서를 찾아보기 어렵기 때문이다.
이런 문제를 해결할 수 있는 안내서를 만드는 것이 본 저서의 목적이다: (1) 비지도 학습과 지도 학습에 없는 환경과 에이전트를 먼저 이해해야 한다. 이것이 강화학습의 첫걸음이다(1장). 여러 예제를 통해 그림만으로 환경과 에이전트를 이해하고 이를 수식으로 표현하는 연습이 되어야, 행동을 잘 선택해서 현재와 미래에 받을 보상의 총합을 최대로 만드는 과정을 이해할 수 있다. (2) 아래 표와 같이 환경을 알 때의 강화학습은 1~4장에서 다루고 모를 때는 5~11장에서 다룬다. 신경망 사용 여부를 기준으로 하면, 1~6장에서는 사용하지 않고 7~11장에서는 사용한다.
제1장부터 4장까지가 강화학습 공부의 기반이므로 여기서 흔들리면 앞으로 나아가기 어렵다. 특히, 2장의 벨만 방정식을 이용한 계산 문제를 생략하지 말고 연습해야 한다. 환경을 모를 때 일반적으로 신경망을 사용하지만, 5~6장에서는 신경망을 사용하지 않는 강화학습을 다룬다. 제7장부터 신경망을 사용한 강화학습을 공부하게 된다. 이때 2장에서 공부한 벨만 방정식을 따라 신경망의 손실을 정의하게 된다. (3) 개념 이해는 그림에서 시작해야 하고, 이를 코딩까지 이어가야 한다는 원칙으로 본 저서를 집필했다. 특히 구현하려는 코드를 그림으로 그린다는 생각으로 그림을 만들었다.
좋은 책을 만들기 위해 최선을 다했지만 오류가 나올 수 있다. 이 점은 양해를 바라며, 출간 후 나올 수 있는 수정사항이나 참고자료 등은 자유아카데미 홈페이지 자료실(www.freeaca.com)을 통해 게시할 것이니 참고하기를 바란다. 본 저서는 강화학습의 기본 이론에서 시작해서 깊은 Q-네트워크(Deep Q? Network , DQN)의 일부분까지 기술하고 있으며, 여기서 다루지 못한 내용은 앞으로 강화학습 시리즈를 통해 다룰 예정이다.
저자소개
서울대에서 이학사, 이학석사, 이학박사를 취득한 후, 울산대학교 수학과에 부임하여 현재까지 교수로 재임하면서 파이썬 프로그래밍, 수리 통계학, 수리인공지능(빅테이터 분석, 순방향신경망, 언어 처리에 사용하는 순환신경망, 이미지 처리에 사용하는 합성곱 신경망) 강의를 하고 있다.
목차
제1장 그림으로 이해하는 강화학습
PART I 강화학습 구성 요소
PART II 환경(env) 예제
PART III 에이전트(agent) 예제
제2장 벨만 방정식(Bellman equation)
PART I 보상과 평균 보상
PART II 할인율(discount rate)
PART III 정책 π
PART IV 정책 π로 행동할 때, 상태 s에서 평균 보상
PART V 정책 π로 행동할 때, 상태 가치(state value)
PART VI 정책 π로 행동을 선택할 때, 상태-행동 가치
PART VII 벨만 기대 방정식(Bellman expectation equation)
PART VIII 벨만 최적 방정식(Bellman optimality equation)
제3장 강화학습에 사용하는 기본 코드
PART I 환경 코드
PART II 정책 코드
PART III 환경-정책 상호작용 코드
제4장 동적 계획법(Dynamic programming)
PART I 벨만 기대 방정식의 해를 코딩으로 구하기
PART II 최적의 정책을 코딩으로 구하기: 정책 반복(policy iteration)
PART III 최적의 정책을 코딩으로 구하기: 가치 반복(value iteration)
제5장 몬테카를로(Monte Carlo, MC)
PART I 에피소드(episode)
PART II 처음 방문(first-visit) MC와 모든 방문(every-visit) MC
PART III 중요도 표본추출 MC(importance sampling MC)
부록 125
제6장 SARSA와 Q-learning
PART I SARSA 개요
PART II Q-learning 개요
PART III SARSA 업데이트 그림부터 코딩까지의 과정
PART IV Q-learning 업데이트 그림부터 코딩까지의 과정
제7장 깊은 Q-네트워크(Deep Q-Network, DQN)
PART I 환경 CartPole-v0 소개
PART II 학습데이터, 신경망 구조와 손실함수 소개
PART III 그림으로 이해하는 DQN(Deep Q-Network, DQN)
PART IV DQN 의사 코드
PART V DQN 코드 설명
PART VI DQN 전체 코드
제8장 Double DQN
제9장 Dueling DQN
PART I Advantage A(s,a)의 평균을 빼는 이유
제10장 Max-PER(Prioritized Experience Replay)
PART I 정책 신경망의 첫 번째 업데이트(Max-PER-DQN)
PART II 정책 신경망의 두 번째 업데이트(Max-PER-DQN)
PART III 정책 신경망의 세 번째 업데이트(Max-PER-DQN)
PART IV Max-PER-DQN 전체 코드
PART V Max-PER-DoubleDQN 전체 코드
PART VI Max-PER-DuelingDQN 전체 코드
제11장 SumTree-PER(Prioritized Experience Replay)
PART I 정책 신경망의 첫 번째 업데이트(SumTree-PER-DQN)
PART II 정책 신경망의 두 번째 업데이트(SumTree-PER-DQN)
PART III 정책 신경망의 세 번째 업데이트(SumTree-PER-DQN)
PART IV SumTree-PER-DQN 전체 코드
PART V SumTree-PER-DoubleDQN 전체 코드
PART VI SumTree-PER-DuelingDQN 전체 코드