{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/snuffy-efficient-whole-slide-image-classifier","title":"Snuffy: Efficient Whole Slide Image Classifier","arxiv_id":"2408.08258","date":"2024-08-15","proceeding":null,"authors":["Hossein Jafarinia","Alireza Alipanah","Danial Hamdi","Saeed Razavi","Nahal Mirzaie","Mohammad Hossein Rohban"],"abstract":"Whole Slide Image (WSI) classification with multiple instance learning (MIL) in digital pathology faces significant computational challenges. Current methods mostly rely on extensive self-supervised learning (SSL) for satisfactory performance, requiring long training periods and considerable computational resources. At the same time, no pre-training affects performance due to domain shifts from natural images to WSIs. We introduce Snuffy architecture, a novel MIL-pooling method based on sparse transformers that mitigates performance loss with limited pre-training and enables continual few-shot pre-training as a competitive option. Our sparsity pattern is tailored for pathology and is theoretically proven to be a universal approximator with the tightest probabilistic sharp bound on the number of layers for sparse transformers, to date. We demonstrate Snuffy's effectiveness on CAMELYON16 and TCGA Lung cancer datasets, achieving superior WSI and patch-level accuracies. The code is available on https://github.com/jafarinia/snuffy.","url_abs":"https://arxiv.org/abs/2408.08258v3","url_pdf":"https://arxiv.org/pdf/2408.08258v3.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"snuffy-efficient-whole-slide-image-classifier","repo_url":"https://github.com/jafarinia/snuffy","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"breast-cancer-detection","task_name":"Breast Cancer Detection"},{"task_slug":"lung-cancer-diagnosis","task_name":"Lung Cancer Diagnosis"},{"task_slug":"multiple-instance-learning","task_name":"Multiple Instance Learning"},{"task_slug":"self-supervised-learning","task_name":"Self-Supervised Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/multiple-instance-learning-on-camelyon16","task":"Multiple Instance Learning","dataset":"CAMELYON16","model":"Snuffy (DINO Exhaustive)","rank_in_archive_order":1,"of":14,"metrics":{"ACC":"0.948","AUC":"0.987","Expected Calibration Error":"0.083","FROC":"0.675","Patch AUC":"0.957"},"uses_additional_data":false},{"leaderboard":"/sota/multiple-instance-learning-on-camelyon16","task":"Multiple Instance Learning","dataset":"CAMELYON16","model":"Snuffy (SimCLR Exhaustive)","rank_in_archive_order":2,"of":14,"metrics":{"ACC":"0.952","AUC":"0.970","Expected Calibration Error":"0.057","FROC":"0.622","Patch AUC":"0.980"},"uses_additional_data":false},{"leaderboard":"/sota/multiple-instance-learning-on-camelyon16","task":"Multiple Instance Learning","dataset":"CAMELYON16","model":"Snuffy (MAE Adapter)","rank_in_archive_order":11,"of":14,"metrics":{"ACC":"0.900","AUC":"0.910","Expected Calibration Error":"0.078","FROC":"0.543","Patch AUC":"0.873"},"uses_additional_data":false},{"leaderboard":"/sota/multiple-instance-learning-on-elephant","task":"Multiple Instance Learning","dataset":"Elephant","model":"Snuffy","rank_in_archive_order":1,"of":2,"metrics":{"ACC":"0.923","AUC":"0.967"},"uses_additional_data":false},{"leaderboard":"/sota/multiple-instance-learning-on-musk-v1","task":"Multiple Instance Learning","dataset":"Musk v1","model":"Snuffy","rank_in_archive_order":1,"of":2,"metrics":{"ACC":"0.961","AUC":"0.989"},"uses_additional_data":false},{"leaderboard":"/sota/multiple-instance-learning-on-musk-v2","task":"Multiple Instance Learning","dataset":"Musk v2","model":"Snuffy","rank_in_archive_order":2,"of":2,"metrics":{"ACC":"0.789","AUC":"0.985"},"uses_additional_data":false},{"leaderboard":"/sota/multiple-instance-learning-on-tcga","task":"Multiple Instance Learning","dataset":"TCGA","model":"Snuffy (SimCLR Exhaustive)","rank_in_archive_order":2,"of":8,"metrics":{"ACC":"0.947","AUC":"0.972"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2408.08258","mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}