Machine Learning (ML)

Meta-Learning and Computer Vision (PyTorch with Python)

Whispering Gallery Mode (WGM) study

Research Problem: predicting the value of environmental factors (temperature and pressure) from spectrum of light rays. In Physics, changing these environmental factors cause the crest of the spectrum to shift by varying amounts.

Research Task: (1) Implement non-parametric meta-learning algorithms (2) Train neural networks on our dataset (3) Evaluate their single-task and multi-task performance

Actions: (2000+ lines of code)

  1. Implemented non-parametric meta-learning algorithms
    • Deep Neural Network (a baseline)
    • Siamese Network algorithm
    • Triplet Network algorithm
    • Triplet Network algorithm & Temporal Convolutional Network (TCN)
  2. Implemented k-fold cross-validation to tune the hyperparameters of each model
  3. Trained and tested models on a Linux server, using tmux, a utility
  4. Experimented their performance on multi-task scenario in two ways:
    • Meta-learning: Training on support dataset, then query dataset
    • Multi-task learning: Training on a super-dataset with examples from both datasets
  5. Reported results to and discussed with my supervisor weekly
  6. Discussed with physicists to confirm and update expectations for research outcome
  7. Produced well-documented, modularized code, which I circulated with resident researchers who find them helpful on their projects
  8. Reported findings in lab meetings; received feedback and discussed possible applications of the algorithms on other projects
  9. Created an easy-to-use interface for all models in Jupyter notebook

Results:

  1. Reduced the mean-square-error loss from 0.016 to 0.000081
  2. Identified the limitation of algorithms used
    • Compared to the baseline, increasingly complex non-parametric algorithms behave perform significantly better.
    • In particular, hyperparameter settings that work well for one dataset also works well on others
    • However, the amount of improvement from pre-training on supporting dataset diminishes with greater model complexity
    • Training on mixed 'super-dataset' yeilds result similar to the baseline but is much worse than the single-task performance

In Progress: Implementing Bayesian Task-Adaptive Meta-Learning algorithm

Research Problem: Implementing a PyTorch version of the Bayesian Task-Adaptive Meta-Learning (Bayesian TAML) algorithm, originally written in TensorFlow

Research Task: (1) Recreate results from the TAML paper (2) Adapt Bayesian TAML to medical projects, where data is often scarece and unevenly distributed

Actions: (2000+ lines of code)

  1. Studied the TAML paper to understand the proposed model's structure and capabilities
  2. Researched successful implementations of Model-Agnostic Meta-Learning algorithm (MAML), upon which TAML is built
  3. Created a simple, modular implementation of TAML
  4. Ongoing: verify the results from 3 against that of the original implementation

Results:

  1. Created an easy-to-use interface for TAML in Jupyter notebook

Image Reconstruction with U-Net

Research Problem: Implementing a U-Net model to sharpen blurry MRI images, using a synthetic dataset

Research Task: (1) Create a synthetic dataset from the sharp MRI images we are given (2) Train a U-Net model to convert a blurry MRI image to its sharpened version

Actions: (1000+ lines of code)

  1. Created synthetic data by applying Inverse Fourier Transform and Gaussian Noise
  2. Augmented the dataset by randomly applying mirroring, rotation, translation, and perspective to the images
  3. Trained an evaluated a U-Net model
  4. Evaluated the U-Net model using the Structural Similarity Index Measure (SSIM) and Peak Signal-to-Noise Ratio (PSNR) metrics

Results:

  1. Created an easy-to-use interface for this U-Net implementation in Jupyter notebook