Visualization Guide

Erasus provides 13 visualisation modules for analysing and communicating unlearning results.

Loss Curves

Track forget/retain loss during unlearning:

from erasus.visualization.loss_curves import plot_loss_curves

plot_loss_curves(
    forget_losses=result.forget_loss_history,
    retain_losses=result.retain_loss_history,
    title="Unlearning Progress",
)

Feature Space Plots

Visualise embedding space with PCA or t-SNE:

from erasus.visualization.feature_plots import plot_feature_space

plot_feature_space(
    model=model,
    forget_data=forget_loader,
    retain_data=retain_loader,
    method="tsne",
)

MIA Analysis

Plot membership inference attack confidence distributions:

from erasus.visualization.mia_plots import plot_mia_histogram

plot_mia_histogram(
    forget_confidences=forget_confs,
    retain_confidences=retain_confs,
)

Attention Maps

Visualise attention patterns before/after unlearning:

from erasus.visualization.attention import plot_attention_maps

plot_attention_maps(
    model=model,
    input_data=sample_batch,
    heads=[0, 4, 8],
)

Gradient Analysis

Compare gradient magnitudes per layer:

from erasus.visualization.gradients import plot_gradient_norms

plot_gradient_norms(model, forget_loader)

Comparison Plots

Side-by-side comparison of strategies:

from erasus.visualization.comparisons import plot_strategy_comparison

plot_strategy_comparison(
    results_dict={
        "Gradient Ascent": ga_metrics,
        "SCRUB": scrub_metrics,
        "Fisher": fisher_metrics,
    },
    metric_names=["accuracy", "mia_auc", "time"],
)

Influence Maps

Visualise data point influence on model predictions:

from erasus.visualization.influence_maps import InfluenceMapVisualizer

viz = InfluenceMapVisualizer()
viz.plot_ranking(influence_scores, labels=labels, top_k=20)
viz.plot_heatmap(scores_matrix, row_labels=forget_ids, col_labels=param_names)

Interactive Reports

Generate comprehensive HTML reports:

from erasus.visualization.reports import generate_report

generate_report(
    results=all_metrics,
    output_path="unlearning_report.html",
)