--- license: mit tags: - image-classification - ai-detection - vision-transformer - specialist-detector - h100-optimized datasets: - ash12321/imagegbt-1.5-generated-1k - huggan/wikiart --- # ImageGBT 1.5 Specialist 🎯 Specialist detector for ImageGBT 1.5 (unfrozen last layer, 97-99% accuracy) **H100-Optimized Specialist Detector with Unfrozen Last Layer** ## Architecture - Base: Vision Transformer (ViT-base-patch16-224) - Layers 0-10: FROZEN (pretrained features) - Layer 11: UNFROZEN (learns generator-specific patterns) - Classifier: UNFROZEN (768 → 2) - Trainable Parameters: ~100,000 - Training Data: 400 images (320 train / 40 val / 40 test) ## Performance | Metric | Score | |--------|-------| | **Test Accuracy** | **0.9750** (97.50%) | | Precision | 0.9524 | | Recall | 1.0000 | | F1 Score | 0.9756 | ## Features ✅ Specialist detector (trained only on ImageGBT) ✅ Unfrozen last attention layer for generator-specific features ✅ Test-Time Augmentation (TTA) enabled ✅ Heavy regularization (prevents overfitting on small dataset) ✅ H100-optimized training ## Usage ```python from transformers import ViTForImageClassification, ViTImageProcessor from PIL import Image import torch model = ViTForImageClassification.from_pretrained("ash12321/imagegbt-1.5-specialist-h100") processor = ViTImageProcessor.from_pretrained("google/vit-base-patch16-224") image = Image.open("image.jpg") inputs = processor(images=image, return_tensors="pt") with torch.no_grad(): outputs = model(**inputs) probs = torch.softmax(outputs.logits, dim=1) if probs[0][1] > 0.5: print(f"AI-Generated (ImageGBT): {probs[0][1]:.2%}") else: print(f"Real: {probs[0][0]:.2%}") ``` ## Training Details - Training Time: 1.3 minutes - Best Epoch: 12 - Device: H100 GPU - Unique data split (seed=42) ## Limitations ⚠️ This is a **specialist** detector trained ONLY for ImageGBT. **Does NOT detect:** - Other AI image generators - General synthetic images For comprehensive AI detection, use as part of an ensemble with other specialist detectors.