metadata
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
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.