Online Business Systems unveiled their highly anticipated Digital Innovation Lab in May of 2018. The Innovation Lab connects our customers, and the difficult business problems they are trying to solve, with emerging technology. Using a set of themes, the Innovation Lab will investigate technical trends industry experts believe will be the foundation of the next generation of digital business models.
Below is an update on some of the Machine Learning that has been taking place.....
“Is that normal behavior… for the market? Of our customer? Of our infrastructure?”
Business strategy and operations rely on recognizing patterns in data, to make better decisions for providing new value to customers, and to maintain competitive advantage. Digital transformation relies on the ability to unlock the value in data to provide new products and services not previously recognized.
The human brain is conditioned to recognize patterns without even thinking about it, and because of that, anomalies. Patterns construct our everyday world. Classic architecture books such as 'The Timeless Way of Building', that heavily influenced software design, prescribe that buildings be made of the patterns “capable of generating life”. Patterns are deeply embedded in our minds.
But when confronted with large amounts of data, additional dimensions such as time, or patterns too subtle to discern; our minds need assistance. This is the goal of AI: to amplify human ingenuity.
When working with patterns, AI often starts with Machine Learning.
Here at Online we’ve been working very closely with Machine Learning in the Innovation Lab, solving the difficult problem of defining and identifying anomalous behavior. One scenario in particular we are working on is processing alarm system sensor (door and motion sensor) data, consisting of many hundreds of thousands of events. Completing compute-intensive training of an intelligent agent in the cloud, and deploying it to run on a low powered edge device to:
Recognize human activities
Learn what activities are normal, and when
Identify sensor events that are anomalous
Determine when abnormal activity occurs
The Innovation Lab methodology breaks this into a series of Step Projects, each of which takes us a step closer to the ultimate stretch goal. There is perhaps a misperception in the industry that Machine Learning means neural networks, when in fact for some problems there are simpler approaches that are more suitable. In our latest step project, we built competing agents that each apply a different Machine Learning technique, and then benchmarked them against each other. The three contenders use a Markov Chain, Clustering, and a Neural Network. We are working on a white paper to share what we have learned with you.
When evaluating a diverse set of machine learning algorithms, it is important to understand the pros and cons of each. With a preliminary understanding of this problem we were able to discard unviable models (supervised learning) and focus on methods that are both effective, and computationally feasible on an edge device. It is important to note that methodologies are not always mutually exclusive. Machine learning methods can work on their own, or in concert with other methods. This greatly broadens the range of possibilities and allows for a great deal of creativity when designing a solution.
Certain methods we used, such as Clustering and Markov chain, require more “prescriptive” instructions and preprocessing steps. Whenever a preliminary processing step is performed there is a risk of injecting human bias into the data. While this is sometimes unavoidable, it is important to minimize “fiddling with the data”, as the rules for multidimensional, abstract data may not map well to human intuition. The ultimate goal of the algorithm is to tease out patterns that we are not capable of intuiting, so it is better to apply looser bounds, and only when absolutely necessary.
Neural networks are an attractive solution because they forgo many of the preprocessing steps required by other methods. In theory, they can be fed a raw sequence of data, and learn to predict the next step in the sequence. The downside is that they require an extraordinary amount of data, and a very delicate tuning of several hyperparameters. Their results are also largely unexplainable. Neural nets are powerful tools, but they are not the magic machines they are made out to be. The elegance of forgoing preprocessing is often paid for by the opaqueness of its internal workings.
We’re prototyping our agents using Python with the help of rich libraries available for data science, machine learning and data visualization– Pandas, SciKit Learn, Keras, TensorFlow, matplotlib, seaborn and others. Agents for the edge device are coded from first principles, as we cannot afford the overhead of libraries. Our distributed team collaborates using Jupyter notebooks and posts their findings on a big RealtimeBoard, with lightweight planning using MindManager.
This project has proven to be challenging as we are given only a stream of raw sensor events, with no knowledge of the layout or occupant(s) of the building. We must compute the patterns against possible variables to solve the general problem: what is occurring that appears to be abnormal and worthy of attention?
Although this particular project is interesting, what is more relevant is the application of techniques we have developed to solve the abstract problem: using a stream of data from IoT-connected devices, identify anomalous events that the individual IoT devices collectively have sensed.
Train the agent in the cloud using the data from a unique locale.
Deploy an agent to run on an inexpensive, low-powered IoT device located in the locale.
We are actively looking for opportunities to transfer what we have learned to your business problems and welcome discussions. Do you have a question about Machine Learning and what it can do for your organization?