[[Tableofcontents]] = machine learning = 1. Supervised learning 1. Unsupervised learning 1. Reinforcement learning == supervised learning == * 학습을 시킬 때 input으로 value와 label을 함께 전달 * Learning from difference between prediction and target * e.g. mnist, classification == unsupervised learning == * input: value만 입력, projection등으로 전처리한 값들로 계산 * Cluster by distance between inputs * Human can't predict the outcome * e.g. clustering == reinforcement learning == * 일종의 unsupervised learning * input : environment, reward, output : action * Learn from try * Model free * e.g. game play, stock trading == reinforcement learning == * Q learning * Q learning + Neural Network * DQN : Deep Q Learning * hidden layer를 늘리는게 다가 아니다! == Basic knowledge == * MDP : Markov Decision Process * Bellman equation * Dynamic programming * Value, Polish * Value function, Polish function * Value iteration, Polish iteration == 실습 == * [https://gym.openai.com gym]: Reinforcement learning을 위한 고전 게임들을 python으로 포팅한 toolkit. 직접 구현한 것도 있고 atari는 포팅함. * 오늘 실습할 [https://gym.openai.com/envs/CartPole-v0 cartpole] * [https://github.com/openai/gym in github] * 필요한 라이브러리: numpy, gym, tensorflow 필요 {{{ $ pip install gym $ pip install tensorflow }}} 1. cartpole 실행을 해보자! - [https://github.com/Rabierre/cartpole/blob/master/cartpole_init.py cartpole_init.py] 1. random action(왼쪽, 오른쪽)을 하는 cartpole - [https://github.com/Rabierre/cartpole/blob/master/cartpole_random.py cartpole_random.py] 1. q-network(q-learning의 NN버전) - [https://github.com/Rabierre/cartpole/blob/master/cartpole_qnetwork.py cartpole_qnetwork.py] 1. DQN - [https://github.com/Rabierre/cartpole/blob/master/cartpole_dqn.py cartpole_dqn.py] 1. 2015에 Deep Mind에서 발표한 DQN - [https://github.com/Rabierre/cartpole/blob/master/cartpole_dqn2015.py cartpole_dqn2015.py] == Reference == * 발표 슬라이드: [https://slides.com/rabierre/playing_a_game_with_rl slide] * 코드: [https://github.com/Rabierre/cartpole github] * 논문: [https://arxiv.org/abs/1312.5602 Playing Atari with Deep Reinforcement Learning] * Tensorflow tutorial: [https://github.com/golbin/TensorFlow-Tutorials/tree/master/10%20-%20DQN DQN] == Furthermore == * [https://en.wikipedia.org/wiki/David_Silver_(programmer) David Silver]의 강의 * [http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching.html 강의노트] * [https://www.youtube.com/watch?v=2pWv7GOvuf0 강의 영상] * Gitbook: [https://www.gitbook.com/book/dnddnjs/rl/details Fundamental of Reinforcement Learning] * [Machine%20Learning Machine Learning] == 하고싶은 말 ==