[[Tableofcontents]] = machine learning = 1. Supervised learning 1. Unsupervised learning 1. Reinforcement learning == supervised learning == * 학습을 시킬 때 label에 정답이 있는 것 * Need input, target * Learning from difference between prediction and target * e.g. mnist, classification == unsupervised learning == * label 이 미리 정해져 있지 않은 것 * Need input * Cluster by distance between inputs * Can't predict 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 * + Neural Network * DQN : Deep Q Learning == 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 실행을 해보자! - cartpole_init.py 1. random action(왼쪽, 오른쪽)을 하는 cartpole - cartpole_random.py 1. q-network(q-learning의 NN버전) - cartpole.py 1. DQN - cartpole_dqn.py 1. 2015에 Deep Mind에서 발표한 DQN - 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] == 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] == 하고싶은 말 ==