[NDC2017] 딥러닝으로 게임 콘텐츠 제작하기 - VAE를 이용한 콘텐츠 생성 기법 연구 사례Hwanhee Kim
2017년 4월 26일, NDC2017 발표자료입니다.
콘텐츠 제작은 게임 개발에서 많은 노력과 시간 투자를 필요로하는 작업입니다. 최근 폭발적인 관심을 받고 있는 딥러닝을 통해 여기에 드는 시간을 크게 줄일 수 있습니다. 이 발표에서는 VAE(Variational AutoEncoder)를 이용한 모방을 통한 콘텐츠 생성 기법에 대해서 다룹니다.
안녕하세요.
강화학습을 공부하면서 처음 접하시는 분들을 위해 ppt로 '강화학습의 개요'에 대해서 정리했습니다.
동물이 학습하는 것과 똑같이 시행착오를 겪으면서 학습하는 강화학습은 기계학습 분야에서 상당히 매력적이라고 생각합니다.
https://www.youtube.com/watch?v=PQtDTdDr8vs&feature=youtu.be
위의 링크는 스키너의 쥐 실험 영상입니다.
감사합니다.
Note (2017-07-12): a more recent version of this slide has been released. https://www.slideshare.net/ByoungHeeKim1/20170629-osia-final
Introduction to deep learning approaches for artificial intelligence (with some practice materials) (mostly in Korean)
(서울대학교 인지과학협동과정, 인지과학방법론 2016년 2학기 강의)
모두를 위한 Deep Reinforcement Learning 강의를 요약정리
http://hunkim.github.io/ml/
실습에 사용된 코드
https://github.com/freepsw/tensorflow_examples/tree/master/20.RL_by_SungKim
[NDC2017] 딥러닝으로 게임 콘텐츠 제작하기 - VAE를 이용한 콘텐츠 생성 기법 연구 사례Hwanhee Kim
2017년 4월 26일, NDC2017 발표자료입니다.
콘텐츠 제작은 게임 개발에서 많은 노력과 시간 투자를 필요로하는 작업입니다. 최근 폭발적인 관심을 받고 있는 딥러닝을 통해 여기에 드는 시간을 크게 줄일 수 있습니다. 이 발표에서는 VAE(Variational AutoEncoder)를 이용한 모방을 통한 콘텐츠 생성 기법에 대해서 다룹니다.
안녕하세요.
강화학습을 공부하면서 처음 접하시는 분들을 위해 ppt로 '강화학습의 개요'에 대해서 정리했습니다.
동물이 학습하는 것과 똑같이 시행착오를 겪으면서 학습하는 강화학습은 기계학습 분야에서 상당히 매력적이라고 생각합니다.
https://www.youtube.com/watch?v=PQtDTdDr8vs&feature=youtu.be
위의 링크는 스키너의 쥐 실험 영상입니다.
감사합니다.
Note (2017-07-12): a more recent version of this slide has been released. https://www.slideshare.net/ByoungHeeKim1/20170629-osia-final
Introduction to deep learning approaches for artificial intelligence (with some practice materials) (mostly in Korean)
(서울대학교 인지과학협동과정, 인지과학방법론 2016년 2학기 강의)
모두를 위한 Deep Reinforcement Learning 강의를 요약정리
http://hunkim.github.io/ml/
실습에 사용된 코드
https://github.com/freepsw/tensorflow_examples/tree/master/20.RL_by_SungKim
3월달 "강화학습의 이론과 실제" 로 강의했던 강의자료 배포합니다.
1.Dynamic Programming
2.Policy iteration
3.Value iteration
4.Monte Carlo method
5.Temporal-Difference Learning
6.Sarsa
7.Q-learning
8.딥러닝 프레임워크 케라스 소개 및 슈퍼마리오 환경 구축
9.DQN을 이용한 인공지능 슈퍼마리오 만들기
이 흐름으로 강의를 했는데
브레이크아웃 설명은 양혁렬 (Hyuk Ryeol Yang)님의 코드를 참고 하였고
8번,9번은 새로운 환경이 나왔으니 무시해도 좋겠습니다.
이 환경에 대한 자료는 주말까지 작성하고 업로드 할 예정입니다.
Imagination-Augmented Agents for Deep Reinforcement Learning성재 최
I will introduce a paper about I2A architecture made by deepmind. That is about Imagination-Augmented Agents for Deep Reinforcement Learning
This slide were presented at Deep Learning Study group in DAVIAN LAB.
Paper link: https://arxiv.org/abs/1707.06203
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016Taehoon Kim
발표 영상 : https://goo.gl/jrKrvf
데모 영상 : https://youtu.be/exXD6wJLJ6s
Deep Q-Network, Double Q-learning, Dueling Network 등의 기술을 소개하며, hyperparameter, debugging, ensemble 등의 엔지니어링으로 성능을 끌어 올린 과정을 공유합니다.
This document provides information about a dialog manager including a link to its source code on GitHub. It lists the main Python files that make up the dialog manager and references a paper on using character-level convolutional neural networks for sentence classification. It also mentions morphological analysis and training data, and shows sample execution results.
This document discusses dialog management systems and the Ravenclaw dialog manager. It describes Ravenclaw's 2-tier architecture with a dialog task specification (DTS) representing the hierarchical task structure and dialog agents. The core algorithm uses a dialog stack and expectation agenda to execute agents in two phases - execution and input. Context-based semantic disambiguation and mixed-initiative dialogs are supported through the expectation agenda. Error handling is also discussed.
2. - 지도학습
- 정답을 알고 있는 데이터를 이용해 학습
- 비지도학습
- 정답없이 주어진 데이터로 학습
- 강화학습
- 행동의 결과로 나타나는 보상을 통해 학습
머신러닝
3. Agent가 문제 정의를 하기 위한 구성요소
- 상태(state)
- 현재 에이전트의 정보.
- 에이전트가 상태를 통해 상황을 판단해서 행동을 결정하기에 충분한 정보를 제공.
- 행동(action)
- 에이전트가 어떠한 상태에서 취할 수 있는 행동(사기, 팔기, …)
- 보상(reward)
- 자신이 했던 행동들을 평가할 수 있는 단서.
- environment
4. Q Learning
- Q function : state-action value function
- Q(state, action) → reward(quality)
- ex.
- Q(state1, LEFT) = 0
- Q(state1, RIGHT) = 0.5
- Q(state1, UP) = 0.2
- Q(state1, DOWN) = 0.1
- 위와 같은 경우 state1의 경우에는 RIGHT일 때 기대값이 가장 크므로, RIGHT action을 취하면
된다는 것을 알 수 있음.
5. (dummy) Q-Learning algorithm
1. 모든 s,a에 대해 Q(s,a)=0로 초기화
2. observe current state s
3. 액션 a를 선택하고 실행
4. reward(r)을 받음
5. observe the new state s’ : s’로 이동
6. update Q(s,a)
a. Q(s,a) ← r + max Q(s’,a’)
7. s ← s’
8. 3으로 계속 반복.
6. Exploit vs Exploration : decaying E-greedy
for i in range(1000):
e = 0.1 / (i+1)
if random(1)<e:
action = random
else:
action = argmax(Q(s,a))
8. Deterministic vs Stochastic
- Deterministic
- the output of the model is fully determined by the parameter values and the initial conditions
- 항상 정해진 입력에 대해서 동일한 출력이 나오는 환경을 의미.
- frozen lake 게임에서 is_slippery가 False인 경우로 생각하면 됨.
- Stochastic :
- the same set of parameter values and initial conditions will lead to an ensemble of different outputs.
- frozen lake에서 is_slippery가 True인 경우와 유사함.
- 동일한 입력에 대해서 항상 동일한 결과가 나오지 않는 환경.
9. Learning incrementally
- …
위의 기존 Q를 그대로 받아 들이는 방식과는 달리 learning rate를 도입함.
- …
- tensorflow의 learning rate와 동일한 개념.
- 기존의 Q를 모두 받아 들이는 방식과는 다르게, learning rate 만큼만 받아 들임.
10. Q Network
- 기존 Q-Table 방식으로 커버할 수 없는 수많은 + 복잡한 경우가 존재하는 케이
스는?
- Q-Table 대신 Neural Network을 사용
- State를 입력으로 하고, 가능한 Action들을 출력으로 주도록 network을 구성
13. DQN
- 그러나 앞의 Q-Learning만으로는 잘 동작하지 않음.
- Correlations between samples
- Non-stationary targets
- 이 문제는 deepmind에서 해결.
- DQN papaer : https://www.nature.com/nature/journal/v518/n7540/full/nature14236.html
- HOW ?
- go deep
- experience replay : buffer에 저장해 놓고 있다가 random하게 샘플링해서 minibatch.
- separate target network & copy network.
14. 주식 데이터에 적용
- pandas, sqlite3, sklearn을 사용해서 전처리
- https://github.com/dspshin/DQN_examples/blob/master/stock.ipynb
- 소스코드
- https://github.com/dspshin/DQN_examples
15. 소스코드 간단 해설
- 기반은 cartpole example
- https://github.com/dspshin/DQN_examples/blob/master/cart_pole_dqn2015.py
- gym을 stock과 관련된 동작을 하도록 재정의
- gym.reset(), gym.step()을 재정의
- 로직의 간단화를 위해, 주식 거래 단위는 1개로 고정.
- 추후 보다 현실적으로 변경 필요.
- action은 3가지 - 매도, 매수, 아무것도 안하기
- state의 구성요소
- ['ratio', 'amount', 'ends', 'foreigner', 'insti', 'person', 'program', 'credit']
- https://github.com/dspshin/DQN_examples/blob/master/my_gym/gym.py
- dqn network 변경
16. 실행결과
- 삼성전자에 대한 결과.
- default profit : 기간 초에 사고 기간말에 팔았을 때의 이익
- train based profit : train data에 대해 dqn에 따라 사고 판 이익
- test based profit : test data에 대해 dqn에 따라 사고 판 이익
17. To do list
- 다른 종목들에 대한 테스트
- 입력인자를 더 추가
- Network을 다르게 구성