본문 바로가기

트렌드 한눈에 보기/학계 트렌드

(113)
[CS234] Lecture 9: Policy Search II 정리 지난 시간에 배웠던 Policy Search를 9강에서도 이어서 한다. 지루한 식 전개 부분들을 굉장히 많이 건너 뛰면서 강의를 들었는데, 이 부분이 전체 수업에서 가장 중요한 부분이라고 한다. 뭐 어떻게든 되겠지...? 오늘 배울 부분은 Actor Critic 방법이다. 지난 시간 전에는 Model Free, Value Based Policy Search 방법이었다면 지난 시간에는 Value Function 없이 Policy를 파라미터화 하는 법을 배웠고 이번에는 적절히 섞는 것이다. 늘 그렇듯 적절히 섞는 것이 가장 효과가 좋을 테다. Actor Critic을 통해 얻을 수 있는 효과는 "Monotonic Improvements"라고 수업에서 강조했는데, 효과가 좋아지면 그만이지, 꼭 일정한 증가가 ..
[CS234] Lecture 8: Policy Gradient I 정리 강화학습의 구성이라고 할 수 있는 네 가지이다. 이 네 가지를 좀 더 효율적으로 진행하고자 지난 시간에는 Imitation Learning을 배웠었고 이번에는 Policy Search 를 배운다. 해석하자면 최적의 행동지침을 찾기 위한 방법이라는 것일텐데 강의 제목이 Policy Gradient인 것으로 보아서는 Gradient Descent 방식을 사용하는 것 같다. CS231n도 그게 가장 핵심이었는데 이번 강좌도 마찬가지인가보다. 모델이 주어지지 않은 상태에서 행동지침을 설정하는 방법을(Model Free Policy Control) 배울 때 행동지침은 value function을 통해 학습되었다. (Q = r + $\gamma$* max Q' 등등) 이번 강의에서는 직접 행동지침을 파라미터화 하는..
[CS234] Lecture 7: Imitation Learning 정리 갑자기 CS234 페이지가 사라졌다...! 당황스러움을 진정시키고, 인터넷에 학생들이 올린 코드와 강의 자료들을 수집했다(대부분 중국인들이 올렸다). cs231n은 그대로 접속 가능한 것으로 보아 사이트 문제는 아닌데, cs234만 사라진 이유가 무엇일까? 유튜브 강의도 사라질지 모른다. 이번 강의까지가 Deep Reinforcement Learning에 관한 내용이니 그나마 다행이다. 지난 시간에 빠르게 지나갔던 Dueling DQN의 추가 설명이다. State Value Function: V는 현재 상태에서 특정 행동지침을 따를 때 받을 수 있는 보상의 현재가치이고, State Action Value Function: Q는 현재 상태에서 행동을 취한 후에 특정 행동지침을 따를 때 받는 보상의 현재가치..
[CS234] Lecture 6: CNNs and Deep Q Learning 정리 Lecture 6에서는 지난 시간에 배웠던 VFA(Value Function Approximation)을 Deep Neural Network (특히 CNN)을 통해 구현하는 방법을 배울 것이다. 이상적인 모델은 Oracle이라는 존재로부터 Value Function에 대한 참값을 받은 후 근사값과의 오차를 계산해서 그 오차를 줄여가는 방법으로 학습에 필요한 V 와 Q 값을 계산하는 것이었지만, Oracle은 존재하지 않는다. 그래서 몬테카를로나 TD Learning을 이용한 값을 Value Function 참값 대신에 집어넣는 것이었다. 하지만 DNN이 발달하면서 Linear VFA보다 더 잘 작동하게끔 참값을 추정할 수 있음이 밝혀졌고, 강화학습 분야에도 사용이 확산되었다. DNN은 위 슬라이드에 보이..
[CS234] Lecture 5: Value Function Approximation 정리 이전 강의에서는 표를 활용해서 보상 값이니, 상태가 변할 확률이니 하는 것들을 제시해주었다. 하지만 실제 삶에서는 그렇게 명확하게 값이 주어지는 것을 거의 찾아보기 힘들다. 그래서 이번 Lecture 5에서는 그런 값들을 추산하는 방법(Value Function Approximation)과 일반화(Generalization)기법을 배울 것이다. 일반화를 통해 이제껏 보지 못한 사례도 해결할 수 있는 강화학습을 만들어낼 수 있지 않을까 기대해본다. VFA 방식을 도식화한 슬라이드이다. 이전 강의에서는 V와 Q를 구하기 위해 주어진 값들을 활용해 공식에다 대입했다면 이 방식은 어떤 계수(parameter)들을 활용해서 s를 표현하는 것이다. s가 (1,1)로 표현이 되고, w가 (2$s_1$ + 3$s_2$..
[CS234] Assignment 1 풀이 코딩 과제를 풀면서 느낀 점은, 전반적으로 강의 내용과 다르다는 점이다. 과제 풀이가 있었으면 좋겠다고 생각했지만, 코딩에 주석이 상세하게 달려있거나 도식화해서 설명해 놓은 글을 찾을 수가 없어서 직접 작성해보았다. Assignment 1의 코딩 과제 (4번) 풀이는 다음과 같다. 먼저 알아야 할 것은 환경 설정이 어떻게 되어 있는가 하는 것이다. 뭘 풀어야 하는 것인지에 대한 내용이 없다 보니, 코드가 잘 이해가 가지 않을 수 있다. 이 문제는 OpenAI에서 만든 Frozen Lake라는 배경을 강화학습을 통해 빠져나가도록 하는 게 목표이다. S로 표시된 Start 지점에서 G로 표시된 Goal까지 이동해야 하는데 중간에 H로 표시된 구멍에 빠지면 게임이 리셋된다. F라고 표시된 완벽하게 얼어있는 부..
[CS234] Lecture 4: Model Free Control 정리 지난 lecture 3에서는 행동지침을 어떻게 평가하는지를 배웠고, 이번 시간에는 행동지침 평가 방식을 통해 좋은 행동지침을 구별할 수 있다면 그걸 어떻게 배울 것인지에 관한 내용을 배울 것이다. 중요한 개념이 하나 나오는데, On Policy 와 Off Policy라는 것이다. Monte Carlo On Policy, Monte Carlo Off Policy 같은 용어로 쓰인다. 지금 배우고 있는 것이 모델이 주어지지 않은 상태에서 과거의 경험만으로 행동지침을 세우는 방식이기 때문에 On Policy라 함은, 과거의 경험 그대로 행동지침을 세우는 것을 뜻하고 Off Policy는 과거의 경험과는 다른 방식을 선택하는 것을 뜻한다. $$ (s_1, a_1, s_2, a_2) \\ (s_1, a_2, s_..
[CS234] Lecture 3 - Model Free Policy Evaluation 정리 Lecture 2가 Model(상태가 변할 확률, 보상 함수 등)이 주어졌을 때 행동지침의 평가에 대한 내용이었다면 이번 Lecture 3 강좌는 그런 것들이 주어지지 않았을 때 어떻게 행동지침을 세울 수 있는지에 대한 내용이다. 직관적으로 생각해보면, 상태가 변할 확률까지는 없어도 되겠다만 보상에 대한 정보 없이 행동지침을 세울 수 있는지 의문이다. 파블로프의 개만 하더라도 "맛있는 음식"이라는 보상이 있었기에 종소리에 침을 흘리는 행동지침을 세우지 않았나? 무슨 내용인지 좀 더 살펴보자. 모델이 있을 때 행동지침을 평가하는 방법은 Dynamic Programming이었다. 이런식으로 아예 모델을 곱해가면서 반복 계산을 수행하는 것이었는데 모델이 없을 경우에는 이렇게 곱해주진 못한다. 모델이 없을 때 ..
[CS234] Lecture 2: Given a model of the world 정리 Lecture 2: Markov Decision Process가 주어졌을 때 올바른 결정을 내리는 방법 Markov Decision Process(MDP)란 무엇인지, 올바르단 것은 무엇인지 확인하면 됨 MDP 이외에도 Markov Reward Process 같은 게 등장하는데 핵심은 역시 MDP라는 것을 잊지 말자 Markov Process: 지난 시간에도 나왔지만, 핵심적인 내용이므로 다시 보면 좋음 과거의 정보가 현재 상태에 모두 녹아있어서, 미래는 현재 상태만 관찰해서도 알 수 있음 즉, 미래는 과거와는 상관이 없다, 현재 상태만 있다면. Markov Process의 구성 Markov Process는 1. 한정된 수량의(무한대도 상관없다) 상태(State) 값과, 2. 한 상태에서 다른 상태로 너..
[CS234] Reinforcement Learning: Lecture 1 정리 강화학습을 어떻게 공부하면 좋을까 싶어 찾아보다가 딥러닝 공부로 CS231n이 필수 요소처럼 여겨지는 만큼 CS234 역시 같은 위상에 있지 않을까 하는 마음에 듣게 되었다. 하지만 설명 방식이 나와는 잘 맞지 않았다. 예시를 좀 더 들어주면서 설명하면 좋을텐데, 알고리즘만 때려넣는 설명방식이랄까...? 중간 정도까지 강의를 들었지만, 도대체 이해할 수 없이 넘어간 부분이 많았고 한 번 다시 들으면서 내 나름대로 내용을 채워 넣었다. 최대한 한국어 용어와 비유를 사용해서 설명하려고 맷돌을 굴려봤지만 제대로 성공하지 못한 경우가 많다. Goal of RL: Learn to make good sequences of decision 연속된 결정들을 잘 내릴 수 있도록 학습하는 것 Sequences of dec..