다시 출발점으로 돌아가며
이 책의 첫 질문은 단순했습니다. "정답이 없을 때 AI는 어떻게 배울까?"
지도학습에서는 입력과 정답이 함께 주어집니다. 고양이 사진에는 "고양이"라는 라벨이 붙고, 스팸 메일에는 "스팸"이라는 정답이 붙습니다. 모델은 그 정답에 가까워지도록 학습합니다. 하지만 세상에는 정답표가 없는 문제가 훨씬 많습니다. 게임에서 다음 수를 어디에 둘지, 로봇 팔을 어느 방향으로 움직일지, 대화형 AI가 어떤 답변을 해야 사용자가 더 만족할지, 자율 에이전트가 어떤 도구를 어떤 순서로 호출해야 할지는 한 줄짜리 정답으로 주어지지 않습니다.
강화학습은 바로 이 빈칸에서 출발합니다. 정답을 외우는 대신, 행동해 보고, 결과를 보고, 더 나은 행동을 늘려 갑니다. 그래서 강화학습을 한 문장으로 말하면 이렇게 정리할 수 있습니다.
강화학습은 보상을 통해 행동을 배우는 기술입니다.
이 문장은 간단하지만, 그 안에는 이 책 전체의 핵심이 들어 있습니다. 에이전트는 환경을 바라봅니다. 현재 상태를 읽습니다. 가능한 행동 중 하나를 선택합니다. 행동의 결과로 보상을 받고, 다음 상태로 이동합니다. 그리고 이 경험을 바탕으로 다음 선택을 조금씩 바꿉니다.
이 루프는 책 전반에서 여러 모습으로 반복되었습니다.
Grid World에서는 에이전트가 격자 칸을 이동하며 목표 지점에 도달하는 법을 배웠습니다.
CartPole에서는 막대가 쓰러지지 않도록 매 순간 왼쪽이나 오른쪽으로 힘을 주는 법을 배웠습니다.
게임 에이전트는 점수를 높이는 행동과 위험한 행동을 구분해야 했습니다.
언어 모델은 사람에게 더 도움이 되고, 더 안전하고, 더 선호되는 답변을 만들도록 조정되었습니다.
AI 에이전트는 도구 호출, 계획, 실행, 검증을 반복하며 더 나은 작업 흐름을 배워야 했습니다.
겉모습은 달랐지만 구조는 같았습니다. 상태를 본다. 행동한다. 보상을 받는다. 다음 상태로 간다. 더 나은 장기 보상을 얻도록 정책을 바꾼다. 이 반복 구조를 이해하면, 강화학습의 수많은 알고리즘은 더 이상 따로 흩어진 기술이 아니라 하나의 지도 위에 놓이기 시작합니다.

에이전트의 하루: 보고, 선택하고, 배운다
강화학습의 세계에는 다섯 가지 기본 요소가 있었습니다. Agent, Environment, State, Action, Reward입니다.
에이전트는 행동하는 주체입니다. 게임 캐릭터일 수도 있고, 로봇일 수도 있고, 언어 모델일 수도 있습니다. 환경은 에이전트가 들어가 있는 세계입니다. 체스판, 로봇이 움직이는 방, 웹 브라우저, 대화 상황이 모두 환경이 될 수 있습니다.
상태는 에이전트가 지금 보고 있는 정보입니다. Grid World에서는 현재 위치가 상태였고, CartPole에서는 카트 위치, 속도, 막대 각도 같은 숫자들이 상태였습니다. 언어 모델에서는 지금까지 생성된 문맥이 상태에 가깝습니다. 행동은 에이전트가 선택할 수 있는 움직임입니다. 위로 이동하기, 왼쪽으로 힘 주기, 다음 토큰 생성하기, 검색 도구 호출하기가 모두 행동입니다.
보상은 행동의 결과를 평가하는 신호입니다. 하지만 보상은 단순한 점수가 아닙니다. 보상은 에이전트에게 "이 방향이 조금 더 낫다" 또는 "이 길은 피하는 편이 좋다"고 알려 주는 나침반입니다. 나침반이 항상 완벽한 것은 아닙니다. 잘못 설계된 보상은 에이전트를 엉뚱한 곳으로 이끌 수 있습니다. 그래서 강화학습에서는 알고리즘만큼이나 보상 설계와 평가가 중요했습니다.
이 루프에서 가장 흥미로운 점은 에이전트가 당장의 보상만 보고 움직이면 안 된다는 것입니다. 한 걸음 앞의 사탕을 집으려다 더 큰 보상을 놓칠 수 있습니다. 반대로 당장 손해처럼 보이는 행동이 미래에는 더 큰 성공으로 이어질 수도 있습니다. 그래서 우리는 할인율, 장기 보상, 가치 함수, Advantage 같은 개념을 배웠습니다.
강화학습의 에이전트는 현재의 선택을 미래의 결과와 연결하려고 애씁니다. 이것이 강화학습을 어렵게 만들기도 하지만, 동시에 강력하게 만드는 이유입니다.
한 장의 지도로 보는 강화학습 알고리즘
이제 책에서 배운 주요 알고리즘을 하나의 지도처럼 정리해 봅시다. 알고리즘마다 출발점은 조금씩 다르지만, 모두 같은 질문에 답하려고 합니다.
"이 상태에서 어떤 행동을 해야 장기적으로 더 좋은 결과를 얻을까?"
| 방법 | 핵심 아이디어 | 잘 맞는 상황 | 기억할 직관 |
|---|---|---|---|
| Q-learning | 상태와 행동의 좋음을 Q값으로 저장하고 업데이트한다 | 작고 이산적인 상태·행동 공간 | "이 행동을 하면 앞으로 얼마나 좋을까?" |
| DQN | Q값을 표가 아니라 신경망으로 예측한다 | 상태가 이미지나 연속적인 숫자처럼 큰 경우 | "거대한 Q-table을 신경망으로 압축하자" |
| Policy Gradient | 좋은 결과를 낸 행동의 확률을 직접 높인다 | 행동을 확률적으로 선택하거나 연속 행동을 다룰 때 | "잘된 선택은 더 자주 나오게 하자" |
| Actor-Critic | Actor는 행동하고, Critic은 그 행동을 평가한다 | 정책 기반 방법의 변동성을 줄이고 싶을 때 | "선수와 코치가 함께 배운다" |
| PPO | 정책이 너무 급격히 변하지 않도록 제한하며 업데이트한다 | 안정적인 정책 최적화가 필요할 때 | "좋은 방향으로 가되, 한 번에 너무 멀리 가지 말자" |
Q-learning은 가장 직관적인 출발점이었습니다. 상태와 행동의 쌍마다 Q값을 두고, 경험을 할 때마다 그 값을 고쳐 나갔습니다. 현재 받은 보상과 다음 상태에서 기대할 수 있는 미래 보상을 합쳐서 지금 행동의 가치를 다시 계산했습니다. 이 방식은 작은 격자 세계에서는 아주 잘 들어맞았습니다.
하지만 세상은 작은 표로 담기에는 너무 큽니다. CartPole처럼 상태가 연속적인 숫자로 주어지거나, 화면 이미지처럼 입력이 복잡해지면 모든 상태를 표에 저장할 수 없습니다. DQN은 이 문제를 신경망으로 해결하려 했습니다. Q-table을 직접 들고 있는 대신, 신경망이 상태를 보고 각 행동의 Q값을 예측하게 만든 것입니다. 경험 재생과 타깃 네트워크는 이 학습을 조금 더 안정적으로 만드는 중요한 장치였습니다.
그다음 우리는 가치 기반 방법의 한계를 만났습니다. Q값을 계산한 뒤 가장 좋은 행동을 고르는 방식은 강력하지만, 모든 문제에 자연스럽게 맞지는 않습니다. 행동이 연속적이거나, 확률적인 정책 자체가 중요하거나, 언어 생성처럼 매 순간 가능한 선택지가 매우 큰 경우에는 정책을 직접 다루는 편이 더 자연스러울 수 있습니다.
Policy Gradient는 여기서 등장했습니다. 이 방법은 "각 행동의 가치를 모두 정확히 계산한 다음 고르자"가 아니라 "좋은 결과를 낸 행동의 확률을 높이자"라고 말합니다. 단순하고 우아하지만, 학습 신호의 변동성이 크다는 문제가 있었습니다. 같은 정책이라도 어떤 에피소드에서는 운 좋게 높은 보상을 받고, 어떤 에피소드에서는 운 나쁘게 낮은 보상을 받을 수 있기 때문입니다.
Actor-Critic은 이 문제를 완화했습니다. Actor는 정책을 담당하고, Critic은 현재 상태나 행동이 얼마나 좋은지 평가합니다. Critic이 기준선을 제공해 주면 Actor는 단순히 "보상이 높았다"가 아니라 "기대보다 좋았는가?"를 기준으로 배울 수 있습니다. 여기서 Advantage가 핵심 역할을 했습니다. Advantage는 어떤 행동이 평균적인 기대보다 얼마나 더 좋거나 나빴는지를 알려 주는 신호였습니다.
PPO는 이 흐름의 중요한 도착점 중 하나였습니다. Policy Gradient 계열 방법은 정책을 직접 바꾸기 때문에, 한 번의 업데이트가 너무 크면 모델이 갑자기 이상한 방향으로 무너질 수 있습니다. PPO는 좋은 방향으로 정책을 바꾸되, 이전 정책에서 너무 멀리 벗어나지 않도록 막습니다. 이 조심스러운 업데이트 덕분에 PPO는 게임, 로봇 제어, 그리고 언어 모델 정렬 논의에서 중요한 위치를 차지하게 되었습니다.
Grid World에서 RLHF까지, 같은 질문이 반복된다
처음 Grid World를 만들었을 때를 떠올려 봅시다. 에이전트는 작은 격자 안에서 움직였습니다. 목표 지점에 도착하면 보상을 받고, 벽에 부딪히거나 불필요하게 오래 헤매면 손해를 보았습니다. 이 작은 세계에서 우리는 강화학습의 거의 모든 핵심을 보았습니다.
에이전트가 현재 위치를 상태로 읽었습니다. 위, 아래, 왼쪽, 오른쪽 중 하나를 행동으로 골랐습니다. 이동 결과에 따라 보상을 받았습니다. 그리고 Q값이나 정책을 조금씩 바꾸었습니다. 처음에는 무작위로 헤매던 에이전트가 점차 목표로 향하는 길을 찾았습니다.
이 장면은 단순한 장난감 예제가 아니었습니다. 뒤에서 만난 더 복잡한 문제들의 축소판이었습니다.
언어 모델에서도 비슷한 일이 벌어집니다. 언어 모델은 지금까지의 문맥을 보고 다음 토큰을 선택합니다. 토큰 하나만 보면 아주 작은 행동처럼 보이지만, 그 선택들이 이어져 하나의 답변이 됩니다. 답변 전체는 사람의 평가를 받을 수 있습니다. 더 도움이 되는 답변, 더 정확한 답변, 더 안전한 답변이 선호됩니다. 이 선호는 보상 모델로 학습될 수 있고, 보상 모델의 점수는 다시 언어 모델의 정책을 조정하는 데 쓰일 수 있습니다.
Grid World에서 "오른쪽으로 갈까, 위로 갈까?"를 고민하던 에이전트와, RLHF에서 "이 문장으로 답할까, 저 문장으로 답할까?"를 조정받는 언어 모델은 전혀 다른 존재처럼 보입니다. 하지만 강화학습의 눈으로 보면 둘 다 같은 문제를 풀고 있습니다.
가능한 행동들 중에서 장기적으로 더 좋은 결과를 만드는 행동을 선택하는 법을 배우는 것.
물론 언어 모델 정렬은 Grid World보다 훨씬 어렵습니다. 보상이 명확하지 않고, 사람의 선호는 상황에 따라 달라지며, 보상 모델이 인간의 진짜 의도를 완벽하게 담아내기도 어렵습니다. 모델이 보상 점수를 높이는 요령만 익히고 실제 품질은 나빠지는 보상 해킹도 생길 수 있습니다. 그래서 RLHF, DPO, 선호 최적화, AI 피드백, 평가 방법은 모두 "어떻게 하면 보상 신호를 인간이 원하는 행동에 더 가깝게 만들 수 있을까?"라는 질문 주변에서 발전하고 있습니다.
중요한 것은 강화학습이 단지 점수를 높이는 기술이 아니라는 점입니다. 더 정확히 말하면, 강화학습은 우리가 어떤 행동을 좋은 행동으로 정의했는지 드러내는 기술입니다. 보상을 어떻게 설계했는지, 어떤 데이터를 선호로 모았는지, 어떤 평가 기준을 세웠는지에 따라 에이전트의 행동은 달라집니다.
그래서 강화학습을 배운다는 것은 알고리즘을 배우는 일이면서 동시에 목표를 설계하는 법을 배우는 일입니다.
보상은 목표의 그림자다
이 책에서 여러 번 확인했듯이, 보상은 목표 그 자체가 아닙니다. 보상은 목표를 숫자로 비춘 그림자에 가깝습니다. 그림자가 대상을 완벽하게 담지 못하듯, 보상도 우리가 원하는 행동을 완벽하게 표현하지 못할 때가 많습니다.
예를 들어 게임 에이전트에게 "동전에 가까워질수록 보상"을 주면, 에이전트가 동전을 먹는 대신 동전 주변에서 맴도는 행동을 배울 수도 있습니다. 로봇에게 "빨리 이동할수록 보상"을 주면, 안전하게 걷는 법보다 넘어지기 직전까지 몸을 던지는 이상한 움직임을 배울 수도 있습니다. 언어 모델에게 "사용자가 좋아할 만한 답변"만 지나치게 보상하면, 사실보다 듣기 좋은 말을 우선하는 문제가 생길 수 있습니다.
이것은 에이전트가 나쁘기 때문이 아닙니다. 오히려 에이전트가 우리가 준 신호를 너무 성실하게 따른 결과일 수 있습니다. 강화학습의 무서움과 매력은 여기에 있습니다. 에이전트는 우리가 말한 대로가 아니라, 우리가 보상한 대로 배웁니다.
따라서 좋은 강화학습 시스템을 만들려면 다음 질문을 계속 던져야 합니다.
이 보상은 정말 원하는 행동을 가리키고 있는가?
에이전트가 이 보상을 악용할 여지는 없는가?
학습 중 높은 점수가 실제 성능 향상을 의미하는가?
훈련 환경에서 잘한 행동이 새로운 환경에서도 유지되는가?
사람이 직접 관찰했을 때도 이 정책은 납득할 만한가?
이 질문들은 기술적인 질문이면서 제품적인 질문이고, 때로는 윤리적인 질문이기도 합니다. 강화학습은 에이전트에게 "무엇을 하라"고 직접 명령하지 않습니다. 대신 "무엇이 좋은 결과인지"를 알려 주고, 에이전트가 그 방향으로 행동을 조정하게 만듭니다. 그렇기 때문에 보상과 평가를 신중하게 설계하는 일은 강화학습의 중심에 있습니다.
다음에 무엇을 공부하면 좋을까
이 책은 강화학습의 문을 여는 책입니다. 이제 독자는 Agent, Environment, State, Action, Reward의 루프를 알고, Q-learning과 DQN의 차이를 알고, Policy Gradient와 Actor-Critic이 왜 등장했는지 알고, PPO가 왜 안정적인 업데이트를 중시하는지 이해합니다. 또한 RLHF와 DPO가 언어 모델 정렬에서 어떤 위치에 있는지도 큰 흐름으로 볼 수 있습니다.
다음 단계에서는 관심 분야에 따라 길이 갈라질 수 있습니다.
게임 AI에 관심이 있다면 작은 환경을 많이 만들어 보는 것이 좋습니다. Grid World를 바꿔 미로, 열쇠와 문, 적과 함정, 제한 시간 같은 요소를 넣어 보세요. 같은 Q-learning이라도 보상 구조가 조금만 바뀌면 정책이 완전히 달라집니다. DQN으로 넘어가면 화면 입력이나 더 큰 상태 공간도 다룰 수 있습니다.
로봇에 관심이 있다면 연속 제어 문제를 살펴보면 좋습니다. 로봇의 관절 각도, 속도, 힘은 대부분 연속적인 값입니다. 여기서는 Q-table보다 정책 기반 방법이나 Actor-Critic 계열 방법이 더 자연스럽습니다. 시뮬레이터에서 걷기, 잡기, 밀기 같은 행동을 학습시키다 보면 "행동 공간이 연속적이다"라는 말이 훨씬 생생하게 다가옵니다.
LLM 정렬과 RLHF에 관심이 있다면 선호 데이터와 보상 모델을 직접 만들어 보는 것이 좋은 출발점입니다. 거대한 언어 모델을 직접 강화학습시키지 않아도 됩니다. 작은 문장 생성 모델이나 분류 모델을 두고, 두 답변 중 어느 쪽이 더 좋은지 비교하는 데이터를 만들어 보세요. 그 선호를 점수화하는 보상 모델을 학습해 보면 RLHF의 핵심이 훨씬 분명해집니다.
AI 에이전트에 관심이 있다면 "한 번의 답변"보다 "여러 단계의 작업"을 환경으로 만들어 보는 것이 좋습니다. 예를 들어 에이전트가 검색하고, 요약하고, 계산하고, 최종 보고서를 작성하는 작은 과제를 설계할 수 있습니다. 여기서 보상은 최종 답변 품질뿐 아니라 중간 과정의 안전성, 도구 사용의 적절성, 실패 후 복구 능력까지 포함할 수 있습니다.
더 깊이 공부하고 싶다면 다음 방향을 추천합니다.
MDP, 벨만 방정식, 동적 계획법을 더 수학적으로 공부하기
PyTorch나 JAX로 Q-learning, DQN, PPO를 직접 구현하기
여러 랜덤 시드와 평가 환경으로 강화학습 실험을 검증하기
보상 설계와 보상 해킹 사례를 모아 실패 패턴 분석하기
선호 데이터, 보상 모델, DPO, RLHF를 작은 언어 모델로 실험하기
로봇 제어, 게임 AI, 도구 사용 에이전트 중 하나를 골라 장기 프로젝트 만들기
중요한 것은 한 번에 모든 알고리즘을 정복하려 하지 않는 것입니다. 강화학습은 책으로 읽을 때보다 직접 실행할 때 훨씬 많은 것을 알려 줍니다. 그래프가 갑자기 무너지고, 평균 보상이 올라갔는데 정책은 이상해지고, 작은 하이퍼파라미터 하나 때문에 학습이 완전히 달라지는 경험을 하게 됩니다. 그때 이 책에서 배운 개념들이 다시 살아납니다. 탐험이 부족한가? 보상이 잘못되었나? 가치 추정이 흔들리나? 정책 업데이트가 너무 큰가? 평가가 편향되었나?
이 질문을 던질 수 있다면 이미 강화학습을 제대로 배우기 시작한 것입니다.
정답을 외우는 AI에서 선택을 배우는 AI로
강화학습은 종종 어렵고 불안정한 분야로 소개됩니다. 실제로 그렇습니다. 수식은 복잡해질 수 있고, 구현은 까다롭고, 실험은 예측하기 어렵습니다. 하지만 그 중심에는 아주 인간적인 장면이 있습니다.
처음 가 보는 길에서 조금 헤맨다. 어떤 선택은 실패로 끝난다. 어떤 선택은 예상보다 좋다. 실패와 성공의 흔적을 기억한다. 다음에는 조금 다르게 행동한다. 시간이 지나며 더 나은 습관이 생긴다.
강화학습은 이 과정을 기계가 수행하도록 만드는 언어입니다.
이제 우리는 강화학습을 알파고 같은 유명한 사례로만 바라보지 않아도 됩니다. 강화학습은 게임판 위에만 있는 기술이 아닙니다. 로봇의 움직임 속에 있고, 추천 시스템의 장기 만족도 안에 있고, 도구를 사용하는 AI 에이전트의 계획 과정 안에 있으며, 인간 피드백으로 조정되는 언어 모델의 답변 안에도 있습니다.
이 책의 부제는 "보상으로 행동을 배우는 인공지능"이었습니다. 마지막 장에 이르러 이 문장은 조금 더 넓은 의미를 갖습니다. 보상은 단순한 점수가 아니라 방향입니다. 행동은 단순한 출력이 아니라 세계와 상호작용하는 방식입니다. 학습은 단순한 암기가 아니라 더 나은 선택을 향한 조정입니다.
강화학습을 이해한다는 것은 AI를 새롭게 바라보는 일입니다. AI는 더 이상 정답을 맞히는 기계에만 머물지 않습니다. 선택하고, 시도하고, 실패하고, 조정하며, 더 나은 전략을 찾아가는 존재가 됩니다.
물론 그 선택이 정말 더 나은 선택인지 판단하는 책임은 여전히 우리에게 있습니다. 어떤 보상을 줄 것인지, 어떤 행동을 허용할 것인지, 어떤 실패를 막아야 하는지, 어떤 평가를 신뢰할 것인지는 사람이 설계해야 합니다. 그래서 강화학습의 미래는 알고리즘의 발전만이 아니라, 목표를 더 정확하고 책임 있게 정의하는 능력에 달려 있습니다.
처음의 질문으로 돌아가 봅시다.
정답이 없을 때 AI는 어떻게 배울까요?
이제 우리는 답할 수 있습니다.
AI는 환경 속에서 행동합니다. 행동의 결과를 보상으로 받습니다. 당장의 점수만이 아니라 미래의 결과를 고려합니다. 때로는 탐험하고, 때로는 이미 아는 좋은 선택을 활용합니다. 가치와 정책을 고치고, 평가를 통해 다시 확인합니다. 그리고 조금씩, 더 나은 행동의 방향으로 움직입니다.
강화학습은 정답을 외우는 AI가 아니라, 더 나은 선택을 배워 가는 AI를 이해하는 핵심 언어입니다.
이 언어를 익힌 독자는 이제 게임 AI, 로봇, RLHF, LLM 정렬, AI 에이전트를 볼 때 같은 질문을 던질 수 있습니다.
이 에이전트는 무엇을 상태로 보고 있는가? 어떤 행동을 선택할 수 있는가? 어떤 보상을 받고 있는가? 그 보상은 정말 우리가 원하는 미래를 가리키고 있는가?
이 질문들이 바로 강화학습의 시작이자 끝입니다. 그리고 다음 탐험의 출발점입니다.
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.