GithubHelp home page GithubHelp logo

jacob-thrasher / te-ssl Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 299 KB

Code for "TE-SSL: Time and Event-Aware Self Supervised Learning for Alzheimer's Disease Progression Analysis"

License: MIT License

Python 100.00%

te-ssl's Introduction

TE-SSL: Time and Event-Aware Self-Supervised Learning for Alzheimer's Disease Progression Analysis

This repository contains supplementary code for Time and Event-Aware Self-Supervised Learning for Alzheimer's Disease Progression Analysis, published in The Medical Image Computing and Computer Assisted Intervention Society (MICCAI) 2024. In this work, we analyze the effect of incorporating time and event labels to a self-supervised pretraining pipeline for survival analysis of Alzheimer's Dementia.

Figure: Schematic diagram of the proposed time- and event-aware SSL, where $\Delta_{*, *}$ represents the time difference between two embedded data elements $z_*$

Loss Function

Usage:

from lib.Loss import TESSL_Loss

# alpha and beta define maximum and minimum weight
loss_fn = TESSL_loss(alpha=1, beta=0.5)

# features in [batch_size, n_views, dim]
# events, times in [batch_size]
tessl_loss = loss_fn(features, labels=events, times=times)

# Compute SupCon by excluding times
supcon_loss = loss_fn(features, labels=events, times=None)

# Compute SimCLR by exluding events and times
simclr_loss = loss_fn(features, labels=None, times=None)

Data

Our data consists of a cohort of 493 unique patients from the ADNI dataset (link). Specific data splits can be found in datasets/files folder. Images were preprocessed via Clinica according to process define in "Generalizable deep learning model for early Alzheimer's Disease detection from structural MRIs". Refer to here for more details

Discriminative results

Comparison against regular SSL, Event-Aware SSL and No Pretaining baseline. Results averaged across 3 seeds

Method C-td IBS
No Pretraining 0.7329 0.2099
SSL 0.7511 0.1985
E-SSL 0.7720 0.1997
TE-SSL 0.7873 0.1889

Embedding visualization

t-SNE visualization demonstrates superior seperability for TE-SSL embeddings compared to SSL and E-SSL.

Figure: t-SNE analysis of feature representations captured by the projection head across different SSL frameworks. Individual points, if nto censored, are labeld with different time-to-event groups

te-ssl's People

Contributors

jacob-thrasher avatar

Watchers

Kostas Georgiou avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.