ML-IoT Workshop

Let's explore ML and

try out the leading

tools & products

Internet of Things Conference, Malmö, Sweden

MobiCycle Ltd, May 2017

https://slides.com/mobicycle/workshop-ml/

Review the Slides

Discuss Challenge Questions

Build ML Assets

The Slides

  1. What is Machine Learning?

  2. Tools & Products

  3. IoT & ML

What is

Machine Learning?

ML drives AI

Artificial Intelligence?

is where Data meets Hardware... 

to make predictions

Example: Email Spam Filtering

Machine Learning

where algorithms meet hardware

to make predictions

Example: Amazon ML

ML is more hardware optimisation and

algorithm development, but less about data

AI: data + high level hardware -> prediction

ML: detailed hardware + algorithms-> prediction

A More Useful AI: data + ML -> prediction

To Sum

Unfortunately, hardware optimisation is not in scope

but algorithm development is in scope!

Challenge Question:

Why isn't Machine Learning Data Science?

What's wrong with this picture?

Data Scientists

Developers

Photo Credits: https://www.knime.org/knime-for-developers

What Algorithms Do

parse data, learn from it, and predict an outcome

Is AI possible

without Algorithms?

AI: data + high level hardware -> prediction???

Not possible.

But, you may not have to build the algorithm yourself!

Story Time

In 2016, Google Brain created two AIs to protect their messages from the third AI.

"Alice", "Bob" and "Eve"

Each AI had its own perceptron or computerised brain.

Alice and Bob's perceptrons created cryptographic algorithms to protect their messages from Eve.

Eve, the third AI, tried to evolve her own method to crack the

AI-generated crypto

but she failed.

The first two AIs learnt how to communicate securely from scratch.

What was Alice and Bob's secret?

Each AI's peceptron houses its own algorithm, or artificial neural network.

An artificial   neural network is generally formed in three layers, called the input layer, hidden layer, and output layer.

Each layer consists of nodes.

Information flows from one node to the next.

This information flow is carefully weighted across layers; i.e., 0.25

Weights & Learning

*These weights change as the system learns

We already covered...

data + hardware  + algorithms

at a general level

data -> 

algorithms

hardware ->

Recall for AI

to make predictions

What is the relationship between

data +

hidden layers/nodes/neurons + algorithms

at a detailed hardware level?

The (Underappreciated) Art

of  Feature Engineering

 What is the best representation of the sample data to learn a solution to your problem?

transform an image into its features; e.g., eyes, nose, etc and broadcast that data to your nodes

Feature Engineering

Credits:

Data -> Feature Vectors

 -> Nodes (Neurons)

Step One: Convert data

coming from a variety of

sources into vectors 

http://www.cognimem.com/_docs/Technical-Manuals/TM_CogniMem_Technology_Reference_Guide.pdf

Broadcast your vectors to the neural network for either learning or recognition. 

http://www.cognimem.com/_docs/Technical-Manuals/TM_CogniMem_Technology_Reference_Guide.pdf

Hurrah,

Automatic Algorithm!

Well not quite...

Do much of the heavy lifting ; e.g., they

  • learn from your examples and associated categories

  • recognise new patterns

  • detect uncertainty cases

  • detect drifts or decreases of confidence

  • report novelties, anomalies

*See neuromem, _, et al

Commercial* Nodes/Neurons 

 Format the response of the neurons; i.e., convert the response into an action for your application

http://www.cognimem.com/_docs/Technical-Manuals/TM_CogniMem_Technology_Reference_Guide.pdf

  Save the nodes' (neurons) knowledge!

http://www.cognimem.com/_docs/Technical-Manuals/TM_CogniMem_Technology_Reference_Guide.pdf

We transform our data into feature vectors   to help the commercial nodes (or neurons) in our ANN's hidden layers (automatically) build an algorithm

http://www.cognimem.com/_docs/Technical-Manuals/TM_CogniMem_Technology_Reference_Guide.pdf

Make sure you focus on

the quality of the input signals,

and select relevant and unique features

http://www.cognimem.com/_docs/Technical-Manuals/TM_CogniMem_Technology_Reference_Guide.pdf

Basically, find the least amount of input features and data required to generate meaningful results

Input Signals

For humans, input signals are, for example, your senses

For IoT, input signals can be  analog sensor interfaces

Agents

Remember 

Alice, Bob 

and Eve? 

http://what-when-how.com/artificial-intelligence/agent-based-intelligent-system-modeling-artificial-intelligence/

Your Mission:

Build an Agent

Where to begin?

#1 Know Your Agents

simple reflex agents

model-based reflex agents

goal-based agents

utility-based agents

learning agents

Exercise

Break into groups and define a type of agent

#2 ANNs can be on hardware or in the cloud

Hardware

BrainCard

Cloud

Corezoid

Exercise: Braincard

Let's S (t) imulate Our Brains!

Windows

  • The Car Example
  • RBF Demo
  • Signal Recognition

Credits:

(since we don't have a BrainCard)

Mac OS

not available

Linux

not available

Remember Google's Penguin?

Exercise

Build a Spam Filtering Algorithm with Coreziod

What is Corezoid?

https://doc.corezoid.com/en/

  • a “Crazy Glue for APIs” or a metaprogramming language
  • language agnostic
  • lets you build and execute any processes and algorithms in the cloud
  • bots, communication scenarios, CRM functionality, client support, omni-channel marketing campaigns, hardware monitoring, anti-fraud solutions, financial management tools

Corezoid's USP:

https://doc.corezoid.com/en/

A process is a description of all possible states of objects and rules of transitions between states.

We need a paradigm shift. Companies need to open up and distribute ready processes, not APIs.

Hundreds and thousands of APIs may interact with each other in one process.

Corezoid: Process Layer

https://doc.corezoid.com/en/

Create APIs

Push your data to Corezoid

Describe the process logic

Orchestrate data from multiple APIs

Corezoid: Create APIs

https://doc.corezoid.com/en/

ID Process, Login and Secret key are used to generate a signature for a request to Corezoid API

Corezoid: Push Your Data

https://doc.corezoid.com/en/

Direct upload provides a direct link for uploading data in JSON, NVP or XML format

Corezoid: Describe Your Logic

https://doc.corezoid.com/en/

You will see a window with the single starting node

Specify your action to get rid of the red error

Actions are listed on your left

Corezoid: Conditions

https://doc.corezoid.com/en/

create a variable or copy existing

set the condition for your action

specify where the task should be transferred after the condition is met 

Corezoid: Parameters

https://doc.corezoid.com/en/

Input parameter is used for tasks

Output parameter is for sub-processes

Can be a String, Number, Boolean, Array or Object

Corezoid: Objects

https://doc.corezoid.com/en/

Set of parameters

Create and apply rules for your objects

Nodes process an object's information

Corezoid: Nodes

https://doc.corezoid.com/en/

describes an object's state

e.g., what is/are the node's queue, functions, logic, counters

Corezoid: Queue

https://doc.corezoid.com/en/

a group of objects in a node

Corezoid: Functions

https://doc.corezoid.com/en/

(generally)define relationships between variables

(specifically) are actions done on the object from queue in node

Corezoid: Logic

https://doc.corezoid.com/en/

helps the node manage its objects

can be set by the system or by the user

System T = how long object lives in the node

System N = how many objects can be in the node

 

Corezoid: Counters

https://doc.corezoid.com/en/

displays values only

no actions

values generated by either the system or by users

 

Corezoid: Spam

https://new.corezoid.com/corezoid-description/

 Google detects spam with a Bayesian Classifer , not a rule-based system.   If they used (only) a rule-based approach, your Gmail inbox would be full of spam!!!

 

https://eventprocessing.wordpress.com/category/fraud-detection/

Brainstorming Data Sets

 example: http://deeplearning.net/datasets/

Discussion

Are AI and machine learning equivalent to, or barely separable from, data science?

How can I build ML systems with minimal programming effort? 

Where can I access datasets?

End of Part I