← 강화학습 AI · 5강CONNECT AI LAB / RL 05
강화학습 AI · 5강 · 코랩 셀 해설

두뇌의 구조.
DQN

4강까지 두뇌는 표였습니다. 64칸이면 충분했죠. 그런데 상태가 연속된 숫자거나 화면 전체라면? 표 대신 신경망이 Q 를 계산합니다. 함수 하나로 세 게임을 풀고, 내 두뇌를 허깅페이스에 올립니다.

다 배운 DQN 두뇌가 막대를 세우는 중—
4강까지

얼음 호수 64칸 × 행동 4 = 숫자 256개짜리 Q 표. 칸을 찾아 꺼내면 됐습니다.

오늘

표 대신 신경망. 숫자를 넣으면 Q 가 계산되어 나옵니다. 같은 함수로 카트폴 · 벽돌깨기 · 카레이싱.

그리고

내가 학습시킨 두뇌를 허깅페이스에 모델 카드와 함께 올립니다. 공개 모델을 가진 인공지능 개발자.

STARTDQN 이 뭐예요?

Q 를 계산하는 신경망

D · Deep

깊은 신경망

숫자를 받아 여러 층을 거쳐 답을 계산하는 함수. 층이 여러 겹이라 「딥」

Q · 행동가치

2~4강의 그 Q

「이 상태에서 이 행동을 하면 앞으로 받을 점수의 합」을 미리 짐작한 값. 가장 큰 Q 의 행동을 고른다

N · Network

네트워크

그래서 DQN = Deep Q-Network, 「Q 를 계산하는 신경망」. 2015년 딥마인드가 아타리 게임 49개를 이걸로 풀었다

질문은 4강까지와 똑같습니다 — 「지금 이 상태에서 왼쪽은 몇 점? 오른쪽은 몇 점?」 달라진 건 대답하는 방법뿐. Q표는 칸을 찾아서 대답하고, DQN 은 숫자를 넣어 계산해서 대답합니다. 표를 채우던 일을 신경망이 배우는 거예요.

해 보기

탐험(ε)하며 행동한다 — 2강

기록

(상태 · 행동 · 보상 · 다음 상태)를 기억 상자에 — 3강

정답 만들기

정답 = 보상 + γ × 다음 상태의 가장 큰 Q — 4강 · 목표 두뇌가 계산

차이 줄이기

두뇌의 예측을 정답 쪽으로 조금 당긴다 — 다시 처음으로

🔍 DQN 이 배우는 한 걸음 — 카트폴 진짜 숫자로

막대가 기운 한 장면에서 두뇌가 행동하고, 1점을 받고, 다음 장면으로 갑니다. 이때 두뇌의 예측과 정답이 얼마나 다른지 보세요. 학습은 이 차이를 줄이는 일입니다.

▶ 22초 해설DQN 이 뭐예요? — Q 를 계산하는 신경망
CELL 02왜 표로는 안 될까

칸을 세다가 표가 폭발한다

카트폴의 상태는 숫자 4개 — 수레 위치 · 수레 속도 · 막대 각도 · 막대 각속도. 이 숫자들은 연속값이라 칸이 따로 없습니다. 몇 간격으로 잘라야 표가 될까요? 간격을 줄여 보세요.

자르는 간격0.01

▶ 20초 해설표의 한계 — 72억 칸
CELL 02 · 카트폴 상태 · 표로 만들면 몇 칸?
카트폴 상태 : [ 0.0137 -0.023 -0.0459 -0.0483] 표로 만들면 상태 칸 수 ≈ 7,257,600,000개 × 행동 2개 얼음 호수 256개와 비교하면 56,700,000 배 — 평생 걸어도 다 못 채웁니다.
CELL 03두뇌 = 신경망

칸을 꺼내지 않고, 계산한다

상태 숫자 4개를 넣으면 [128] → [128] 층을 지나 Q(왼쪽) · Q(오른쪽)이 나옵니다. 아래는 코랩에서 다 배운 진짜 두뇌(숫자 17,410개)입니다. 손잡이로 상태를 바꿔 보세요 — 처음 보는 상태라도 Q 를 계산해 냅니다.

수레 위치0.00
수레 속도0.00
막대 각도0.05
막대 각속도0.00

▶ 20초 해설표 대신 신경망 — 숫자를 넣으면 Q 가 나온다
CELL 03 · 두뇌만들기() — 4 → 128 → 128 → 2
CELL 04DQN 학습 함수 하나

지금까지 배운 것 전부

새로 배울 건 하나뿐입니다. 나머지는 2 · 3 · 4강에서 이미 배웠어요. 이 함수 하나로 세 게임을 다 풉니다. 바뀌는 건 환경과 숫자 몇 개.

2강 · 탐험

ε 1 → 0.02

처음엔 거의 아무거나 해 보고, 점점 두뇌를 믿는다

3강 · 기억 상자

쌓고, 꺼내 복습

(상태 · 행동 · 보상 · 다음 상태)를 쌓아 두고 무작위로 64개씩 꺼내 다시 배운다

4강 · γ

미래를 얼마나

정답 = 보상 + γ × 다음 상태의 가장 큰 Q

5강 · 새로

목표 두뇌

정답을 만드는 두뇌는 몇백 걸음마다 한 번만 복사 — 과녁이 흔들리지 않게

θ⁻ = 목표 두뇌(가끔만 복사) · 예측 Q(s,a;θ) 를 이 정답 y 쪽으로 조금씩 당긴다

▶ 20초 해설DQN 조립 — 신경망 + 탐험 + 기억 상자 + γ + 목표 두뇌
▶ 20초 해설목표 두뇌 — 잠깐 멈춰 둔 과녁
CELL 04 · DQN학습() — 이 함수 하나로 세 게임
CELL 05🛒 카트폴

막대를 세워라 — 사람 vs 두뇌

수레를 밀어 막대가 쓰러지지 않게 버팁니다. 한 걸음(0.02초) 버틸 때마다 +1, 최대 500점. 먼저 직접 해 보세요 — ←→ 키(휴대폰은 아래 버튼). 그다음 다 배운 DQN 두뇌에게 맡겨 보세요.

버틴 걸음 0내 최고 0—

학습 기록 — 5만 걸음 동안의 판 점수 (코랩과 같은 실행)

3.5만 걸음에서 시험 500점(만점)을 찍고, 마지막에 14.6점으로 뚝 떨어졌다가 — 그래서 시험 점수가 가장 좋았던 두뇌를 따로 저장해 둡니다. 처음 보는 10판 평균 500점.

▶ 20초 해설카트폴 — 9점에서 500점까지, 그리고 잊어버림
CELL 05 · 카트폴 환경 · 학습 5만 걸음 · 영상
🎲 무작위 두뇌 시험 : 9.0 점 [ 35,000걸음 | 9초 | ε 0.02] 최근 20판 평균 298.1 | 시험 500.0 🏅 [ 50,000걸음 | 13초 | ε 0.02] 최근 20판 평균 84.8 | 시험 14.6 ✅ 다 배운 카트폴 두뇌 — 처음 보는 10판 평균 500점 (최대 500)
▶ 코랩 출력다 배운 두뇌가 500걸음을 버티는 영상 · Q(왼쪽) · Q(오른쪽)
CELL 06~07🧱 벽돌깨기

같은 함수, 다른 게임

aicitybuilders.com/dqn 과 같은 규칙의 미니 벽돌깨기. 상태는 화면이 아니라 숫자 8개(판 위치 · 공 위치와 속도 · 공과 판의 거리 · 남은 벽돌 · 목숨). 카트폴과 똑같은 DQN학습() 을 불렀습니다. 바뀐 건 환경과 숫자 몇 개뿐.

벽돌 0 / 60목숨 3—

학습 기록 — 15만 걸음

무작위 3.6개 → 다 배운 두뇌 32.6개 (대회 씨앗 5판 평균, 60개 중). 대회 기본 두뇌는 26.6개.

CELL 06 · 미니 벽돌깨기 · 학습 15만 걸음 · 영상
▶ 코랩 출력다 배운 두뇌의 미니 벽돌깨기 · 오른쪽은 매 순간의 Q값

원작 아타리는 화면을 본다

원작 아타리 벽돌깨기의 상태는 화면 그 자체 — 210 × 160 × 3 = 100,800개 숫자. 그래서 두뇌 앞에 눈(합성곱 신경망, CNN)이 붙습니다. 왜 4장일까요? 화면 한 장으로는 공이 위로 가는지 아래로 가는지 알 수 없어서, 연속된 흑백 84×84 화면 4장을 한꺼번에 넣습니다. 4장 → 눈 3층 → [512] → 행동 4개. 2015년 딥마인드 DQN 논문 구조 그대로. 두뇌 숫자는 168만 개, 카트폴 두뇌의 약 96배. 수백만 걸음이 필요해서 코랩에선 미리 오래 학습시킨 두뇌를 불러와 봅니다.

▶ 24초 해설DQN 의 구조 — 화면 4장이 한꺼번에 들어간다
▶ 20초 해설숫자 8개를 보는 두뇌 vs 화면을 보는 두뇌
CELL 07 · (선택) 원작 아타리 · 미리 학습한 고수 두뇌
▶ 코랩 출력원작 아타리 — 미리 학습한 두뇌 353점
CELL 08~09🏎️ 카레이싱

보상을 설계하라 — 리워드 해킹 다시 보기

시계 반대 방향으로 도는 트랙. 길 밖으로 나가면 사고, 판 끝. 진짜 목표는 600걸음 안에 몇 바퀴. 그런데 트랙 아래 광장에 코인 3개가 다시 생깁니다 — 4강 코인 호수, OpenAI 보트 경주와 같은 함정. 차의 눈은 거리 센서 7개 + 속도 + 길 방향 + 코인 방향 = 숫자 12개. 같은 차 · 같은 DQN · 같은 6만 걸음, 다른 건 보상 하나뿐입니다.

걸음 0 / 600

세 두뇌 모두 틀리지 않았습니다. 코인만 준 두뇌에겐 코인이 인생의 전부이고, 한 바퀴만 칭찬한 두뇌에겐 한 바퀴가 너무 멉니다. 무엇을 배울지는 보상이 정합니다.

▶ 20초 해설보상을 설계하라 — 0바퀴, 0바퀴, 4바퀴
CELL 08 · 카레이싱 트랙 · 무작위 운전
CELL 09 · 보상 3가지 비교 · 영상
📋 같은 차, 다른 보상 ① 코인만 0바퀴 · 코인 21개 · 사고 없음 ② 한 바퀴 보너스만 0바퀴 · 코인 0개 · 사고 없음 ③ 앞으로 간 만큼 + 사고 벌점 4바퀴 · 코인 0개 · 사고 없음
▶ 코랩 출력코랩 출력 — 같은 차 · 같은 DQN · 다른 보상
CELL 10~12🤗 허깅페이스

이력서가 아니라 작품으로

허깅페이스(huggingface.co)는 전 세계 인공지능 모델이 모이는 곳입니다. 내 두뇌를 모델 카드와 함께 올리면 누구나 보고, 내려받아 쓸 수 있는 공개 모델이 됩니다.

허깅페이스 무료 가입

huggingface.co → Sign Up

Write 토큰 만들기

프로필 → Settings → Access Tokens → Create new token → 종류 Write → 복사. 토큰은 비밀번호와 같아요 — 화면에 보이게 두거나 남에게 보내지 마세요.

코랩 🔑 에 넣기

코랩 왼쪽 🔑(보안 비밀) → 이름 HF_TOKEN · 값에 붙여넣기 · 「노트북 액세스」 켜기

CELL 11 실행

model.pt(두뇌) · config.json(구조와 설정) · README.md(모델 카드) · replay.mp4(플레이 영상) 네 파일이 올라갑니다

CELL 12 — 내려받아 다시 쓰기

방금 올린 두뇌를 허깅페이스에서 다시 받아 카트폴을 시켜 봅니다. 다른 사람도 똑같이 내 두뇌를 쓸 수 있다는 뜻

▶ 20초 해설허깅페이스에 올리기 — 공개 모델을 가진 인공지능 개발자
📝 내 모델 카드 미리 써 보기

코랩이 만들어 주는 README.md 와 같은 모양입니다. 이름과 점수를 바꿔 보세요. 올린 뒤에 허깅페이스의 「Edit model card」로 자기소개를 더 넣어도 됩니다.

CELL 10 · 허깅페이스 로그인 (토큰)
CELL 11 · 모델 카드 쓰고 올리기
CELL 12 · 내려받아 다시 쓰기
Q 를 얻는 법

표: 칸을 꺼낸다 → 신경망: 계산한다

처음 본 상태

표: 모른다 → 신경망: 비슷한 상태로 추측

상태

표: 64칸 → 신경망: 연속된 숫자 · 화면 전체

다음 6강 — DQN 은 행동이 몇 개 안 될 때 강합니다. 로봇 관절처럼 행동이 연속이라면? 행동을 직접 고르는 정책을 배웁니다 — PPO.