CS234 1강 Summary
CS234 강의 중 Lecture 1(Introduction)을 듣고 정리해보자
본 포스팅은 Stanford Univ의 CS234:Reinforcement Learning 강의를 듣고 정리한 글입니다.
강화학습의 4가지 핵심적인 요소
강화학습에는 다음과 같은 4가지 핵심적인 요소가 있기에 다른 AI 및 Machine Learning 들과 구별된다.
-
최적화(Optimization) : 결과물로서의 행동이 목적에 가장 부합(올바른 결정)해야 하기에 최적화가 자연스럽게 나타난다.
-
지연된 결과(Delayed Consequences) : 현재의 행동이 정말 좋은 것인지는 시간이 충분히 흐르기 전까지는 판단하기 어려울 수 있음. 다시 말해서, 즉각적인 피드백이 없으므로 현재의 결정이 미래에 어떻게 작용하는지 모른다.
-
탐색(Exploration) : Agent는 기본적으로 경험(세상과 소통)을 통해 세상을 이해한다. 하지만 시도하려는 대상을 선택(탐색)하는 것부터 경험의 데이터가 검열된다. 여기서 검열이 의미하는 바는 자신이 하려는 작업에 대해서만 배울 수 있다는 것이다.
-
일반화(Generalization) : 이전에 경험하지 못한 상황이 오더라도 잘 대처할 수 있는 능력이다.
참고로 Policy(정책)$\pi$ 란 과거의 경험이 만들어낸 현재 행동의 근거 즉, Agent가 어떤 Action을 취할지를 결정하는 전략 또는 규칙을 의미하며 미리 Policy를 설정해두지 않는 이유는 사전에 Policy를 설정하면 Generalization이 어렵기 때문이다.
다른 ML과의 차이점
지도 학습(Supervised Learning)에서는 Optimization, Generalization 이 포함되지만, 세상에 대한 상호작용으로 데이터를 수집하는 것이 아니라 사전에 Data Set이 제공되므로 탐색(Exploration)이 포함되지 않고, Delayed Consequences가 포함되지 않는다.
모방 학습(Imitation Learning)에서는 최적화(Optimization), 일반화(Generalization), 지연된 결과(Delayed Consequences)가 포함되지만 다른 사람들의 경험으로부터 학습하기에 탐색(Exploration)은 포함되지 않는다.
따라서 탐색(Exploration), 즉 환경과 소통을 하며 학습을 하느냐, 아니냐가 RL과 다른 ML들의 차이라고 볼 수 있다.
수업의 목표(Class Goals)
-
1. 앞서 언급한 4가지 요소를 통해 강화학습과 다른 AI 모델의 차이점을 설명할 수 있어야 한다.
-
2. 실생활 문제(Computer vision, Robotics 등)가 강화학습을 통해 해결가능한지 판별할 수 있는 능력을 탑재하고, 해당하는 경우에 강화학습의 시스템으로 표현할 수 있어야 하며 어떤 알고리즘이 잘 작동할지 설명할 수 있어야 한다.
-
3. 강화학습 알고리즘을 직접 구현할 수 있어야 하고, 어떤 Task에 어떤 알고리즘을 사용해야하는지 알아야 한다.
-
4. Exploration과 Exploitation 이 어느 경우에 필요한지, 어떤 것에 더 비중을 둬야하는지 결정할 수 있어야 한다.
강화 학습의 목표
강화 학습의 궁극적 목표는 Agent가 World에 대한 Observation을 통해, 최적의 Reward를 얻는 Action을 찾는 것이다. 이를 위해선 즉각적인 보상과 나중에 있을 잠재적인 보상의 균형을 맞춰줘야 할 수도 있고, (Delayed Consequence) 높은 reward를 얻기 위한 행동 전략을 필요로 할 수도 있다.
여기서 각 기본 용어들이 어떤 것을 의미하는지 알아보자.
- Agent : 우리가 학습시키고자 하는 AI
- Action($a$) : Agent가 하는 행동
- Observation($o$) : Agent가 보고 듣는 것
- Reward($r$) : Agent가 어떤 Action을 취했을 때 얻는 점수 or 보상을 의미
- World : 학습시키고자 하는 환경을 의미
강화 학습 예시
위 그림과 같이 웹 광고의 경우, Agent는 웹에 띄울 광고를 띄워주고, 그때 시청 시간과 광고 클릭률 등을 보고(Observation) 학습한다. 이 경우엔 즉각적 보상과 잠재적 보상의 균형을 맞출 필요도 없고, 특정한 전략을 요구하지도 않는다.
반면 위 그림과 같이 혈압 조절 같은 경우, Agent가 환자에게 운동을 시키거나 약을 투여하는 행동 중 하나를 권유할 수 있다. 만약 그 권유를 들은 환자가 건강해지면 +1의 보상을 얻고, 약 투여의 부작용당 -0.05의 보상을 얻는다. 예를 들어, 운동을 바로 시작한다면 바로 건강해지진 못하겠지만, 추후에 건강한 범위 안에 들어올 수 있고, 약을 투여한다면 즉각적으로 환자가 건강해질 수는 있겠지만, 추후 부작용이 있을 수도 있다. 이와 같이 강화 학습에서는 즉각적 보상과 잠재적 보상 사이의 균형을 맞춰야 한다.
한편 위 그림과 같은 순차적인 의사 결정 프로세스에서 Agent가 각 time step $t$에 대해서 Agent는 World에 있어서 어떠한 Action을 취하고 World는 Agent에게 Observation과 Reward를 준다. Agent는 이를 수신하고 사용하여 또 다른 Action을 취한다.
History란 Agent가 수행한 이전 작업들을 기록한 것으로 위 그림에서 확인할 수 있듯이, action, observation, reward가 들어있다. 또한, State란 History에서 기록된 정보를 통해 최종적으로 결정을 내릴 때 사용하는 정보로 History를 바탕으로 나오기 때문에 각각의 State는 History의 함수이다. ($S_{t} = f(H_{t})$)
World State vs Agent State
World State란 실제로 세상이 어떻게 돌아가는지를 알려주는 정보를 의미한다. 다시 말해서, 어떤 행동을 했을 때 어떻게 관측되고, 어떤 보상이 주어지는지를 의미한다. 이는 Agent에게 있어서 그닥 쓸모 없는 정보들도 포함한다.
반면, Agent State란 Agent가 특정 선택을 할 때 사용할 수 있는 정보이다.
예를 들어, 우리 시야는 약 180도가량을 볼 수 있는데 이때, 이 우리의 시야 안에 들어오는 것들이 바로 Agent State이다. 하지만 세상은 우리가 보는 이 180도만 있는 것이 아니라, 내 뒤나 위나 아래에도 세상이 존재한다. 우리의 시야 안에 들어와 있지는 않지만, 확실히 존재하는 세상을 World State라고 한다. (저는 어떤 Task를 수행하는 데에 있어서 필요한 정보, 필요없는 정보를 모두 포함한 세상이라고 이해했습니다.)
Markov Assumption
Markov Assumption이란, 충분한 정보가 담긴 State가 존재할 때, 미래를 예측하려면 환경의 현재 State만 알면 된다고 가정하는 것이다. 다시 말해서, 이는 미래를 예측하는 데는 과거에 대한 정보가 필요 없고, 그냥 그런 정보들을 잘 모아놓은 현재의 상황, State만이 필요하다는 것이다.
Example
고혈압 조절을 예시를 들어보자.
State를 현재 혈압 수치라고 하고, 약을 투여할지 하지 않을지를 결정하는 것은 Markov 하다고 할 수 있을까 ?
그렇지 않을 것이다. 왜냐하면, State는 현재 혈압 수치만을 알려주기 때문에, 내가 지금 운동을 해서 혈압이 높아진 것일 수도 있고, 공포영화를 봐서 혈압이 높아진 것일 수도 있는데 현재의 혈압만을 보고 약을 투여할지 여부를 결정하는 것은 옳지 못하기 때문이다.
다음으로, 웹사이트 쇼핑 인공지능 예시를 들어보자.
State를 현재 구매자가 보고 있는 상품이라 하고, 그 구매자에게 어떤 다른 상품을 추천할지를 결정하는 것은 Markov 하다고 할 수 있을까 ?
이것도 마찬가지로, Markov가 아니다. 지금 보고 있는 상품이 그냥 심심해서 랜덤으로 들어온 상품일 수도 있고, 광고를 잘못 눌러서 들어온 상품 페이지일 수도 있는데 그 사용자에게 다른 상품을 무작정 추천하는 것을 좋지 못한 행동이기 때문이다.
모든 History를 활용해 State를 설정한다면 그 State는 언제나 Markov 하다. 하지만 State가 커버리면, 연산하기에도 너무 어렵고, 데이터를 가져오는 것도 힘들며, 결과를 내는 성능에 영향을 끼칠 수 있다.
하지만 최근의 Observation들만으로도 충분한 정보가 담긴 State가 되는데 이러한 State도 Markov하다고 할 수 있는 경우가 많다.
그 외 용어 정리
Value function $V^{\pi}$ : 특정 Policy를 취했을 때, 미래에 받을 수 있는 보상의 총합을 평가하는 함수로 이는 에이전트(agent)가 특정 상태(state)에서 취할 수 있는 행동(action)의 가치를 추정하는 데 사용된다.
Discount factor $\gamma$ : 미래의 보상을 현재 가치로 환산할 때 사용하는 계수로 0과 1 사이의 값으로 설정된다. 이를 통해 현재의 보상을 미래의 보상보다 더 가치 있게 만들 수 있고, 학습의 수렴을 돕는다. 결과적으로 Discount factor은 미래의 보상을 현재 시점에서 얼마나 중요하게 생각하는지를 결정하는 Parameter이다. 이 값이 높으면 미래의 보상을 더 크게 고려하고, 낮으면 현재 보상을 더 중요하게 생각한다.
Exploration(탐색) : Agent가 학습하는 방식을 설명하는 두 가지 중요한 개념 중 하나로 Agent가 새로운 행동을 시도하고 새로운 경험을 하는 것을 의미한다. 이를 통해 Agent는 환경에 대한 정보를 얻고, 이를 통해 보상을 최적화하는 데 도움이 되는 새로운 행동을 발견할 수 있다. 하지만 Exploration은 Agent가 좋은 보상을 얻는 것을 보장해주지 않는다.
Exploitation(활용) : Agent가 학습하는 방식을 설명하는 두 가지 중요한 개념 중 하나로 Agent가 현재 알고 있는 정보를 기반으로 최고의 보상을 얻을 것으로 예상되는 행동을 선택하는 것을 의미한다. 이를 통해 Agent는 안정적인 보상을 얻을 수 있지만, 더 큰 보상을 얻을 수 있는 새로운 행동을 놓칠 수도 있다.
따라서, 강화 학습에서는 이 두 가지 전략 사이에 적절한 균형을 찾아야 한다. Exploration(탐색) 없이는 새로운 행동을 발견할 수 없고, Exploitation(활용) 없이는 학습한 정보를 이용해 보상을 얻을 수 없다. 이러한 문제를 ‘탐색-활용 딜레마’라고 한다.
강화 학습 알고리즘 종류
강화 학습의 알고리즘 종류는 위 그림과 같다.
댓글남기기