지난 번에 우리는 policy gradient theorem을 통해 총 return에 대한 gradient, 즉 이 부분에 대한 gradient를, 다음과 같이 표현할 수 있다는 것을 알았다. 이제부터 모든 policy gradient 알고리즘들은 이 형태의 식에서 시작한다. 오늘은 Actor-Critic 방법들에 대해서 알아볼 예정이다. Actor-Critic 우리가 가지고 있는 문제는, 저 위의 true Q value를 모른다는 것이다. 이걸 approximation 할 수 있는 "Critic" network를 하나 만드는 것이 우리의 목표이다. 저 앞부분이 이제부터 조금씩 바뀔 건데, 저 앞부분은 약간 업데이트 기준이 되는 값이라고 생각하면 된다. 결국 Actor-Critic 방법은 저 앞부분을..
지금까지 우리는 "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은 또 딱..
Part5에서는 Q-learning에 대해서 마지막으로 보았다. 이걸 다시 잠깐 recap 해보면, 타겟을 구성할 때 가장 큰 값을 가지는 (max) 다음 action을 현재 policy에 관계없이 따르는 것이었다. 그런데 당연히, 하나 의문점이 들 만하다. 아니 가능한 다음 action이 많을텐데, 그러면 수많은 Q값들이 있을텐데, 그게 뭔지 알고? 그걸 다 계산해보고 거기서 가장 max를 취하는건가? 라는 의문이다. Tabular Q-learning은 Q값들의 table로 관리하면서 업데이트 하는 방식이다. 문제는 이게 state와 action space가 커질수록 당연히 table로 관리하기가 힘들어진다. 그래서 드디어 Deep Neural Net이 나오는데, 이 Q값을 어떤 parameteri..
하나하나 세세하게 다루려다 보니까, 점점 늘어지고 있는 것 같은데, 어느새 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 상황..
Part3 에서는 모델에 대해서 정보를 아는, DP에 대해서 다뤄보았고, 여태까지의 우리의 생각의 흐름은 이제 DP의 모든 정보를 알아야한다는 단점에서 벗어나 모델에 대해서 잘 몰라도 뭔가를 하고 싶다! 까지 도달하였다. 이는 모든 state의 업데이트가 아닌, 돌다리를 두드려보는, 여기저기 탐방해봐야하는 방법의 필요성으로 이어지고, 이제 agent가 직접 경험한 trajectory들을 토대로 업데이트하는 방법들에 대해서 알아볼 것이다. 그 전에, 이제 sampling을 통해서 업데이트해 나아가는 방식으로 바뀌었으므로, 우리가 맞닥뜨리는 수식이 좀 달라진다. 앞으로의 수식은 다음과 같은 형태를 취할 것인데, 약간 gradient descent 생각하면 편할 것이다. 기존의 value를 추정한 것에다..
자, 여태까지 강화학습의 기본 개념들, MDP, 그리고 그 MDP를 풀기 위한 방법인 Bellman Equation까지 다뤄보았다. 이번에는 RL을 푸는 대표적이고 고전적인 알고리즘들에 대해서 알아볼 것이다. 우선은 environment에 대한 정보를 다 알 때 사용하는 Dynamic Programming 부터 시작하여, environment에 대한 정보를 모를 때의 방법들을 다루고, 이것도 모자라 environment에 대한 정보도 제대로 모르는데 문제가 점점 커지는 경우 (state, action space가 매우 큰 경우), DNN을 사용해서 Value, Q, policy를 모델링하는 방법으로 넘어가도록 하자. 알고리즘 분류법 굉장히 좋은 사진이 있어서 가져왔다. 여러 알고리즘들이 어떤 카테..
이전 포스트에서는 강화학습이란 무엇인가? 그리고 나오는 key concept들에 대해서 알아보았다. 아직 기본 개념들에 익숙하지 않다면 꼭 이전 게시물을 보고 오는 것을 추천한다. 그럼 이어서 강화학습에 대해 더욱 다루어보도록 하자. MDP (Markov Decision Process) 강화학습에서는 대부분의 과제를 MDP로 모델링하여 해결한다. 그래야지만 우리가 이전까지 다루었던 state, action, reward, 그리고 transition probability를 써먹을 수가 있다. Markov Property MDP의 모든 state는 markov 성질을 만족한다. 약간 MDP가 가지고 있는 inductive bias 같은 거다. 이건 무슨 뜻이냐면, 뒤에 조건부 확률이 있는데, st만 조건..
이전에 강화학습에 대해서 공부하다가 굉장히 좋은 글을 찾았는데, 영어로 되어있는 터라, 직접 공부하여 얻은 직관들도 좀 같이 써넣을 겸, 한국어로도 자료를 남길 겸 정리를 좀 해보려고 합니다. 또한 본인도 약간 신나는 감이 없지 않아 있는데, 인공지능에 입문하게 된 계기가 당연히 2016년 구글 딥마인드 챌린지 매치, AlphaGO 이기 때문입니다. 그전부터 딥마인드는 DQN을 이용해 Atari를 하는 등 강화학습의 대가적 모습을 보여주었고 (David Silver와 같은 사람들 덕분이겠죠) , AlphaGo로 대박을 터뜨렸으며, 인간의 기보도 필요없으면서 좋은 성능을 보이는 AlphaZero를 내고, DOTA2에서 프로선수들을 이겼습니다. OpenAI의 ChatGPT도 그 학습에 RLHF, 인간 피드백..
안녕하세요, 오늘은 강화학습에서 등장하는 개념인 Deterministic policy와 Stochastic policy에 대해 다뤄보도록 하겠습니다. Policy란? 강화학습 분야에서 policy란, 어떤 에이전트가 주어진 환경과 상호작용하는 전략을 의미합니다. 환경이 주어지고 나서 , 어떻게 action을 취할 것인지에 대한 내용을 담고 있습니다. 만약에 현재의 상태에 대한 정보가 입력으로 주어지면, 다음 액션을 아웃풋으로 뱉어내는 함수입니다. 다시 말하자면, state를 action과 mapping 해주는 function 입니다. 이 policy는 상황에 따라 deterministic policy가 될 수도 있고, stochastic policy가 될 수도 있습니다. 이 둘이 무엇인지, 어떻게 다른지..