CS 285 (Deep Reinforcement Learning) 요약 및 정리 (Lecture 2: Supervised Learning of Behaviors)

이미지
  * UC Berkeley CS 285 강의는 David Silver의  UCL Course on RL  강의로 대부분 커버 가능하다. 본 요약 정리 노트에서는 UCL Course on RL에서 다루지 않는 부분만 정리하는 데에 집중한다. This post covers Lecture 2: Supervised Learning of Behaviors . Terminology DL 맥락의 classification 문제는 \(\mathbf{a}_t\)가 단순히 데이터의 ground truth label이고, \(\mathbf{a}_t\)가 \(\mathbf{o}_{t+1}\)에 영향을 안준다는 차이점이 있다. 이에 반해, RL 문제나 기타 sequential decision making 문제는, 현재의 액션이 다음 관측에 영향을 준다. Imitation Learning Nothing but supervised learning Good example만 training dataset에 넣는다면, policy network의 오차 등으로 완벽히 좋은 state paths를 따라갈 수 없고, good example에 나오지 않는 새로운 케이스에 대응하는 법을 배우지 못해 goal을 달성하지 못하게 된다. DAgger: dataset aggregation Learned policy가 실제로 도달한 state 혹은 observation에서 인간이 손수 바람직한 action을 labeling 한다. 다만, 이 방법은 (3) labeling cost가 너무 크고, 자율주행차를 이렇게 훈련시켰다간 (2) 실제로 차량이 몇 번이고 박살 나야 한다. 사람이 운전하는 것과 매우 다른 observation을 줄 때 사람이 제대로 labeling하기 힘든 점도 있다. Why might we fail to fit the expert? Non-Markovian behavior History 전체를 저장하고 모델 트레이닝에 사용하는 건 cost가 너무 크다. Causal confusion: 인

CS 285 (Deep Reinforcement Learning) 요약 및 정리 (Lecture 1: Introduction and Course Overview)

* UC Berkeley CS 285 강의는 David Silver의 UCL Course on RL 강의로 대부분 커버 가능하다. 본 요약 정리 노트에서는 UCL Course on RL에서 다루지 않는 부분만 정리하는 데에 집중한다. This post covers Lecture 1: Introduction and Course Overview . Lecture Goal Deep learning과 reinforcement learning이 각각 무엇인지 배운다. 두 개념을 합치는 게 현실 세계의 복잡한 문제를 푸는 데에 왜 유용한지 배운다. Note 대부분의 AI 관련 문제는 RL 문제로 접근할 수 있다. 여담으로, image classification 문제도 classfication이 잘되면 reward를 주는 식으로 RL 문제로 모델링할 수 있으나, 그냥 classfier 만들어서 푸는 게 효율적이다. \(\Rightarrow\) AI 문제에 RL을 도입하기 전에 일단 RL이 정말 최고의 솔루션이 될지 고민해 보라. 또 그보다 앞서, learning 문제가 맞기는 한지 고민해 보라. Why should we study this now? Advances in deep learning (transformer, PointNet, UNet, VAE, etc.) Advances in RL Advances in computational capabilities (CPU and GPU) Vanilla RL is too slow Imitation learning: learning from demonstrations Lecture 2 and 20 Model-based learning: learning from observing the world Lecture 10-12 Learning from other tasks Transfer learning Meta-learning: learning to learn Lecture 21-22

SIGGRAPH 2021 학회에서 주목도 높았던 연구 세션 및 키워드들 정리

이미지
TOG: Vol 40, No 4 SIG21에서 주목도 높은 연구 세션들 (순서 의미없음): Neural solver for blah blah Video, portrait, image editing (sometimes with GANs) Neural, real-time, differentiable rendering Rendering theory Denoising and guiding Human, face, character animation and control (learning) Surfaces, curves, ribbons, and wires Appearance Deformation Fabrication Computational photography SIG21에서 주목도 높은 키워드들 (순서 의미없음): Physical simulation Neural networks Ray tracing Shape modeling Animation Mesh geometry models 

KAIST 회고 (1): 공부법 정리

이미지
(2021-08-29 초안 작성) 성적을 잘 받기 위한 기본 정리 1: 시험과 과제 마감일은 우리를 기다려주지 않는다 내용) 오늘 들은 강의는 이틀 내에 복습하라 해설) 엘리베이터 앞에 몇 초만 늦게 도착해도 먼저 엘리베이터에 타고 올라간 사람보다 많게는 수 분 가량 늦을 수 있다. 학교는 학생의 학습 능력을 매 초 마다 연속적으로 체크하지 않는다. 억울하지만, 시험 당일이나 과제 제출 당일에 퍼포먼스를 제대로 못 보여주면 그 후폭풍은 거대하다. 예를 들어, 한 학기 동안 매번 당일 수업 내용으로 다음 날 시험을 보는 상황을 가정하자. 매일 복습을 하는 학생과 항상 수업 이틀 뒤에 복습을 하는 (즉, 시험치고 다음 날) 학생이 있다면, 해당 학기가 끝난 뒤 두 학생의 이해도는 별반 차이 없을 것이다. 둘 다 공부를 제대로 했다는 가정 하에, 복습을 며칠 미룬다고 큰 차이가 날 리가. 다만 시험 성적은, 앞의 학생은 충분히 높을 것이고, 뒤의 학생은 비교적 낮을 것이다 (수업을 듣자마자 모든 걸 깨닫지 않는 이상). 이 예시에서 두번째 전략을 취한 학생은 매우 억울할 것이다. 그러나 이게 현실이다. 시험은 '당일까지'의 이해도를 측량한다. 과제도 마찬가지다.  현실에서는 시험이나 과제 전까지 충분히 시간을 주지 않느냐 반문할 수 있다. 그러나 매 강의는 시간 의존적이다. 오늘 듣는 강의는 필연적으로 지난 수업 일이나 저번 주, 심지어 선수 과목의 내용과 밀접한 연관이있다. 따라서, 당연히도, 오늘 들은 강의 내용을 다음 수업일까지 복습하지 않는다면, 다음 수업일의 강의 내용을 이해하는 게 매우 힘들어지고, 수업 시간에 제대로 이해하지 못하니 복습할 내용과 다시 공부할 내용은 눈덩이처럼 불어난다. 더 심하게는, 수업 시간에는 하나도 이해 못하고 시간을 날린 뒤, 방에 돌아와서 당일 강의록을 보면서 스스로 처음부터 공부해야 할 수 있다. 실제로 KAIST에서도 많은 학생들이 이런 식으로 공부하면서 강의 하나를 이해하는 데에 드는 시간을 두 배 혹은 그

기록: UCL Course on RL 요약 및 정리 (Lecture 10: Classic Games and Minimax Search)

이미지
This post covers not only  Lecture 10: Classic Games (davidsilver.uk)  but also: Best response - Wikipedia Nash equilibrium - Wikipedia Minimax - Wikipedia Minimax and Monte Carlo Tree Search - Philipp Muens KnightCap: A chess program that learns by combining TD(λ) with game-tree search Bootstrapping from Game Tree Search The entire course materials can be found on the following page:  Teaching - David Silver . Lecture Goal 체스나 바둑 등 고전적인 대전 게임을 푸는 minimax search 기법을 배운다. 또한 minimax search를 reinforcement learning에 녹여 통합적으로 푸는 방법을 배운다. Game Theory Best response In game theory, the best response is the strategy (or strategies) that produces the most favorable outcome for a player, taking other players' strategies as given. Assume that other players become parts of the environment . Then, the game is reduced to an (single-agent, stationary-environment) MDP for \(i\)-th agent. Best response is the optimal policy for the MDP . Therefore, the best response is a solution to a single-agent

기록: UCL Course on RL 요약 및 정리 (Lecture 9: Exploration and Exploitation)

이미지
This post covers not only  Lecture 9: Exploration and Exploitation (davidsilver.uk)  but also : 'Reinforcement Learning' 카테고리의 글 목록 (yjjo) The Multi-Armed Bandit Problem and Its Solutions (lilianweng.github.io) Bayesian Bandits - Thompson Sampling (tistory.com) The entire course materials can be found on the following page:  Teaching - David Silver . Lecture Goal MDP를 풀 때 exploration과 exploitation 중 어느 한 쪽만 사용하면 optimality에 도달하지 못한다 (trade-off). 본 강의에서는 둘 사이의 균형을 맞추는 알고리즘을 소개한다. Credit: UC Berkeley Intro to AI course lecture 11 Takeaway Use (Bayes-) UCB algorithms Exploration vs. Exploitation Dilemma Exploitation: make the best decision given current information E.g., go to your favorite restaurant Exploration: gather more information E.g., try a new restaurant Dilemma The best long-term strategy may involve short-term sacrifices and risks How does an agent obtain enough information to make the best overall decisions with the lowest sacrifices? [In-A-Nutshell] Key Principles an

기록: UCL Course on RL 요약 및 정리 (Lecture 8: Integrating Learning and Planning)

이미지
This post covers  Lecture 8: Integrating Learning and Planning (davidsilver.uk) : The entire course materials can be found on the following page:  Teaching - David Silver . Lecture Goal Opening remarks: 지금껏 known MDP의 경우, model을 알고 있으므로 dynamic programming등 planning 기법을 이용하여 최적의 value function이나 policy를 구할 수 있었다 (이를 MDP를 푼다 고 표현한다).  지금껏 unknown MDP의 경우, environment와의 상호작용(experience)을 통해 최적의 value/policy를 학습하였다 ( learning ).  Unknown MDP 를 풀 때도 experience를 통해, policy나 value만 학습하는 게 아니라,  model (i.e., expected rewards and transition probability) 자체를 학습 한다면 planning 기법을 사용하여 좀 더 효율적으로 MDP를 풀 수 있지 않을까?  본 강의에서는 unknown MDP를 풀기 위해 learning과 planning을 통합적으로 이용하는 model-based reinforcement learning 방법을 배운다. Learning, simulation & planning, Dyna-Q, Monte-Carlo tree search Credit:  Field Report: Applying Monte Carlo Tree Search for Program Synthesis Model Given an MDP \((S,A,T,R)\), a model \(M=(T,R)\) represents state transitions and expected rewards: \(S_{t+1} \sim T(S_{t+1}|S_t,A_t)\)

이 블로그의 인기 게시물

기록: UCL Course on RL 요약 및 정리 (Lecture 6: Value Function Approximation)

기록: UCL Course on RL 요약 및 정리 (Lecture 9: Exploration and Exploitation)

KAIST 회고 (1): 공부법 정리