wambosec/adversarial-mnist
MNIST with Adversarial Examples This dataset contains MNIST images with both normal and adversarial examples. The dataset includes: Original MNIST digit images (28x28 pixels, flattened to 784 features) Adversarial examples generated from the original images Labels for digit classification (0-9) Binary flag indicating whether each sample is adversarial Features: label: Digit class (0-9) pixels 0-783: Flattened 28x28 grayscale pixel values is_adversarial: Binary flag (0 =… See the full description on the dataset page: https://huggingface.co/datasets/wambosec/adversarial-mnist.
MNIST with Adversarial Examples
This dataset contains MNIST images with both normal and adversarial examples.
The dataset includes:
- Original MNIST digit images (28x28 pixels, flattened to 784 features)
- Adversarial examples generated from the original images
- Labels for digit classification (0-9)
- Binary flag indicating whether each sample is adversarial
Features:
- label: Digit class (0-9)
- pixels 0-783: Flattened 28x28 grayscale pixel values
- is_adversarial: Binary flag (0 = normal, 1 = adversarial)
This dataset is useful for:
- Training robust classifiers
- Studying adversarial examples
- Evaluating model vulnerability to adversarial attacks
- Developing adversarial defense mechanisms
Dataset Statistics
- Training samples: 120,000
- Normal: 60,000
- Adversarial: 60,000
- Test samples: 20,000
- Normal: 10,000
- Adversarial: 10,000
- Features: 784 pixel values + 1 label + 1 adversarial flag
- Classes: 10 (digits 0-9)
Dataset Structure
The dataset contains the following columns:
label: The digit class (0-9)0to783: Flattened 28x28 grayscale pixel values (0-255)is_adversarial: Binary flag (0 = normal image, 1 = adversarial image)
Usage
from datasets import load_dataset
# Load the dataset
dataset = load_dataset("wambosec/adversarial-mnist")
# Access train and test splits
train_data = dataset['train']
test_data = dataset['test']
# Convert to pandas for easier manipulation
import pandas as pd
train_df = train_data.to_pandas()
# Separate normal and adversarial examples
normal_examples = train_df[train_df['is_adversarial'] == 0]
adversarial_examples = train_df[train_df['is_adversarial'] == 1]
# Get pixel data for visualization
pixels = train_df[[str(i) for i in range(784)]].values
images = pixels.reshape(-1, 28, 28)Applications
This dataset is useful for:
- Adversarial robustness research: Training and evaluating robust classifiers
- Attack detection: Developing methods to detect adversarial examples
- Defense mechanisms: Testing adversarial defense strategies
- Benchmarking: Comparing model performance on clean vs adversarial data
Citation
@dataset{ adversarial_mnist, title={MNIST with Adversarial Examples}, author={wambosec}, year={2025}, url={https://huggingface.co/datasets/wambosec/adversarial-mnist} }
Adversarial examples from: https://www.kaggle.com/datasets/sudulakishore/mnist-fgsm Normal MNIST from: https://www.kaggle.com/datasets/hojjatk/mnist-dataset
License
This dataset is released under the mit license.
