What has been done till now #24
Knight-Fury1102
announced in
Announcements
Replies: 1 comment
-
|
Can use the above, to know how much is done and start from there |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Machine Unlearning
Okay, let us begin developing this Machine Unlearning Project. This document serves as the internal architectural context and state-tracker.
Infrastructure Setup (Completed)
Core Pipeline Implementation (Completed)
The foundational pipeline has been engineered with strict separation of concerns, deterministic execution, and a YAML-driven configuration cascade.
1. Data Preparation (
src/data/)ImageDatasetwith deterministicclass_to_idxmappings.generate_splitssupporting bothclassandrandomunlearning paradigms. Guaranteed strict mutual exclusivity..pt) to prevent redundant processing, and the dataset object is passed directly back to the orchestrator.2. Model Architecture & Registry (
src/models/)get_model) to route configurations to specific architectures.ResNet18class. It detects target datasets (e.g., CIFAR) and dynamically patches the computational graph (swapping 7x7 conv for 3x3, bypassing ImageNet maxpool) to preserve 32x32 spatial dimensions natively without upstream image resizing.**kwargsinjection (e.g., dropout routing).3. Training Engine (
src/models/)utils.py/setup_optimizers.py) to completely decouple hyperparameter logic from the training loop.train_modelloop with aggressive memory management (set_to_none=True,non_blocking=Truefor GPU transfers).tqdmfor real-time loss, accuracy, and learning rate monitoring.CosineAnnealingLRscheduling for stable convergence. Triggered via a factory method, same as Optimizer.1e-3) to floats, preventing scheduler crash loops.4. Unlearning Engine & Config Cascade (
src/unlearning/)exact_retrainas the mathematical ground-truth (train_modellogic (CosineAnnealing, early stopping) for a perfectly identical hyperparameter environment.unlearn.py). Hyperparameters explicitly defined in[unlearning]override the baseline; otherwise, they strictly inherit from the[training]block, falling back to centralized defaults.5. Membership Inference Attack & Privacy Evaluation (
src/evaluation/) (Completed)evaluation/shadow_models.py) mapped to random overlapping data subsets.evaluation/extract_attack_data.py) that executes target models to harvest dynamic sizes of features (sorted probabilities, one-hot encoded true labels, and the dynamic individual training loss).AttackMLP, a 2-layer binary classifier, trained usingBCEWithLogitsLossandReduceLROnPlateauscheduling.6. Central Orchestrator (
run.py).ptartifacts and safely skips phases unless theoverride: Trueflag is explicitly set in the YAML.test_datasetinto the MIA evaluation loop for standard privacy auditing against unseen data.Current Status & Next Immediate Steps (End of Session Checkpoint)
Status: The benchmark and evaluation infrastructure (P6/P7 scope) is 100% complete and verified with robust pytests. Pre-flight checks (DVC, Pytests, Config validation) are done, and the PR for the MIA evaluation suite is ready to be merged into$M$ ) and exact retrain model ($M^*$ ) have been successfully evaluated, providing a verified privacy yardstick.
main. The baseline model (Next Session Goals (Team Handoff):
gradient_ascent.py. Integrate dual-loop ascent/descent with gradient clipping.fisher_forgetting.py. Implement diagonal FIM computation and calibrated noise injection.Mode of development:
MagicMock) to bypass heavy I/O and keep CI fast.Beta Was this translation helpful? Give feedback.
All reactions