책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 인공지능
· ISBN : 9788965404200
· 쪽수 : 542쪽
· 출판일 : 2025-08-25
책 소개
수학이 막막했던 당신도, 이제는 코드로 강화학습을 시작할 수 있습니다.
Stable Baselines3와 Optuna까지, 실전 예제와 함께 배우는 실무형 입문서!
강화학습이 너무 어렵고, 어디서부터 시작해야 할지 모르시겠다고요? 수학은 어렵고, 실무는 복잡하고, 개념은 추상적인데… 그래서 이 책은 다르게 시작합니다.
『개발자답게 코드로 익히는 강화학습』은 강화학습에 대한 막연한 거리감과 수학적 부담을 줄이고, 개발자 친화적인 방식으로 AI를 학습할 수 있도록 설계된 실전형 입문서입니다. 복잡한 수학 이론과 수식을 최소화하고, 개념을 직관적으로 개념을 이해할 수 있도록 구성했으며, 다양한 예제와 시각 자료를 통해 개념이 실제 코드로 어떻게 연결되는지를 설명합니다.
이론과 실습의 균형 잡힌 구성, 눈높이에 맞춘 설명, 그리고 현실 문제 기반의 프로젝트를 통해 강화학습의 개념부터 구현까지를 자연스럽게 체화할 수 있게 돕습니다.
OpenAI Gym 환경에서의 실습을 시작으로, DQN, A2C, PPO 등 대표적인 알고리즘을 직접 구현하고, Stable-Baselines3 프레임워크와 Optuna 자동 튜닝 도구를 활용한 고도화까지 경험할 수 있습니다. 자산 배분, 순환 근무 배치 등 실제 업무에 가까운 예제를 통해, “이걸 어디에 써먹지?”라는 의문 없이 실전으로 연결됩니다.
이 책은 강화학습이 처음인 입문 개발자를 위한 친절한 길잡이이자, 반복적인 코드 실습을 통해 사고력과 응용력을 키우는 실습형 가이드입니다.
전략을 직접 설계하고 싶은 개발자라면, 지금 이 책으로 시작하세요.
- 출판사 리뷰 -
이 책은 강화학습에 대한 수학적 이론의 장벽과 복잡한 코드 앞에서 주저했던 수많은 프로그래머들을 위해 집필되었습니다. 알파고의 등장 이후 '게임을 잘하는 인공지능'이라는 이미지로 알려진 강화학습은 사실 환경과의 끊임없는 상호작용을 통해 최적의 전략을 스스로 발견해내는 자율적이고 유연한 학습 방식입니다. 이러한 특징은 예측 불가능성과 복잡성이 공존하는 현실 세계의 문제를 해결하는 데 매우 적합하며, 특히 금융 시장에서 자동 매매 시스템, 고빈도 트레이딩 전략, 리스크 조절 모델 등 수익 창출의 실전 무기로 자리매김하고 있습니다.
이 책은 단순한 이론서가 아닌, 독자가 강화학습을 활용하여 실제 시장에서 의미 있는 성과를 낼 수 있도록 돕는 실전 가이드입니다. 다음은 이 책의 주요 특징과 구성입니다.
이 책의 대상 독자
· 강화학습을 공부하고 싶지만, 수학이나 이론적 설명에서 벽을 느꼈던 개발자
· 단순한 업무 자동화를 넘어, 상황에 따라 판단하고 적응하는 지능형 시스템을 만들고 싶은 프로그래머
· 주식, 암호화폐, 원자재 등 자산 시장에 관심이 있고, 이를 통한 수익 창출 전략을 직접 설계하고 싶은 개인 투자자
· 강화학습을 활용한 인공지능 투자 앱, 로보어드바이저, 금융 관련 SaaS 제품을 기획하고 있는 스타트업 창업자 또는 기획자
· 반복적인 거래나 업무 흐름을 자동화하고, 여기에 학습 능력과 적응 능력을 부여하고 싶은 실무자
이 책의 구성
이 책은 크게 7개의 메인 파트와 부록으로 나뉘어 있습니다. 각 파트는 개념 → 구현 → 실습 → 응용의 흐름을 따라가며, 단계적으로 난이도가 높아집니다.
· 강화학습 기본 개념 - 확률, 마르코프 연쇄, MDP, 가치 함수와 밸만 방정식을 직관적으로 설명합니다.
· 기본 알고리즘 - 다이내믹 프로그래밍, 몬테카를로, TD 학습, SARSA, Q 러닝 등 핵심 기법을 코드와 함께 익힙니다.
· 인공지능 개념 & 함수 근사 - 신경망의 원리, 경사하강법, 활성 함수, 딥러닝 프레임워크 사용법을 다룹니다. 가치 기반 강화학습(DQN) - CartPole 예제로 DQN을 구현하고, 탐험·활용 균형과 리플레이 메모리를 실습합니다.
· 튜닝과 최적화 - 활성 함수, 가중치 초기화, 옵티마이저, 데이터 전처리, 손실 함수, 그래디언트 클리핑, Optuna 기반 베이지안 최적화를 실습합니다.
· 금융 시장 프로젝트 - yfinance 데이터로 자산 배분 환경을 만들고 PPO로 학습·튜닝·성과 분석까지 수행합니다.
· 부록 - 실습 환경 구축 가이드, RLHF 심화 설명
목차
시작하며
1장 강화학습 기본 개념
_1.1 강화학습이란?
_1.2 확률과 확률 과정
__1.2.1 확률
__1.2.2 조건부 확률
__1.2.3 확률 과정
_1.3. 마르코프 연쇄(Markov chain)
__1.3.1 마르코프 속성
__1.3.2 마르코프 속성과 브라운 운동
__1.3.3 마르코프 연쇄
_1.4 마르코프 보상 과정
__1.4.1 마르코프 보상의 구성
__1.4.2 확률의 기댓값이란?
__1.4.3 반환값
__1.4.4 상태 가치 함수
2장 강화학습 기본 알고리즘
_2.1 마르코프 결정 과정이란?
_2.2 MDP 구성 요소
__2.2.1 MDP에서 상태 전이 매트릭스와 보상 함수
__2.2.2 MDP에서 정책
__2.2.3 MRP와 MDP 비교 사례
__2.2.4 정책을 고려한 상태 전이 매트릭스와 보상 함수
_2.3 MDP 상태 가치 함수
__2.3.1 MDP 상태 가치 함수란?
__2.3.2 MDP 상태 가치 함수 예제
_2.4 MDP 행동 가치 함수
__2.4.1 MDP 행동 가치 함수란?
__2.4.2 MDP 행동 가치 함수와 상태 가치 함수와의 관계
__2.4.3 MDP 행동 가치 함수 예제
_2.5 MDP 최적 가치 함수
__2.5.1 MDP 최적 가치 함수란?
__2.5.2 MDP 최적 가치 함수 예제
_2.6 강화학습에 사용하는 다양한 용어
__2.6.1 정책평가와 정책제어
__2.6.2 모델 기반과 모델 프리
3장 다이나믹 프로그래밍과 몬테카를로 방법
_3.1. 다이나믹 프로그래밍
__3.1.1. 다이나믹 프로그래밍이란?
__3.1.2. 그리드 월드
__3.1.3 다이나믹 프로그래밍 예제
_3.2 몬테카를로 방법
__3.2.1 몬테카를로 방법이란?
__3.2.2 증분 평균을 사용한 몬테카를로 방법
__3.2.3 몬테카를로 방법 예제
4장 시간차 학습, 살사, Q 러닝
_4.1 시간차 학습
__4.1.1 시간차 학습이란?
__4.1.2 상태 가치 함수보다는 행동 가치 함수
__4.1.3 시간차 학습 예제
_4.2 살사
__4.2.1 살사(SARSA) 개념
__4.2.2 살사 예제
_4.3 Q 러닝
__4.3.1 온폴리시와 오프폴리시
__4.3.2 중요도 샘플링
__4.3.3 Q 러닝
__4.3.4 Q 러닝 예제
__4.3.4 살사와 Q 러닝 예제 비교
5장 인공지능 개념
_5.1 머신러닝
_5.2 선형 회귀 분석
_5.3 분류 분석
_5.4 딥러닝
_5.5 프로그램으로 인공지능 기초 익히기
__5.5.1 텐서플로란?
__5.5.2 인공신경망 기본 예제
6장 함수 근사법
_6.1 미분
_6.2 편미분
_6.3 스칼라와 벡터
_6.4 그래디언트
_6.5 경사하강법
_6.6 확률적 경사하강법
_6.7 강화학습에서 편미분과 경사하강법의 표기법
_6.8 함수 근사법
7장 가치기반 강화학습과 DQN 알고리즘
_7.1 DQN 알고리즘
_7.2 카트폴
_7.3 탐험과 탐욕의 문제
_7.4 DQN 알고리즘 기본 구조
_7.5 DQN 알고리즘 전체 코드 리뷰
_7.6 DQN 알고리즘 세부구조 살펴보기
_7.7 DQN 알고리즘 학습결과 분석
8장 정책기반 강화학습 REINFORCE 알고리즘
_8.1 인공신경망 다시 보기
_8.2 정책 그래디언트
_8.3 REINFORCE 알고리즘 동작 방식
_8.4 REINFORCE 알고리즘 기본 구조
_8.5 REINFORCE 알고리즘 전체 코드 리뷰
_8.6 REINFORCE 알고리즘 세부구조 살펴보기
_8.7 REINFORCE 알고리즘 학습결과 분석
9장 정책기반 A2C 알고리즘
_9.1 액터 크리틱 알고리즘
__9.1.1 액터 크리틱 알고리즘이란?
__9.1.2 액터 크리틱 알고리즘 구조와 작동방식
_9.2 어드밴티지 액터 크리틱
_9.3 A2C 알고리즘 기본 구조
_9.4 A2C 알고리즘 전체 코드 리뷰
_9.5 A2C 알고리즘 세부구조 살펴보기
_9.6 A2C 알고리즘 학습결과 분석
10장 정책기반 PPO 알고리즘
_10.1 중요도 샘플링
_10.2 온폴리시 정책 그래디언트
_10.3 클리핑 기법
_10.4 GAE
_10.5 PPO 알고리즘 기본 구조
_10.6 PPO 알고리즘 전체 코드 리뷰
_10.7 PPO 알고리즘 세부구조 살펴보기
_10.8 PPO 알고리즘 알고리즘 학습 결과 분석
11장 인공신경망 튜닝
_11.1 인공신경망 튜닝 개요
_11.2 입력 데이터 전처리
__11.2.1 표준화
__11.2.2 정규화
_11.3 비용 함수의 선택
_11.4 활성화 알고리즘
_11.5 가중치 초기화
_11.6 최적화 알고리즘
_11.7 노드와 은닉층 개수에 대한 논의
_11.8 기타 모델 훈련 안정화 및 성능 향상 기법
__11.8.1 그래디언트 클리핑
__11.8.2 조기 종료
_11.9 PPO 알고리즘 인공신경망 튜닝
_11.10 PPO 알고리즘 튜닝 코드 적용
_11.11 PPO 알고리즘 튜닝 결과 분석
12장 베이지안 최적화 기법
_12.1 빈도주의 확률과 베이지안 확률
_12.2 베이지안 확률 계산하기
_12.3 베이지안 최적화 패키지 Optuna
__12.3.1 Optuna 예제
_12.4 optuna 최적화 전체 코드
_12.5 베이지안 최적화 결과 분석
13장 Stable-Baselines3
_13.1 Stable-Baselines3란?
__13.1.1 오픈소스 강화학습 프레임워크 소개
__13.1.2 Baselines와의 관계, SB2에서 SB3로의 발전
__13.1.3 왜 SB3인가? 직접 구현 vs. 라이브러리 활용
_13.2 SB3의 핵심 구성 요소
__13.2.1 Policy: 에이전트의 두뇌
__13.2.2 Model: 학습의 중심
__13.2.3 Env: 환경과의 연결고리
__13.2.4 Callback: 학습 중 제어와 모니터링
__13.2.5 VecEnv: 병렬 환경으로 속도 향상
_13.3 예제로 알아보는 SB3의 핵심 구성 요소
__13.3.1 SB3 핵심 구성 요소 이해
__13.3.2 SB3 PPO 클래스 하이퍼파라미터
__13.3.3 SB3 PPO 클래스 튜닝 적용
__13.3.4 예제 코드 실행과 평가 지표
__13.3.5 학습 결과 해석을 위한 핵심 지표
__13.3.6 텐서보드
14장 인공지능 자산 배분 전략
_14.1 자산 배분 전략이란?
_14.2 레이달리오의 올웨더 포트폴리오
__14.2.1 올웨더 포트폴리오란?
__14.2.2 자산군별 역할
__14.2.3 레이 달리오의 자산 배분
__14.2.4 올웨더 포트폴리오의 장단점
__14.2.5 올웨더 포트폴리오 투자성과 평가
__14.2.6 올웨더 포트폴리오와 강화학습
_14.3 올웨더 포트폴리오 코드 구현 전략
_14.4 올웨더 포트폴리오 전체 코드
_14.5 올웨더 포트폴리오 세부 구조 살펴보기
15장 인공지능 자산 배분 전략 튜닝
_15.1 1차 튜닝: 경험적 튜닝 기법 적용
_15.2 2차 튜팅: Optuna 패키지 활용
_15.3 바이 앤 홀드 전략과의 비교
_15.4 추가 튜닝 요소
[부록 A] 실습 환경 준비하기
_A.1 학습을 위한 준비
__A.1.1 파이썬 설치
__A.1.2 필수 패키지 설치
_A.2 주피터 노트북 실행
_A.3 프로그램 버전 확인
[부록 B] RLHF로 진화한 챗GPT: 생성형 AI와 강화학습의 접점
_A.1 생성형 AI와 챗GPT는 어떻게 만들어졌을까?
__A.1.1 생성형 AI의 개념
__A.1.2 챗GPT는 어떻게 학습되었을까?
__A.1.3 GPT는 어떻게 문맥을 이해하고 말하는가?
__A.1.4 요약
_A.2 RLHF란 무엇인가?
__A.2.1 인간 피드백이란?
__A.2.2 챗GPT가 '좋은 답변'을 학습하려면, 왜 보상 모델이 필요한가?
__A.2.3 RLHF의 전반적인 학습 프로세스
_A.3 PPO와 우리가 배운 정책 기반 알고리즘의 연결
__A.3.1 우리가 배운 PPO, 그리고 실제 사용된 PPO
__A.3.2 챗GPT는 어떻게 정책 기반 강화학습의 대표 사례가 되었는가?
__A.3.3 실전 강화학습의 흐름 속에서 PPO가 차지한 위치
_A.4 예제를 통해 RLHF 이해하기
__A.4.1 전체 코드 리뷰
__A.4.2 코드 이해하기
_A.5 강화학습은 생성형 AI를 어떻게 진화시킬 것인가?
__A.5.1 정렬 문제와 강화학습의 역할
__A.5.2 언어 모델의 미래 진화 방향
__A.5.3 '인간 중심 AI'를 향한 강화학습의 철학적 전환
찾아보기