1. Neural Stream
and IoT
around Connected Car
2014.11.21
비아이큐브 김민경
daengky@naver.com
BICube
Machine Learning Meetup
2. 목차
I. IoT
II. Bigdata
III. Machine Learning
IV. Neural Stream
V. Conclusions (Demo)
Bigdata BICube Intelligence Platform Machine Learning Meetup
3. 목차
I. IoT
II. Bigdata
III. Machine Learning
IV. Neural Stream
V. Conclusions (Demo)
Bigdata BICube Intelligence Platform Machine Learning Meetup
4. I. IoT
Internet access to other devices both inside as outside
the vehicle
Bigdata BICube Intelligence Platform Machine Learning Meetup
5. I. IoT
Bigdata BICube Intelligence Platform Machine Learning Meetup
6. PREDICTIVE MAINTENANCE
Improving owner experience
• real-time using sensor data, time-series
• proactive service, i.e. brake issue
• driving better customer service
IoT & 오픈소스 -김형채
I. IoT
Bigdata BICube Intelligence Platform Machine Learning Meetup
7. I. IoT
Problem
Bigdata BICube Intelligence Platform Machine Learning Meetup
8. I. IoT
Complex
Example
pseudo-code
and formulae :
Edge selection :
procedure ACO_MetaHeuristic
while (not_termination)
end while
end procedure
Pheromone update :
generateSolutions()
daemonActions()
pheromoneUpdate()
where if ant k uses curve xy in its tour
otherwise
Bigdata BICube Intelligence Platform Machine Learning Meetup
9. I. IoT
Examples
• 차량측정 정보
주행 시간
차량 앞뒤방향 가속도(3축 가속도 센서)
차량 좌우방향 가속도(3축 가속도 센서)
차량 상하방향 가속도(3축 가속도 센서)
차량 중심 좌우회전 각속도(3축 자이로 센서)
차량 중심 앞뒤회전 각속도(3축 자이로 센서)
차량 중심 평행회전 각속도(3축 자이로 센서)
차량 주행 정보(위도)
차량 주행 정보(경도)
차량 주행 정보(속도)
차량 주행 정보(진행 방향각)
GPS 정보 받는 위성 사용수
GPS 위치정보 중 수평 위치에 대한 오차의 수치(낮을 수록 좋음)
GPS 기준 시간 정보(시각)
GPS 기준 시간 정보(분)
GPS 기준 시간 정보(초)
측정 시간 정보(년)
측정 시간 정보(월)
측정 시간 정보(일)
측정 시간 정보(시)
측정 시간 정보(분)
측정 시간 정보(초)
측정 시간 정보(1/1000초)
• 운전자 정보
시선 인지 장치가 운전자의 시선 감지 유무
운전자 눈 깜빡임 유무
운전자 머리위치 x값(world 좌표계)
운전자 머리위치 y값(world 좌표계)
운전자 머리위치 z값(world 좌표계)
x축 기준으로 운전자 머리 회전값(world 좌표계)
y축 기준으로 운전자 머리 회전값(world 좌표계)
z축 기준으로 운전자 머리 회전값(world 좌표계)
운전자 머리가 향하는 방향 x값(world 좌표계)
운전자 머리가 향하는 방향 y값(world 좌표계)
운전자 머리가 향하는 방향 z값(world 좌표계)
운전자 우측 눈위치 x값(world 좌표계)
운전자 우측 눈위치 y값(world 좌표계)
운전자 우측 눈위치 z값(world 좌표계)
운전자 좌측 눈위치 x값(world 좌표계)
운전자 좌측 눈위치 y값(world 좌표계)
운전자 좌측 눈위치 z값(world 좌표계)
운전자 우측 눈동자 위치 x값(world 좌표계)
운전자 우측 눈동자 위치 y값(world 좌표계)
운전자 우측 눈동자 위치 z값(world 좌표계)
운전자 좌측 눈동자 위치 x값(world 좌표계)
운전자 좌측 눈동자 위치 y값(world 좌표계)
운전자 좌측 눈동자 위치 z값(world 좌표계)
운전자 머리 정보에 대한 신뢰도
운전자 우측 눈 응시방향 x값(world 좌표계)
운전자 우측 눈 응시방향 y값(world 좌표계)
운전자 좌측 눈 응시방향 x값(world 좌표계)
운전자 좌측 눈 응시방향 y값(world 좌표계)
자료제공:교통안전공단
Bigdata BICube Intelligence Platform Machine Learning Meetup
10. 목차
I. IoT
II. Bigdata
III. Machine Learning
IV. Neural Streaming
V. Conclusions (Demo)
Bigdata BICube Intelligence Platform Machine Learning Meetup
11. II. Bigdata Summary
CONNECTED CAR IS BIG DATA
• cars produce 2GB sensor data every 90 min
• 60M cars manufactured each year
• If driven 4 hours a day ..
103 exabytes
• Gigabyte (1 000 000 000 Bytes)
• Terabyte (1 000 000 000 000 Bytes)
• Petabyte (1 000 000 000 000 000 Bytes)
• Exabyte (1 000 000 000 000 000 000 Bytes)
• Zettabyte (1 000 000 000 000 000 000 000 Bytes)
• Yottabyte (1 000 000 000 000 000 000 000 000 Bytes)
Bigdata BICube Intelligence Platform Machine Learning Meetup
12. II. Bigdata Summary
Bigdata headache or
opportunity?
Bigdata BICube Intelligence Platform Machine Learning Meetup
13. II. Bigdata Summary
암달의 법칙과 구스타프손 법칙-CPU기술의 한계?
http://en.wikipedia.org/wiki/Amdahl's_law
병렬 컴퓨팅에서 멀티 프로세서를 사용할 때 프로그램의 성능향상은 프로그램의 순차적인 부분에 의해 제한된다. 예를 들
면, 프로그램의 95%가 병렬화 할 수 있다면 이론적인 최대 성능 향상은 아무리 많은 프로세서를 사용하더라도 최대 20배로
제한된다.
• Deadlock : several participants are waiting on each other to reach a specific state to be able to progress
• Livelock : though is that instead of being frozen in a state of waiting for others to progress, the participants continuously change their
state.
• Thread starvation - when the execute threads are either all busy, or have all become deadlocked, so there's literally no one to
service any new requests, this effectively shuts down the server (though it probably still looks to an admin like it's up and running).
• Race conditions - when shared data is being changed by multiple threads while a given method is executing, it can cause the
internal logic to be subverted and produce unexpected results
Bigdata BICube Intelligence Platform Machine Learning Meetup
14. II. Bigdata Summary
Why Bigdata?
Hadoop SuperComputer DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
분산 저장(HDFS)
분산 처리(Mapreduce)
저장
분산 처리 MPP
Bigdata BICube Intelligence Platform Machine Learning Meetup
15. II. Bigdata Summary
Why Bigdata?
• Central limit theorem
the arithmetic mean of a sufficiently large number of iterates of
independent random variables
Overfitting, Six sigma
So bigdata is not necessary !
Large data is enouph
But ….
Why Markov Assumtions?
Why Independent Assumptions?
Bigdata BICube Intelligence Platform Machine Learning Meetup
18. 목차
I. IoT
II. Bigdata
III. Machine Learning
IV. Neural Stream
V. Conclusions (Demo)
Bigdata BICube Intelligence Platform Machine Learning Meetup
19. III. Machine Learning
기계학습(Machine Learning) 이란?
• 컴퓨터가 학습할 수 있도록 하는 알고리즘과 기술
• 문제를 해결하기위한 일련의 컴퓨터 프로세스.
• 정확한 미래를 예측하기 위한 컴퓨터 알고리즘.
• 컴퓨터가 스스로 학습하는 예측모형
연습데이터
(Training Data)
Summary
실데이터
(Actual Data)
ML Algorithms 예측모델
Forecast
Prediction
Classification
Clustering
Proactive
• Optical character recognition
• Face detection
• Spam filtering
• Topic spotting
• Spoken language understanding
• Medical diagnosis
• Customer segmentation
• Fraud detection
• Weather prediction
Structured
Unstructured
Semi-structured
Supervised
Unsupervised
Semi-supervised
Bigdata BICube Intelligence Platform Machine Learning Meetup
20. III. Machine Learning Summary
왜? 기계학습인가!
• 가능하면 더 정확한 예측을 하기 위하여.
• 복잡한 데이터를 프로그램만으로 처리하기 어렵기에.
• 가끔 전문적인 인간보다 더 이해하기 쉬운 결과를 낸다
• 직접적인 프로그램을 만들지 않아도 된다.
• 프로그램으로 만든 것보다 더 정확한 결과를 낼 수 있다.
• 데이터를 통한 의사결정을 할 수 있다.
• 인간도 가끔 잘못된 표현과 판단을 한다.
• 분석된 결과를 컴퓨터에 이식하여 자동화할 수 있다.
• 빅데이터에는 기계학습이 포함되어 있는 개념이다.
기계학습이 없는 빅데이터는 앙꼬 없는 찐빵이다!
Bigdata BICube Intelligence Platform Machine Learning Meetup
21. III. Machine Learning Summary
ML Modeling
ML Optimization
&Simulation
ML Deploy
Self Alert
Anomaly Store
New Data
Decision Making
ML Lifecycle
Hadoop DFS/NoSQl/Hive
Bigdata BICube Intelligence Platform Machine Learning Meetup
22. III. Machine Learning Summary
Delploy Flow
Back-line Near-line On-line
Batch
New Data
Validate Deploy/Active
모델 개발
SVM
logistic
regression
FDS
Anomaly
Optimization
모델 검증
개발된 모델이 잘
적용되는지 검증
모델 적용
검증된 모델이 실환경에
적용하여 실행
Bigdata BICube Intelligence Platform Machine Learning Meetup
23. 목차
I. IoT
II. Bigdata
III. Machine Learning
IV. Neural Stream
V. Conclusions (Demo)
Bigdata BICube Intelligence Platform Machine Learning Meetup
24. IV. Neural Stream
• High throughput
• Machine Learning
• Power Computing
3마리 토끼?
50billion Device
Summary
Bigdata BICube Intelligence Platform Machine Learning Meetup
25. IV. Neural Stream Summary
Neural Steam?
Neuron
+ Machine Learning
+ Real Network
+ Graph Theory
+ Message Passing
+ Stream
Bigdata BICube Intelligence Platform Machine Learning Meetup
26. IV. Neural Stream CEP
Min, Max, Sum, Avg,Join 등으로 만족할 수 있을까?
주식이 10% 떨어지고 3회 이상 5% 오른다는 패턴만으로 예측할 수 있을까?
Need more Algorithoms
and more ML puzzle
Bigdata BICube Intelligence Platform Machine Learning Meetup
27. IV. Neural Stream
리얼타임 스트리밍의 종류
Near Real-time
Seconds 수준의 지연(latency) 시간 보장
Real-time
Milliseconds 수준의 지연(latency) 시간 보장
Real Real-time
Microseconds 수준의 지연(latency) 시간 보장 (16ms)
Bigdata BICube Intelligence Platform Machine Learning Meetup
28. IV. Neural Stream
Giga Internet
Neural
Stream
Routing
Neural Stream (External)
Beacon
Neural Cluster
CEP
Stream
Bus
Neural Cluster(Internal)
Bigdata BICube Intelligence Platform Machine Learning Meetup
34. V. Conclusions
Neural Driving on Bigdata Intelligence Platform
3rd
Party
API
Bigdata BICube Intelligence Platform Machine Learning Meetup
35. V. Conclusions
• Simple Learning algorithm만으로 부족하다
• Rule Engine 만으로는 더욱 부족하다.
• Machine Learning만의 구현을 위한 Intelligence Platform이 필요하다.
• Intelligent Car가 필요하다면 그것은 기계학습을 통해서 이루어진다.
• Cortex Streaming과 같은 뇌 기능을 가진 공유형 프로세스가 필요하다.
• Embeded Gateway Device에 기반한 기계학습 모델의 공유가 필요하며
(Neural Streaming) 이는 Connected Car 시대의 필수 요소이다.
• 그래픽 기반의 모델링과 분석, 프로비져닝,그리고 Deploy가 가능해야 한다.
• DSL(Domain Specific Language)를 활용한 DIY(Do It Yourself)형 기계학습 모델
개발이 가능행야 하며 다양한 언어를 지원하는 Concurrent Platform이 필요하다.
• 둘 이상의 모델이나 알고리즘을 자동적으로 실행함으로써 모델 개발자의 업무
생산성이 향상되어야 한다.
• 비즈니스 환경에서 여러 가지 대안과 전략을 평가하고 최적의 대안을 선택할 수
있는 Decision making이 가능해야 한다.
• 최적화(Optimization)모델, 설명(Descriptive)모델, 예측(Predictive)모델 그리고
실시간(real-time) 분석을 지원하는 통합 플랫폼이 필요하다.
• 컴퓨팅 서비스 포트폴리오를 개편해야 할 필요가 있다.
• 대용량의 데이터 처리에 있어서도 기계학습이 필수이다.
• 지능형 자원 공유가 미래 IoT 플랫폼을 선도할 것이다.
Bigdata BICube Intelligence Platform Machine Learning Meetup
37. V. Conclusions Demo
DIY Machine Learning Mart
Java, Scala, Python, R, Spark 그리고 Hadoop 등을 직접 컨트
롤할 수 있는 Concurrent Platform
Bigdata BICube Intelligence Platform Machine Learning Meetup