Agent AI (RL)

A (Long) Peek into Reinforcement Learning -Part8

지난 번에 우리는 policy gradient theorem을 통해 총 return에 대한 gradient, 즉 이 부분에 대한 gradient를, 다음과 같이 표현할 수 있다는 것을 알았다. 이제부터 모든 policy gradient 알고리즘들은 이 형태의 식에서 시작한다. 오늘은 Actor-Critic 방법들에 대해서 알아볼 예정이다. Actor-Critic 우리가 가지고 있는 문제는, 저 위의 true Q value를 모른다는 것이다. 이걸 approximation 할 수 있는 "Critic" network를 하나 만드는 것이 우리의 목표이다. 저 앞부분이 이제부터 조금씩 바뀔 건데, 저 앞부분은 약간 업데이트 기준이 되는 값이라고 생각하면 된다. 결국 Actor-Critic 방법은 저 앞부분을..

Agent AI (RL)

A (Long) Peek into Reinforcement Learning -Part7

지금까지 우리는 "Value-based" RL을 보았다. Q-function을 approximation해서 가치를 추정한 다음에, 이를 바탕으로 policy를 구하는 과정이었다. 그래서 항상 흐름도 V(s)를 구하거나, Q(s,a)를 구한 뒤, epsilon-greedy 이런 식으로 policy에 대해서 다루었다. 근데 여기서 의문이 생기는 것은, 그냥 policy를 또 parameterized function으로 직접 구해버리면 안되나? 이런 내용일 것이다. 이러한 의문점에서 파생된 것이 바로 "Policy-based" RL이며, 지금부터 볼 policy gradient를 기반으로 한 알고리즘들이 바로 그것들이다. (당연히 gradient가 들어간다, parameterized function은 또 딱..

Agent AI (RL)

A (Long) Peek into Reinforcement Learning -Part6

Part5에서는 Q-learning에 대해서 마지막으로 보았다. 이걸 다시 잠깐 recap 해보면, 타겟을 구성할 때 가장 큰 값을 가지는 (max) 다음 action을 현재 policy에 관계없이 따르는 것이었다. 그런데 당연히, 하나 의문점이 들 만하다. 아니 가능한 다음 action이 많을텐데, 그러면 수많은 Q값들이 있을텐데, 그게 뭔지 알고? 그걸 다 계산해보고 거기서 가장 max를 취하는건가? 라는 의문이다. Tabular Q-learning은 Q값들의 table로 관리하면서 업데이트 하는 방식이다. 문제는 이게 state와 action space가 커질수록 당연히 table로 관리하기가 힘들어진다. 그래서 드디어 Deep Neural Net이 나오는데, 이 Q값을 어떤 parameteri..

Agent AI (RL)

A (Long) Peek into Reinforcement Learning -Part5

하나하나 세세하게 다루려다 보니까, 점점 늘어지고 있는 것 같은데, 어느새 part5까지 와버렸다. 이전에 TD learning의 prediction 부분, 타겟을 어떻게 구성하고 각 state의 value를 어떻게 업데이트할 건지에 대해 다뤘으므로, 오늘은 TD learning의 control 부분, 즉 policy를 어떻게 improve할 건지에 대한 방법인 SARSA와 Q-learning에 대해 알아보도록 하자. Policy를 어떻게 improvement할 건지에 대해서는 On-policy와 Off-Policy가 있다. SARSA가 On-policy, 그리고 Q-learning이 Off-policy method이다. Model-Free Control에 대해서 그 전에, Model-Free 상황..

Agent AI (RL)

A (Long) Peek into Reinforcement Learning -Part4

Part3 에서는 모델에 대해서 정보를 아는, DP에 대해서 다뤄보았고, 여태까지의 우리의 생각의 흐름은 이제 DP의 모든 정보를 알아야한다는 단점에서 벗어나 모델에 대해서 잘 몰라도 뭔가를 하고 싶다! 까지 도달하였다. 이는 모든 state의 업데이트가 아닌, 돌다리를 두드려보는, 여기저기 탐방해봐야하는 방법의 필요성으로 이어지고, 이제 agent가 직접 경험한 trajectory들을 토대로 업데이트하는 방법들에 대해서 알아볼 것이다. 그 전에, 이제 sampling을 통해서 업데이트해 나아가는 방식으로 바뀌었으므로, 우리가 맞닥뜨리는 수식이 좀 달라진다. 앞으로의 수식은 다음과 같은 형태를 취할 것인데, 약간 gradient descent 생각하면 편할 것이다. 기존의 value를 추정한 것에다..

ShinyJay
ShinyLab