강화 학습 (Reinforcement Learning) 이란?
에이전트가 경험을 통해 기대하는 보상이 최대가 되도록 하는
상황별로 취할 행동을 결정하는 것을 말함.
주어진 환경 속에서 에이전트가 받게 될 전체적인 보상이 최대가 되도록 하는
일련의 행동을 결정하는 문제를 대상으로 함.
에이전트(agent)란?
환경(Environment) 속에서 행동(Action)을 선택하고,
그 결과로 보상(Reward)을 받으며 학습해 나가는 주체.
강화 학습의 상태, 행동, 보상
에이전트가 환경의 상태 Sₜ를 감지하여 행동 aₜ를 하면,
환경은 이에 대해 보상 rₜ₊₁을 에이전트에게 제공하고,
이와 함께 자신은 새로운 상태 Sₜ₊₁로 바뀌는 과정이 반복되는 상황에서
강화 학습이 수행된다.
강화 학습에서 ‘강화’의 의미
반복적인 경험 속에서, 보상( + / - )을 통해
더 좋은 행동(선택)을 점점 더 강하게 만들고 유지한다는 뜻.
강화 학습 과정
- 에이전트가 현재 상태(Sₜ)를 관찰
- 가능한 행동 중 하나의 행동(aₜ)을 선택
- 환경이 선택된 행동의 결과로
- 보상(rₜ₊₁)을 주고
- 새로운 상태 Sₜ₊₁로 전환됨
- 에이전트는 이 보상을 바탕으로
더 나은 선택을 할 수 있도록 정책(Policy)을 업데이트
대표 알고리즘
Q-learning
상태-행동 쌍에 대한 가치를 학습하는 대표적인 오프라인 방식
SARSA
현재 정책에 따라 행동을 선택하며 학습하는 방식 (온폴리시)
DQN (Deep Q-Network)
딥러닝 기반 Q-learning. 이미지 등 고차원 상태 입력을 처리 가능
PPO / A3C / DDPG
최근 강화학습에서 사용되는 고도화된 정책 기반 또는 혼합 알고리즘
강화 학습 활용 사례
게임 AI (알파고, OpenAI Five 등)
보드게임, 전략 게임, 액션 게임 등에서 최적의 전략을 학습
자율주행차 제어
도로 상황, 보행자, 신호 등 다양한 환경에서 보상을 통해 주행 전략 학습
로봇 제어
로봇 팔이 물체를 잡거나 이동시키는 동작을 보상을 통해 최적화
광고 추천 시스템
사용자 반응(클릭 여부)을 보상으로 설정해 광고 노출 전략 최적화
지도 / 비지도 / 강화학습 비교
| 항목 | 지도 학습 (Supervised) | 비지도 학습 (Unsupervised) | 강화 학습 (Reinforcement) |
|---|---|---|---|
| 데이터 | 입력 + 정답(라벨) 데이터 | 입력 데이터만 있음 | 환경과 상호작용 통해 보상 수신 |
| 학습 목표 | 정답 예측 | 구조나 패턴 파악 | 보상을 최대화하는 행동 학습 |
| 학습 방식 | 예측/분류/회귀 | 군집화/차원 축소 | 시행착오 + 보상 기반 학습 |
| 예시 | 고양이 vs 강아지 분류 | 고객 군집화, 주제 추출 | 알파고, 자율주행, 게임 AI |
한줄 정리
강화학습은 에이전트가 환경과 상호작용하며 시행착오를 반복하고,
보상을 최대화하는 방향으로 행동을 점점 더 최적화해 나가는 학습 방식이다.