Data Science AI-ML Go, (Golang) Programming
Creating practical Artificial Intelligence / Machine Learning Models
The recent accomplishments in AI research are astounding! They now have models that can learn to play complex games without any prior knowledge and models that can control driverless cars. Yet, most businesses don’t need to play board games or drive autonomous vehicles, so what defines a practical AI/ML model in a more realistic business setting?
A practical AI/ML model is:
- Capable of being trained on and utilized with the data that you have available
- Complex enough to create real value, but simple enough to be reproducible and debuggable
- Explainable to or understood by more than just one individual within an organization.
Although certain models and frameworks, such as convolutional neural networks implemented in Tensorflow, are capable of detecting objects within images, your company might not even have image data to process. You need to identify both (i) what relevant data is available or can be made available to models, and (ii) what mission critical information or predictions would create real value. Item (ii) can often be accomplished before hiring some fancy AI Ph.D. who is only interested in working on a small subset of problems. Once you know what mission critical information/predictions you want, you can then start researching what AI methods and expertise you will need to accomplish your use case specific end goals.
The AI methods and experts that you task with realizing these end goals should also know that you value simplicity and debuggability. You should try to establish evaluation metrics or measures of value at the onset of a project, such that you end up with the most simple model that can realize these metrics and avoid any more complication. If you only need to detect anomalous user transactions with 90% accuracy, there is no need to spend months of effort creating an extremely complex model that reaches 99.99% accuracy.
Finally, the AI/ML models that you integrate into your business processes should be understood by more than just one siloed AI expert. In the same way that software engineers are expected to create meaningful documentation around their applications, data scientists should be expected to develop models that are explainable and justifiable to more than just themselves. This generally with both improve the quality of the models and allow production models to be maintained over time as team member come and go.