25.2.5. Információelméleti fogalmak

2025.10.06.
AI Biztonság Blog

Az információ nem csupán adat. Az információelmélet, Claude Shannon úttörő munkája, matematikai keretet ad az információ kvantifikálására, tárolására és kommunikációjára. Egy Red Teamer számára ezek a fogalmak nem pusztán elméleti érdekességek; ezek adják a kulcsot a modellek bizonytalanságának, döntési folyamatainak és sebezhetőségeinek megértéséhez. Amikor egy modellt támadunk, valójában az információáramlást és -feldolgozást manipuláljuk.

Kapcsolati űrlap

AI Biztonság kérdésed van? Itt elérsz minket:

Entrópia (Shannon-entrópia)

Az entrópia egy valószínűségi változó kimenetelének átlagos bizonytalanságát, „meglepetésszerűségét” méri. Minél nagyobb az entrópia, annál kevésbé vagyunk biztosak a következő kimenetelben. A gépi tanulásban ez a fogalom alapvető, például a döntési fák építésénél, ahol minden lépésben azt a jellemzőt választjuk, amely a legjobban csökkenti az entrópát (azaz a legnagyobb információnyereséget adja).

Egy diszkrét \(X\) valószínűségi változó entrópiája, amely \(n\) lehetséges \(x_i\) értéket vehet fel \(p(x_i)\) valószínűséggel:

H(X) = – ∑i=1n p(x_i) log2(p(x_i))

A logaritmus alapja általában 2, ekkor az entrópia mértékegysége a bit. Egy esemény, amelynek valószínűsége 1 (biztos esemény), 0 entrópiával rendelkezik, mivel nincs benne bizonytalanság.

Forgatókönyv Valószínűségek (Fej, Írás) Számítás Entrópia (bit) Értelmezés
Szabályos érme P(F) = 0.5, P(Í) = 0.5 -(0.5 * log₂(0.5) + 0.5 * log₂(0.5)) 1.0 Maximális bizonytalanság. Egy bit információra van szükségünk a kimenetel megismeréséhez.
Cinkelt érme P(F) = 0.9, P(Í) = 0.1 -(0.9 * log₂(0.9) + 0.1 * log₂(0.1)) ~0.469 Alacsony bizonytalanság. Nagy valószínűséggel fejet fogunk dobni. Kevesebb mint fél bit információt hordoz egy dobás.
Kétfejű érme P(F) = 1.0, P(Í) = 0.0 -(1.0 * log₂(1.0) + 0 * log₂(0)) 0.0 Nincs bizonytalanság. A kimenetel biztos, így az esemény nem hordoz új információt.

Keresztentrópia (Cross-Entropy)

A keresztentrópia két valószínűségi eloszlás, egy „valós” eloszlás (P) és egy becsült eloszlás (Q) közötti különbséget méri. A gépi tanulásban, különösen a klasszifikációs feladatoknál, ez az egyik leggyakoribb veszteségfüggvény. Azt méri, hogy a modellünk által jósolt valószínűségi eloszlás (Q) mennyire tér el a tényleges címkék eloszlásától (P).

A cél a keresztentrópia minimalizálása, ami arra kényszeríti a modellt, hogy a jóslatai (Q) a lehető legközelebb kerüljenek a valósághoz (P).

H(P, Q) = – ∑x ∈ X P(x) log2(Q(x))

Tegyük fel, hogy egy 3 osztályos klasszifikációs problémánk van (kutya, macska, madár). A valós címke „macska”. A modellünk jóslata a következő:

  • Valós eloszlás (P): [0, 1, 0] (one-hot kódolás)
  • Modell jóslata (Q): [0.1, 0.7, 0.2] (softmax kimenet)
# Pszeudokód a keresztentrópia számítására
import numpy as np

# Valós eloszlás (a kép valójában egy macska)
P = np.array([0, 1, 0])

# A modell által jósolt valószínűségek
Q = np.array([0.1, 0.7, 0.2])

# Keresztentrópia számítása
# H(P, Q) = -(0*log(0.1) + 1*log(0.7) + 0*log(0.2)) = -log(0.7)
cross_entropy_loss = -np.sum(P * np.log(Q))

print(f"Keresztentrópia veszteség: {cross_entropy_loss:.4f}") # Eredmény kb. 0.3567

Ahogy a modell a helyes osztályra (macska) egyre nagyobb valószínűséget jósol (pl. 0.99), a `log(0.99)` értéke közelít a nullához, így a veszteség csökken.

Kullback-Leibler Divergencia (KL-Divergencia)

A KL-divergencia, más néven relatív entrópia, szintén két valószínűségi eloszlás (P és Q) közötti különbséget méri. Azt fejezi ki, hogy mennyi információt veszítünk, ha a valóságot (P eloszlás) egy egyszerűsített modellel (Q eloszlás) közelítjük.

Fontos tulajdonsága, hogy nem szimmetrikus, azaz \( D_{KL}(P || Q) \neq D_{KL}(Q || P) \). Ezért nem távolságmetrika, hanem „divergencia”.

DKL(P || Q) = ∑x ∈ X P(x) log2( P(x) / Q(x) )

A KL-divergencia szorosan kapcsolódik a keresztentrópiához és az entrópiához. A kapcsolat a következő:

Keresztentrópia = Entrópia + KL-Divergencia
H(P, Q) = H(P) + DKL(P || Q)

Mivel a tanítási adathalmaz eloszlása (P) adott és nem változik, H(P) konstans. Ezért a keresztentrópia minimalizálása ekvivalens a KL-divergencia minimalizálásával. Ez a felismerés az alapja számos generatív modell, például a Variációs Autoenkóderek (VAE) működésének.

H(P) (Entrópia) DKL(P || Q)
(KL-Divergencia)
H(P, Q) (Keresztentrópia)

Kölcsönös Információ (Mutual Information)

A kölcsönös információ két valószínűségi változó (X és Y) közötti statisztikai függőség mértéke. Azt számszerűsíti, hogy mennyi információt nyerünk az egyik változóról a másik megfigyelésével. Másképpen: mennyivel csökken X bizonytalansága (entrópiája), ha ismerjük Y értékét.

I(X; Y) = H(X) – H(X|Y) = H(Y) – H(Y|X)

Vagy a közös és marginális eloszlásokkal kifejezve:

I(X; Y) = ∑y ∈ Yx ∈ X p(x, y) log2( p(x, y) / (p(x)p(y)) )

Ha X és Y függetlenek, a kölcsönös információ nulla. Ha az egyik tökéletesen meghatározza a másikat, akkor a kölcsönös információ megegyezik a változó entrópiájával.

A Red Teaming kontextusában a kölcsönös információ releváns lehet a jellemzők fontosságának mérésében (egy bemeneti jellemző mennyi információt hordoz a kimeneti osztályról?), vagy a privacy leakage elemzésében (egy modell kimenete mennyi információt szivárogtat ki egy specifikus tanító adatpontról?).