← 강화학습 AICONNECT AI LAB / RL · 02
강화학습 AI · 2강 · EXPLORATION vs EXPLOITATION

탐험과 활용.

1강에서는 무작위로만 움직였습니다. 오늘은 경험으로 행동가치(Q)를 배워 더 좋은 행동을 고릅니다. 그런데 — 경험이 없으면 고를 수가 없습니다.

탐험하며 배운 두뇌 · 실시간—
뒤의 벽 324칸 = 점수표(Q표) · 지금 칸이 빛납니다
01 · NO EXPERIENCE

경험이 없으면, 고를 수가 없다

점수표(Q표)에는 칸마다 「왼쪽으로 밀면 몇 점, 오른쪽으로 밀면 몇 점」이 적혀 있습니다. 가장 좋은 행동 = 점수가 가장 큰 행동 = argmax. 그런데 처음엔 전부 0점입니다.

지금 칸의 점수표

왼쪽 · 0.0
오른쪽 · 0.0
argmax → ?
0점수
0왼쪽
0오른쪽

둘 다 0점이면 argmax 는 언제나 첫 번째(왼쪽)를 고릅니다.

02 · ε-GREEDY

동전 하나 — 엡실론(ε)

CartPole 같은 문제를 푸는 고전적인 방법입니다. 확률 ε 로는 아무거나 해 보고(탐험), 나머지는 지금까지 가장 좋았던 행동을 합니다(활용).

ε = 0.30 일 때, 100번 고르면

탐험 30번활용 70번

처음엔 다 탐험 → 점점 활용

판이 끝날 때마다 ε 에 0.995 를 곱합니다. 1000판이면 1 → 0.01.

03 · THE RACE

세 두뇌, 같은 1000판

셋 다 똑같은 Q표 · 똑같은 학습 규칙. 다른 건 탐험을 얼마나 하느냐 하나뿐입니다.

ε = 1

탐험만

—최근 100판 평균
ε = 0

활용만 (탐험 X)

—최근 100판 평균
ε : 1 → 0.01

탐험 → 활용

—최근 100판 평균
0 / 1000판
04 · INSIDE THE Q-TABLE

Q표 안을 들여다보면

수레가 가운데 있고 거의 멈춰 있을 때, 막대 각도(세로) × 막대 회전(가로) 36칸. 칸마다 더 좋다고 배운 행동을 칠했습니다.

탐험 X

—가 본 칸 / 324
—오른쪽을 해 본 칸

탐험 O

—가 본 칸 / 324
—오른쪽을 해 본 칸
탐험 X탐험 O
막대 높이 = 그 칸에서 배운 점수 · 드래그해서 돌려 보기
왼쪽이 더 좋다오른쪽이 더 좋다한 번도 안 가 봄

탐험을 안 하면 왼쪽만 해 봐서, 오른쪽 점수는 영원히 0 입니다. 더 좋은 행동이 있는지 알 방법이 없습니다.

05 · FROZENLAKE

얼음 호수에서도 똑같다

출발(왼쪽 위)에서 선물(오른쪽 아래)까지, 구멍에 빠지지 않고 가면 1점. 그 외에는 0점. 같은 Q표 · 같은 엡실론-그리디로 3000판.

탐험 X

—도착

탐험 O

—도착
화살표 = 칸마다 Q표가 고른 행동
06 · THE LIMIT

상태가 복잡해지면 — Acrobot

팔 두 개를 흔들어 끝을 선 위로 올리는 게임. 한 걸음마다 -1점이라, 빨리 올릴수록 점수가 높습니다(잘하는 두뇌는 -100점 근처). 상태가 숫자 6개, 같은 방법으로 칸을 나누면 46,656칸 — CartPole(324칸)의 144배입니다.

학습 전—

같은 엡실론-그리디 · 300판

—최근 100판 평균 (-500 = 못 올림 · 잘하면 -100)
—가 본 칸 / 46,656

조금은 배웁니다. 하지만 칸이 너무 많아서 대부분의 칸은 한 번도 못 가 봅니다. 처음 보는 칸에서는 점수표가 비어 있어서 — 아무것도 모릅니다. 탐험을 아무리 해도 다 가 볼 수 없는 문제, 이게 Q표의 한계입니다.

07 · REPLAY MEMORY

탐험한 경험을 버리지 말자 — 기억 상자

지금까지는 한 걸음마다 한 번 배우고 경험을 버렸습니다. 어렵게 탐험해서 얻은 경험을 기억 상자에 모아 두고, 무작위로 꺼내 여러 번 다시 배웁니다.

저장 — 경험 하나 = (칸, 행동, 보상, 다음 칸)
쌓기 — 가득 차면 오래된 것부터
꺼내기 — 순서 말고 무작위로
다시 배우기 — 한 경험으로 여러 번

CartPole · 같은 300판

1~100판101~200판201~300판
기억 없이———
기억 상자———

기억 상자는 같은 탐험으로 더 많이 배우게 해 줍니다. 하지만 Q표는 여전히 칸 하나하나를 외웁니다. 4강에서 점수표를 딥러닝으로 바꾸면 처음 보는 칸도 짐작할 수 있고 — 기억 상자 + 딥러닝 = DQN.

08 · CODE

이제 코드로

위에서 본 것 전부가 아래 몇 줄입니다. 코랩 노트북과 같은 코드예요.

COLAB

코랩에서 직접 돌려 보기

위에서부터 ▶ 실행 · 설치 없이 바로 됩니다

2강 코랩 열기 →