Monday May 02, 2016

Adding Deep Learning AI to Internet of Things (IoT) - Part 4

Unsupervised versus Supervised Learning

We'll take a moment to understand the difference between Unsupervised AI Learning versus Supervised AI Learning. Supervised neural networks must be told of correct answers to a question at some point beforehand, so that this type of AI is "taught" (ahead of time) what an object is for example, just like a baby learns objects from flash cards. This approach of Supervised Learning is typically used for object recognition in Deep Learning AI, such as to tell the difference between a cat from a terrorist bomber. This is great if you have 10,000 images of cats that you can show to your Deep Learning AI system, but if you have 10,000 images of cats, you probably have other problems we won't go into here.

Unsupervised Learning on the other hand, involves exposing all types of information to your AI system and relying on it to learn something you havenโ€™t programmed it to recognize, since an Unsupervised Learning system would be able to cluster data into logical patterns.

For object recognition, Unsupervised Learning groups certain related shapes together and assumes that they are similar. It is often also used in AI for game playing, such as chess, using experience from playing opponents to group successful techniques for certain circumstances, to use in the future against others in similar circumstances.

For more information, see TechWorld's Big Data Article:

TechWorld's Big Data Article

So for Multilayer Perceptron (MLP) Deep Learning AI, we'll use Supervised Learning, since MLP was designed to work well with the ahead-of-time teaching approach of Supervised Learning. Get those flash cards ready...

Tuesday Feb 16, 2016

Adding Deep Learning AI to Internet of Things (IoT) - Part 3

Now we see how the Perceptron equation is written out in mathematical format, we want to turn this into some computer code for adding Deep Learning AI to IoT. We'll start out by converting just this "output" equation into Java code.

The output is a binary function that returns 1 for yes (Ex. the IoT sensors indicate that yes, this guy that just walked passed my sensors, is indeed a terrorist) or returns 0 for no (Ex. the IoT sensors indicate that no, this guy is not a terrorist, but he might be a Trump supporter). The cool part that makes it a Perceptron is that this equation is influenced by "weights" or "memorized patterns" in the Deep Learning AI brain of the computer that learned what is considered a terrorist or a Trump support, and what is or isn't that object as far as the connected IoT sensors are concerned, over many, many examples learned during Structured Learning (more on that later). So, here's the Java code given all that:

    static int processOuput(int theta, double xWeight, double yWeight, 
                            double nodeWeight) {
        double sum  = (x * xWeight) + (y * yWeight) + nodeWeight;
        return sum >= theta ? 1 : 0;

That's all there is to it. That's a Perceptron in Java code, and that's how machines can learn and have a functioning brain of its own. Pretty simple at first, but it gets much more complicated when we start to layer these Perceptrons for Deep Learning AI, not just a simple Java method executing a few lines of code.

For more information, see Dr Noureddin Sadawi's great set of tutorials on Machine Learning and AI:

Dr Noureddin Sadawi's AI Tutorials

So far, this is the basic building block Java code for Deep Learning AI in IoT, so take time to let it soak in. From here, we next will talk about Structured Learning vs. Unstructured Learning, which is actually pretty cool since it can apply to computers, puppies, children, and in the future streetlights, traffic cameras, refrigerators, and TVs... And, hopefully, all those devices won't learn too fast... ๐Ÿ˜ฑ๐Ÿ˜‰ Or, we'll be in trouble whether you're a terrorist, a Trump supporter, or anything in between...

Tuesday Feb 02, 2016

Adding Deep Learning AI to Internet of Things (IoT) - Part 2

The first step in adding Deep Learning AI to the Internet of Things, is to understand what a perceptron is. A perceptron is an artificial neuron, the same that you find in most people's brains (most people...), but written in software like in the Java programming language.

In the diagram you can see how the perceptron takes inputs (like sensor inputs from a motion sensor or light sensor on an IoT network) represented by x1, x2, x3, etc. then runs them through some software and to get an output, such as "dog", "cat", "terrorist", "policman", etc. You can see how powerful it would be to hook up all the IoT sensors there are out there and have Deep Learning AI be able to identify objects and targets quickly using Java algorithms or programs.

This article (linked below) tells more about what perceptrons are and why they are important to Deep Learning. Above you see the perceptron written out algebraically which gives us insight on how it should be programmed in Java. See:

Neural Network Perceptrons

Here's a quote:

 So how do perceptrons work? A
 perceptron takes several binary 
 inputs, x1, x2, โ€ฆ and produces a 
 single binary output:

 In the example shown the 
 perceptron has three inputs, x1, 
 x2, x3. In general it could have 
 more or fewer inputs. 
This is the first step in adding AI to our IoT devices. In the next part we will look at how to represent a perceptron in Java. That's the easiest way, unless you want to do that in Python or JavaScript... Blech... ๐Ÿ˜

Wednesday Jan 20, 2016

Adding Deep Learning AI to Internet of Things (IoT) - Part 1

IoT Will Need Artificial Intelligence (AI) to Work Correctly
To start our task of adding Deep Learning AI to the Internet of Things, we have to start with an quick tutorial on Deep Learning and how it made the AI from the 1970s something better that matched the real neurons in our brain.


A Primer on Deep Learning

Here's a quote:

 ...[I]n 2006 three separate groups 
 developed ways of overcoming the 
 difficulties that many in the 
 machine learning world encountered 
 while trying to train deep neural 
 networks. The leaders of these 
 three groups are the fathers of 
 the age of deep learning...

 What was it that they did to their 
 deep neural networks to make it 
 work? ...Before their work, the 
 earliest layers in a deep network 
 simply werenโ€™t learning useful 
 representations of the data...
 Instead they were staying close 
 to their random initialization...  
 Using different techniques, each 
 of these three groups was able 
 to get these early layers to 
 learn useful representations, 
 which led to much more powerful 
 neural networks.
So, there you have it. We now know the secret to adding proper AI to our smart watches, refrigerators, and toasters. Next, we'll explore how to take the theory (above) and put it into practice using Java SE Embedded inside the small processors of IoT devices. Stay tuned for more fun stuff! ๐Ÿ‘ฝ๐Ÿš€๐Ÿ“ฑโŒš๏ธ๐Ÿ’ป

Tuesday Jan 05, 2016

IoT at CES 2016: Still not quite there yet for consumers

It's an IoT-focused CES 2016, with lots of Internet of Thingy type trends for consumers in Vegas. But, it's still a slow-pace for adoption with only 7% of online adults using IoT devices at home, while 50% are interested in IoT for the future.


IoT Innovations at CES

Here's a quote:

 Progress may be slow-paced, but
 updates on the future of IoT should 
 be welcome among tech watchers. 
 Forrester Data reports only 7% of 
 online adults in the US are using 
 connected home devices. However, 
 more than 50% are interested in 
 using them.

 "Automation is the next big thing, 
 because it will harness the power 
 of all the other things, making 
 cars that drive safer, medical 
 diagnostics that anticipate health 
 needs, and robots that not only 
 respond to our commands but 
 anticipate them,"...
There seems to be something missing for IoT in the consumer space... That might be the addition of AI, as others have pointed out. Automating IoT with AI might make for a better user experience than just having a glorified wireless remote in a smartphone app to a home appliance. Big whoop. ๐Ÿ‘†๐Ÿ“ฑโšก๏ธ๐Ÿ‘

Monday Jan 04, 2016

IoT Will Need Artificial Intelligence (AI) to Work Correctly

As many of us start developing with Internet of Things (IoT), it is becoming apparent (very quickly) that writing our own pattern matching rule sets and using simple filters for event processing in IoT is just not going to cut it.

To do IoT Big Data Analysis (in a cloud service or on-premises) "we're going to need a bigger boat". One way to ensure we have big enough processing power to analyze the petabytes of data coming from IoT devices and sensors, is to realize now that IoT will need Artificial Intelligence (AI) to utilize Machine Learning for pattern matching and event processing.


IoT Wonโ€™t Work Without Artificial Intelligence

Here's a quote:

 We need to improve the speed and 
 accuracy of big data analysis in 
 order for IoT to live up to its 
 promise. If we donโ€™t, the 
 consequences could be disastrous 
 and could range from the annoying 
 โ€“ like home appliances that donโ€™t 
 work together as advertised โ€“ to 
 the life-threatening โ€“ pacemakers 
 malfunctioning or hundred car 
 The only way to keep up with this 
 IoT-generated data and gain the 
 hidden insight it holds is with 
 machine learning.
And, once we realize that... it's time to roll-up our sleeves and get to designing a proper AI Deep Learning layer into IoT systems today. Stay tuned to this blog for a quick-start guide to IoT AI Deep Learning and how to use the latest Machine Learning technology to architect a IoT system that will be able to handle dynamic pattern matching and event processing without having to wait for a (slow) human to come up with the IoT event rules and filters... ๐Ÿ“ฑ๐Ÿ’ป๐Ÿ“Ÿโšก๏ธ ๐Ÿ‘ฝ

Monday Dec 14, 2015

IoT Store Opens in Palo Alto, Calif.

Here's a new Internet of Things physical store that opened in Palo Alto, Ca. I wonder if they can sell me a new FitBit that has healthier readings than the one I have now...


Internet of Things Store

Here's a quote:

 Norby was doing his holiday 
 shopping at all the "usual 
 stores" but finding little 
 he was interested in 

 "I found myself incredibly 
 bored and disinterested by 
 the selection versus what I 
 was finding online, which was 
 all this innovation -- amazing 
 companies, a lot of them out 
 of Palo Alto, making 
 incredible, physical products," 
 he said. "But none of those 
 were inside stores."
Just in time for the holidays. It's at 516 Bryant St. in downtown Palo Alto, not far from the Philz Coffee on Forest Ave. where you can get some Java to go with your IoT Device. See what I did there? ๐Ÿ“ฑโ˜•๏ธ๐Ÿ’ป

Friday Dec 11, 2015

Oracle IoT Cloud Service Now Available! Just in time for Christmas and Hanukkah!

What better gift is there for Hanukkah, Christmas and Kwanzaa than a subscription to the Oracle Internet of Things (IoT) Cloud Service? I can't think any. So, buy one, or heck, buy three, and give them to your friends and family as IoT stocking stuffers!

You'll be the most popular Internet of Things holiday gift giver this year! (Results may vary based on mileage...)


Give the Gift That Keeps Giving

Here's a quote:

 Gain new data-driven insights 
 and drive actions from IoT by 
 connecting, analyzing and 
 integrating device data into 
 your business processes and 
 applications, enabling your 
 business to deliver innovative 
 new services faster and with 
 less risk.
How do you fit a Cloud Service in a stocking? I'm not sure... ๐ŸŽ… ๐ŸŽ„ ๐ŸŽ

Monday Nov 30, 2015

ICYMI: $5 Raspberry Pi Zero Will Ignite IoT

In case you missed it: There was the new launch of the $5 Raspberry Pi Zero over the Thanksgiving holiday. But... It's sold out already. Wah, wah, wahhh... Oh, well. It's still so very cool, though. It comes with a 1Ghz ARMv6 (ARM11) CPU (able to run Java SE Embedded 8 on Raspian Linux OS), a micro SC slot and micro USB ports for data and power. You can also use the USB ports to connect Wi-Fi or Bluetooth dongles. So, trรจs I.o.Chic.


Raspberry Pi Zero $5

Here's a quote:

 The Raspberry Pi Zero is 
 about the size of a stick 
 of chewing gum but comes 
 with endless possibilities 
 for everyone from 
 programmers looking to 
 create fun new projects to 
 students learning about 
 programming in the 

 Popular projects with 
 Raspberry Pi include 
 connecting the computer to 
 home devices to create an 
 "Internet of Things" 
 ecosystem, building an 
 inexpensive robot and 
 creating games. 
The toughest part is waiting for it to be back in stock!!! Hopefully, before Christmas... Tap, tap, tap... Still waiting...

Tuesday Nov 24, 2015

Imagination Technologies Crowdfunding IoT Dev Kit

Here's yet another IoT development kit, but this one is being developed as a Kickstarter project by Imagination Technologies, maker of MIPS processors. They are hoping to raise ยฃ20,000 which is about $30,199.


Imagination IoT Dev Kit

Here's a quote:

 Why does Imagination need to 
 go down the crowdfunding 
 route? Itโ€™s more about 
 wanting to tap its target 
 dev community during the 
 product development phase, 
 says Imagination's Alexandru 

 "Using Kickstarter allows us 
 to directly communicate with 
 the maker community, start-ups 
 and individuals interested in 
 new dev kits and get their 
 opinion on how and what we can 
So, if Imagination Technologies is just using Kickstarter to "communicate" with the developers of the maker community, they don't need the 30 G's, right? And, that means they can give away their IoT Dev Kit for free to the maker community, right? ๐Ÿ˜‰ What better way to "communicate"?

Wednesday Nov 11, 2015

Architect Your Own IoT Industrial PLC - Programmable Logic Controller (Part 2)

Before we start, we should first go over the difference between a Solid State Relay (SSR) versus an Electromechanical Relay (EMR). A SSR is able to turn on or off a switch (such as the power switch) for a piece of machinery or equipment using a control signal from a digital circuit, microcontroller or computer (such as a Raspberry Pi) through use of non-moving electronics, typically a silicon controlled rectifier.

An EMR does the same function, but uses movable contacts that are mechanically operated by magnetic force. EMRs are most common and you can hear them "click" on and off as they operate when control signal causes the magnetic force inside them to physically move a set of contacts to complete the electric circuit or to open the circuit.

EMRs are most common in electronics since they are cheaper to manufacture and can be used in harsh environments. SSRs are more common in industrial use, such as in Programmable Logic Controllers (PLCs) on a factory floor, as we are simulating in this blog series, since they are have no moving parts, are faster for frequent switching, and can be easily controlled by digital circuits and computers (such as the Raspberry Pi).


Difference Between SSR and EMR

It's important to start out with the right parts to meet the requirements of the use-case, such as the IoT Industrial Use-Case we will address in this blog series. Next, we'll look at having multiple SSRs in the 8-channel SSR we'll use in our prototype, and how they can all be controlled with one embedded computer (like the Raspberry Pi).

Monday Nov 09, 2015

Architect Your Own IoT Industrial PLC - Programmable Logic Controller (Part 1)

A PLC is an industrial grade Programmable Logic Controller, which is essentially a general purpose computer (such as a Raspberry Pi) connected to a set of relays or switches (usually solid state relays to give real-time response times), and programmed with a simple to use computer language (such as Java).

Here, in this series of blog posts, I'll show you how to architect your own IoT Industrial PLCs to control your assembly line, factory floor, or warehouse. Or, your Christmas lights if you don't have any of those. :-)

Start with this part, which you can get on Amazon:

SainSmart 8 Channel SSR

PLCs are the way to go if you want fast responding, real-time control of equipment. And, remember to use Java to keep it fast while having a full-featured IoT programming language.

Friday Nov 06, 2015

IoT used for Retail Inventory - Levi's in San Francisco

Levi's and Intel are teaming up to use IoT to track retail inventory in some Levi's clothing stores. That's one way for the Enterprise side of IoT to really take off. And when jeans are being taken off (of the shelves by paying customers), that's a good thing.


Leviโ€™s And Intel Push IoT

Here's a quote:

 While improving inventory management 
 through IoT strategies might seem 
 appealing to some retailers, avoiding 
 inventory inaccuracy can be just as 
 important. A study conducted by GS1 US 
 and Auburn Universityโ€™s RFID Lab found 
 that 63 percent is the average for 
 inventory accuracy. The lower that 
 accuracy falls, the more likely the 
 retailer is to run into supply and 
 delivery issues. 
So, watch IoT in the retail space as it develops, since it would be an easy thing to connect IoT sensors to store items and send the data to an IoT Cloud Service, just like the Oracle IoT Cloud Service, to have IoT data feed into existing business apps, and for enterprises to make more money.

Monday Oct 05, 2015

Oracle Internet of Things Cloud Service: An Overview YouTube Video

Here's a cool video from Oracle describing the new Oracle Internet of Things (IoT) Cloud Service, which is the product I work on, connecting IoT devices to the Cloud.

There's even Big Data and Analytics involved, but you all know that's where the value is with IoT, not just the sensors being on the network by themselves. I've been saying that all this time on my blog, and now you can see it in our shipping product from Oracle.


Oracle IoT Cloud Service

It's a nice summary of what the Cloud can do for IoT that can't be done with just sensors and actuators dangling from a Raspberry Pi by itself. That's kinda sad if a Raspberry Pi has nothing to talk to.

Friday Aug 28, 2015

Flexible Hybrid Electronics Manufacturing Innovation Hub in San Jose

Some Internet of Things companies are partnering with the U.S. Department of Defense in creating an innovation hub in San Jose, Calif. to focus on military-related wearable technology.


Pentagon Looks To Collaborate

Here's a quote:

 The Pentagon is teaming up 
 with private sector companies 
 like Boeing and Apple to create 
 high-tech sensory gear for a 
 variety of defense purposes, 
 in lieu of developing the 
 technology in-house.
Nice! Now, let's see if we can get better wireless signal coverage in San Jose. You wouldn't want a mechanized body armor suit to freeze-up in the middle of a test-run battle, would you? ๐Ÿš€ ๐Ÿ“ฑ ๐Ÿ’ฃ ๐Ÿ˜ฑ


Hinkmond Wong's blog on making the Internet of Things (IoT) smarter with Java Technology and Artificial Intelligence (AI)


« May 2016