25.2.5. Információelméleti fogalmak

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.

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?).

Rácz-Akácosi Attila

AI Biztonsági Szakértő

Két évtized analitikai, elemzői háttérrel. 2017 óta foglalkozunk mesterséges intelligenciával.
Az utóbbi években AI/LLM biztonságra és AI Red Teaming-re specializálódtunk. 
Rendszerszintű gondolkozás hibalisták helyett.