🚨해당 게시글에 포함된 이미지 중 출처가 쓰여있지 않은 이미지는 모두 직접 그렸습니다.
chapter1을 통해 알아야 하는 내용
강화학습이란 무엇인가? 강화학습이 풀고자 하는 문제는 무엇인가? 강화학습에서 자주 등장하는 기초 개념은 무엇인가?
1.1. 지도 학습과 강화 학습
1.1.1. 기계 학습의 분류

기계 학습이란 기계에게 무언가를 배우게 하는 것을 가리킨다.
지도 학습, 강화 학습, 비지도 학습은 더 큰 틀인 기계 학습에 속하는 개념이다.
- 지도 학습 : 지도자(혹은 정답)가 있는 상태에서 배우는 것
- 강화 학습 : 홀로 시행착오를 통해 배우는 것
- 비지도 학습 : 지도 학습도 강화 학습도 아닌 것 (ex. 생성모델, 클러스터링)

예를 들어, 어린 아이가 두발 자전거 타는 법을 배우는 이야기를 해보자.
민준이는 자전거를 탈 줄 아는 아버지의 강의를 통해 자전거 타는 법을 배운다. 아버지는 민준이에게 핸들은 어떻게 잡는지, 페달은 어떻게 밟는지, 방향은 어떻게 바꾸는지 하나하나 알려준다. 즉, 지도자(supervisor)의 도움을 받아서 자전거 타는 법을 학습(learning)하고 있다. → 민준이의 방법은 지도 학습(supervised learning)
지윤이는 혼자 무작정 자전에 올라 타서 패달을 밟는다. 얼마 못 가 넘어져도 다시 일어나면서, 조금씩 넘어지지 않고 타는 방법을 스스로 익힌다. 즉, 시행착오를 통해 학습하고 있다. → 지윤이의 방법은 강화 학습(reinforcement learning)
1.1.2. 지도 학습
비지도 학습이란?
- 지도학습(Supervised Learning): 입력 → 정답(label) → 손실(loss)을 기준으로 학습
- 비지도학습(Unsupervised Learning): 입력만 있음 → 정답 없음 → 데이터 내의 유사성, 분포, 구조를 기반으로 학습
정답 대신에 자체 정의한 목적(데이터 구조를 잘 설명하거나 압축하는 방향)을 사용
- 비슷한 데이터끼리 가까이, 다른 데이터는 멀리 두도록 학습 (클러스터링)
- 원본 데이터를 압축했다가 다시 복원할 때 차이가 최소화되도록 학습 (차원축소, 오토인코더)
- 데이터의 확률분포를 잘 근사하도록 학습 (밀도추정, 생성모델)
이때 Loss function은 어떻게 정의되나?
- 클러스터링(K-means) : L=∑_{i=1}^{N}min_k∥x_i−μ_k∥^2 (데이터 x_i가 가장 가까운 클러스터 중심 mu_k와의 거리)
- 오토인코더(Autoencoder) : L=∥x−x∥^2 (원본 입력과 복원된 입력의 차이(MSE))
- 밀도추정 (예: 가우시안 혼합모델, GMM) : L=−∑_{i=1}^Nlog_p(x_i∣θ)
- Self-supervised Learning (자기지도학습) : Loss = 데이터 일부를 가리고 맞히게 하거나, augment된 두 데이터를 가깝게, 다른 샘플은 멀리 두도록 학습 (Contrastive Loss, InfoNCE 등)

위의 그림처럼 남자와 여자 사진이 1만 장씩 있다고 가정하자.
지도 학습을 이용하면 인물의 사진이 주어졌을 때 해당 인물의 성별을 아웃풋으로 출력하는 모델을 학습할 수 있다.
이렇게 학습에 사용되는 데이터를 학습 데이터(training data)라고 한다.
예를 들어, “머리카락이 길면 여자다”라는 모형을 생각해보자.
사진 안에서 머리에 해당하는 부분을 찾고, 머리카락에 해당하는 부분을 찾아서, 머리카락의 평균 길이를 잰다.
어떤 값 x 이상이면 여자, 미만이면 남자로 판별하는 식의 모형을 만들 수 있다.
그리고 학습 데이터 안에서 정답률을 가장 높이는 x를 찾는 것이다. 이처럼 머리 길이라는 피쳐(feature)를 이용하여 모델을 만들 수 있다.

위의 그림처럼 정답을 모르는 인물 사진이 주어졌다고 하자.
그렇다면 앞에서 학습한 모델을 이용해 각 사진에 대해 성별이 무엇일지 맞혀볼 수 있다.
정답을 모르지만 우리가 궁극적으로 정답을 맞히고자 하는 데이터를 테스트 데이터(test data)라고 하며, 지금까지 한번도 본 적이 없는 사진이어야 한다.
이처럼 학습 데이터를 이용해 인풋과 정답 사이 관계를 학습하여 테스트 상황에서 정답을 맞힐 수 있는 인공지능을 학습하는 방식을 지도 학습이라고 일컫는다.
1.1.3. 강화 학습
- 쉽지만 추상적인 버전 ”시행착오를 통해 발전해 나가는 과정”
- 어렵지만 좀 더 정확한 버전 ”순차적 의사결정 문제에서 누적 보상을 최대화 하기 위해 시행착오를 통해 행동을 교정하는 학습 과정”
1.2. 순차적 의사결정 문제
강화 학습이 풀고자 하는 문제는 순차적 의사결정 문제이다.
예를 들어, 사람이 샤워를 할 때 대략적으로 아래와 같은 4단계를 거친다.
- 옷을 벗는다.
- 샤워를 한다.
- 물기를 닦는다.
- 옷을 입는다.
그리고 위 4단계는 순서에 맞게 이루어져야 한다. 순서가 바뀌면 안된다.
→ 성공적으로 마치기 위해서는 우리는 몇 가지 의사결정을 순차적으로 해 주어야 한다.
1.3. 보상
보상(reward)이란 의사결정을 얼마나 잘하고 있는지 알려주는 신호이다.
그리고 강화학습의 목적은 과정에서 받는 보상의 총합, 즉 누적 보상(cumulative reward)을 최대화하는 것이다.
1.3.1. 보상의 3가지의 특징
- 어떻게X 얼마나O
: 보상은 내가 어떠한 행동을 하면 “얼마나” 잘 하고 있는지 평가를 해줄 뿐, “어떻게” 해야 높은 보상을 얻을 수 있는지 알려주지 않는다. 그런 의미에서 보상은 지도 학습의 정답과 질적으로 다르다. - 스칼라
: 보상은 스칼라이다. 보상이 벡터라면 동시에 2개 이상의 값을 목표로 할 수 있겠지만 스칼라이기 때문에 오직 하나의 목적만을 가져야 한다. 그래서 만약 3가지의 목표를 갖는다면, 0.5x+0.25y+0.25z처럼 가중치를 둬서 스칼라로 표현할 수 있다. - 희소하고 지연된 보상
: 보상은 희소할 수 있으며 지연될 수 있다. 지도 학습에서는 정답이 “뒤늦게” 주어지는 경우는 없다. 하지만 강화 학습에서는 바둑의 경우를 생각해보면 경기를 이기는 것이 목표이기 때문에 이기면 +1, 지면 -1의 형태로 보상을 정의할 수 있다. 그러면 행동 250개와 보상 1개가 연결되어있는 것이 되고, 보상이 정말 희소해진다.
1.4. 에이전트와 환경

앞에서 설명한 순차적 의사결정 문제를 도식화하면 위 그림과 같다.
에이전트가 액션을 하고 그에 따라 상황이 변하는 것을 하나의 루프라고 했을 때 이 루프가 끊임없이 반복되는 것을 순차적 의사결정 문제라 할 수 있다.
- 에이전트(Agent)
: 에이전트는 강화학습의 주인공이자 주체이다. 학습하는 대상이며 동시에 환경 속에서 행동하는 개체를 가리키는 용어이다. 자전거를 타는 지윤이의 상황에서는 지윤이가 에이전트이다. 에이전트는 어떤 액션을 할지 정하는 것이 가장 주된 역할이다. 에이전트의 입장에서 위의 루프는 아래와 같은 3단계로 이루어져있다.
- 현재상황 s_t에서 어떤 액션을 해야 할지 a_t를 결정
- 결정된 행동 a_t를 환경으로 내보냄
- 환경으로부터 그에 따른 보상과 다음 상태의 정보를 받음
- 환경(Environment)
: 에이전트를 제외한 모든 요소를 환경이라고 한다. 자전거를 타는 지윤이의 상황에서는 지윤이가 어떤 행동을 했을 때, 그 결과에 영향을 아주 조금이라도 받는 모든 요소들이 환경이다. 현재 상태에 대한 모든 정보를 숫자로 표현하여 기록해 놓은 것을 상태라고 한다. 그리고 환경은 결국 상태 변화를 일으키는 역할을 담당한다. 즉, 행동의 결과를 알려주는 것이다. 환경이 하는 일은 다음과 같은 단계로 이루어진다.
- 에이전트로부터 받은 액션 a_t를 통해서 상태 변화를 일으킴
- 그 결과 상태는 s_t→s_{t+1}로 바뀜
- 에이전트에게 줄 보상 r_{t+1}도 함께 계산
- s_{t+1}과 r_{t+1}을 에이전트에게 전달
→ 에이전트와 환경이 한 번 상호작용하면 하나의 루프가 끝난다. 이를 한 틱(tick)이 지났다고 표현한다. 실제 세계는 시간의 흐름이 연속적이겠지만, 순차적 의사결정 문제에서는 시간의 흐름을 이산적으로 생각한다. 그리고 그 시간의 단위를 틱 혹은 타임 스텝이라고 한다.
1.5. 강화 학습의 위력
1.5.1. 병렬성의 힘

뇌를 공유하는 100명의 지윤이가 동시에 자전거를 배운다고 생각해보자.
100명의 지윤이가 운동장에서 각자의 자전거를 타고 넘어지기 시작하면서 100명은 각자의 경험을 공유할 수 있게 된다.
지윤1이 했던 실수를 나머지 99명은 하지 않게 되고, 지윤2가 배운 지혜는 나머지 99명이 공유하게 된다.
이와 같이 강화 학습은 경험을 쌓는 부분의 병렬성을 쉽게 증가시킬 수 있고, 경험을 쌓는 부분을 시뮬레이터라고 한다.
그저 시뮬레이터를 1대 더 갖다 놓으면 병렬성이 증가하는 것이다.
1.5.2. 자가 학습(self-learning)의 매력
지도 학습은 자꾸 정답을 알려주지만, 강화 학습은 지도 학습과 달리 혼자 놔두고 알아서 성장하길 기다린다.
민준이가 자전거타는 법을 배우는 상황에서, 민준이는 아버지로부터 지도를 받으므로 아버지가 모르는 지식을 전달받기는 어렵다.
하지만 지윤이가 자전거타는 법을 배우는 상황에서 지윤이는 혼자 스스로 깨우쳐 가기 때문에 한계란 것이 있을 수 없다.
충분히 다양한 시도를 지속해서 한다면, 어떤 지식이라도 깨우칠 수 있다.
'ML,DL' 카테고리의 다른 글
| [바닥부터 배우는 강화학습] Chapter 3 벨만 방정식 (0) | 2026.02.21 |
|---|---|
| [바닥부터 배우는 강화학습] Chapter 2 마르코프 결정 프로세스(Markov Decision Process) (0) | 2026.02.20 |
| [cs231n] 컨볼루션 신경망 : 구조, Convolution / Pooling 레이어들 (0) | 2026.02.06 |
| [cs231n] 신경망 파트 3 : 학습 및 평가 (0) | 2026.02.05 |
| [cs231n] 신경망 파트 2 : 데이터 준비 및 Loss (0) | 2026.02.04 |