0%

실행계획

로봇 팔 학습 0원으로 직접 돌려보기

영상이 실제로 밟은 순서 그대로 따라가는 계획입니다. 컴퓨터 한 대, 무료 구글 계정만 있으면 됩니다.
근거는 정리.html과 같습니다.

목차 · 4개 장
  1. 1부지금 바로 할 것 — 코랩에서 첫 실행
  2. 2부PPO로 제대로 학습시키기
  3. 3부남기고 다음으로 연결하기
  4. 덧붙임주의할 것

세 단계로 나눴습니다. ① 코랩에서 첫 실행(공짜, 5분) → ② PPO로 제대로 학습시키기 → ③ 남기고 다음으로 연결하기입니다.

1부지금 바로 할 것 — 코랩에서 첫 실행

1영상이 공유한 콜랩 노트북 열기

https://colab.research.google.com/drive/15b6m77vD2a-xpsx3JS20IY_daQMQYDup
왜
영상 설명글에 해설자가 직접 올려 둔 실습 코드입니다. 이 문서의 재구성 코드보다 이 원본을 먼저 여는 게 정확합니다.
GPU
오른쪽 위 연결 → 런타임 유형 변경에서 GPU를 켤 수 있지만, 이 실습은 환경이 작아 CPU로도 충분합니다. [18:37]

2짐나지움으로 Pusher 환경 만들고 50번 탐험시켜 보기

import gymnasium as gym
env = gym.make("Pusher-v5")
# 에피소드 50회, 무작위 행동으로 "탐험"만 시킨 상태
왜
학습 전에, 로봇 팔이 아무것도 모른 채 그냥 움직이는 상태를 먼저 봐야 이후 학습의 효과가 눈에 보입니다. [14:03]
오류가 나면
No module named mujoco가 뜨면 아래를 먼저 실행합니다. [15:11]
pip install gymnasium[mujoco]

3결과를 눈으로 보기 — 시각화 요청

왜
코랩은 별도 창을 못 띄우므로, "시뮬레이션 시각화 추가해 줘"라고 요청하면 학습 과정을 녹화 영상으로 보여줍니다. 이게 없으면 로봇이 뭘 하는지 전혀 알 수 없습니다. [15:45]
기대치
50번만으로는 목표(빨간 점에 물체 놓기)를 거의 못 맞춥니다. 이게 정상입니다 — 다음 단계의 필요성을 보여주는 것입니다.

2부PPO로 제대로 학습시키기

4stable-baselines3 설치 후 PPO로 재학습

pip install stable-baselines3

from stable_baselines3 import PPO
model = PPO("MlpPolicy", env, verbose=1)
model.learn(total_timesteps=100_000)   # 영상 기준 10만 번
model.save("ppo_pusher")
왜
stable-baselines3는 PPO를 이미 구현해 둔 도구라 직접 알고리즘을 짤 필요가 없습니다. 관절이 여러 개인 로봇 팔에는 DQN이 아니라 PPO를 써야 합니다(0장·6장). [16:52]
처음 해 본다면
total_timesteps를 10만 대신 1,000~5,000 정도로 낮춰서 먼저 돌려 봅니다. 해설자 본인도 10만 번은 코랩에서 시간이 오래 걸린다고 말합니다. [24:46]

5저장한 모델을 다시 불러와 테스트

model = PPO.load("ppo_pusher")
# 같은 env에 다시 넣어 실제로 목표에 가까워지는지 확인
왜
학습만 하고 끝내지 않고, 학습 전(1단계)과 학습 후를 같은 환경에서 비교해야 강화학습이 실제로 작동했다는 걸 확인할 수 있습니다. [18:37]

6(선택) 컴퓨터 여유가 있다면 — Google Antigravity로 로컬 학습 + 상황판

왜
코랩 무료 서버는 느립니다. 안티그래비티에 같은 코드를 붙여넣고 "학습 과정을 시각화하고 모델을 저장·압축해 줘"라고 지시하면, 내 컴퓨터에서 학습하면서 보상 곡선 상황판까지 만들어 줍니다. [19:11]
보는 법
에피소드 누적 보상 곡선이 우상향하면 학습이 되고 있다는 뜻입니다. 목표(빨간 점)에 가까이 놓을수록 점수가 높아지도록 설계돼 있기 때문입니다(정리.html 10장). [22:35]

DQN과 PPO, 헷갈리면 이 기준으로 고른다

행동이 "한다/안 한다"처럼 딱 정해진 종류면 DQN, "얼마나 세게"처럼 이어진 범위면 PPO입니다. 로봇 팔·다리·손가락처럼 여러 관절이 동시에 움직이는 대상은 거의 항상 PPO입니다. 정리.html 6장

3부남기고 다음으로 연결하기

7학습된 모델을 Hugging Face에 올리기

어디
huggingface.co에서 Task → Reinforcement Learning을 고르고 모델 파일(폴리시)을 업로드합니다. [24:14]
왜
내 컴퓨터에만 남기지 않고 공개하면, 이후 실제 로봇에 옮겨 쓰거나 다른 사람이 이어서 학습시킬 수 있는 재사용 가능한 자산이 됩니다.

8다음 환경으로 넓혀 보기

어디서
MuJoCo 안의 다른 환경 — 개미, 치타, 호퍼, 휴머노이드 — 로 같은 절차(4~5단계)를 반복합니다. [10:41]
왜
환경마다 관절 수와 과제가 달라서, 같은 PPO 코드가 어디까지 그대로 통하고 어디서부터 손봐야 하는지를 직접 겪어 보게 됩니다.

이 실습이 어떤 돈벌이로 이어지는지 — 영상이 직접 짚은 네 갈래

영상은 마지막에 이 실습(시뮬레이터에서 로봇을 학습시키는 기술)이 밑바탕이 되는 사업 네 가지를 꼽습니다(정리.html 11장). ① 로봇 학습용 데이터를 만들어 파는 사업, ② 청소·자동차 등 특정 작업에 특화된 AI 모델 사업, ③ 특정 용도의 학습 데이터셋 제작, ④ 이미 팔린 로봇을 구매자 환경에 맞게 재학습·커스터마이즈해 주는 서비스업입니다.

오늘 8단계까지 해 봤다면, 이 중 가장 문턱이 낮은 것은 ④번(커스터마이즈 서비스)입니다 — 8단계처럼 환경 하나를 골라 PPO로 학습시키는 절차 자체가 이 서비스의 핵심 기술이기 때문입니다. 나머지 세 갈래(데이터 사업·특화 모델·데이터셋 제작)를 실제로 어떻게 수익화하는지 구체적인 방법은 영상에 없습니다 — 영상은 "기회가 있다"는 방향만 제시하고, 가격을 매기는 법이나 첫 고객을 찾는 법 같은 실행 단계는 다루지 않습니다.

덧붙임주의할 것

영상 속 숫자를 그대로 내 결과와 비교하지 않는다

10만 번 학습에 걸린 시간, 5,000 에피소드에 1분 8초 같은 숫자는 해설자의 화면과 그날의 코랩 서버 상태에서 나온 값입니다(정리.html 부록 B). 내 컴퓨터·내 코랩 세션에서는 다르게 나올 수 있습니다.

학습이 안 되는 것처럼 보여도 정상일 수 있다

영상에서도 50번 탐험 후에는 전혀 목표를 못 맞췄습니다. PPO를 적용하고 나서야 조금씩 나아졌고, 그마저도 몇 분 만에 완성되지 않았습니다(정리.html 10장). 처음 몇 백~몇 천 번에서 결과가 나쁘다고 코드를 의심하기 전에, 먼저 학습 횟수(timesteps)를 늘려 보는 것이 순서입니다.