Deep learning 17

[Reinforcement Learning / learn article] Action-Selection Strategies for Exploration

이번 포스팅은 행동을 선택하기 위한 몇 가지 방법을 소개해주는 포스팅입니다. 그동안 일반적으로 사용했던 e-greedy approach 가 이에 해당됩니다.https://medium.com/emergent-future/simple-reinforcement-learning-with-tensorflow-part-7-action-selection-strategies-for-exploration-d3a97b7cceaf 1. Greedy Approach이 방법은 단순하게 현재 상황에서 가장 나은 행동을 선택하는 것입니다. 단점은 완전히 학습되기 전의 경험을 통해 선택을 하기 때문에 장기적으로 최선이 선택이 아닌 것만 계속 선택을 해서 해당의 행동 이외의 행동은 학습을 할 기회가 없다는 것입니다. 단순하게 np.a..

Deep learning 2017.05.05

[Reinforcement Learning / learn article] Partial Observability and Deep Recurrent Q-Networks

이번 포스팅에서는 Partial Observability 상태에서 Reinforcement Learning 을 하기위해 RNN 을 사용하는 방법입니다.https://medium.com/emergent-future/simple-reinforcement-learning-with-tensorflow-part-6-partial-observability-and-deep-recurrent-q-68463e9aeefc 지금까지의 Reinforcement Learning 포스팅에서는 에이전트가 환경의 모든 정보를 가지고 있었습니다. 쉽게 설명하자면 스타크래프트에서 show me the money 치트를 사용한 것과 같은 환경을 준 것입니다. 이렇게 에이전트에 최선의 행동을 선택하기위해 필요한 모든 정보를 에이전트에서 전..

Deep learning 2017.05.03

[Supervised Learning / review article] Recurrent Neural Networks(RNN), Long Short-Term Memory Units (LSTM)

RNN과 LSTM 을 공부하기 위해 아래의 포스팅을 참고하여 공부했습니다.http://karpathy.github.io/2015/05/21/rnn-effectiveness/ 기존의 CNN과 같은 신경망은 연결된 데이터를 다루기에는 적합하지 않는 딥러닝 방식입니다.연결된 데이터란 예를 들어 I am a boy 와 같은 문장이 있다 할 때, 사실상 세상의 모든 문장을 하나의 input 데이터로 할 수 없기에I, am, a, boy 와 같이 하나 하나의 단어를 input 데이터로 넣어 문장을 파악하려 할 것입니다.이런데 이때 기존의 신경망을 이용할 경우 위 4개의 단어는 그저 각각의 단어로 인식될 뿐 연속적인 데이터에 대한 정보는 이용하지 못할 것입니다.이런 문제를 해결하기 위해 I 다음의 am 이라는 단어를..

Deep learning 2017.04.30

[Reinforcement Learning / learn article] Deep Q-Networks and Beyond

드디어 DQN 포스팅입니다.https://medium.com/@awjuliani/simple-reinforcement-learning-with-tensorflow-part-4-deep-q-networks-and-beyond-8438a3e2b8df DQN 은 Deep Q-Network 의 약자로써 기존의 Q-Network 를 개선하여 DeepMind 팀이 NIPS 2013 과 Nature 2015 에 발표한 내용입니다. Algorithm 1: deep Q-learning with experience replay.Initialize replay memory D to capacity NInitialize action-value function Q with random weights hInitialize tar..

Deep learning 2017.04.17

[Reinforcement Learning / learn article] Model-Based RL (CartPole)

이번에는 Model-Based Reinforcement Learning 에 대한 포스팅입니다.https://medium.com/@awjuliani/simple-reinforcement-learning-with-tensorflow-part-3-model-based-rl-9a6fe0cce99 이 포스팅에서는 Model-Based 라는 새로운 개념이 소개됩니다. 여기서 말하는 모델이란 실제 환경의 dynamics 을 배운 신경망을 의미합니다. 이렇게 만들어진 모델은 실제 환경 대신에 에이전트에게 환경과 행동에 따른 결과 정보를 제공하여 에이전트가 학습될 수 있게 합니다. 사실 gym 에서 제공하는 게임의 경우 실제 환경을 쉽게 이용할 수 있지만 실제 환경을 이용하기 힘든 상황에서는 이 방법이 유용할 수 있을 ..

Deep learning 2017.04.10

[Reinforcement Learning / review article / not use tensorflow] Policy Gradient (CartPole)

[Reinforcement Learning] Policy Gradient (CartPole) 포스팅 즉 https://medium.com/@awjuliani/super-simple-reinforcement-learning-tutorial-part-2-ded33892c724을 tensorflow 을 사용하지 않고 python 의 numpy 를 이용해 코딩해봤습니다. python 3.6123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596..

Deep learning 2017.04.08

[Supervised Learning / python / not use tensorflow] MNIST - Softmax regression

tensorflow 을 사용하지 않고 numpy 을 이용하여 MNIST - Softmax regression 을 구현해봤습니다. (MNIST 이미지를 가져오는 부분에서는 tensorflow 의 소스 사용)코드는 tensorflow 에서 제공하는 tutorial 과 그 내용이 같습니다.[TensorFlow] MNIST For ML Beginners - Softmax regression python 3.612345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455import numpy as npfrom tensorflow.examples.tutorials.mnist import input..

Deep learning 2017.03.28

[Reinforcement Learning / review article / c++] Policy Gradient (Two-armed Bandit)

깊은 이해를 위해 [Reinforcement Learning] Policy Gradient (Two-armed Bandit) 포스팅의 코드즉 https://medium.com/@awjuliani/super-simple-reinforcement-learning-tutorial-part-1-fd544fab149#.ywa46v109이 분의 코드를 c++ 를 사용하여 코딩을 해봤습니다.그동안 tensorflow 가 해주었던 부분 특히 블랙박스같은 부분을 직접 구현해보는 일은 공부에 많은 도움이 될 것 같네요.제 코드와 원래 코드의 유일한 차이점은 weights 를 처음 초기화 할 때 1이 아닌 2로 했다는 부분입니다. 최초 값을 1으로 초기화할 경우 ln 에 넣었을 때 0이 나와 훈련이 되지 않았습니다. mai..

Deep learning 2017.03.26

[Reinforcement Learning / learn article] Policy Gradient (CartPole)

이번에는 슬롯 머신에 이어 gym 의 CartPole 이라는 게임 환경으로 policy-based 강화 학습을 공부해보는 포스팅입니다.https://medium.com/@awjuliani/super-simple-reinforcement-learning-tutorial-part-2-ded33892c724#.oqhwtd198 CartPole 은 좌우 입력으로 막대기의 중심을 맞춰 오랜 시간 막대기를 쓰러뜨리지 않는 것이 목표인 게임입니다.https://gym.openai.com/envs/CartPole-v0 CartPole 은 앞선 포스팅의 게임에 비해 다음과 같은 조건이 추가된 게임입니다.- Observations: 막대기가 현재 어디에 있는지 그리고 균형을 맞추기 위해 막대기의 각도를 알 필요가 있습니다..

Deep learning 2017.03.15

[Reinforcement Learning / learn article] Policy Gradient (Contextual Bandits)

이번 포스팅에서는 지난 포스팅에 이어 상태 개념을 넣은 강화 학습입니다.https://medium.com/emergent-future/simple-reinforcement-learning-with-tensorflow-part-1-5-contextual-bandits-bff01d1aad9c#.x98hikkmi 지난 포스팅에서 기술한 일반적으로 강화 학습에 사용되는 문제들의 특징 중 첫 번째와 세 번째 특징이 포함된 강화 학습이 될 것입니다. - 다른 행동(action)은 다른 보상(reward)을 가지고 온다- 보상은 시간에 의해 지연된다. 동일한 결과를 가지고 오더라도 시간이 더 오래 걸리는 방법이 더 낮은 보상을 받게 됩니다.- 어떤 행동에 대한 보상은 환경(environment)의 상태(state)에..

Deep learning 2017.03.07