U E D R , A S I H C RSS

데블스캠프2017/강화학습으로컴퓨터에게고전게임플레이시키기 (rev. 1.42)

데블스캠프2017/강화학습으로컴퓨터에게고전게임플레이시키기

1. machine learning

  1. Supervised learning
  2. Unsupervised learning
  3. Reinforcement learning

1.1. supervised learning

  • 학습을 시킬 때 input으로 value와 label을 함께 전달
  • Learning from difference between prediction and target
  • e.g. mnist, classification

1.2. unsupervised learning

  • input: value만 입력, projection등으로 전처리한 값들로 계산
  • 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

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: Reinforcement learning을 위한 고전 게임들을 python으로 포팅한 toolkit. 직접 구현한 것도 있고 atari는 포팅함.
  • 필요한 라이브러리: numpy, gym, tensorflow 필요
      $ pip install gym
      $ pip install tensorflow 
    
  • cartpole 실행을 해보자! - cartpole_init.py
  • random action(왼쪽, 오른쪽)을 하는 cartpole - cartpole_random.py
  • q-network(q-learning의 NN버전) - cartpole.py
  • DQN - cartpole_dqn.py
  • 2015에 Deep Mind에서 발표한 DQN - cartpole_dqn2015.py

1.7. Reference

1.9. 하고싶은 말

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:29:18
Processing time 0.0199 sec