Machine learning (ML) isn’t a replacement for conventional programming, but it’s one more tool that developers have available when creating solutions. Unfortunately, the scope and variations of ML are complex and changing continually as designers refine existing methodologies and develop new ones. This would be less of an issue if the changes weren’t occurring so frequently and if ML had less of an impact. Often, ML is the edge that companies need to stay ahead of the competition.
New models and approaches are being created in the neural-network space where most of the latest ML technology is found, even as hardware designers rush to incorporate ML accelerators in their latest releases. Few processor, GPU, or networking chips lack some sort of ML acceleration these days. These can often provide increased speeds on the order of multiple magnitudes, making many applications possible.
The advantage of the plethora of options is that tools like Xnor’s AI2Go and H2O.ai’s H20 are allowing developers to choose ML models based on applications and criteria. These can be quickly incorporated into an application. They frequently provide services to train models for a particular application, too.
Likewise, combining ML models can often be similar to combining filters in DSP applications. Sometimes it’s as simple as connecting a few blocks together sequentially, but other times the interconnections and interactions can be as complex as the ML models themselves. More applications are utilizing multiple models rather than a single model that addresses just one aspect of the application.
Also, ML is being applied to all aspects of application design, deployment, and maintenance in many cases. ML support is part of most cloud services and management systems these days. ML models are often employed in apps and cloud services given the growth of IoT in embedded applications.
ML tools and models aren’t a panacea for embedded developers. They’re also not a solution for all applications. In fact, many embedded and IoT applications will not benefit incorporating ML support. By the same token, ML can be a time and money sink with little payoff, especially when the technology is misunderstood or not applicable.
It’s a good idea for developers and managers to get more educated about ML and the options available. Therefore, they can determine whether or when it might be applicable to your needs. Remember, neural networks are all about probabilities, so their relevance isn’t always a binary choice.