AI and Machine Learning
Solving complex business problems by identifying patterns in very large datasets that evade human detection.
Following an unprecedented period of technology innovation across hardware, processing power and storage capabilities, artificial intelligence (AI) has rocketed into the mainstream business agenda.
At DiUS, we’ve been helping organisations to leverage the great advances in narrow AI, specifically the ability of machine learning to solve complex, real-world business problems through the application of machine learning techniques and algorithms. It’s a natural extension of our core capabilities in data engineering, the cloud, big data and analytics.
Our expertise is largely focused on the power of deep learning because of its power to identify patterns in very large datasets, patterns that evade human detection. We help organisations understand where deep learning can help business, and help them get started. Our approach is to start small, pick a problem where the data is available to help run a proof of value to deliver learnings to the organisation quickly. Once we have validated the approach, we work with an organisation to move it into a core application.
Right now, we are seeing voice interaction and chatbots as the most popular consumer-facing manifestations of AI; however we are also seeing strong interest in the following areas where automation or augmentation delivers efficiencies or new insights:
- Building predictions from structured data to assist with credit, load management, customer churn or maintenance.
- Machine image classification for the detection of anomalies or security.
- Object detection for anomalies, safety or security applications.
- Semantic segmentation for management of assets, retail or real estate.
- Instance segmentation for asset inspection security.
- Text classification for tagging and sentiment.
- Pose estimation for retail, aged care or safety.
Things are changing so rapidly in the AI field; we rely on our strong culture of exploration, experimentation and investigation to keep ahead of the new services and frameworks that are being released. Here’s what we’re currently using.
We use Python for its broad range of proven libraries for mathematics, science, and machine learning, such as NumPy, SciPy, and scikit-learn. It’s an elegant and versatile language for moving from idea to working code quickly. It’s supported on just about any computing platform. Python is the language of choice for machine learning researchers and engineers.
We use Jupyter notebooks to prototype algorithms and move fast through the idea-code-test cycle. They fit well with our iterative development approach. Notebooks are great for showcasing machine learning results with stakeholders, to prove value quickly.
Pandas is powerful for working with large sets of structured data, and for moving them in and out of data stores in whatever format or structure we need. For the critical data wrangling part of all machine learning tasks, we lean on Pandas.
Once we have developed an algorithm or trained a model, we find AWS cloud infrastructure to be an easy and fast way to scale to production workloads. The GPU instances speed up inference dramatically, and AWS services such as S3 and Lambda make it easy to stream data to the model at production load levels. Depending on the solution, we also use the growing number of AWS machine learning services to quickly deliver results via an API, such as Lex, Polly and Rekognition.
We mainly use PyTorch for the excellent fast.ai library for deep learning that works with it. Even though PyTorch hasn’t been around very long, some of the interesting new research papers are coming out with reference implementations in PyTorch, so it’s a quick way of adapting research work to commercial solutions for our clients.
Keras simplifies our job of architecting new models, and implementing and tuning models from research papers. Though TensorFlow is powerful and we love how it’s designed for deployment to production on large compute clusters as well as mobile devices, having the specific semantics of artificial neural networks on top provided by Keras makes TensorFlow our tensor computation framework of choice.