강화학습의 본질은 시간대별로 dynamic하게 변하는 시스템의 미래를 형상화하는데 이전의 데이터를 활용하는 것이다. 강화학습의 가장 흔한 예가 episodic model을 따르는 것인데, 이는 특정 단위의 action이 정의되고, 시스템 상에서 테스트되었고, 특정 단위의 reward와 state가 관찰되고, 이런 이전의 action과 reward, state 정보들이 결합되어 행동을 결정하는 policy를 향상시키는데 사용되는 것이다. 시스템과 상호반응하는 것 자체가 매우 고급지고 복잡한 모델이기도 하고, 일반적인 확률적인 최적화 방식에 비하면 조금 더 복잡하다고 고려되기도 한다. 미래의 성능을 향상시키기 위해서 수집된 데이터 모두를 잘 활용하는 방법이 있을까? policy gradient나 random..
udacity 마지막 과제가 AWS Sagemaker를 이용해서 XGBoost를 구현하고 training시키는 것인데, 많은 데이터를 학습하다보니, GPU instance가 필요한 경우가 생겼다. 분명 난 회사에서도 AWS Hands-on-Lab을 수행한다고 사전에 GPU instance 제한을 풀어놨었다.그런데 막상 Sagemaker내에서 GPU instance를 쓰려니까 다음과 같은 오류가 발생했다. from sagemaker.pytorch import PyTorch estimator = PyTorch(entry_point="train.py", source_dir="train", role=role, framework_version='0.4.0', train_instance_count=1, train_..
기본적으로 Raspberry PI는 내장된 램 자체은 일반 컴퓨터에 비하면 적은 편이다. 2015년에 출시된 Raspberry PI 3 B 모델을 기준으로 해도 램은 1GB 정도이다. 그래서 GUI를 띄우거나, 뭔가 Memory에 Load해야 할 데이터가 많은 경우에는 느려지거나, 심지어는 그냥 뻗는 경우가 발생하기도 한다. 그래서 보통은 상대적으로 용량이 큰 disk 영역의 일부를 swapfile로 만들어서 램 대용으로 쓰기도 한다. 내가 겪은 문제 중 하나는 Movidius에서 나온 Neural Computing Stick용 SDK와 이에 필요한 example을 설치하다 보니, 중간에 뻗는 현상이 발생하고, 이와 더불어 build fail까지 나타나는 현상이였다. 그런데 유심히 보니, 램이 딸려서 그..
일하다 보니까, 딥러닝이나 강화학습으로 학습된 모델을 현장같은 데에서도 사용해야 할 경우가 생긴다. 물론 현장에다 고성능 서버를 갖다놓을 수는 없으니, 그래도 경량화된 Single Board Computer(SBC)가 필요할텐데, 요새는 이런 SBC의 성능도 많이 좋아져서 예전보다는 선택의 여지가 넓어진거 같다. 아무튼 몇가지 survey한 결과를 공유해보고자 한다. (참고 : 시중에서는 Tensor 연산을 가속화하는 장치를 Neural Processing Unit(NPU), Tensor Processing Unit(TPU) 라고 표현되는 것 같은데, 여기서는 TPU라고 통칭하고자 한다. 이에 대한 또다른 표현은 여기를 참고하면 좋을거 같다.)형태 - TPU-alone : 사실 이건 SBC라고 보긴 어려..
몇몇 포스트를 통해서, 강화학습에서의 model-free method의 어두운 면을 소개했었지만, 그렇다고 model-free 기조를 완전히 저버린 것은 아니다. 사실 핵심 제어 시스템에서 가장 많이 쓰이는 방법이 바로 model-free method이다. 가장 광범위하게 쓰이는 형태가 PID 제어인데, 이 제어는 단지 3개의 parameter만 가지고 있다. 그래서 이번 포스트를 통해 PID 제어에 대해서 소개하고, machine learning의 수많은 주제들과 얼마나 가깝게 연관되어 있는지 설명하면서, 현대 강화학습 연구에서의 model-free method에 PID를 어떻게 끌어올 수 있는지 설명하고자 한다.PID 기초PID는 "Proportional Integral Derivative" 제어를 ..
model-free 설명을 마치기 전에 다시 Linearization Principle에 대해서 살펴보자. 우리는 간단한 선형성 문제에서 random search도 잘 동작하는 것을 확인했고, 어쩔 때는 Policy Gradient같은 강화학습보다 더 잘 동작하는 것도 보았다. 그러면 뭔가 어려운 문제를 풀 때 Random Search로 해결해야 할까? 미리 말하자면, 아니다. 그래도 계속 읽어봐라! 이제 강화학습 커뮤니티에서 흥미있는 문제에 random search를 적용해보자. Deep RL 커뮤니티에서는 OpenAI에서 관리되고, MuJoCo 시뮬레이터를 기반으로 하는, 일종의 benchmark에 많은 시간을 할애하고 있다. 여기서 optimal control problem이란 다리가 달린 로봇을 ..
지난번 nominal control에 대한 포스트 이후에, Pavel Christof로부터 메일을 받았었는데, 내용은 만약 Stochastic Gradient Descent를 Adam 으로 바꾼다면 Policy Gradient가 더 잘 동작한다는 것이었다. 실제로 내가 구현해보니까, 그가 말한 말이 맞았다. 한번 지난 Jupyter notebook과 함께 포스트 내용을 살펴보자. 우선 다른 딥러닝 패키지간의 dependency를 제거하기 위해서 adam을 순수 python으로 구현했다.( python으로 4줄로 구현했다.) 두번째로 지난번 코드에서 구현한 random search 부분에서 부적절하게 탐색방향을 잡는 것에 대한 버그를 수정했다. 이제 다시 median performance를 살펴보면 아래와..
- Total
- Today
- Yesterday
- Kinect SDK
- Variance
- 딥러닝
- Distribution
- ColorStream
- Policy Gradient
- 한빛미디어
- 강화학습
- PowerPoint
- Offline RL
- Gan
- Off-policy
- Kinect for windows
- bias
- Python
- 파이썬
- DepthStream
- Windows Phone 7
- processing
- Pipeline
- reward
- RL
- End-To-End
- dynamic programming
- Kinect
- Expression Blend 4
- windows 8
- arduino
- TensorFlow Lite
- SketchFlow
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |