강화학습 포스트를 하면서 Bellman Equation을 거쳐 Markov Decision Process까지 오면서 얻어낸 Bellman Equation은 다음과 같다.$$V(s) = \underset{a}{\max}(R(s, a) + \gamma \sum_{s'} P(s,a,s') V(s'))$$ 다시 말해 다음 State의 Value를 계산할 때, 해당 상태에서 특정 행동 a를 취해서 s'로 갈 수 있는 모든 경우의 수를 고려하고 그에 대한 확률의 평균값을 계산해 최대치가 될 수 있는 state의 Value를 구하는게 MDP였다. 그런데 위와 같이 구한 결과 값은 결국 특정 State에 대한 Value를 구한 것이지, 그 Value를 구하는데 있어 행동이 고려된 것이 아니었다. 다시 말해 Agent가..
우선 지난 포스트에서도 소개했다시피 Bellman Equation은 각 칸별로 state에 대한 value를 매김으로써 goal까지 가는 최적의 경로를 계산할 수 있었지만, 계산하는 과정에서 확률적인 부분이 고려되지 않아 조금 적용하기 어려운 부분이 있었다. 이 때문에 경로 계산시 확률적인 요소까지 고려한 방법이 이 포스트에서 소개할 Markov Decision Process (MDP)이다. Bellman Equation이 가정했던 것은 왼쪽 그림과 같이 Agent에게 위로 가게끔 하면 Agent는 그 지시에 따라서 위로 움직이게 된다는 것이다. 그런데 이렇게 되면 실질적으로 가르치는 사람이 Agent를 조정하는 형식이 되므로, 학습에 대한 의미가 없어진다. 이때문에 방향 선택에 대해 어느정도의 임의성을..
Richard Ernest Bellman이 제안한 Bellman Equation은 이전 포스트에서 잠깐 소개했던 State와 Action, reward(+ discounted value)를 이용해서 특정 값으로 도출하는 공식으로, 강화학습에서 거의 처음으로 나오는 주제이다. 처음 이 공식이 나왔을 때는 복잡한 조건이 담긴 문제에서 해를 구하는 Dynamic Programming의 기법 중 하나로 쓰였었고, 지금에 이르러서는 강화학습에 많이 활용된다. 이 공식이 어떤식으로 이뤄지는지 간단하게 설명해보고자 한다. 보통 강화학습 강좌를 보면 이런 도식판을 많이 보게 된다. 좌측 하단에는 로봇이 하나가 있고, 우측 상단에는 이 로봇이 도달해야 하는 목표가 있다. 그런데 이 목표의 아래에는 장애물도 하나 있고, ..
- Playing Atari with Deep Reinforcement Learning (Mnih et al, 2013) : 링크 - Hybrid Reward Architecture for Reinforcement Learning (van Seijen et al, 2017) : 링크 - Emergence of Locomotion Behaviors in Rich Enviornments (Heess et al, 2017) : 링크 - Mastering the game of Go without human knowledge (Silver et al, 2017) : 링크
지난 포스트에서도 간단히 소개했지만 강화학습의 구성요소는 다음과 같다. 우선 크게 놓고 보았을때 행동을 하는 주체인 Agent와 행동에 대한 반응을 보여주는 Environment가 있다. Agent는 자신이 취하는 Action을 Environment에게 전달해줄 것이고, 이 Action을 결정하는 근거로써 내부적인 Policy와 Model, Value Function등이 있다. Environment는 Agent로부터 받은 Action에 대한 피드백으로 현재의 state와 옳고 그름을 판단하는 Reward를 Agent에게 전달하는 구조로 되어 있다. 이런 과정이 매 time step마다 이뤄진다. - Time step은 action을 선택하고 state/reward가 Agent에게 전달되는 기본적인 시간 ..
보통 아기들이 처음 태어나서 무엇을 할까? 잘 살펴보면 뒤집기, 앉기, 기어가기, 일어서기 까지 일련의 과정을 거친다. 옆에서 지켜보면 그 과정들이 조금 힘겨워 보일 때가 있다. 그런 동작 자체가 아기가 처음 세상 나오면서 처음 경험하는 행동이기 때문에 아기는 주변 사람들이 하는 동작을 보고 따라하려고 노력한다. 우선 아기가 그 동작을 보는 순간 우선 시도를 해볼 것이다. 당연히 처음 해보는 동작인만큼, 그 동작이 정답이 아닐 것이고, 뭔가 잘못된 자세가 나오게 된다. 이때 반복적으로 잘못된 동작을 고치기 위해서 노력할 것이고, 계속 연습을 하게 된다. 결국 동작을 하게 될 것이고, 그때부터는 다양한 주변환경에 대해서도 적응하는 과정도 포함이 될 것이다. 가령 일어서기 과정에서도 '뭔가를 짚고' 일어서는..
보통 Convolution이라고 사전에서 찾아보면 합성이라는 뜻이 많이 나온다. 그래서 CNN을 합성곱 신경망이라고 표현하는 곳이 많다. 왜 이걸 합성이라고 표현했을까? 사실 전자공학을 전공한 사람이라면 신호처리 수업을 들으면서 많이 들어봤겠지만, 그때의 Convolution은 Linear Time Invariant System상에서 이전값과 현재값을 연산하기 위해 주로 사용하던 연산이다. 의미는 그런식으로 담겨져 있었는데, Convolution Neural Network 상에서는 그런 큰 의미보다는 그냥 이미지내에서 feature를 뽑기 위한 용도로 연산을 활용한다. 일반적으로 다음의 케이스에 대해서 Convolution을 취한다. 위와 같이 어떤 입력 이미지가 들어왔을 때, 여기서 Feature를 감..
아마 위 그림들을 본 사람이 많을 것이다. 사람이 보기에 따라서 위의 오른쪽 그림은 할머니로도 보일 수 있고, 어떤 사람은 베일을 쓴 여성이 보일 것이다. 또 왼쪽 그림은 사람보기에 따라서 오리로 볼수도 있고, 토끼라고 볼 수 있다. 사실 사람들이 보는 그림의 의미가 다른 이유는 그림이 머리속에 들어왔을 때 뇌가 그렇게 반응하고, 분류를 했기 때문이다. 이 때 뇌는 해당 그림의 feature(특징)을 뽑아보고 기존에 알고 있던 이미지들의 특징과 비교해보면서 그와 유사한 그림을 선택하게 되는 것이다. 위의 그림들에서도 사람들이 보는 결과가 다 다른 이유는 결국 그렇게 뽑아낸 특징이 모호하기 때문인 것이다. Convolutional Neural Network(CNN)은 기존의 Neural Network에서 ..
O`reilly 사에 뉴스레터를 신청하면 가끔 신규 책을 준다면서 설문조사를 요청할 때가 있다. 그때 받은 책중 하나가 바로 이거였다. 사실 내가 선택할 수 있는 책중 가장 관심있는 분야여서 선택한 것도 있지만, 책에 담겨져 있는 이론적인 내용이나 실무적인 내용에 대한 설명이 굉장히 잘 되어 있었다. 알고보니 현재도 amazon에서는 Natural Language Processing 분야에서 Best Seller 1위에 랭크되어 있었다. 방대한 량만큼이나 최근의 트랜드를 잘 담고 있던 책이라 언제쯤 한국에 번역되려나 싶었는데, 원서가 출시된지 거의 1년만에 번역서로 출시되었다. 이 책에 대한 리뷰를 간단히 해보고자 한다. 항상 내가 갈구하고 바랬던 머신러닝 관련 책들은 수식이나 원리에 대한 설명이 잘되어..
- Total
- Today
- Yesterday
- Policy Gradient
- Distribution
- Off-policy
- Gan
- Pipeline
- windows 8
- dynamic programming
- Kinect
- Kinect for windows
- 파이썬
- Offline RL
- Windows Phone 7
- ColorStream
- bias
- 한빛미디어
- reward
- RL
- Python
- Expression Blend 4
- DepthStream
- SketchFlow
- TensorFlow Lite
- Kinect SDK
- processing
- arduino
- PowerPoint
- 딥러닝
- Variance
- 강화학습
- End-To-End
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |