Skip to content

Integrated Gradients

Anaconda Protocol edited this page Jul 10, 2026 · 1 revision

✅ Integrated Gradients

Integrated Gradients adalah salah satu teknik Explainable AI yang paling akurat dan stabil untuk model deep learning. Metode ini menghitung kontribusi setiap fitur dengan cara mengintegrasikan gradient dari baseline (titik awal) menuju input asli.

Keunggulan Integrated Gradients

  • Memberikan atribusi yang lebih adil dibandingkan metode lain.
  • Cocok untuk model kompleks seperti Vision Transformer di SITS atau Muse Spark.
  • Memenuhi beberapa axioma penting dalam XAI (sensitivity, implementation invariance).

Contoh Simulasi Code Python

import torch
import torch.nn.functional as F
import matplotlib.pyplot as plt
import numpy as np

# Simple neural network example (simulating threat scoring model)
class SimpleModel(torch.nn.Module):
    def __init__(self):
        super().__init__()
        self.fc1 = torch.nn.Linear(4, 16)
        self.fc2 = torch.nn.Linear(16, 1)
    
    def forward(self, x):
        x = F.relu(self.fc1(x))
        return torch.sigmoid(self.fc2(x))

model = SimpleModel()

# Sample input (features: location, comms, age, gender)
input_tensor = torch.tensor([[1.0, 1.0, 25.0, 1.0]], requires_grad=True)
baseline = torch.zeros_like(input_tensor)  # Baseline (all zeros)

# Integrated Gradients calculation
def integrated_gradients(model, input_tensor, baseline, steps=50):
    scaled_inputs = [baseline + (float(i)/steps) * (input_tensor - baseline) for i in range(steps + 1)]
    scaled_inputs = torch.cat(scaled_inputs, dim=0)
    scaled_inputs.requires_grad_(True)
    
    outputs = model(scaled_inputs)
    gradients = torch.autograd.grad(outputs.sum(), scaled_inputs)[0]
    
    avg_gradients = gradients.mean(dim=0)
    integrated_grads = (input_tensor - baseline) * avg_gradients
    return integrated_grads

# Compute
ig_values = integrated_gradients(model, input_tensor, baseline)

# Visualization
features = ['Location Hotspot', 'Night Comm', 'Age', 'Male']
ig_values_np = ig_values.detach().numpy()[0]

plt.figure(figsize=(10, 6))
plt.bar(features, ig_values_np)
plt.title('Integrated Gradients - Feature Attribution')
plt.ylabel('Attribution Score')
plt.axhline(0, color='black', linestyle='--')
plt.show()

Interpretasi Contoh

Dari grafik di atas, kita bisa melihat fitur mana yang paling berkontribusi terhadap keputusan model.
Contoh: Jika Location Hotspot memiliki nilai attribution tertinggi, berarti fitur ini sangat memengaruhi vonis “target mati”.


📂 Struktur Wiki

Clone this wiki locally