Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/fzjcdt/co-weight-drift
मशीन लर्निंगपेपर और शोधAI सुरक्षाप्रतिकूल हमला
GitHubfzjcdt/co-weight-drift

co-weight-drift

PyTorch संदर्भ कार्यान्वयन एक तेज़ adversarial प्रशिक्षण विधि का, जो युग्मित उद्देश्यों और EMA-आधारित weight-drift गार्ड के माध्यम से विनाशकारी overfitting को रोकता है, साथ में AutoAttack मूल्यांकन।

रिपॉजिटरी देखें
363 दिन पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Catastrophic Overfitting एक Weight Drift है जिसे Training Loss नहीं देख सकता

ऊपर दिए गए पेपर में वर्णित विधि का संदर्भ PyTorch कार्यान्वयन। Fast adversarial training (FAT) catastrophic overfitting (CO) से ग्रस्त है: FGSM robust accuracy ऊँची बनी रहती है जबकि PGD robust accuracy कुछ ही epochs में धराशायी हो जाती है। यह कोडबेस पेपर के दो योगदानों को लागू करता है:

  1. Mechanism. CO उन दिशाओं में weight drift है जिन्हें training loss नहीं देख सकता: one-step (FGSM-style) attack loss को perturbations के एक subspace के प्रति अंधा बना देता है, weights उसके माध्यम से drift करते हैं, और BN re-calibration उस drift को gradient masking में बदल देता है। weights का EMA पूरे समय robust basin में बना रहता है — training run अपना स्वयं का pre-collapse anchor साथ रखता है।
  2. Method. एक coupled base objective (दो coupling scales जो एक-दूसरे के failure modes को कवर करते हैं) के साथ एक guard: प्रत्येक epoch के बाद, यदि validation PGD-10 accuracy running best से θ = 0.08 (8 accuracy points) से अधिक गिर जाती है, तो raw weights को उनके स्वयं के EMA पर recentre किया जाता है, 3-epoch cooldown और 5-fire budget के साथ। guard में शून्य अतिरिक्त forward या backward passes का खर्च आता है और स्वस्थ trajectories पर कभी fire नहीं होता।

परिणाम

पूर्ण मानक AutoAttack (AA) और constraint-relaxation attack (CR) के अंतर्गत Robust accuracy (%), ε = 8/255, ResNet18 (Tiny-ImageNet पर PreActResNet18), mean ± sample std। Baseline पंक्तियाँ समान प्रोटोकॉल के अंतर्गत FastAT_Benchmark के जारी किए गए परिणाम हैं।

MethodC10 AAC10 CRC100 AAC100 CRTiny AATiny CR
PGD-AT-WA (multi-step ref.)50.49±0.1550.51±0.1626.90±0.1726.87±0.1719.77±0.1619.75±0.13
NuAT50.10±0.1850.11±0.1914.41±3.2917.66±0.4210.20±0.4410.19±0.44
LIET49.99±0.1549.93±0.1526.64±0.1326.63±0.1419.88±0.0919.86±0.07
FGSM-PGI49.89±0.0849.89±0.1226.29±0.1626.31±0.1219.55±0.1119.52±0.12
FGSM-FUAP49.73±0.1249.71±0.1225.95±0.0825.94±0.0519.10±0.1819.09±0.19
FGSM-CUAP49.55±0.2249.54±0.2225.85±0.5025.83±0.4919.19±0.0919.20±0.11
Base + guard (ours)50.45±0.2050.44±0.1627.15±0.0427.20±0.0720.47±0.1120.54±0.15

तीनों datasets पर सभी fast methods में सबसे मजबूत AutoAttack और CR accuracy, FAT लागत पर (~0.7–1.1 h/run एक A100 पर, बनाम multi-step reference के लिए ~2 h)। CIFAR-10 पर unguarded base एक coin flip है: 4 में से 2 seeds CO artifacts (AutoAttack 7.5) में collapse हो जाते हैं जबकि शेष guarded पंक्ति (50.67±0.08) से मेल खाते हैं — guard का प्रभाव ठीक इसी failure mode के उन्मूलन में है। उल्लेखनीय रूप से, AutoAttack के FAB-T और square घटक हमारे सभी जारी किए गए checkpoints पर शून्य अतिरिक्त points पाते हैं (कोई gradient masking signature नहीं)। Per-seed संख्याएँ और raw logs: logs/।

सेटअप

pip install -r requirements.txt

Python 3.12, torch 2.5.1, torchvision 0.20.1, torchattacks 3.5.1, CUDA 12.4 के साथ A100-PCIE-40GB पर परीक्षण किया गया। इस रेपो में autoattack/ डायरेक्टरी वह वेंडर की गई प्रति है जिसके साथ जारी किए गए नंबर तैयार किए गए थे (Francesco Croce का AutoAttack); रेपो रूट से चलाने पर यह किसी भी pip-इंस्टॉल की गई प्रति पर प्राथमिकता ले लेता है।

प्रशिक्षण

train.py पेपर की विधि को लागू करता है; डिफ़ॉल्ट CIFAR-10 रेसिपी हैं।

# CIFAR-10 (γ_max=4.0, m_max=2.5, λ_d=0.3, guard θ=0.08) — 4 seeds
bash scripts/train_cifar10.sh 0            # GPU 0, seeds 0 1 2 3

# CIFAR-100 (γ_max=1.25, m_max=4.5, λ_d=0)
bash scripts/train_cifar100.sh 0

# Tiny-ImageNet (PreActResNet18, γ_max=1.0, m_max=2.5, λ_d=0)
bash scripts/train_tiny.sh 0

# or a single run directly (equivalent to the CIFAR-10 script)
python train.py --dataset cifar10 --seed 0 --gpu 0 \
    --nuc-max 4.0 --mse-extra 2.5 --lam-d 0.3 --guard val --guard-thr 0.08 \
    --out-dir results/cifar10/guard_s0

प्रत्येक रन train.log (प्रति-एपॉक raw और EMA वेट्स का val PGD-10, guard-fire पंक्तियाँ), probe.csv (वैकल्पिक बैच-स्तरीय CO डायनामिक्स), और best.pth / last.pth / ema_last.pth लिखता है। best.pth वह एपॉक है जिसमें उच्चतम वैलिडेशन PGD-10 है (raw बनाम EMA वेट्स, टाई clean accuracy से तय होती है)।

मेथड स्विचेस

  • --guard none गार्ड को अक्षम करता है (अनगार्डेड बेस; CIFAR-10 पर CO कॉइन फ्लिप की अपेक्षा करें)।
  • --init-style bu पर्टर्बेशन इनिट को पेपर के 0.5ε पर ताज़ा हाफ-साइन से बदलकर 70% ±ε Rademacher / 30% U[−ε, ε] कर देता है।
  • --probe-every 0 डायग्नोस्टिक प्रोब्स को अक्षम करता है। ध्यान दें कि प्रोब्स RNG का उपभोग करते हैं और इसलिए ट्रेनिंग ट्रैजेक्टरी को विक्षुब्ध करते हैं (पेपर में रिपोर्ट किया गया "instrumentation lottery") — इस फ्लैग को उस रिलीज़्ड रन से मिलाएँ जिससे आप तुलना कर रहे हैं (देखें logs/README.md)।

मूल्यांकन

# complete standard AutoAttack + CR attack, full test set, bs=200
bash scripts/eval.sh results/cifar10/guard_s0 0            # GPU 0, ResNet18
bash scripts/eval.sh results/tiny-imagenet/guard_s0 0 preact18

# or individually
python aa_eval.py --run-dir results/cifar10/guard_s0 --gpu 0 --full   # autoattack_full.log
python cr_eval.py --run-dir results/cifar10/guard_s0 --gpu 0          # cr_attack.log

aa_eval.py --full पूरा मानक सूट (apgd-ce, apgd-t, FAB-T, square) चलाता है — पेपर में हर AA संख्या का प्रोटोकॉल। --full के बिना यह बेंचमार्क का 2-हमला विकास संस्करण (apgd-ce + apgd-t) चलाता है, जो हमारे मॉडलों पर अधिकतम 0.02 से भिन्न होता है।

रेपो लेआउट

train.py                 # coupled FAT + EMA self-anchor guard (the method)
aa_eval.py               # AutoAttack evaluation (full suite / 2-attack variant)
cr_eval.py               # CR attack evaluation
models/                  # ResNet18 / PreActResNet18 (from FastAT_Benchmark)
utils/                   # datasets, seeding, logger (from FastAT_Benchmark)
attacks/                 # CR attack (from FastAT_Benchmark)
autoattack/              # vendored AutoAttack (Francesco Croce, fra31)
scripts/                 # per-dataset training launchers + eval
logs/                    # raw logs of every run behind the paper's tables

प्रोटोकॉल

FastAT_Benchmark के समान: ResNet18 (CIFAR-10/100) और PreActResNet18 (Tiny-ImageNet); ε = 8/255; 100 epochs; SGD (lr 0.1, momentum 0.9, weight decay 5e-4) OneCycleLR के साथ; batch size 128; 49 000 / 1 000 train / val विभाजन; label smoothing 0.4; validation PGD-10 द्वारा मॉडल चयन; पूर्ण परीक्षण सेट पर PGD-{10,20,50}, AutoAttack और CR attack के साथ मूल्यांकन। सभी रन cudnn deterministic मोड के साथ set_seed का उपयोग करते हैं।

श्रेय

  • बेंचमार्क स्कैफ़ोल्डिंग (models/, utils/, attacks/ CR attack) और सभी बेसलाइन परिणाम FastAT_Benchmark से हैं — यदि आप तुलना संख्याओं का उपयोग करते हैं तो कृपया इसे उद्धृत करें।
  • autoattack/ Francesco Croce द्वारा AutoAttack है (अपरिवर्तित रूप में vendored)।
  • आधार उद्देश्य NuAT (nuclear-norm logit coupling), FGSM-PGI (per-example MSE coupling) और DualC (MSE ramp) के विचारों पर आधारित है, और init योजना NuAT का अनुसरण करती है; पूर्ण उद्धरणों के लिए पेपर देखें।

उद्धरण

पेपर समीक्षाधीन है। यदि आप इस कोड का उपयोग करते हैं, तो कृपया BibTeX प्रविष्टि उपलब्ध होने तक इसे इसके शीर्षक से उद्धृत करें:

लाइसेंस

MIT (देखें LICENSE)। वेंडर की गई तृतीय-पक्ष फ़ाइलें अपने अपस्ट्रीम लाइसेंस और कॉपीराइट हेडर बनाए रखती हैं।

टूल डाउनलोड करें