Software for machine learning applications
Our corebusiness is to develop software for making forecasts, analyses and optimizations. In the early years of VORtech, the algoritms in that software were usually based on traditional mathematics like numerical analysis, statistics and optimization methods.
Since then, machine learning has emerged as a powerful new technique for many of the applications of our clients. It lets the computer generate the algorithm based on data; an explicit algorithm is no longer used. VORtech closely followed the development of machine learning. Not only out of a fascination with the technology but also because machine learning is the better option for some applications.
Machine learning engineering
From a software point of view, large parts of a machine learning application are the same as in more traditional applications such as the tidal prediction system of Rijkswaterstaat. Much of the software is still dedicated to collecting and processing information from external sources, for dashboards (like the WBViewer) and for distribution of results to other systems. And yet, a machine learning application is also different from a traditional forecasting system.
The main difference is in the fact that machine learning applications are entirely data driven. If wrong data somehow enters the system, the consequences can be unpredictable. Mostly, it is easy to detect false data. But sometimes it can be very subtle. If the statistics of the incoming data changes, the algorithm can start producing the wrong answers even if the data looks ok. Then the algorithm may need to be retrained to account for the new statistics. It is important to detect in time that the algorithm and the incoming data no longer match.
VORtech has experience with the development of machine learning applications or what is called machine learning engineering. We provide consultancy based on our understanding of machine learning, physics and sensors. We develop the entire data-pipeline: we build data collection services, we implement the quality monitoring and we organize the distribution of results.
For many of our customers, machine learning is still rather unfamiliar. We are often invited to come and explain how it works and what it can do. With our experience in machine learning applications, we are a valuable sparring partner. Our background in science and technology allows us to consult people from many different application fields.
Should you already have an application in mind, then we can help you to set out a plan to realize it.
Over the years, we learned that it is extremely important to get clear on what you want to achieve and why. See also our blog about defining valuable use case of big data. Too often, it turns out that the original aim of a project is not the right one, or cannot be attained in its original form. Therefore, our contribution to the discussion is often important for the success of a project.
Setting up data pipelines and user interfaces
Most applications that we work on are based on sensor data. Setting up a data pipeline starts with understanding the data. This again requires a close collaboration with the domain experts and operators at the client. In some case, we help with placing additional sensors if essential information is lacking.
Sensor data is notoriously messy. Sensors are not always properly calibrated; connections may fail and the systems that collect the data may have their own issues. Furthermore, sensors tend to produce large volumes of data (big data) whereas only a very small part of it is really useful.
An important task in machine learning engineering is processing this raw data into a reliable and efficient data stream. This is called data engineering. It includes the filtering of the data, leaving only the relevant parts, and detecting errors and artefacts. For example, in one project we have developed algorithms that automatically detect faulty sensors.
In some cases, errors can be repaired by guessing the missing data (imputation). Part of data engineering is also combining different types of data into derived features that are more useful for machine learning than the original data.
As mentioned before, we can build or improve a data pipeline for you. We know how to collect data from external sources, and we are good at developing efficient algorithms for processing data into features. Using modern software platforms, we develop intuitive dashboards and we know how to distribute results to external systems.
The algorithm itself
Even though VORtech does not consider itself an expert in machine learning algorithms, we certainly have the knowledge and experience to apply the most common machine learning techniques. This is sufficient for a proof of concept and in most cases is also sufficient for operational use. If really specialized knowledge about a particular method is needed, we will not hesitate to involve an external expert. We know our limitations.
If possible, we prefer to use a machine learning technique that is easy to interpret. This not only helps to have the algorithm accepted by operators, but it also gives insight in its reliability.
If a machine learning algorithm has already been developed, for example by a data scientist at the client, we can convert it into operational software. We implement the right mechanisms to timely detect when an algorithm is no longer reliable.
We think that it is important that the client fully understands the working of the application. Otherwise, it would be too easy to misinterpret the outcomes. Therefore, we will always hand over the system that we have developed to employees of the client and we instruct them on how to maintain and extend the application. But if the client appreciates our help after delivery, we are obviously there.
Use cases for machine learning in the technology sector
For inspiration, here is a couple of well-known use cases of machine learning with examples of projects that we have worked on.
- Process Optimisation
Machine learning can help to optimize processes. For example, by making predicitons that operators can use to adjust the settings. In many cases, traditional methods cannot make such a prediction as the underlying processes are insufficiently understood. But even if they are, a machine learning application is often much faster than a more traditional approach.
- Support for Operators
Machine learning can detect unwanted changes in processes and thereby give useful information to operators. For Vitens, we have worked on algorithms to quickly detect leakages in the water distribution network and to also pinpoint the most likely location of the leakage. This allows engineers to quickly find the leakage and repair it even before anyone starts complaining about problems in the water supply.
- Predictive maintenance
Machine learning can be used to determine how long an asset can continue to function without problems. A challenge for this type of application is that there is usually very little data of actual failures. Therefore, these methods tend to focus on proxies that are indicative of an impending problem.
- Quality Control
Computer vision has become a standard technology to detect artefacts in products. A computer these days is better and faster than humans at recognizing quality issues in products. And it is even cheaper.
Are you interested?
VORtech is a company that operates at the front of technology for prediction and analysis in the engineering sector. Machine learning is a very powerful extension to our traditional toolbox of mathematics and computer science that we have been leveraging for over 20 years. Please contact us if you would like to discuss how machine learning can help you in your engineering challenge.