Contents
1
.
machine learning
1.1
.
supervised learning
1.2
.
unsupervised learning
1.3
.
reinforcement learning
1.4
.
reinforcement learning
1.5
.
Basic knowledge
1.6
.
실습
1.6.1
.
순서
1.7
.
Reference
1.8
.
Furthermore
1.9
.
후기 및 기타의견
1
.
machine learning
¶
머신 러닝의 세가지 분류
Supervised learning
Unsupervised learning
Reinforcement learning
1.1
.
supervised learning
¶
학습을 시킬 때 input으로 feature(입력값)와 label(원하는 결과값)을 함께 전달
Learning from difference between prediction and label
e.g. mnist, classification
1.2
.
unsupervised learning
¶
input: feature만 입력, 보통 projection등으로 feature의 차원을 축소시킨다.
Cluster by distance between inputs
Human can't predict the outcome
e.g. clustering
1.3
.
reinforcement learning
¶
일종의 unsupervised learning
input : environment, reward, output : action
Learn from try
Model free: 게임의 규칙을 알려주지 않음
e.g. game play, stock trading
1.4
.
reinforcement learning
¶
Q learning
Q learning + Neural Network
DQN : Deep Q Learning
hidden layer를 늘리는게 다가 아니다!
1.5
.
Basic knowledge
¶
MDP : Markov Decision Process
Bellman equation
Dynamic programming
Value, Polish
Value function, Polish function
Value iteration, Polish iteration
1.6
.
실습
¶
gym
(https://gym.openai.com)
: Reinforcement learning을 위한 고전 게임들을 python으로 포팅한 toolkit. 직접 구현한 것도 있고 atari는 포팅함.
github
(https://github.com/openai/gym)
에 코드가 공개되어 있다.
오늘 실습할
cartpole
(https://gym.openai.com/envs/CartPole-v0)
필요한 라이브러리: numpy, gym, tensorflow 필요
$ pip install gym $ pip install tensorflow
1.6.1
.
순서
¶
일단 cartpole 실행을 해보자! -
cartpole_init.py
(https://github.com/Rabierre/cartpole/blob/master/cartpole_init.py)
random action(왼쪽, 오른쪽)을 하는 cartpole -
cartpole_random.py
(https://github.com/Rabierre/cartpole/blob/master/cartpole_random.py)
q-network(q-learning의 NN버전) -
cartpole_qnetwork.py
(https://github.com/Rabierre/cartpole/blob/master/cartpole_qnetwork.py)
DQN -
cartpole_dqn.py
(https://github.com/Rabierre/cartpole/blob/master/cartpole_dqn.py)
2015에 Deep Mind에서 발표한 DQN -
cartpole_dqn2015.py
(https://github.com/Rabierre/cartpole/blob/master/cartpole_dqn2015.py)
1.7
.
Reference
¶
발표 슬라이드:
slide
(https://slides.com/rabierre/playing_a_game_with_rl)
실습코드:
github
(https://github.com/Rabierre/cartpole)
DeepMind
의 DQN 논문:
Playing Atari with Deep Reinforcement Learning
(https://arxiv.org/abs/1312.5602)
Tensorflow tutorial:
DQN
(https://github.com/golbin/TensorFlow-Tutorials/tree/master/10%20-%20DQN)
1.8
.
Furthermore
¶
David Silver
(https://en.wikipedia.org/wiki/David_Silver_(programmer))
의 강의
강의노트
(http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching.html)
강의 영상
(https://www.youtube.com/watch?v=2pWv7GOvuf0)
Gitbook:
Fundamental of Reinforcement Learning
(https://www.gitbook.com/book/dnddnjs/rl/details)
. 한글로 되어 있다!
레퍼런스 모음:
Machine%20Learning
1.9
.
후기 및 기타의견
¶
Retrieved from http://wiki.zeropage.org/wiki.php/데블스캠프2017/강화학습으로컴퓨터에게고전게임플레이시키기
last modified 2021-02-07 05:29:18