More companies are jumping onboard with artificial intelligence (AI) as they attempt to integrate it into not only their products and services, but their internal workflows and processes as well. As such, engineers and scientists are frequently customizing vendor AI solutions to meet the specific needs of their respective organizations. In this Q&A Electronic Design's Senior Editor Bill Wong talks with Johanna Pingel, deep learning marketing, MathWorks , about this trend and potential challenges that may arise as a result.
How often do you see companies and enterprises customizing vendor AI software for their specific needs in industry today?
We are increasingly seeing more companies explore and implement custom AI solutions. This is especially true across industrial applications like automotive, aeronautics, industrial machinery, oil and gas, and electric utilities. In these cases, AI is being used to automate a specific process, such as defect detection with visual inspection on an assembly line, or to improve a system-like lane detection in autonomous driving systems. For example, Caterpillar is using software tools like MATLAB and Simulink to identify tractors and people in the field because they require a unique solution specific to their scenario. AI-as-a-service simply cannot meet their requirements.
That’s not to say AI-as-a-service is never an option. There are some AI-as-a-service tools that exist for specific applications, such as a detection system to recognize a car has arrived at your house or a speech translation application on your phone. However, many enterprises are choosing to implement AI in-house to design a solution to their exact business needs.
Are companies finding it challenging to customize AI software?
The degree of difficulty surrounding AI software customization depends on the overall complexity of the solution. Autonomous systems are an example of an extremely complex AI application, given the need to detect a variety of different objects (pedestrians, cars, and signs) and make decisions based on this input. This solution needs to be catered to the exact scenarios the system expects to see.
A completely customized solution requires a large amount of data to accurately train and build a model. There are tools available, such as MATLAB, that allow engineers and scientists to leverage AI models created by deep-learning experts rather than start from scratch. This significantly reduces the development and training process.
Where does the AI software customization process sit internally for these companies?
Customization is typically a team effort. Engineers, data scientists, and domain experts are required to help understand, label and preprocess the input data, create deep-learning models, test and validate the model, and finally deploy to an enterprise system. It helps to have tools available that allow this type of collaboration while also permitting teams to automatically test multiple iterations of deep-learning models to determine the most accurate solution. It’s also important to share models with colleagues across platforms to help solve problems more efficiently.
What are some specific challenges teams could encounter when customizing their own AI solutions?
Eliminating errors is crucial for developing AI systems. Teams must be mindful of potential errors that may exist throughout the entire development process, from testing to validation, while also uncovering any unintended changes when updating their AI model. Without the right input data and the right amount of data, there’s a chance teams could introduce errors into their systems.
This emphasizes the “data challenge,” as these projects require the right amount of clean data to ensure all edge cases are tested. Domain experts or subject-matter experts are crucial to this process as they understand at a deep level the types of data needed to be successful. Teams can also derive additional images through data synthesis—or synthetic data generation—which can test the exact scenarios and edge cases that the system will be required to handle.
In addition, testing the algorithm in a production-level environment is crucial to keeping errors out of the system. It’s also important to use tools that allow teams to try multiple approaches and update the final model even after moving to production.
Johanna Pingel joined the MathWorks team in 2013, specializing in Image Processing and Computer Vision applications with MATLAB. She has been working in the Computer Vision application space for over five years, with a focus on object detection and tracking.