일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- ppt
- github
- simulink
- 멘델레이
- 머신러닝
- Python
- 비지도학습
- 연료전지
- 파이썬
- Fusion 360
- 모깎이
- 클러스터링
- 군집화
- 스틸브릿지
- Desktop
- 파워포인트
- 기계공학
- matplotlib
- 포스코
- 윈도우
- CAD
- reference manager
- 포스코인턴
- 시뮬링크
- 열역학
- PEMFC
- mendeley
- matlab
- git
- 매트랩
- Today
- Total
신군의 역학사전
강화학습 개요 (Introduction to Reinforcement Learning, RL) 본문
강화학습 개요 (Introduction to Reinforcement Learning, RL)
긔눈 2025. 2. 24. 12:00강화학습(Reinforcement Learning, RL)이란?
강화학습(Reinforcement Learning, RL)은 에이전트(Agent)가 환경(Environment)과 상호작용하며, 현재의 상태(State)에서 어떤 행동(Action)을 취하는 것이 최적인지를 학습하는 기계 학습 방법이다. 시행착오(Trial & Error)를 통해 보상(Reward)을 최대화하는 방향으로 학습이 진행된다.
강화학습은 마치 자전거 타는법을 처음 배울 때와 유사한 방식인데, 처음에는 균형을 잡지 못하고 넘어지기도 하지만, 몸을 이리저리 움직여보며 균형잡는 방법을 학습하여 점점 더 오래 자전거를 탈 수 있게된다. 보상은 넘어지지 않고 트랙을 완주했을때, 부모가 아이에게 간식을 준다던지, 칭찬을 해준다던지.. 등으로 설명할 수 있다.
강화학습의 특징
순차적 의사결정 문제(Sequential Decision Making)
지도학습과 비지도학습이 앞에 데이터가 있다는 가정하에 진행하는 것과는 반대로, 강화학습은 액션을 취한다음 데이터가 관측되어 순차적(Sequential)이라는 차별점이 있다. 즉, 강화학습은 순차적 의사결정(Sequential Decision Making) 문제를 다루며, 단순히 한번의 행동을 예측하는 것이 아니라, 연속된 행동을 최적화하는 것이 목표이다.
가장 대표적인 예시로 바둑을 둘 수 있는데, 바둑에서 한 수를 두면 다음 수를 고려해야 하듯이, 현재의 선택(행동)이 미래에 어떤 영향을 미칠지 고민해야 한다. 이는 지도학습과의 가장 큰 차이점 중 하나로, 특정 분야에 강화학습을 접목하고자할 때, 해당 문제가 연속된 행동(Action)을 찾는 것이 목표인지 잘 따져보아야 한다.
지연 보상(Delayed Reward)
강화학습에서는 순차적 의사결정 문제를 다루기 때문에, 현재 행동의 결과가 바로 나타나지 않을 수 있다. 즉, 당장 얻는 보상이 없거나, 오히려 손해를 보는 것처럼 보이더라도, 장기적으로 보면 최적의 선택이 될 수 있는데, 이를 지연된 보상(Delayed Reward) 문제라 한다.
예를 들어, 체스에서 초반에 말 하나를 희생하는 것이 단기적으로는 손해처럼 보이지만, 나중에는 더 큰 이득을 가져오는 경우를 생각해볼 수 있다. 이처럼 강화학습 에이전트는 단기적인 보상보다는 장기적인 보상까지, 즉 누적 보상을 고려해야 한다.
희소 보상 문제(Sparse Reward Problem)
강화학습에서 보상이 자주 제공되지 않고, 특정 상태나 행동에서만 보상이 주어지는 상황을 희소 보상 문제(Sparse Reward Problem)라 한다. 가장 대표적인 예시인 Frozen Lake게임을 예로 들어보면, 오직 목표지점에 도달한 상황에서만 보상을 제공한다면, 중간 과정에서의 보상이 없어 학습에 어려움이 있을 수 있는데, 이런 문제점을 해결하기 위한 다양한 솔루션들이 현재도 연구되고 있다.
강화학습의 분류(Classification of Reinforcement Learning)
1. Model-based vs Model-free
Model-Base : 환경 모델(ex. MDP)에 대한 정보를 알고 시작하는 상황. 대표적으로 동적 프로그래밍(Dynamic Programming) 등이 있다.
Model-Free : 환경에 대해 모를 때, 시행착오를 통해 학습하는 것. 시행착오를 샘플링하면서 학습하는 방법에는 Monte-Carlo, Temporal Difference 등이 있다.
2. MDP vs Bandits
3. Value-based vs Policy-based vs Actor-Critic
Policy-Based : 에이전트가 정책(Policy) 자체를 학습하여, 주어진 상태에서 최적의 행동을 선택하도록 하는 방식. 정책은 상태 s에서 행동 a를 선택하는 확률 분포를 나타냄. 주로 On-policy 방식으로 동작하며, 목적함수를 직접 최적화하기 때문에 학습이 안정적이지만, On-policy 학습으로 인해 샘플 효율성이 낮음. ex) VPG, PPO
Value-Based : 에이전트가 가치 함수(Value Function)를 학습하여, 상태-행동 쌍의 가치를 평가하는 방식. 가치함수는 상태 s에서 행동 a를 수행했을 때 기대되는 누적 보상을 나타냄. 주로 Off-policy 방식으로 동작하며, 데이터를 재사용할 수 있어 샘플 효율성이 좋다는 장점이 있지만, 목적함수를 간접적으로 최적화하기 때문에 학습이 불안정할 수 있음. ex) Q-learning, DQN
Actor-Critic : Policy-Based와 Value-Based를 결합한 알고리즘. ex) A2C, A3C, DDPG, SAC
4. On-Policy vs Off-Policy
On-Policy : 행동 정책(Behavior Policy)과 목표 정책(Target Policy)이 동일한 방식으로, 현재 사용하는 정택에 기반하여 데이터를 수집하고, 이 데이터를 활용해 동일한 정책을 업데이트하는 방식. 정책과 데이터가 일치하기 때문에 학습 안정성이 높고, 행동 정책과 목표 정책이 동일하여 학습 과정이 직관적이라는 장점이 있지만, 한번 수집된 데이터를 재활용할 수 없어 샘플 효율성이 낮다는 단점이 있음. ex) SARSA, VPG, A2C/A3C
Off-Policy : 행동 정책과 목표정책이 다른 방식으로, 탐험과 데이터 수집에는 행동 정책을 사용하지만, 학습은 목표 정책을 업데이트 하기 위해 수행되는 방식. 한 번 수집된 데이터를 여러 번 학습에 사용할 수 있어 데이터 효율성이 높고, 다양한 행동 정책을 활용해 학습을 유연하게 진행할 수 있다는 장점이 있으나, 행동 정책과 목표 정책 간의 불일치로 인해 학습 불안정성 문제가 발생할 수 있다는 단점이 있음. ex) Q-learning, DQN, DDPG, SAC
5. Discrete vs Continuous
등등 ..
이처럼 강화학습을 분류하는 기준에는 모델의 유무, 강화학습의 이론적 기반에 따른 분류, 학습 방식에 따른 분류 등 여러가지가 있다. 강화학습을 처음 공부하는 단계에서 이렇듯 여러 분류법에 따른 특징들이 한번에 이해되기는 쉽지 않지만, 향후 알고리즘별 학습을 진행하며 분류별 특징을 바탕으로 알고리즘 구조를 되짚어보면 이해되는 순간이 올 것..이라 생각한다.
강화학습 용어 정리
에이전트(Agent) : 환경과 상호작용하며 최적의 행동을 학습하는 주체.
환경(Environment) : 에이전트가 상호작용하는 세계 또는 시스템. 환경은 상태를 결정하고, 에이전트의 행동에 대한 보상을 제공함.
상태(State) : 환경의 특정 순간을 나타내는 정보.
행동(Action) : 에이전트가 특정 상태에서 선택할 수 있는 움직임 또는 결정.
보상(Reward) : 특정 행동을 수행한 후 환경에서 받은 피드백. 보상을 최대화하는 방향으로 정책을 최적화함.
관측(Observation) : 에이전트가 환경에서 얻을 수 있는 정보(상태(State))
정책(Policy) : 주어진 상태에서 어떤 행동을 선택할지 결정하는 함수
1) 결정론적 정책(Deterministic Policy) : 상태 S가 주어졌을 때, 특정 행동 A가 확정적으로 결정되는 경우. 같은 상태에서는 항상 같은 행동을 선택.
2) 확률적 정책(Stochastic Policy) : 상태 S가 주어졌을 때, 특정 행동 A를 수행할 확률이 제시되는 경우. 같은 상태에서도 다른 행동을 선택할 수 있음.
가치함수(Value Function) : 특정 상태에서 받을 것으로 기대되는 총 보상의 크기를 나타내는 함수
1) 상태 가치 함수(State-Value Function) : 특정 상태 s에서 시작했을 때 받을 것으로 예상되는 보상의 총합.
2) 행동 가치 함수(Action-Value Function) : 특정 상태 s에서 행동 a를 수행한 후 받을 것으로 기대되는 보상의 총합.
Reference
[1] https://spinningup.openai.com/en/latest/spinningup/rl_intro.html#key-concepts-and-terminology
[2] https://link.springer.com/chapter/10.1007/978-981-15-4095-0_3
[3] MATLAB tutorial