Beacons provide a great way of providing new data for AI machine learning. They allow you to measure things that aren’t currently being quantified, create new data that isn’t silo’d by protectionist staff or departments and allow you to pre-process data in-place making it suitable for learning and inference.
There’s a new free State of AI Report 2019 in the form of a 136 page presentation. It covers aspects such as research, talent, industry and geopolitical areas such as China and Politics.
“Firms blamed the cost of AI solutions, a lack of qualified workers, and biased data as the principal blockers impeding AI adoption internally. Respondents identified skills shortages and unrealistic expectations as the top two reasons for failure, in fact, with a full quarter reporting up to 50% failure rate.”
We believe a key part of this is ‘unrealistic expectations’. Half of all AI projects failing for 1 in 4 companies isn’t unreasonable. AI and machine learning should be viewed as a research rather than a development activity in that it’s often the case that it’s not known if the goal is achievable until you try.
Another unrealistic expectation of machine learning is often to have 100% accuracy. The use of an accuracy % in assessing machine learning models focuses stakeholders minds too much on the perceived need for a very high accuracy. In reality, human-assessed, non-machine learning, processes such as medical diagnosis tend to have much less than 100% accuracy and sometimes have undetermined accuracy but these are reasonably seen as being acceptable.
In summary, there has to be upfront realistic expectations of both the possible outcome and the accuracy of the outcome for projects to correctly determine if AI activities are an unexpected failure.
In our previous post on iBeacon Microlocation Accuracy we explained how distance can be inferred from the received signal strength indicator (RSSI). We also explained how techniques such as trilateration, calibration and angle of arrival (AoA) can be used to improve location accuracy.
Their study was based on a large-scale exhibition where they placed scanning devices:
They implemented a LSTM neural network and experimented with the number of layers:
They obtained best results with the simplest machine learning model with only 1 LSTM:
As is often the case with machine learning, more complex models over-learn on the training data such that they don’t work with new, subsequent data. Simple models are more generic and work not just with the training data but with new scenarios.
The researchers managed to achieve an accuracy of 2.44m at 75 percentile – whatever that means – we guess in 75% of the cases. 2.44m is ok and compares well to accuracies of about 1.5m within a shorter range confined space and 5m at the longer distances achieved using conventional methods. As with all machine learning, further parameter tuning usually improves the accuracy further but can take along time and effort. It’s our experience that using other types of RNN in conjunction with LSTM can also improve accuracy.
There’s lots said about the advantages of Industry 4.0 or Digital Transformation and the associated new technologies but it’s a lot harder to apply this to the context of a business that has legacy equipment and no real way of knowing where to start.
Our previous article on productivity explained how, historically, digital transformation has been only been implemented in the top 5% ‘frontier’ companies. These have tended to be very large companies with large R&D budgets that have enabled customised digital solutions. More recently, the availability of less expensive sensors and software components have extended opportunities to the SME companies. These companies are already realising gains in profitability, customer experience and operational efficiency. Unlike previous technologies, such as CRM, the newer technologies such as IoT and AI are more transformative. Companies that don’t update their processes risk being outranked by their competition with a greater possibility of going out of business. But where do you start?
The place to start is not technology but instead something you and your colleagues fortunately have lots of experience of : Your company. Take an honest look at your processes and work out the key problems that, if solved, would achieve the greatest gains. You might have ignored problems or inefficiencies for years or decades because they were thought to be insolvable. Technology might now be able to solve some of these problems. So what kind of problems? Think in terms of bottlenecks, costly workrounds, human effort-limited tasks, stoppages, downtimes, process delays, under-used equipment and even under-used people. Can you measure these things and react? Can you predict they are about to happen? This is where sensing comes in. You might need some help getting up to speed, determining feasibility and working out the best solution.
The next stage is connectivity. You will almost certainly need to upgrade or expand your WiFi and/or Ethernet network. It can be impractical to put sensors on everything and everyone and connect everything by WiFi/Ethernet. Instead, consider Bluetooth LE and sensor beacons to provide a low cost, low power solution for the last 50 to 100m. Bluetooth mesh can provide site-wide connectivity.
Initially implement a few key improvements that offer good payback for the effort (ROI). The improvements in efficiency, productivity, reduced costs and even customer experience should be enough to convince stakeholders to expand and better plan the digital transformation. This involves replacement of inefficient equipment and inefficient processes using, for example, robotics and 3D printing. It also involves analysing higher order information combined from multiple sources and using more advanced techniques such as AI machine learning to recognise and detect patterns to detect, classify and predict. This solves problem complexity beyond that able to be solved by the human mind or algorithmic program created by a programmer.
The traditional IoT strategy of sending all data up to the cloud for analysis doesn’t work well for some sensing scenarios. The combination of lots of sensors and/or frequent updates leads to lots of data being sent to the server, sometimes needlessly. The server and onward systems usually only need to now about abnormal situations. The data burden manifests itself as lots of traffic, lots of stored data, lots of complex processing and significant, unnecessary costs.
The processing of data and creating of ongoing alerts by a server can also imply longer delays that can be too long or unreliable for some time-critical scenarios. The opposite, doing all or the majority of processing near the sensing is called ‘Edge’ computing. Some people think that edge computing might one day become more normal as it’s realised that the cloud paradigm doesn’t scale technically or financially. We have been working with edge devices for a while now and can now formally announce a new edge device with some unique features.
Another problem with IoT is every scenario is different, with different inputs and outputs. Most organisations start by looking for a packaged, ready-made solution to their IoT problem that usually doesn’t exist. They tend to end up creating a custom coded solution. Instead, with SensorCognition™ we use pre-created modules that we ‘wire’ together, using data, to create your solution. We configure rather than code. This speeds up solution creation, providing greater adaptability to requirements changes and ultimately allows us to spend more time on your solution and less time solving programming problems.
However, the main reason for creating SensorCognition™ has been to provide for easier machine learning of sensor data. Machine learning is a two stage process. First data is collected, cleaned and fed into the ‘learning’ stage to create models. Crudely speaking, these models represent patterns that have been detected in the data to DETECT, CLASSIFY, PREDICT. During the production or ‘inference’ stage, new data is fed through the models to gain real-time insights. It’s important to clean the new data in exactly the same way as was done with the learning stage otherwise the models don’t work. The traditional method of data scientists manually cleaning data prior to creating models isn’t easily transferable to using those same models in production. SensorCognition™ provides a way of collecting sensor data for learning and inference with a common way of cleaning it, all without using a cloud server.
With SensorCognition™ we have created a general purpose device that can process sensor data using machine learning to provide for business-changing Internet of Things (IoT) and ‘Industry 4.0’ machine learning applications. This technology is available as a component of BeaconZone Solutions.
When working with Machine Learning on beacon sensor data or indeed any data, it’s important to realise AI machine learning isn’t magic. It isn’t foolproof and is ultimately only as good as the data passed in. Because it’s called AI and machine learning, people often expect 100% accuracy when this often isn’t possible.
By way of a simple example, take a look at the recent tweet by Max Woolf where he shows a video depicting the results of the Google cloud vision API when asked to identify an ambiguous rotating image that looks like a duck and rabbit:
There are times when it thinks the image is a duck, other times a rabbit and other times when it doesn’t identify either. Had the original learning data included only ducks but no rabbits there would have been different results. Had there been different images of ducks the results would have been different. Machine learning is only a complex form of pattern recognition. The accuracy of what you get out is related to a) The quality of the learning data and b) The quality of the tested data when to try identification.
If your application of machine learning is safety critical and needs 100% accuracy, then machine learning might not be right for you.
AI machine learning is a great partner for sensor beacon data because it allows you to make sense of data that’s often complex and contains noise. Instead of difficult traditional filtering and algorithmic analysis of the data you train a model using existing data. The model is then used to detect, classify and predict. When training the model, machine learning can pick up on nuances of the data that a human programmer wouldn’t see by analysing the data.
One of the problems with the AI machine learning approach is that you use the resultant model but can’t look inside to see how it works. You can’t say why the model has classified something some way or why it has predicted something. This can make it difficult for us humans to trust the output or understand what the model was ‘thinking’ when the classifications or predictions end up being incorrect. It also makes it impossible to provide rationales in situations such as ‘right to know’ legislation or causation auditing.
A new way to solve this problem is use of what are known as counterfactuals. Every model has inputs, in our case sensor beacon data and perhaps additional contextual data. It’s possible to apply different values to inputs to find tipping points in the model. A simple example from acceleration xyz sensor data might be that a ‘falling’ indicator is based on z going over a certain value. Counterfactuals are generic statements that explain not how the model works but how it behaves. Recently, Google announced their What-If tool that can be used to derive such insights from TensorFlow models.