Förklarbarhet för slutanvändare
Kunna välja förklaringsmetod (SHAP, regler) efter mottagare och juridiska krav.
Förkunskaper
Intuition
«Förklarbarhet» betyder olika saker för olika mottagare — och kräver olika saker:
| Mottagare | Vill veta | Lämplig form |
|---|---|---|
| Den berörda | varför blev det så för mig, och vad kan jag göra? | kontrafaktisk: «med 3 månaders längre anställning hade svaret blivit ja» |
| Handläggaren | kan jag lita på det här fallet? | de avgörande faktorerna + konfidens + liknande fall |
| Utvecklaren | var går det fel? | SHAP, felanalys, lagerprofiler |
| Revisor/tillsyn | är systemet rättvist och dokumenterat? | modellkort, utvärdering per grupp, loggar |
Kontrafaktiska förklaringar är oftast bäst för slutanvändare: de är konkreta, handlingsbara och kräver inte att man förstår modellen.
Formellt
Juridiken i korthet. GDPR artikel 22 ger rätt att inte bli föremål för enbart automatiserat beslutsfattande med rättsliga eller liknande betydande följder, och artiklarna 13–15 kräver «meningsfull information om logiken» bakom sådana beslut. Exakt hur långt det sträcker sig är omdiskuterat, men riktningen är tydlig: automatiserade beslut med betydande konsekvenser kräver mänsklig inblandning och en begriplig motivering.
EU:s AI-förordning skärper detta för högrisksystem (bland annat utbildning, rekrytering och kreditgivning) med krav på dokumentation, mänsklig tillsyn och loggning.
Tre fällor att undvika:
- Förklaringar som inger falskt förtroende. En snygg saliency-karta får användaren att lita mer på ett fel beslut. Förklaringen måste vara trogen, annars gör den skada.
- Förklaringar som inte går att agera på. «Din ansökan avslogs på grund av variabel x₄₇» hjälper ingen.
- Förklaringar som avslöjar för mycket. Exakta tröskelvärden i ett bedrägerisystem är en bruksanvisning för den som vill kringgå det.
För AI-grafen betyder det konkret: när plattformen säger «du behöver repetera gradient descent först» ska motiveringen vara den faktiska orsaken (mastery-värde och förkunskapskedjan), inte en efterhandskonstruktion — och eleven ska kunna se sina egna mätvärden.
Kod
import numpy as np
def kontrafaktisk(modell, x, features, riktning=1, steg=40):
"""Minsta ändring i EN feature som vänder beslutet. Enkel men användbar variant."""
bas = modell.predict_proba([x])[0, 1]
forslag = []
for i, namn in enumerate(features):
for delta in np.linspace(0, 3 * np.std(X_tr[:, i]), steg)[1:]:
xp = x.copy(); xp[i] += riktning * delta
if (modell.predict_proba([xp])[0, 1] > 0.5) != (bas > 0.5):
forslag.append({"feature": namn, "andring": round(float(riktning * delta), 2),
"fran": round(float(x[i]), 2), "till": round(float(xp[i]), 2)})
break
return sorted(forslag, key=lambda f: abs(f["andring"]))[:3]
for f in kontrafaktisk(modell, x_ansokan, FEATURES):
print(f"Om {f['feature']} vore {f['till']} i stället för {f['fran']} hade beslutet blivit ett annat.")
Formuleringen är viktig: konkret, i användarens språk, och handlingsbar — inte «SHAP-värdet för feature 12 är −0,43».
Behärskning innebär
- Väljer förklaringsmetod efter mottagare
- Känner till juridiska krav på förklaring
- Undviker förklaringar som inger falskt förtroende
Logga in för att göra övningarna och bygga upp din behärskning.
Källor
- GDPR — förordning (EU) 2016/679, art. 13–15 och 22 — EU-rättsakt
- arXiv — Counterfactual Explanations without Opening the Black Box — arXiv (öppen åtkomst; licens per artikel)