AzureML provides a deep learning toolbox that can be used to train medical images (or, more generally, 3D images) and has integrated seamlessly with the Azure cloud.
The models that can be created with this toolbox include:
- Segmentation models
- Sequence models
- Classification and regression models
- Active label cleaning and noise-robust learning toolbox (stand-alone folder)
- Added cloud support to any PyTorch Lightning model via a bring-your-own-model setup
It is possible to build classification, regression, and sequence models from only images or a combination of images and non-imaging data. It supports use cases related to medical data where measurements, biomarkers, or patient characteristics are often available along with images.
This toolbox aims to help machine learning teams achieve more on the user side. The platform is based on cloud computing, utilising Azure Machine Learning Services (AzureML) for execution, bookkeeping, and visualisation.
Overall, AzureML provides:
- Traceability: A full record of all experiments is kept by AzureML, as well as a snapshot of the code. Tags are automatically added to the experiments so they can later be filtered and found.
- Transparency: Each team member has access to each other’s experiments and results.
- Reproducibility: Two model training run using the same code, and data will produce the same metrics. All sources of randomness like multithreading are controlled for.
- Cost Reduction: Using AzureML, all compute (virtual machines or VMs) is requested when starting the training job and freed up at the end. There will be no charges for idle virtual machines. Additionally, Azure low priority nodes can be used to further reduce costs (up to 80% cheaper).
- Scale-out: A large number of virtual machines can be requested quickly to handle a burst of activity.
Despite a focus on cloud computing, all training and model testing can also be done locally, which is useful for model prototyping, debugging, and where the cloud cannot be utilised. Furthermore, if anyone has GPU machines already, they will use them with the InnerEye toolbox.
Applications of AzureML: Brain Tumor Detection
In comparison to other cancers, brain tumours are fairly rare. Malignant brain tumours occur in about seven out of every 100,000 people. Magnetic resonance imaging (MRI) is a popular imaging technique that provides reliable diagnoses. Azure Machine Learning provides multiple authoring options, including Jupyter, JupyterLab, Visual Studio Code, and a Notebook experience inside the Azure ML Studio—helpful for brain tumour detection.
AzureML uses MLflow to use the brain tumour image as training data for a versioned dataset. First, it performs preprocessing and basic data augmentation (e.g., rotation, horizontal flip) to train a more generalised model, using a pretrained ResNet50 Convolutional Neural Network (CNN), a model which is constructed for training the model, where a basic set of hyperparameters will be used (e.g., optimiser, learning rate, batch size) to detect the tumour.
Following this, the PyTorch training loop runs over 15 epochs and returns the model associated with the epoch with the best validation accuracy. Using this approach, researchers have achieved a test set accuracy of about 96%, which matches the validation results.
This open-source deep learning toolkit democratises medical imaging AI, giving developers, researchers, and partners, the power to accelerate the adoption of machine learning to improve patient outcomes and to allow clinicians to focus on their patients.