Planning and Learning with Tabular Methods

이 포스팅에서는 environment model이 필요한 methods(such as dynamic programing and heuristic search)와 모델이 없이 학습하는 methods(such as Monte Carlo and temporal-difference)를 통합하는 관점을 알아 보기로 하자. planning과 learning  methods를 통합하는 방법에 관한 것이다. Models and Planning Environment model이라고 하면, 그 어떤것이라도 agent의 action에 environment가 어떻게 반응하는지 예측할 수 있는 것을 의미한다. 즉, state와 action이 주어지면,… Planning and Learning with Tabular Methods 계속 읽기

Temporal-Difference Learning

RL의 가장 중요한 아이디어라고 한다면, 의심할 여지도 없이 temporal-difference (TD) learning이다. TD learning은 Monte Carlo와 dynamic programing 아이디어를 조합한 것이다. TD learning은 Monte Carlo method처럼 environment dynamics에 관한 model이 없이도 순수한 경험(experience)만으로도 직접 학습이 가능하며, DP처럼 episode가 종료되기까지 기다리지 않아도 다른 예측치를 기반으로 value function의 update가 가능하다(이것을 bootstrap이라는 용어를 사용하여 설명하였다). TD, DP 그리고 Monte… Temporal-Difference Learning 계속 읽기

Monte Carlo Methods

이제 실제로 value function을 예측하고 optimal policy를 찾아내는 learning method를 시작해 보자. DP에서는 기본적으로 environment dynamics을 안다고 가정하였으나, 여기서는 이것을 가정하지 않는다. 대신에 MC method는 environment와의 모의(simulated) 또는 실제(actual) interaction을 통해 얻은 states, action, rewards가 포함된 sample이라고 불리우는 경험(experience)을 이용한다. 실제 경험을 통한 학습은 environment dynamics를 전혀 모르지만 optimal behavior를 찾아 낼 수 있다는 점에서… Monte Carlo Methods 계속 읽기

Dynamic Programming

Dynamic programing (DP)은 Markov decision process (MDP)인 environment에 대한 완전한 모델 (model)이 주어졌을때 optimal policy를 구해내는 모든 알고리즘을 지칭한다. 기존의 DP algorithm은 완전한 model이 필요하다는 점과, 많은 computing cost가 요구된다는 점에서 활용성이 떨어지지만, reinforcement learning을 이해하는 기초가 된다는 점에서 여전히 이론적으로 중요한 의미를 가진다. DP나 RL의 핵심은 옳바른 policy를 찾기위한 제반의 노력들이 value function을 이용한다는… Dynamic Programming 계속 읽기

Markov Decision Processes

이제 RL이 해결하고자 하는 대상인 environment로 관심을 돌릴 때이다. Agent는 environment에서 오는 시그날인 state에 따라 판단하여 결정을 내린다. 여기서, state라고 함은 agent가 받아들이는 모든 정보(information)을 의미한다. 이 state information은 가공되지 않은 information일 수 도 있고, 기본 정보를 이용항 가공된 정보일 수도 있다. 단지 agent가 판단(decision-making)에 이용할 수 있는 정보형태이면 된다. State 정보가 agent의 판단에 이용된다고… Markov Decision Processes 계속 읽기

Reinforcement Learning Concepts

강화학습(Reinforcement Learning)을 시작하기 전에 먼저 RL을 통해 수행하려는 문제의 framework는 어떤 구조인지 먼저 살펴보는 것이 순서일 것이다. 특이 여기서 설명하는 개념은 매우 중요하므로 충분한 시간을 가지고 숙고할 필요가 있다. RL problem이란 무엇인가? 목표를 달성하기 위해 interaction을 통해 학습하는 일련의 과정이라고 할 수 있다. 여기서 학습자(learner) 또는 결정권자(decision maker)를 agent라고 하며, 이 agent가 interaction하는 대상을 environment라고… Reinforcement Learning Concepts 계속 읽기

Convolutional Neural Networks

CNN관련 가장 유명한 자료가 Stanford University의 CS231n강좌이다. 이 강좌는 워낙 유명해서 인지 neural network를 공부하는 사람들이 대부분 참고하는 자료이므로 AI Korea team이 이강좌를 한글로 번역 작업을 수행하였고 그 결과를 아래 사이트에 올려 놓았다. 영어에 문제가 없는 사람은 github에 올라와 있는  사이트를 참조해도 좋다. 같은 내용을 또다시 번역할 필요는 없으므로 추가 설명이 필요한 부분에 대한 설명이나,… Convolutional Neural Networks 계속 읽기

Backpropagation을 이해해야 하는 이유

우리가 deep learning를 수행하고자 할 때 이용하는 frameworks에는 deep learning에 필요한 필수적인 함수나 class들이 포함되어 있어서, deep learning의 알고리즘에 집중하게 도와주고, 수학적 기법과 같은 디테일에 대해 코딩해야 하는 수고로움을 덜어 준다. 이처럼 deep learning의 최종 목적지를 위한 tool인 이optimizer 자체의 알고리즘이나 optimizer를 구동하기 위한 gradient 값을 구하는 수고를 덜어 준다는 것은 deep learning 개발자들에게는 매우… Backpropagation을 이해해야 하는 이유 계속 읽기

유난히도 자주…제주여행 in 2016

여행을 하기위해 자주 여행지를 물색하곤 했지만, 왜 제주는 가려하지 않았는지 의문이다. 물론 국내여행이지만 비행기를 타야 하는 번거로움도 한몫 했으리라…. 올해만 제주를 세번 다녀왔다. 여러 국내여행지 중에서 제주는 단연 최고라는 생각이 든다. 맛집도 많으니 금상첨화다.

Improved techniques for training GANs

Generative adversarial networks는 game theory에 기반하여 generative model을 학습하는 방법중의 하나이다. 그런, GAN을 training하는 것은 많은 패러미터를 가진 non-convex game에 대한 Nash equilibrium을 찾아내는 과정이 필요하다. GAN은 일반적으로 gradient descent technique을 이용하여 cost function의 최저값을 찾내는 optimizer를 이용하기보다는, 바람직하게는 game의 Nash equilibrium을 찾아내는 과정이 필요하다. 그러나, Nash equilibrium을 찾기위해 위 algorithm을 사용하면 수렴에 실패하는 경향이… Improved techniques for training GANs 계속 읽기