machine-unlearning

Machine Unlearning Framework

https://github.com/rianaazad/machine-unlearning

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (4.0%) to scientific vocabulary

Keywords

machine-unlearning machine-unlearning-framework unlearning
Last synced: 6 months ago · JSON representation ·

Repository

Machine Unlearning Framework

Basic Info
  • Host: GitHub
  • Owner: RianaAzad
  • License: mit
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 8.79 KB
Statistics
  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
machine-unlearning machine-unlearning-framework unlearning
Created about 1 year ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation

README.md

Machine Unlearning: Theory and Implementation

What is Machine Unlearning?

Machine unlearning addresses the challenge of selectively "forgetting" specific training data points from a trained model without complete retraining. This capability is crucial for: - Privacy compliance (e.g., GDPR's "right to be forgotten") - Model maintenance and updating - Removing corrupted or incorrect training samples - Security and privacy protection

Theoretical Foundation

Core Concepts

  1. Learning-Unlearning Duality

    • Learning: Process of incorporating data patterns into model parameters
    • Unlearning: Process of removing data influence while preserving other learned patterns
  2. Catastrophic Forgetting Prevention

    • Challenge: Removing specific data without affecting other learned patterns
    • Solution: Targeted parameter updates that isolate and remove specific influences
  3. Verification Metrics

    • Removal Effectiveness: Ensuring complete removal of target data influence
    • Performance Preservation: Maintaining model accuracy on remaining data
    • Efficiency: Computational cost compared to full retraining

Implementation Approaches

  1. SISA (Sharded, Isolated, Sliced, Aggregated) Training
    • Data is divided into shards during training
    • Each shard trains an independent model
    • Unlearning requires retraining only affected shards
    • Advantages: Efficient, scalable
    • Limitations: Potential performance impact from sharding

Owner

  • Login: RianaAzad
  • Kind: user

Citation (citation.cff)

cff-version: 1.0.0
message: "If you use this repository, please cite it as below."
authors:
- family-names: "Riana"
  given-names: "Azad"
  orcid: "https://orcid.org/0009-0007-6148-0107"
title: "machine-unlearning"
version: 1.0.0
date-released: 2024-12-15
url: "https://github.com/RianaAzad/machine-unlearning"

GitHub Events

Total
  • Watch event: 1
  • Push event: 6
Last Year
  • Watch event: 1
  • Push event: 6

Dependencies

requirements.txt pypi
  • PyYAML >=5.4.0
  • jupyter >=1.0.0
  • matplotlib >=3.4.0
  • numpy >=1.21.0
  • pandas >=1.3.0
  • pytest >=6.2.0
  • scikit-learn >=0.24.0
  • seaborn >=0.11.0
  • torch >=2.0.0
  • torchvision >=0.15.0