Unless stated otherwise all images are taken from wikipedia.org or openclipart.org Cognitive IoT Anomaly Detector with DeepLearning4J on IoT Sensor Data @romeokienzler DevDays, Lithuania, 17th May 2017
• 6000+ clients • $200 million investment • Partners including • Avnet, BNP Paribas, EEBus,
 Capgemini, Tech Mahindra,
 Vodafone, BMW, Visa, Bosch,
 Indiegogo, French national
 railway SNCF,Arrow Electronics,
 Intel, Cisco
Why IoT (now) ? • 15 Billion connected devices in 2015 • 40 Billion connected devices in 2020 • World population 7.4 Billion in 2016
Machine Learning on historic data Source: deeplearning4j.org
Online Learning Source: deeplearning4j.org
online vs. historic • Pros • low storage costs • real-time model update • Cons • algorithm support • software support • no algorithmic improvement • compute power to be inline with data rate • Pros • all algorithms • abundance of software • model re-scoring / re- parameterisation (algorithmic improvement) • batch processing • Cons • high storage costs • batch model update
DeepLearning DeepLearning Apache Spark Hadoop
Neural Networks
Neural Networks
Neural Networks
Neural Networks
Neural Networks
Neural Networks
Neural Networks
Neural Networks
Neural Networks
Neural Networks
Neural Networks
Deeper (more) Layers
Convolutional
Convolutional + =
Convolutional
Learning of a function A neural network can basically learn any mathematical function
Recurrent
http://www.theverge.com/2015/7/17/8985699/stanford-neural- networks-image-recognition-google-study http://www.media.uzh.ch/en/Press-Releases/2016/drohnen- suchen-selbstaendig-auf-waldwegen-nach-vermissten-.html
LSTM “vanishing gradient problem” == influence of past inputs decay quickly over time
http://karpathy.github.io/2015/05/21/rnn-effectiveness/
https://m.soundcloud.com/optometrist-prime/recurrence- music-written-by-a-recurrent-neural-network
•Outperformed traditional methods, such as •cumulative sum (CUSUM) •exponentially weighted moving average (EWMA) •Hidden Markov Models (HMM) •Learned what “Normal” is •Raised error if time series pattern haven't been seen before
Learning of an algorithm A LSTM network is Turing complete 1 1: http://binds.cs.umass.edu/papers/1995_Siegelmann_Science.pdf
Learning of an algorithm V2 The Differentiable Neural Computer
Problems • Neural Networks are computationally very complex •especially during training •but also during scoring CPU (2009) GPU (2016) IBM TrueNorth (2017)
IBM TrueNorth •Scalable •Parallel •Distributed •Fault Tolerant •No Clock ! :) •IBM Cluster •4.096 chips •4 billion neurons •1 trillion synapses •Human Brain •100 billion neurons •100 trillion synapses •1.000.000 neurons •250.000.000 synapses
Watson IoT Watson Cognitive Services Analytics Model + API Driver Behaviour Personality Insights Trainable Model + API IoT for Insurance Visual Recognition Customizable Model + API Watson Machine Learning Data Science Platform as a Service Data Science Experience
DeepLearning4J
Components • DeepLearning4J
 Enterprise Grade DeepLearning Library • DataVec
 CSV/Audio/Video/Image/… => Vector • ND4J / ND4S (NumPy for the JVM)
ND4J • Tensor support (Linear Buffer + Stride) • Multiple implementations, one interface • vectorized c++ code (JavaCPP), off-heap data storage, BLAS (OpenBLAS, Intel MKL, cuBLAS) • GPU (CUDA 7.5)
turn on GPU
DL4J parallelisation • TensorFlow on ApacheSpark => • Scoring • Multi-model hyper-parameter tuning • Parallel training since V r0.8 • DeepLearning4J => • Scoring, Multi-model hyper-parameter tuning • Parallel training
 “Jeff Dean style parameter averaging”
“Code local vs spark” vs.
Demo IoT / Industry / Predictive Maintenance Use Case
data https://github.com/romeokienzler/pmqsimulator https://ibm.biz/joinIBMCloud
Cognitive IoT using DeepLearning on data parallel frameworks like Spark & Flink
Cognitive IoT using DeepLearning on data parallel frameworks like Spark & Flink
Cognitive IoT using DeepLearning on data parallel frameworks like Spark & Flink
Cognitive IoT using DeepLearning on data parallel frameworks like Spark & Flink
Cognitive IoT using DeepLearning on data parallel frameworks like Spark & Flink
Cognitive IoT using DeepLearning on data parallel frameworks like Spark & Flink
Cognitive IoT using DeepLearning on data parallel frameworks like Spark & Flink

Cognitive IoT using DeepLearning on data parallel frameworks like Spark & Flink