Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
It’s an Event-Driven World
Building a smarter edge with TensorFlow and Project Flogo
2
Abram Van Der GeestMachine Learning Product Technologist
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
DISCLAIMERDuring the course of this presentation, TIBCO or its representatives may make forward-looking statements regarding future events, TIBCO’s future results or our future financial performance. Although we believe that the expectations reflected in the forward-looking statements contained in this presentation are reasonable, these expectations or any of the forward-looking statements could prove to be incorrect and actual results or financial performance could differ materially from those stated herein.
TIBCO could experience factors that could cause actual results or financial performance to differ materially from those contained in any forward-looking statement made in connection with this presentation. TIBCO does not undertake to update any forward-looking statements that may be made from time to time or on its behalf.
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. This document is provided for informational purposes only and its contents are subject to change without notice. TIBCO makes no warranties, express or implied, in or relating to this document or any information in it, including, without limitation, that this document, or any information in it, is error-free or meets any conditions of merchantability or fitness for a particular purpose. This document may not be reproduced or transmitted in any form or by any means without our prior written permission.
The material provided is for informational purposes only, and should not be relied on in making a purchasing decision. The information is not a commitment, promise or legal obligation to deliver any material, code, or functionality. The development, release, and timing of any features or functionality described for our products remains at our sole discretion.
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
4
Download the Appto download the TIBCO NOW App visitnow.tibco.com/2018/mobile-app
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Overview
5
• The Rise of Data
• New App Architectures
• Machine Learning & Data Processing Techniques
• Accelerometer Example: Data Processing and Prep
• Moving Intelligence to the Edge FTW!
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
6
Schedule your sessionson the TIBCO NOW appnow.tibco.com/2018/mobile-app
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
7
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Sensors Are Everywhere ...8
All hail, the king . . . Data
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
New App Architecture Paradigms
9
Hard to change Easier
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Smart Applications
10
Or so they say
AI/ML
Traditional Software
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Does this mean that ML is Always the answer?!?
11
Machine Learning• Classify large quantities of data
such as images, text, etc.• Broad set of patterns need to
be detected• Sufficient data must be
available
Streaming: Data Aggregation• Median, mean, time weighted
averages, variability/robustness• Sometimes streaming data
analytics in real-time is sufficient for you problem
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Machine Learning: Supervised vs Unsupervised
12
Unsupervised• Explore observed data: x only• Understand structure, detect anomalies
• Are there new patterns / failure modes emerging?
• Often used to uncover new phenomenon• Feature choices drastically change information
extracted• Can be goal in itself (new patterns) or to
discover features for supervised learning
Supervised • Model known problems: y=f(x)• Predicts an observed condition
• i.e. What factors are driving failures?• Requires lots of labeled data• Subsets of Supervised learning:
• Semi-supervised Learning: using an incomplete training signal
• Active Learning: Optimizes choice of objects requiring labels
• Reinforcement learning: Based on rewards and punishment
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Machine Learning: Applications
13
Classification● Spam detection● Activity detection● Fraud detection● Bucketing● Recommendation engines● etc...
Regression● Any graph fitting ● Numeric prediction● Value estimation● etc...
Clustering / Pattern Recognition● Class discovery● Feature discovery● etc..
Dimensionality Reduction● Feature importance● Feature reduction/selection● Optimization other ML (less
dimensions = faster)● Noise reduction● Word embeddings● etc..
Outlier/Anomaly Detection● Fraud detection● Network intrusion detection● Failure mode detection● Discover trending topics● etc...
Information Filtering● Recommendation engines● Collaborative filters● Security investigation● Improve signal-to-noise-
ratio of data● etc...
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Machine Learning, AI, Neural Networks, & Deep Learning
14
Sizes are largely arbitrary
ML
AI
DL
NN
Definitions● Machine Learning: algorithms “focused” on learning
from data to provide insights● Artificial Intelligence (AI): computer systems that
perform tasks that replicate human intelligence and activities● Neural Networks: a class of algorithms originally
modeled off the human brain that uses networks of linear algebra operations to perform human-like ML tasks
● Deep Learning: a hierarchical form of neural networks (read multi-layer NN) to learn data representations successful in computer vision, speech recognition, and NLP.
Notes● All four terms have incorrectly been used interchangeably ● Some consider ML a subset of AI, others vise versa● Forms of AI exist that do not rely on ML (i.e. rules based)● NN and DL consist of algorithms (loosely) modeled off the
human brain to perform human actions
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Google TensorFlow™ API
15
• Other ML algorithms included, but ...• Designed to facilitate construction and optimize calculations of NNs• Tensors
• The central unit of data in TensorFlow• Operations
• User to perform computations on tensors• Tensors are edges and the operations are nodes• A session (tf.session) is used to execute or evaluate the graph
1
2
add 3
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Google TensorFlow API - Operate at several levels
16
• Raw Graph Level• Tensors and operators added to the graph programmatically• The session run against the graph• Issue: large amounts of code often required
• Introducing . . . The Estimator• Higher level abstraction
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Why ML @ the Edge?
17
• Data Volume / Generation• Data collection exceeds ability to transport
• Intelligent Aggregation• Reduces transfer & storage costs• Smarter, more efficient networks
• Predictions• Smarter Device Actions -> Less Network Latency• Actions resilient to network connectivity issues
The Issues:● Prediction Lag● Massive Data Transfers● Connectivity Requirements
..ML Challenges Amplify the Issues of IoT Integration!
Gateway Cloud
Devices
Store and train models
here
Analytics can happen
here...Or here
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Event - Data - Insight - Action
18
All Data Begins as Real-Time Events
Analytics on Accumulated Data
Insights are Perishable => Take Action!!
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Data Storage, Aggregation, and Granularity
19
• Time Granularity: Hours, Minutes, Seconds …• Statistical tests are useful, autocorrelations• Different device measurements may require different granularities
• Historical Time Horizon• Power plant may be 5 years, hospital patient data 2 weeks• “Actionable time interval”
• Data Aggregation• Median, mean, time weighted average, variability/robustness• Different data channels must align to common granularity
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Project Flogo®
20
Project FlogoOpen Source Stack for Event-Driven Apps
10-50x lighter than Java, .NET or Node.js
100% Open Source Stack for all things
event-driven
Common core for all event-driven capabilities
Deploy as serverless functions, containers or
to IoT edge devices
Edge Machine Learning
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
21
Integration Flows
Stream Processing
Microgateway
Contextual Rules
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
FlogoⓇ Flows Web UI
22
Low friction web-native UX• Express app logic using
rich flows, not just data or request pipelines
• Inline data transformations
• Builts-in web-based debugger
• Build for target platform directly from UI
• Available on DockerⓇ Hub or Flogo.io
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Golang API
23
Use Triggers & function handlers
Call activities
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Deploy anywhere … No code changes
24
Design and debug flows in web UI
Package using CLI or CI/CD pipeline
Deploy to PaaS, Serverless, Edge
Device or run locally
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
How small?
Java Node.js Flogo
180MB
74MB
<10MB0
50
100
150
200
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
How did we get so small?Java, NodeJS are great, but too large for resource constrained environments
Why Golang for Project Flogo?
• Complies natively and runs natively• Only the required dependencies are built into the application
26
Hardware
Operating System
VM (JVM)
Framework (OSGi)
App
Hardware
Operating System
VM (V8)
Framework (Node.js)
App
Hardware
Operating System
App
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Edge ML Capabilities
27
Edge Machine Learning
Execute TensorFlow Models Natively in
Flogo Flows
Streaming data constructs
100% Open Source with zero lock-in
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Inference Activity & TensorFlow
28
SavedModel format• SigDef, operations, input and output
tensors & dimensions• Activity parses the SavedModel
metadataSupport for dense features
• The Flogo wrapper for TensorFlow parses and validates input feature set
Flogo
TensorFlow
Generic Interfaces
Parse Example pbThe protobuff used as input to
the operations. Go structs generated from pb
TensorFlow Go Lib
?Other ML/DL framework
TensorFlowConcrete TensorFlow
implementation
ModelModel metadata, features, data
type and dimensions, etc
FrameworkInterface and factory for
framework implementations
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
MetaGraphDef with tag-set: 'serve' contains the following SignatureDefs:signature_def['default_input_alternative:None']:The given SavedModel SignatureDef contains the following input(s):inputs['inputs'] tensor_info:
dtype: DT_STRING shape: (-1) name: input_example_tensor:0
The given SavedModel SignatureDef contains the following output(s):
outputs['classes'] tensor_info: dtype: DT_STRING shape: (-1, 3) name:dnn/multi_class_head/_classification_output_alternatives/classes_tensor:0
outputs['scores'] tensor_info: dtype: DT_FLOAT shape: (-1, 3) name: dnn/multi_class_head/predictions/probabilities:0
Method name is: tensorflow/serving/classify
SavedModel Metadata
29
Input tensor with name and data type. This should be a serialized Example protobuf
Output tensor for the classification.
Output tensor for the score.
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
30
Announcing
Flogo StreamsStream Pipeline for Edge & Cloud-native
Lightweight stream process for edge devices
f(x)Aggregation capabilities Join streams from
multiple event sourcesFilter out the noise
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Aggregation
Tumbling Windows
Sliding Window
Accumulate f(x)
Operations:
•Tumbling•Time Tumbling•Sliding•Time Sliding
Functions:
•avg, sum, min, max, count, accumulate
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
The ML behind the Track and Trace Demo
32
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Accelerometer: Scenario
33
• Create a model that accurately classifies the activity of a box as in motion, stationary, or dropped/thrown
• Explore sample data• Create labeled data set• Build / train model• Validate results
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Accelerometer: Explore sample data
34
Dropped / Thrown
Moving
Sitting
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Accelerometer: Create labeled data set
35
Drop
Drop
Moving Stationary
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
● Features (ax,ay,az,amag) lagged 10 steps● Each time step (set of lagged features) treated
independently● Shuffle time steps● 80/20 train - test split
Accelerometer: Training / TF Model / Results
36
80% Train
20% Test
clf = tf.estimator.DNNClassifier(model_dir=model_output_loc,hidden_units=[100,40,3],feature_columns=feat_cols,n_classes= len(label_names) ,label_vocabulary= label_names,optimizer= tf.train.ProximalAdagradOptimizer(learning_rate=learn_rate,l1_regularization_strength=0.001))
clf.train(input_fn=get_input_fn_from_pandas(train),steps=10000)
90+% Accuracy
● Classifications: ○ Sitting / Moving / Dropped or Thrown
● 90% Accuracy (with transitions included)● 99% Accuracy (leaving transitions out)
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Accelerometer: Real-time flow
37
WS App
(x,y,z)*5/ms
aggregate(50ms)
lag x 10
prep data
Rules EnginePublish Classification
Str
eam
ing
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Getting Started with Flogo
38
github.com/TIBCOSoftware/flogo
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Key Takeaways
39
• Predictions are deployed and executed on the device with minimal overhead!
○ No dependency on cloud resource for the inferencing
• Basic streaming functionality to facilitate simplistic use cases and as a data pre-processor for ML inferencing
• Accelerometer example may be specific -- but the concept & approach is general and can be applied to a variety of problems
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.
Please Remember
to downloadthe TN App andcomplete the surveyfor this breakout
Questions
Please wait for themicrophone beforeasking your questions
State yourname & company
40
This document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. It is for informational purposes only and its contents are subject to change without notice. © Copyright 2014-2018 TIBCO Software Inc. All rights reserved. TIBCO Proprietary Information.