GBT
한국외국어대학교Global Business & Technology
금융 AI · 모듈 13 — 강화학습 — 당근과 채찍으로 배우기
목차 강의 홈 ↗
금융 AI 강의 · 모듈 13

강화학습 —
당근과 채찍으로 배우기

정답을 알려 주는 사람 없이, 행동 뒤에 따라오는 보상만으로 배우는 학습이 있다. 상태·행동·보상이라는 세 부품, Q-표라는 투명한 장부, 그리고 "전부 현금만 고르는 겁쟁이 정책"이라는 실패의 기록까지. 탐험이 없으면 학습이 초기의 운에 영원히 갇힌다는 것을, 시드 고정 Q-러닝 실습으로 직접 만들어 본다.

금융 AI · 강화학습4개 절 + 실습 1개해설 · 퀴즈 포함원문 출처 링크
0
2016년 3월, 서울의 한 호텔

정답지를 받은 적 없는 기계가 세계 최강을 이겼다

알파고에게 "이 국면의 정답 수"를 알려 준 사람은 없다. 이기면 보상, 지면 벌점 — 그 신호만으로 배웠다. 이 모듈은 같은 원리를 매매에 옮긴다.

도입 · 한 장면

이기면 당근, 지면 채찍 — 그것이 전부였다

2016년 3월, 서울의 한 호텔 대국장에서 알파고가 세계 최정상 기사를 4승 1패로 꺾었다. 놀라운 점은 승리 자체보다 배운 방식이다. 알파고에게 국면별 정답 수를 일일이 알려 준 사람은 없다. 수를 두고, 대국이 끝나면 이겼는가 졌는가라는 보상 신호를 받고, 그 신호로 판단을 고쳤다. 강아지에게 "앉아"를 가르칠 때 물리학을 설명하지 않고 간식과 무시로 가르치는 것과 같은 원리다.

이 배움의 방식을 강화학습(reinforcement learning, RL)이라 한다. 그리고 이 방식은 투자와 묘하게 닮았다. 시장에는 "이 국면의 정답 행동"을 알려 주는 정답지가 없고, 오직 행동 뒤에 따라오는 손익이라는 보상만 있다. 오늘의 매수가 좋은 선택이었는지는 내일, 모레의 손익이 쌓여야 드러난다. 앞 모듈들의 지도학습이 "문제집과 정답지"로 공부했다면, 이 모듈은 정답지를 치우고 당근과 채찍만으로 배우는 기계를 만든다.

그리고 미리 말해 두면, 이 모듈에서 가장 값진 대목은 성공담이 아니라 실패의 기록이다. 첫 구현은 모든 상황에서 현금만 움켜쥐는 겁쟁이가 되어 있었다 — 그 원인과 처방이 이 모듈의 진짜 내용이다.

강화학습을 다룬 4컷 만화
여는 만화. 이 장의 핵심 질문을 압축한 예고편이다 — 정답을 알려 주는 사람 없이 보상만으로 매매를 배울 수 있는가, 그리고 "제일 좋아 보이는 것만 고르는" 학습은 왜 위험한가. 만화의 답이 왜 "탐험"인지를 이 모듈에서 확인한다.
무엇으로 배우는가정답 대신 보상. 손익과 수수료가 그대로 점수가 되므로, "잦은 매매는 손해"까지 스스로 배운다
무엇에 적는가Q-표. 상황별 행동 가치를 적은 16칸짜리 장부를 시행착오로 채운다 — 열어서 읽을 수 있다
무엇이 무너뜨리는가탐험 없는 확신. 초기의 불운이 영원한 고착이 되는 과정을 실습에서 직접 재현한다
더 읽기

알파고의 승리(대국 2016년 3월, 논문 발표 2016년 1월)는 강화학습의 원리를 대중에게 각인시킨 사건이지만, 원리 자체는 훨씬 오래됐다. 심리학의 조작적 조건형성 — 보상이 따르는 행동은 강해지고 벌이 따르는 행동은 약해진다 — 을 계산 가능한 알고리즘으로 옮긴 것이 강화학습이고, 그 표준 교과서가 서턴과 바토의 Reinforcement Learning: An Introduction이다. 이 모듈은 그 교과서의 가장 작은 알고리즘(표 기반 Q-러닝)을 가장 작은 시장 문제에 적용한다. 작게 시작하는 이유는 §4에서 분명해진다 — 작아야 실패의 원인을 눈으로 추적할 수 있다.

생각해 볼 질문

"예측을 잘하는 것"과 "돈을 잃지 않는 것"은 같은 목표인가. 이 모듈이 끝나면 이 둘이 어긋나는 사례를 두 가지 이상 말할 수 있어야 한다.

출처 Silver, D. et al. (2016). "Mastering the game of Go with deep neural networks and tree search." Nature 529. doi:10.1038/nature16961

1
정답 대신 보상, 예측 대신 행동

예측 없이 매매를 배운다

예측 모형의 성적표는 정확도, 투자자의 성적표는 손익 — 둘은 자주 어긋난다. 강화학습은 예측을 건너뛰고 행동 자체를 최적화한다.

지도학습과의 갈림길

문제집이 없으면 어떻게 공부하는가

앞 모듈들의 지도학습은 "내일 오를까?"라는 문제에 정답(실제로 올랐는가)이 달린 문제집으로 공부했다. 강화학습에는 정답지가 없다. 행동 뒤에 따라오는 보상과, 한 번의 정답 맞히기가 아닌 행동의 연쇄가 있을 뿐이다.

지도학습 (앞 모듈들)강화학습 (이 모듈)
배우는 재료입력 → 정답 쌍 (문제집과 정답지)행동 → 보상 (당근과 채찍)
최적화 대상예측 정확도행동이 쌓아 온 보상의 합
매매 연결예측 → 사람이 정한 규칙으로 배분 (2단계)매매 행동 자체를 학습 (1단계)
피드백 시점즉시 (정답과 비교)지연 (오늘 매수의 값어치는 내일 이후 드러난다)

"왜 굳이 예측 없이인가"에 대한 답은 성적표의 불일치다. 예측 모형의 성적표는 정확도이지만 투자자의 성적표는 손익이고, 이 둘은 생각보다 자주 어긋난다. 방향을 60% 맞히더라도 틀린 40%에서 크게 잃으면 계좌는 녹는다. 예측이 좋아도 수수료를 무시한 채 매일 사고팔면 이익이 비용으로 새어 나간다. 강화학습은 이 간극을 정면으로 공략한다 — "예측을 잘하자"가 아니라 "돈을 잃지 않는 행동을 하자"를 직접 목표로 삼는다.

더 읽기

지연된 보상은 이 문제의 진짜 어려움이다. 지도학습은 문제를 풀 때마다 채점을 받지만, 매매에서는 오늘의 행동이 좋았는지가 며칠 뒤의 손익으로, 그것도 다른 행동들의 결과와 뒤섞여 도착한다. 바둑에서 승패라는 보상은 대국이 끝나야 오고, 몇 수째가 결정적이었는지는 아무도 직접 알려 주지 않는 것과 같다. "어느 행동에 공을 돌릴 것인가"라는 이 신용 할당(credit assignment) 문제를 다루도록 설계된 틀이 강화학습이다.

다만 "1단계가 2단계보다 항상 낫다"는 뜻은 아니다. 예측과 배분을 나누면 각 단계를 따로 검증하고 교체할 수 있다는 공학적 장점이 있다. 강화학습의 매력은 비용·손익 같은 진짜 목적을 목적함수에 직접 넣을 수 있다는 데 있고, 그 대가는 §4에서 보듯 학습의 불안정성이다.

출처 Sutton, R. S. & Barto, A. G. (2018). Reinforcement Learning: An Introduction (2nd ed.). MIT Press. 공개 원문

세 개의 부품

상태 · 행동 · 보상 — 되먹임의 고리

강화학습의 부품은 셋이다. 상태(지금 상황) · 행동(선택지) · 보상(잘했는지 점수). 에이전트는 상태를 보고 행동하고, 보상을 받아 판단을 고치는 고리를 돈다.

에이전트 전략 = Q-표를 보고 선택 시장 (환경) 다음 날 수익률을 돌려준다 행동 a — 현금 또는 롱 보상 r — 손익 − 수수료 새 상태 s′ — 내일의 시장 국면 상태 s — 모멘텀 부호 × 변동성 (8가지)
그림 1. 읽어 낼 것은 화살표의 방향이다 — 지도학습이 "입력 → 예측 → 채점"의 일방향 파이프라면, 강화학습은 보상이 다음 행동을 바꾸는 되먹임 고리다. 보상 안에 수수료(브릭)가 들어 있으므로 "잦은 매매는 손해"라는 교훈까지 고리를 돌며 스스로 배운다.
더 읽기

이 모듈의 구체 설정은 이렇다. 상태 s = (5일 모멘텀의 부호, 20일 모멘텀의 부호, 변동성이 높은가)로 2×2×2 = 8가지. 행동 a = {현금, 롱} 2가지. 보상 r = (롱이면 다음 날 수익률) − (행동을 바꿨으면 수수료). 오늘 시장이 "5일 상승, 20일 하락, 변동성 낮음"이라면 8칸 중 정확히 한 칸이고, 에이전트는 그 칸의 경험을 근거로 현금과 롱 중 하나를 고른다.

상태 설계를 뜯어 보면 의도가 보인다. 5일·20일 모멘텀은 연속적인 숫자지만 부호(+/−)만 남기고 나머지는 과감히 버렸다 — +3.2%든 +0.1%든 똑같이 "상승"이다. 정보를 버리는 게 아깝게 느껴질 수 있으나, 이렇게 거칠게 뭉쳐야 상태 수가 8개로 유지되고 각 칸에 학습 경험이 충분히 쌓인다. 그리고 보상의 마지막 항, 행동을 바꿀 때만 붙는 수수료는 작아 보이지만 결정적이다. 이 항이 없으면 에이전트는 비용이 공짜인 가상 세계에서 배우고, 실전에 나오는 순간 수수료에 이익을 모두 반납하는 과잉 매매 기계가 된다.

2
상황별 행동 가치 장부

Q-표라는 장부

Q(s, a) = "상태 s에서 행동 a를 하면 앞으로 얼마나 벌까"의 추정치. 백지에서 시작해 하루하루의 경험으로 조금씩 목표 쪽으로 고쳐 간다.

핵심 개념 · Q-러닝

백지 장부를 시행착오로 채운다

Q-표는 행이 8가지 상태, 열이 2가지 행동인 16칸짜리 표다. 각 칸의 숫자 Q(s, a)는 "이 상황에서 이 행동을 하면 장기적으로 얼마나 남는가"의 현재 추정치다. 학습 시작 때는 전부 0이고, 매일의 경험으로 해당 칸을 실제 경험 쪽으로 조금씩 수정한다.

갱신 규칙은 한 줄이다. 오늘 받은 보상에, 내일 상태에서 가능한 최선의 가치를 할인해 더한 것을 "목표값"으로 삼고, 현재 추정치를 그쪽으로 학습률만큼만 움직인다.

\[ Q(s,a) \;\leftarrow\; Q(s,a) + \alpha\,\bigl[\, \underbrace{r + \gamma \max_{a'} Q(s',a')}_{\text{목표값}} - Q(s,a) \,\bigr] \]
  1. 한 걸음 손계산 — 상태 s에서 롱을 택해 다음 날 +1%를 벌었고, 다음 상태의 최선 Q가 0.5%라 하자. 목표값 = 1% + 0.9 × 0.5% = 1.45%
  2. 현재 Q(s, 롱) = 1.0%였다면, 학습률 0.1로 차이의 10%만 이동: 새 Q = 1.0 + 0.1 × (1.45 − 1.0) = 1.045%
  3. 이 "조금씩 목표 쪽으로" 갱신을 수만 번 반복하는 것이 Q-러닝의 전부다. 다 배우면 각 상태에서 Q가 큰 행동을 고르면 된다
더 읽기

왜 목표값으로 한 번에 점프하지 않고 10%만 움직일까. 하루의 수익률에는 운이 잔뜩 섞여 있기 때문이다. 어제 롱으로 +1%를 번 것이 좋은 상태 판단 덕인지 단순한 요행인지, 한 번의 경험으로는 알 수 없다. 학습률 0.1은 "이번 경험을 10%만 믿겠다"는 태도이고, 수천 번의 경험이 쌓이면 요행은 서로 상쇄되어 진짜 신호만 Q-값에 남는다. 시끄러운 강의실에서 한 사람의 말만 듣지 않고 여러 사람의 말을 평균해 듣는 것과 같다.

표 기반 Q-러닝이 적절한 조건에서 최적 가치로 수렴한다는 것은 수학적으로 증명된 결과다(왓킨스·데이언, 1992). 단 그 증명의 전제 중 하나가 "모든 상태-행동 쌍을 무한히 자주 방문한다"는 것 — §3에서 볼 탐험이 이론적으로도 필수라는 뜻이다.

출처 Watkins, C. J. C. H. & Dayan, P. (1992). "Q-learning." Machine Learning 8(3–4). doi:10.1007/BF00992698

두 개의 손잡이

할인율 γ는 시간 감각, 학습률 α는 믿음의 정도

갱신식에는 손잡이가 둘 달려 있다. γ(할인율)는 미래 보상을 얼마나 쳐줄지, α(학습률)는 한 번의 경험으로 장부를 얼마나 고칠지를 정한다.

할인율 γ (discount factor)미래의 보상을 오늘 가치로 살짝 깎아 계산하는 비율. γ = 0.9면 "내일의 1%"를 "오늘의 0.9%"로 친다. 용돈을 오늘 받는 것과 다음 달에 받는 것의 가치가 다른 것과 같다. 손계산: γ = 0.9일 때 "3일 뒤의 +1%"의 오늘 가치는 0.9³ × 1% = 0.729%. γ = 0.5면 0.5³ = 0.125%로 뚝 떨어진다.
학습률 α (learning rate)한 번의 경험으로 Q-값을 얼마나 고칠지 정하는 보폭. α = 0.1이면 목표값과의 차이 중 10%만 반영한다. 크면 빨리 배우지만 하루의 우연에 휘둘리고, 작으면 안정적이지만 배움이 느리다. α = 1.0이면 매번 목표값으로 완전히 점프해 잡음에 그대로 휘둘린다.

γ가 작을수록 에이전트는 근시안이 되어 당장의 보상만 좇고, 1에 가까울수록 먼 미래까지 내다보는 대신 학습이 느리고 불안정해진다. γ는 에이전트의 시간 감각을, α는 경험을 믿는 정도를 조절하는 손잡이인 셈이다.

더 읽기

γ에는 수학적 역할도 있다. 보상이 무한히 이어지는 문제에서 보상의 합은 발산할 수 있는데, γ < 1로 깎아 더하면 합이 유한하게 유지된다(등비급수의 수렴). 즉 γ는 취향의 문제이기 전에 "장기 가치"라는 개념이 잘 정의되게 만드는 장치다. 매매 문제에서 γ = 0.9 근처를 흔히 쓰는 것은 "며칠 뒤까지의 손익은 중요하게, 몇 달 뒤는 흐릿하게" 보겠다는 시간 감각의 선택이다.

생각해 볼 질문

γ = 0으로 두면 에이전트는 무엇을 최적화하게 되는가. 그 설정이 합리적인 금융 문제(힌트: 초단기)와 위험한 금융 문제를 하나씩 떠올려 보자.

3
이 모듈이 실제로 겪은 실패

실패의 기록 — 탐험-활용 딜레마

첫 구현은 모든 상태에서 현금만 고르는 겁쟁이가 되어 있었다. 학습이 멈춘 게 아니라, 배울 기회 자체가 차단된 것이다.

실패 재연

첫인상이 나빴다는 이유로, 영원히 기회를 주지 않았다

첫 구현의 학습이 끝나자 정책은 모든 상태에서 '현금'만 선택하고 있었다. 원인은 학습 초기의 불운이었다. 롱에서 몇 번 손실을 본 순간 Q(롱)이 Q(현금)보다 낮아졌고, "제일 좋아 보이는 것만 고르는(greedy)" 선택이 롱을 두 번 다시 시도하지 않았다.

  1. 초기값 Q(s, 현금) = 0, Q(s, 롱) = 0에서 출발한다
  2. 첫날 롱을 시도했다가 −1%를 맞으면 Q(s, 롱) = 0 + 0.1 × (−1 − 0) = −0.1
  3. 이제 Q(현금) = 0 > Q(롱) = −0.1이므로 탐욕적 선택은 이후 매일 현금만 고른다. 현금의 보상은 0이라 Q(현금)은 0에 머문다
  4. 롱은 두 번 다시 선택되지 않으니 Q(롱) = −0.1도 영원히 갱신되지 않는다. 설령 그 상태가 사실은 평균 +0.5%를 주는 좋은 국면이어도, 낡은 숫자를 고칠 새 경험이 유입되지 않는다

학습이 멈춘 게 아니라 배울 기회 자체가 차단된 것이다. 이것이 탐험-활용 딜레마다 — 지금 제일 좋아 보이는 것만 하면(활용) 더 좋은 선택지를 영영 발견하지 못하고, 새것만 시도하면(탐험) 아는 이득을 챙기지 못한다. 단골 식당만 가면 더 맛있는 집을 평생 모르고, 매번 새 식당만 가면 실패도 잦다.

더 읽기

사람의 세계에서도 흔한 일이다. 첫 주식 투자에서 크게 잃고 "주식은 도박"이라 결론지은 채 평생 예금만 하는 것, 처음 간 식당이 마침 그날만 맛이 없었는데 다시는 가지 않는 것 — 모두 초기 표본 몇 개로 내린 판단이 교정 기회를 스스로 닫아 버린 경우다. 통계적으로 말하면 표본 2~3개짜리 추정치를 확정 사실로 승격시킨 오류이며, 강화학습은 이 인간적 오류를 코드 수준에서 그대로 재현할 수 있다.

주의할 점은, 고착이 "버그"가 아니라 탐욕적 선택의 논리적 귀결이라는 것이다. 코드 어디에도 오류가 없어도, 잘못된 첫 평가는 교정될 기회조차 얻지 못한다. 그래서 해법도 코드 수정이 아니라 선택 규칙 자체에 무작위성을 심는 것이 된다.

처방

세 가지 처방, 그리고 ε-greedy

해결책의 핵심은 ε-greedy다. 확률 1−ε로는 Q가 가장 큰 행동을 고르고(활용), 확률 ε로는 무작위 행동을 시도한다(탐험). ε = 0.1이면 열 번 중 아홉 번은 최선을, 한 번은 모험을 한다.

  1. 탐험률 하한 — 아무리 확신이 굳어도 10%는 무작위로 다른 행동을 시도한다. 억울하게 저평가된 롱도 언젠가 다시 선택되고, 그 경험이 Q(롱)을 실제 가치 쪽으로 끌어올린다. 교정의 문을 항상 열어 두는 장치
  2. 학습률 감쇠 — 초반에는 큰 보폭으로 빠르게 배우되, 후반에는 보폭을 줄여 하루의 우연이 다 익은 정책을 흔들지 못하게 한다
  3. 충분한 반복 — 8상태 × 2행동 = 16칸 각각에 통계적으로 의미 있는 경험이 쌓일 시간을 보장한다

셋 중 하나만 빠져도 무너진다 — 탐험이 없으면 고착되고, 감쇠가 없으면 수렴하지 않으며, 반복이 부족하면 요행을 실력으로 착각한다. 세 처방을 적용하자 정책은 데이터에 심어 둔 정답 구조와 정확히 일치하는 형태로 수렴했다: [5일 모멘텀 하락 국면 = 현금, 상승 국면 = 롱]. 실패 → 원인 진단 → 처방 → 검증의 이 순환이 이 모듈이 진짜 가르치는 것이다.

널리 퍼진 오해

"탐험률 10%면 수익의 10%를 버리는 것 아닌가?"

학습이 끝난 뒤 실전 운용에서는 탐험을 꺼도 되므로, 그 비용은 학습 기간에 국한된다. 더 중요한 것은 방향이 반대라는 점이다 — 탐험 없이 학습된 정책은 애초에 잘못 수렴했을 수 있어서, 100%의 확신으로 틀린 행동을 반복한다. 탐험은 낭비가 아니라 잘못된 확신에 대비하는 보험료다.

더 읽기 · 슬롯머신에서 시작된 문제

탐험-활용 딜레마는 강화학습보다 훨씬 오래된 문제로, 통계학에서는 멀티암드 밴딧(multi-armed bandit) 문제라 부른다. 당첨 확률이 제각각인 슬롯머신("외팔이 강도") 여러 대 앞에서, 어느 기계가 좋은지 모르는 채로 총 수익을 최대화하려면 시도(탐험)와 몰아주기(활용)를 어떻게 섞어야 하는가. 순차 실험 설계라는 이름으로 1950년대 초부터 정식화된 문제다.

이 틀은 임상시험(어느 신약에 환자를 배정할까), 온라인 광고(어느 배너를 노출할까), 추천 시스템(새 콘텐츠를 얼마나 밀어볼까)까지 그대로 적용된다. 금융에서도 마찬가지다 — 검증된 기존 전략에 자본을 몰아줄지, 성과 기록이 짧은 새 전략에 일부를 배분해 볼지는 운용사가 늘 마주하는 밴딧 문제다. ε-greedy는 가장 단순한 해법이고, 불확실한 것에 보너스를 얹어 주는 UCB, 확률 분포에서 표본을 뽑아 고르는 톰슨 샘플링 같은 정교한 방법들이 연구되어 왔다.

출처 Robbins, H. (1952). "Some aspects of the sequential design of experiments." Bulletin of the American Mathematical Society 58(5). doi:10.1090/S0002-9904-1952-09620-8 · Sutton & Barto (2018), 2장(밴딧)·6장(Q-러닝).

L
직접 확인한다

Q-러닝 실험실

고착과 수렴을 직접 만들어 본다. ε = 0이면 장부가 백지에서 멈추고, 적당한 ε에서 정답 정책이 나온다.

실습 · 실행형

미니 Q-러닝 — 탐험이 없으면 무엇이 멈추는가

본편의 8상태 문제를 눈으로 따라갈 수 있게 2상태로 줄인 축소판이다. 상태는 {추세 상승, 추세 하락} 두 가지가 하루씩 번갈아 오고, 행동은 {현금, 롱} 두 가지. 보상표는 고정이다.

상태 \ 행동현금
추세 상승0+1
추세 하락0−1

정답 정책은 자명하다 — 상승이면 롱, 하락이면 현금. 문제는 에이전트가 이 보상표를 모르는 채로 시행착오만으로 알아낼 수 있는가다. 갱신은 Q ← Q + 0.5 × (r − Q)의 밴딧형(γ = 0), 선택은 ε-greedy(동률이면 현금), 난수는 시드 42로 고정한 LCG라 언제 돌려도 같은 결과가 재현된다.

LAB · 시드 고정 Q-러닝 밴딧

Q-표가 백지에서 채워지는 과정을 실시간으로 본다

목표 — 탐험률 ε에 따라 같은 학습기가 "백지에서 멈춘 고착"과 "정답 정책 수렴"으로 갈라지는 것을 확인한다.

ε를 바꾸면 실험은 자동으로 초기화된다(결정론 유지). α = 0.5, γ = 0 고정.

Q-표 (실시간)현금greedy 선택
추세 상승0.0000.000
추세 하락0.0000.000

조작 안내 — ① 먼저 ε를 0으로 놓고 "10스텝 학습"을 여러 번 눌러 본다. ② "처음부터 다시"를 누른 뒤 ε = 0.1로 올려 같은 횟수를 눌러 본다. ③ ε = 0.5까지 올려 로그의 탐험 표시(EXPLORE)가 얼마나 잦아지는지 본다.
관찰 포인트 — ① ε = 0이면 몇 백 스텝을 돌려도 Q-표가 전부 0.000에서 멈춘다. 동률일 때 현금을 고르는 탐욕 선택이 롱을 한 번도 시도하지 않아, 상승 국면의 +1 보상이 존재하는지조차 배우지 못한다 — §3의 "배울 기회 차단"이다. ② ε = 0.1이면 10스텝 안에 Q(상승, 롱) ≈ 0.969까지 오르고 정책이 [상승 → 롱, 하락 → 현금]으로 수렴한다(시드 42 기준, 손검산 일치). 30스텝쯤에는 탐험이 하락+롱도 건드려 Q(하락, 롱) = −0.5가 기록된다. ③ ε를 0.5로 올리면 정답 정책은 유지되지만 로그에 −1 보상이 자주 찍힌다 — 탐험의 비용이다. 학습에는 약이, 운용에는 낭비가 되는 이유를 §3의 오해 블록과 연결해 보자.

더 읽기

이 실습이 γ = 0인 밴딧형 갱신을 쓰는 이유는 보상표가 고정이라 "다음 상태의 가치"를 끌어올 필요가 없기 때문이다. 그 덕에 Q-값의 수렴 목표가 보상표의 기대값과 정확히 일치한다 — Q(상승, 롱)은 1로, Q(하락, 롱)은 −1로, 현금 칸은 0으로. α = 0.5이므로 롱을 n번 경험한 칸의 Q는 목표까지의 거리가 매번 절반씩 줄어 1 − 0.5ⁿ 꼴로 접근한다(5회면 0.969, 손검산 가능). 본편의 8상태 문제는 여기에 상태 전이와 γ > 0이 얹힌 것일 뿐, 고착과 탐험의 역학은 이 2상태 축소판과 동일하다.

4
투명한 16칸, 민감한 난수

검증과 정직한 주의

작은 Q-표는 열어서 읽을 수 있다는 미덕이 있다. 대신 강화학습 전반은 난수 시드에 민감해, 한 번의 수익 곡선으로 판단해서는 안 된다.

양성 대조군 검증

구조를 심어 둔 데이터에서, 심어 둔 구조를 찾아냈는가

정답 구조를 심어 둔 사이클 합성데이터에서, 이 플랫폼의 실험은 인샘플 6.29 → OOS 5.73 유지를 기록했다(이 플랫폼의 합성데이터 실험 실측치). 학습에 쓰지 않은 구간에서 성적이 유지된다는 것은, 에이전트가 잡음을 외운 게 아니라 심어 둔 구조를 실제로 찾아냈다는 증거다.

그리고 16칸 Q-표의 투명성은 생각보다 귀한 성질이다. 표를 열어 "하락 국면 칸에서 현금의 Q가 롱보다 크다"를 눈으로 확인할 수 있으므로, 정책이 왜 그렇게 행동하는지 사람에게 설명할 수 있다. 오토인코더·CNN·RNN 모듈의 신경망처럼 수만 개 가중치 속에 판단 근거가 흩어져 있는 모형과 대비되는 지점이며, "설명할 수 있는가"가 점점 중요해지는 금융 규제 환경에서 작은 모형의 실용적 미덕이기도 하다. 상태 8개짜리 작은 표를 고집한 이유가 이것이다 — 칸이 적어야 칸마다 경험이 충분히 쌓이고, 해석도 된다.

더 읽기

인샘플/OOS 구분을 되짚어 두자. 인샘플은 에이전트가 학습에 쓴 구간, OOS(out-of-sample)는 학습에 전혀 쓰지 않은 구간의 성적이다. 인샘플만 좋고 OOS에서 무너지면 과적합의 신호이고, 둘이 비슷하게 유지되면 일반화의 신호다. "정답을 심어 둔 데이터에서 그 정답을 찾는가"라는 양성 대조군 검증은 이 강의 전체가 반복해 온 방법으로, 실데이터에 풀어놓기 전에 학습기 자체의 작동을 확인하는 최소한의 관문이다.

단, 8칸 표는 실제 시장의 복잡성을 담기에는 턱없이 작다. 이 모듈의 가치는 수익이 아니라 보상 기반 학습의 원리와 실패 양상을 투명하게 보여 주는 데 있다. 신경망으로 Q를 근사하는 DQN, 정책을 직접 학습하는 PPO는 확장 과제다.

정직한 주의

"재현이 어렵다"는 말의 실체

같은 데이터, 같은 코드라도 탐험이 무작위이므로 난수 시드가 다르면 학습 경로가 갈라지고, 초기의 우연한 경험 몇 개가 최종 정책을 다른 곳으로 데려갈 수 있다.

심층 강화학습 연구에서는 같은 실험을 시드만 바꿔 여러 번 돌렸을 때 성적 편차가 크다는 보고가 반복되어 왔다. 실무적 교훈은 명확하다 — RL 백테스트 결과는 한 번의 곡선이 아니라 여러 시드의 분포로 보아야 하고, 단일 실행의 화려한 수익 곡선은 요행일 가능성을 항상 남겨 두어야 한다. 실제 업계에서 강화학습이 비교적 안착한 곳도 방향 베팅보다는 주문 집행(대량 주문을 어떻게 쪼개어 체결 비용을 줄일까) 같은, 보상이 비교적 빠르고 명확하게 관측되는 문제들로 알려져 있다.

더 읽기 · Q-표에서 알파고까지

이 모듈의 16칸 표는 상태가 8개라서 가능했다. 그런데 바둑판의 상태 수는 우주의 원자 수보다 많다고 이야기되고, 시장 상태도 연속 변수를 조금만 곱해도 폭발한다. 표의 칸을 늘리는 대신 "상태를 넣으면 Q-값을 출력하는 함수"를 신경망으로 근사하자는 것이 DQN(Deep Q-Network)의 아이디어다. 딥마인드는 2015년 이 방법으로 아타리 게임들을 화면 픽셀만 보고 사람 수준으로 플레이하는 결과를 네이처에 발표했고, 2016년 알파고는 여기에 정책망과 트리 탐색을 결합해 세계 정상 기사를 이겼다.

원리는 이 모듈과 동일하다 — 상태를 보고, 행동하고, 보상으로 추정치를 고친다. 달라진 것은 "장부"가 표에서 신경망으로 바뀌었다는 것뿐이며, 그 대가로 이 모듈이 누린 투명성(표를 열어 읽는 것)은 잃는다. 작은 표와 깊은 신경망 사이의 이 맞교환을 이해했다면, 이 모듈의 목표는 달성된 셈이다.

출처 Henderson, P. et al. (2018). "Deep Reinforcement Learning that Matters." AAAI 2018. arXiv:1709.06560 · Mnih, V. et al. (2015). "Human-level control through deep reinforcement learning." Nature 518. doi:10.1038/nature14236

확인

퀴즈와 정리

답을 보기 전에 먼저 스스로 답해 본다. 전부 이 모듈 안에서 다룬 내용이다.

보상에 거래비용을 넣지 않으면 어떤 정책이 나오기 쉬운가?
비용이 공짜인 가상 세계에서 배우므로, 실전에서 수수료에 이익을 모두 반납하는 과잉 매매 정책이 나오기 쉽다. 비용을 보상 안에 넣으면 "잦은 매매는 손해"까지 에이전트가 스스로 배운다.
"전부 현금 고착"의 원인을 탐험-활용의 언어로 설명하라.
학습 초기의 불운으로 Q(롱)이 Q(현금)보다 낮아진 뒤, 탐욕적(greedy) 선택이 롱을 재시도하지 않아 낡은 추정치를 고칠 새 경험이 유입되지 않았다. 활용만 있고 탐험이 없으면 잘못된 첫 평가가 교정 기회를 잃는다.
상태 칸을 1,000개로 늘리면 무엇이 문제인가?
칸마다 도달하는 경험(표본)이 부족해져 Q-값이 요행에 좌우되고 학습이 사실상 불가능해진다. 덤으로 1,000칸짜리 표는 사람이 열어 읽기도 어려워 해석 가능성이라는 미덕도 잃는다.
Q(s, 현금) = 0.2, Q(s, 롱) = 0.3인 상태에서 greedy 선택은? 탐험률 10%의 ε-greedy라면?
greedy는 Q가 큰 롱. ε-greedy(ε = 0.1)는 90% 확률로 롱, 10% 확률로 무작위 행동을 고른다.
Q(s, 롱) = 0.5%, 하루 보상 +2%, 다음 상태의 최선 Q = 1%, γ = 0.9, α = 0.1일 때 새 Q(s, 롱)은?
목표값 = 2 + 0.9 × 1 = 2.9. 새 Q = 0.5 + 0.1 × (2.9 − 0.5) = 0.74%. "목표와의 차이 중 10%만 이동"이라는 갱신 규칙 그대로다.
학습률 α를 1.0으로 두면 어떤 문제가 생기는가?
매번 목표값으로 완전히 점프하므로 하루하루의 잡음(요행)에 Q가 그대로 휘둘리고 수렴이 안정되지 않는다. 작은 α는 여러 경험을 평균해 듣는 장치다.
학습이 끝난 정책을 실전에 쓸 때도 탐험률 10%를 유지해야 하는가?
아니다. 탐험은 학습 중의 교정 장치이며 운용 단계에서는 꺼도 된다. 단, 시장 구조가 변해 재학습이 필요해지면 탐험도 다시 필요하다.
핵심 정리

① RL = 상태·행동·보상. 예측 없이 행동을 직접 최적화하며, 비용도 보상에 넣어 함께 배운다.

② Q-표 = "이 상황에서 이 행동의 가치" 장부. 갱신은 "조금씩 목표 쪽으로" — γ는 시간 감각, α는 경험을 믿는 정도를 조절하는 손잡이다.

③ 탐험 없는 학습은 초기의 운에 영원히 갇힌다. 탐험률 하한은 교정 가능성의 보험료다.

④ RL 결과는 난수 시드에 민감하다. 한 번의 수익 곡선이 아니라 여러 시드의 분포로 판단한다.

원문으로 확인하기

참고문헌

수치와 일화는 아래 원문 기준으로 서술했다. 링크는 공개 원문·공식 등록처가 확실한 것만 달았다.

교과 · 원리

  1. Sutton, R. S. & Barto, A. G. (2018). Reinforcement Learning: An Introduction (2nd ed.). MIT Press. incompleteideas.net/book/the-book-2nd.html — 강화학습 표준 교과서. 밴딧(2장)·Q-러닝(6장).
  2. Watkins, C. J. C. H. & Dayan, P. (1992). "Q-learning." Machine Learning 8(3–4). doi:10.1007/BF00992698 — 표 기반 Q-러닝의 수렴 증명.
  3. Robbins, H. (1952). "Some aspects of the sequential design of experiments." Bulletin of the American Mathematical Society 58(5). doi:10.1090/S0002-9904-1952-09620-8 — 멀티암드 밴딧 문제의 고전적 정식화.

심층 강화학습 · 재현성

  1. Mnih, V. et al. (2015). "Human-level control through deep reinforcement learning." Nature 518. doi:10.1038/nature14236 — DQN. 아타리 게임을 픽셀 입력만으로 사람 수준 플레이.
  2. Silver, D. et al. (2016). "Mastering the game of Go with deep neural networks and tree search." Nature 529. doi:10.1038/nature16961 — 알파고. 논문 발표 2016년 1월, 서울 대국 2016년 3월(4승 1패).
  3. Henderson, P. et al. (2018). "Deep Reinforcement Learning that Matters." AAAI 2018. arXiv:1709.06560 — 시드에 따른 성적 편차 등 심층 RL의 재현성 문제 보고.

이 모듈의 백테스트 수치(사이클 양성 대조군 인샘플 6.29 → OOS 5.73)는 강의용 실험 플랫폼의 합성데이터 실험 실측치이며, 실제 투자 성과를 시사하지 않는다. 실습의 Q-값은 시드 42로 고정된 결정론적 계산으로, 본문에 적은 수치는 독립 스크립트로 손검산해 일치를 확인했다. 인용 원칙: 연도는 발표 기준(논문 발표와 사건 발생이 다르면 병기), 1차 자료 확인이 어려운 서술은 "~로 알려져 있다"로 구분했다.