Model Watermarking & IP Protection

Embed and detect watermarks in ML models to prove ownership and detect model theft.

Marcos Martín
Model Watermarking & IP Protection

This project focuses on intellectual property protection for machine learning models using watermarking techniques. It implements and evaluates both trigger-based and parameter-perturbation watermarking methods to assert model ownership, ensuring resilience against removal attacks and model extraction.

Tech Stack

  • PyTorch · TensorFlow
  • Watermark embedding and detection pipelines
  • Resilience and tampering evaluation framework

Example (Trigger-set Watermarking)


# Embed watermark by fine-tuning with trigger images
trigger_data, trigger_labels = generate_trigger_set()
model.train()
for x, y in zip(trigger_data, trigger_labels):
    out = model(x.unsqueeze(0))
    loss = criterion(out, y.unsqueeze(0))
    loss.backward()
    optimizer.step()

# Later: verify watermark by testing trigger accuracy
verify_score = evaluate_watermark(model, trigger_data, trigger_labels)
print(f"Watermark verification score: {verify_score:.2f}")

Project Highlights

  • Trigger-based Watermarking: Embed synthetic patterns that cause known model outputs.
  • Parameter Perturbation: Introduce imperceptible weight changes as ownership signatures.
  • Robustness Evaluation: Test watermark survival after pruning, fine-tuning, and extraction attacks.
  • Detection Pipeline: Statistical verification of ownership using watermark response metrics.

Artifacts