이미 소장하고 있다면 판매해 보세요.
|
제1장 그림으로 이해하는 강화학습
PART I 강화학습 구성 요소 PART II 환경(env) 예제 PART III 에이전트(agent) 예제 제2장 벨만 방정식(Bellman equation) PART I 보상과 평균 보상 PART II 할인율 PART III 정책 π PART IV 정책 π로 행동할 때, 상태 s에서 평균 보상 PART V 정책 π로 행동할 때, 상태 가치 PART VI 정책 π로 행동을 선택할 때, 상태-행동 가치 PART VII 벨만 기대 방정식 PART VIII 벨만 최적 방정식 제3장 강화학습에 사용하는 기본 코드 PART I 환경 코드 PART II 정책 코드 PART III 환경-정책 상호작용 코드 제4장 동적 계획법 PART I 벨만 기대 방정식의 해를 코딩으로 구하기 PART II 최적의 정책을 코딩으로 구하기: 정책 반복 PART III 최적의 정책을 코딩으로 구하기: 가치 반복 제5장 몬테카를로 PART I 에피소드 PART II 처음 방문 MC와 모든 방문 MC PART III 중요도 표본추출 MC 부록 제6장 SARSA와 Q-learning PART I SARSA 개요 PART II Q-learning 개요 PART III SARSA 업데이트 그림부터 코딩까지의 과정 PART IV Q-learning 업데이트 그림부터 코딩까지의 과정 제7장 깊은 Q-네트워크 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 부록 Advantage A(s,a)의 평균을 빼는 이유 |
추상목의 다른 상품
|
신경망을 공부하다 보면 기계학습이 비지도 학습, 지도 학습, 그리고 강화학습으로 나뉜다는 설명을 자주 접하게 된다. 알파고나 자율 주행차에서 강화학습이 쓰인다는 이야기도 듣고, 아이가 세상과 부딪히며 배우는 과정을 본뜬 방법이라는 설명도 접하게 된다. 그러다 보면 자연스럽게 이런 생각이 든다.
‘강화학습을 공부해 볼까?’ 그러나 막상 강화학습을 공부하려고 하면 생각보다 쉽지 않다. 첫째, 강화학습은 일반적인 신경망 학습 방식과 많이 다르다. 둘째, 방법이 매우 다양해서 무엇부터 어떤 순서로 공부해야 할지 막막하다. 셋째, 개념부터 코드까지 차근차근 안내해 주는 책을 찾기도 쉽지 않다. 이 책은 이러한 어려움을 조금이나마 덜어 주고자 썼다. 강화학습을 이해하려면 먼저 환경과 에이전트의 개념을 이해해야 한다. 이 두 개념은 비지도 학습과 지도 학습에는 직접적으로 나타나지 않는다. 그래서 강화학습 공부는 환경과 에이전트를 이해하는 데서 출발해야 한다. 여러 예제를 보면서 먼저 그림으로 환경과 에이전트를 이해하고, 그 내용을 다시 수식으로 표현해 보아야 한다. 그래야 에이전트가 왜 특정 행동을 선택하는지, 또 그 행동을 통해 현재와 미래의 보상을 어떻게 크게 만들어 가는지 차근차근 이해할 수 있다. 이 책도 이러한 흐름에 맞추어 차례를 잡았다. 제1장부터 4장까지는 환경을 알고 있을 때의 방법을 다루고, 제5장부터 9장까지는 환경을 모를 때의 방법을 다룬다. 또 다른 기준은 신경망 사용 여부이다. 제1장부터 6장까지는 신경망을 사용하지 않고, 제7장부터 9장까지는 신경망을 사용한다. 제1장부터 4장까지는 강화학습 공부의 기초에 해당하므로, 이 부분을 충분히 익혀 두어야 이후 내용을 무리 없이 따라갈 수 있다. 특히 제2장의 벨만 방정식 계산 문제는 생략하지 말고, 충분히 연습하기를 권한다. 5장과 6장에서는 환경을 모르지만, 신경망을 사용하지 않는 강화학습을 다룬다. 7장부터는 신경망을 사용하는 강화학습을 다룬다. 이때 제2장에서 공부한 벨만 방정식은 신경망 학습에서 손실을 정할 때 중요한 바탕이 된다. 이 책에서는 그림으로 개념을 잡고, 수식으로 구조를 확인한 뒤, 코드로 마무리하는 흐름을 중요하게 생각하였다. 특히 코드를 구현하기 전에 전체 구조와 데이터의 흐름을 그림으로 먼저 살펴볼 수 있도록 다양한 그림을 제시하였다. 독자가 그림으로 먼저 감을 잡고, 수식으로 구조를 확인한 뒤, 코드로 내용을 마무리할 수 있도록 하였다. 그림으로 개념 이해 → 수식으로 구조 확인 → 코드로 내용 마무리 이 책의 예제 코드는 2026년 7월 3일 Google Colab 환경에서 실행하여 확인하였다. 그러나 Google Colab은 시간이 지나면서 Python과 주요 라이브러리 버전이 변경될 수 있다. 따라서 나중에 코드를 실행하면 이 책에서 사용한 환경과 달라질 수 있고, 일부 코드의 실행 결과나 동작도 달라질 수 있다. 예제 코드 확인에 사용한 주요 실행 환경은 다음과 같다: Python 3.12.13, gym 0.25.2, numpy 2.0.2, matplotlib 3.10.0, torch 2.11.0+cpu, IPython 7.34.0 본 저서는 강화학습의 기본 이론에서 출발하여 깊은 Q-네트워크(Deep Q-Network, DQN)의 일부 내용까지 다룬다. 그리고 이 책에서 미처 다루지 못한 내용은 출간된 강화학습 시리즈 2 『강화학습 기본 다지기와 PyTorch』와 강화학습 시리즈 3 『강화학습 기본 완성과 PyTorch』에서 이어서 살펴본다. 세 권은 각각 독립적으로 읽을 수 있지만, 함께 공부하면 강화학습의 기초부터 심화까지 차례대로 익히는 데 도움이 될 것이다. 좋은 책이 되도록 힘썼지만, 미처 발견하지 못한 오류가 있을 수 있다. 이에 대해 독자여러분의 너른 양해를 구한다. 출간 후 확인되는 수정 사항이나 참고 자료는 자유아카데미 홈페이지 자료실(www.freeaca.com)에 올릴 예정이다. 2024년에 출간된 시리즈 1은 독자 여러분의 관심과 성원에 힘입어 2024 세종도서 학술 부문 도서로 선정되었고, 그 덕분에 2026년에 제2판을 펴내게 되었다. 제2판에서는 제1판의 오탈자를 바로잡고, 부족했던 그림과 개념 설명, 코드 설명을 전체적으로 보완하였다. 제2판을 준비하면서, 강화학습 시리즈의 첫 번째 책인 이 책이 어떤 역할을 해야 하는지 다시 생각했다. 그 답은 분명했다. 강화학습의 출발점을 차분히 안내하는 것이다. 이 책을 통해 독자들이 환경과 에이전트, 상태, 행동, 보상, 벨만 방정식을 이해하고, PyTorch 구현의 기초를 하나씩 익혀 가기를 바란다. 이 책을 바탕으로 시리즈 2와 시리즈 3을 함께 공부하면 강화학습의 기본 개념을 더 단단히 다지고, 심화 주제까지 차례대로 이해할 수 있을 것이다. |