This project aims to integrate domain knowledge with deep learning through an intuitive interface designed for medical professionals. It leverages the Marcelle package, developed by researchers at LISN, to create a user-friendly experience.
- Marcelle: A JavaScript package for interactive machine learning, facilitating the development of intuitive interfaces.
- FastAPI: A modern web framework for building APIs with Python.
- Bayesian Neural Networks (BNN): A combination of pre-trained Convolutional Neural Networks (CNN) and Bayesian Neural Networks for robust model training.
The primary goal of this project is to combine domain expertise with deep learning techniques, making advanced machine learning models accessible and usable by medical professionals through a highly intuitive interface.
- Active Learning & Model Teaching: The user/oracle (a doctor) labels uncertain predictions, helping refine the Bayesian Neural Network over time.
- Model Retraining: Newly labeled data is incorporated into the training set, and the model is retrained through the interface.
- Performance Visualization: The interface provides real-time feedback with performance metrics, uncertainty visualization, and interactive charts.
- TensorBoard Integration: Training logs and model evolution can be monitored live via TensorBoard.
The application consists of three main tabs (+ home), allowing the user to interact with different aspects of the model:
app/
: Contains the frontend application built with the IML Marcelle package.ml/
: Machine learning scripts for data collection, model training, and inference.checkpoints/
: Directory for storing model checkpoints.fastapi_app.py
: The backend application using FastAPI.
Follow these steps to set up and run the project.
git clone https://github.com/ilanaliouchouche/Model-Teaching-in-Health-With-BNN-and-Active-Learning.git
cd Model-Teaching-in-Health-With-BNN-and-Active-Learning
pip install -e .
python ml/collect_data.py
python fastapi_app.py
cd app/app
npm install
npm run dev