The reward is a formalized signal about the agent’s goal.
reward
: 특정 state 마다 action을 했을 때 이에 대한 feedback으로 environment로부터 받는 것
각 timestamp에서 reward signal은 environment에서 agent로 전달이 된다.
reward는 실수이다
로봇 예시에서처럼 대부분의 시간에는 0의 리워드를 받고 캔을 주우면 1의 리워드를 받고 너무 많이 움지여서 배터리가 방전되면 -1의 리워드를 받는다
The agent always learns to maximize its reward.
Cumulative Reward
- 행동을 취했을 때 바로 reward가 들어오는 것이 아니다.
- 당장의 reward를 고려하는 것이 아니라 행동을 취하고 있다 보니까 한 20 초 뒤에 미래의 가장 reward가 높다. 이처럼 Cumulative Reward는 goal 을 롱 텀으로 바라보고 planning할 수 있도록 만들어 준다.
The return is the sum of the rewards.
The episode is a sequence of actions, states, and rewards.
episode
: sequence of actions, states, and rewards, starting from an initial state and ending at a terminal state or a predefined time limit.
The agent's learning process consists of multiple episodes
What if T is infinite?
a와 b 둘 다 시행해서 100의 리워드를 얻는데 a보다 b가 훨씬 더 오랜 시간이 걸린다면 어떻게 이를 구분할것인가?
=> 이를 해결하기 위해 discount factor(γ) 을 사용한다
Adjusting the importance of future rewards relative to immediate rewards.
future rewards
immediate rewards
→ If the reward is constant +1
✔ Discounting if often used for a few reasons
Modeling uncertainty
Fast convergence
Finite tasks
Adjusting the importance of future rewards relative to immediate rewards.
✔ If discounting is not used (γ = 1)
→ agent는 모든 future rewards를 동일한 importance로 가정하고 풀게 된다.
Slow convergence
Infinite returns
Overemphasis on long-term consequences
=> 장기 보상을 너무 고려해서 현재 해야하거나 빨리 해야하는 행동들에 영향을 미친다.
✔ (γ = 0)
당장 눈 앞에 있는 것만 고려하는 근시안적인 것
✔ γ = 1 or T = ∞ (but not both)
Problem Definition
Design as Episodic
Design as Continuing Task
How good it is to perform a given action in a given state.
어떤 state에서 어떤 action을 취하는 것이 더 좋은걸까? 어떻게 판단할까?
π
: policy, state에서 acion을 취할 확률Deterministic policy
: 이 state에 오면 이 행동을 무조건 함Stochastic policy
: s라는 state에서 a라는 action을 할 확률State-value function (V-function)
:
Action-value function (Q-function)
:
그림으로 상태 가치 함수와 행동 가치 함수를 보면 다음과 같다.
Experience?
Monte Carlo (MC) methods
전이 확률을 모르는 경우 즉 MDP를 모를 때는 시용하는 방법이다.
반복된 시행을 통해 비율이나 평균으로 답을 유추해내는 맥락
여러번의 에피소드를 계속 돌리면서 거기서부터 평가한 것들을 평균시키는 것
에피소드가 처음 부터 끝가지 완료가 되어야 하고 task 자체가 에피소드 여러번을 거쳐서 되게 디자인되어야 한다.
state-value function 추정하기 위해
→ 모든 에피소드를하면서 s를 방문했던 에피소드들에 대해 관찰한 애들 데이터를 평균을 내보니 대충 이정도 나왔다고 판단
action-value function
→ 에피소드들에서 얻었던 리워드들 평균내서 판단
state와 action이 너무 크면 → MC는 효과적이지 않음
에피소드를 많이 돌려도 해당 state가 몇 번 나오지 않아 평균을 내는 것도 의미가 없다.
⇒ 이걸 가능하게 하기 위해 parameterized function approximator 쓰는데 이건 수업에서 다루지 않음
Recursive relationships
Backup diagram
Finding a policy that achieves a lot of reward over the long run
모든 state에서 π와 π’ 중에 더 좋은 것 π 를 택한다.
There is always at least one policy that is better than or equal to all other policies: optimal policy
-> denote all optomal policies by
They share the same state-value function, called the optimal state value function, denoted
→ max π : 를 극대화시키는 π
Finding Optimal policies and value functions is Indeed a challenging
최적 정책과 가치 함수를 찾는 것이 어려운 이유
이 글은 강형엽 교수님의 게임공학[GE-23-1] 수업을 수강하고 정리한 내용입니다.
[mdpw] https://en.wikipedia.org/wiki/Markov_decision_process
[sutton] Sutton, R. S., & Barto, A. G. (2018). Reinforcement learning: An introduction. MIT press
[value & action function] 황주영 조교님 강의자료