David Silver 교수님의 강의가 강화학습(Reinforcement Learning) 관련 강의에서 들어봐야할 강의로 꼽힌다.
영어로 설명되어 있기 때문에 한글로 강의를 먼저 듣고 후에 원본 영상을 보고자 한다.
팡요랩에서 David Silver 교수님 강의 및 교안을 활용해 리뷰를 하기 때문에 팡요랩에서 올린 영상을 하나씩 보려고 한다.
- 팡요랩 강의 목록: https://youtube.com/playlist?list=PLpRS2w0xWHTcTZyyX8LMmtbcMXpd3s4TU
- 강의 자료: https://www.davidsilver.uk/teaching/
이제 1강부터 차근히 보기 시작하자
Table Of Content
Reinforcement Learning 특징
- No supervisor, Only reward signal
: 정답을 알려주는 supervisor가 없다. 그 대신 reward(보상)을 사용한다 - Feedback is delayed, no instantaneous
: 피드백이 즉각적이지 않을 수 있다
: 예) 어떤 Action을 수행 → 10분 뒤에 피드백(너의 Action은 어땠어)을 줌 - Time really matters
: i.i.d data = Independent Identically Distributed Data
: 강화학습은 순서가 중요하다 - Agent's Action affect the subsequent data it recieves
: Agent의 Action이 뒤따르는 데이터에 영향을 미친다
Reward
Rt
- Scalar feedback signal
: 정수, 실수 등의 숫자인 feedback 형태 - 참고
- dimension이 0: scalar
- dimension이 1: vector
- dimension이 2: matrix
- dimension이 n: (n)d tensor
- t 시간에 얼마나 잘했냐를 의미하는 값
- Agent의 목적: 축적된 reward를 최대화하는 것
- Reward Hypothesis
- 모든 목적은 축적된 reward를 최대화하는 것으로 설명 가능하다
Sequential Decision Making
- 목적: 미래에 받을 reward를 maximize하는 Action을 선택
- Actions may have long term consequences
: Action을 수행했을 때, 그 결과가 나중에 올 수도, reward가 delay될 수도 있다 - It may be better to sacrice immediate reward to gain more long-term reward
- 즉각적인 reward를 포기하고 long term reward를 발생시키는 경우도 있음
- 예) 보드게임: 지금 놓는 수는 지는 수이지만, 결과적으론 이기는 수일 수도 있다
- 예) 마시멜로우 실험: 마시멜로우 1개를 주고 15분동안 먹지 않고 참으면 2개를 주는 실험
Agent & Environment
- 뇌: Agent, 즉 생각하는 곳
- 뇌가 아닌 나머지: Environment
- Agent가 t마다 Action(At)을 하면, Environment가 Rt와 Ot를 준다
- Rt: Action의 Reward
- Ot: Action으로 인해 상황이 이렇게 바뀌었다는 걸 나타내는 값
- 즉 Environment는 At를 받아서 Rt와 Ot를 방출
- Agent는 Rt와 Ot를 받아서 다음 Action을 수행하는데 사용
- 따라서 Agent와 Environment는 상호작용한다
History & State
History
- sequence of observations, actions, rewards
- 모든 Observation, Action, Reward 모음
- Ht = O1, R1, A1, ..., At-1, Ot, Rt
- History 기반으로
- Agent가 다음 Action을 선택
- Environment가 Observation, Reward를 선택
State
- 다음에 무엇을 할지(Action)을 결정하기 위해 사용되는 정보
- State는 History의 함수이다
- St = f(Ht)
Environment State
Ste
- Reward와 Observation을 계산하는 데 사용한 모든 정보
- 이것은 Agent에게 보여지지 않음
Agent State
Sta
- 다음 Action을 위해 사용되는 정보
- Sta = f(Ht)
Information State
- State가 Markov한지 관점으로 볼 수 있다
- 결정 시, 바로 직전의 State에 의존해서 결정 → 즉 현재 State가 미래에 영향을 주느냐
- 예) 헬리콥터 운전 중, 헬리콥터가 넘어지지 않게 하려면?
- 10분 전 경로를 볼 필요가 없고, 지금 바로 직전의 상황만 필요함
- Environment State, History도 Markov하다
Fully Observable Environments
- Environment State를 Agent가 볼 수 있는 환경
- Agent State == Environment State == Information state
- 이 상황을 MDP(Markov Deicison Process)
Partially Observable Environments
- Environment State를 Agent가 볼 수 없는 환경
- 예) 포커 게임 - 상대방의 카드를 볼 수 없음
- 이 상황을 POMDP(Partially Observable Markov Deicison Process)
- Agent는 반드시 State 표현식을 구축해야 함
- Complete history
- Beliefs of environment state
- Recurrent neural network
Agent 구성요소
구성요소 1개로만 이루어질 수도 있고, 3개 모두 갖고 있을 수도 있다.
1) Policy
π
- Agent의 행동
- Input: State, Output: Action
- 종류
- Deterministic policy
a = π(s)- Action 1개로 결정되어짐
- Stochastic policy
π(a|s) = P[At = a | St = s]- 여러 Action과 Action의 확률을 반환
- Deterministic policy
2) Value Function
Vπ(s) = Eπ[Rt+1 + λRt+2 + λ2Rt+3 + ... | St = s]
- 상황이 얼마나 좋을지 나타냄
- 미래 Reward의 예측, State의 좋고 나쁨을 평가하는데 사용
- Policy가 없으면 존재 불가능
- Policy에 확률적인 요소가 있을 수도, Environment에 확률적인 요소가 있을수도 있다
3) Model
- Environment가 어떻게 될지 예측, 즉 Agent가 Environment가 어떻게 변할지 예측함
- P: State Transition 예측
- State S에서 Action A를 수행했을 때, 다음 State가 무엇이 될지 예측
- R: Reward 예측
- State S에서 Action A를 수행했을 때, Reward를 어떻게 받게될지 예측
Agent 분류
방법 1
- Value Based
- Agent가 Value Function만 갖고 있음
- Policy Based
- Agent가 Policy만 갖고 있음
- Actor Critic
- Agent가 Policy, Value Function 둘다 갖고 있음
방법 2
- Model Free
- Agent가 Policy, Value Function 모두 or 하나만 갖고 있음
- Model을 사용하지 않음
- Model Based
- Agent가 Policy, Value Function 모두 or 하나만 갖고 있음
- Model을 사용함
문제 분류 방법
1) Learning
- Environment를 모름
- Agent는 Environment와 상호작용하며 Policy를 개선시켜감
2) Planning
- Environment를 앎(Reward와 State Transition을 안다)
- Agent는 Environment를 사용하지 않고 내부적인 계산을 통해 다른 상황을 미리 엿보고 Policy를 개선시켜감
Exploration & Exploitation
- Exploration: Environment로부터 정보를 모아서 Environment를 이해
- 예) 새로운 식당 찾기
- Exploitation: 지금까지 모은 정보를 바탕으로 reward를 최대화
- 예) 좋아하는 식당 가기
![]() |
![]() |
Prediction & Control
- Prediction: 미래 평가
- Value Function을 잘 학습시키는 것
- Control: 미래 최적화
- Best Policy를 찾는 것
* 이란?
*
이 붙어있으면 optimal을 의미한다
'Study > Machine Learning' 카테고리의 다른 글
[RL]Lecture #3 - Planning by Dynamic Programming (0) | 2022.03.06 |
---|---|
[RL]Lecture #2 - Markov Decision Processes (0) | 2022.03.06 |
유용한 강의 영상 (0) | 2022.02.03 |
Lecture 7) Regularization (0) | 2022.01.23 |
Lecture 6) Logistic Regression (0) | 2022.01.23 |
댓글