26.3.1 Robusztusság mérő algoritmusok

2025.10.06.
AI Biztonság Blog

A modell sebezhetőségének puszta azonosítása csak a Red Teaming folyamat első lépése. Az igazi mérnöki kérdés az, hogy mennyire sebezhető? Egyetlen, gondosan megalkotott adversarial példa létezése még nem jelenti a rendszer teljes csődjét. A robusztusság mérése arról szól, hogy a sebezhetőséget számszerűsítsük, lehetővé téve a modellek objektív összehasonlítását és a javítási erőfeszítések priorizálását.

Kapcsolati űrlap

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

A perturbáció mérésének matematikai alapjai: Lp normák

Mielőtt algoritmusokról beszélnénk, tisztáznunk kell, mit jelent a „zavarás mértéke”. Ezt matematikailag az Lp normákkal fejezzük ki, amelyek a bemeneti vektor (pl. egy kép pixeljei) és a perturbált változata közötti távolságot mérik. A Red Teaming kontextusában a három leggyakoribb norma:

  • L (Infinity Norma): A legnagyobb egyedi változás. Két kép között az L távolság a legnagyobb eltérés egyetlen pixelpár között. Ez a metrika a szinte észrevehetetlen, finom módosítások hatását méri.
  • L2 (Euklideszi Norma): A változások négyzetösszegének gyöke. Ez a „fizikai” távolság a két vektor között a többdimenziós térben. Jól méri a zajszerű, elosztott perturbációk összenergiáját.
  • L0 (Nulladik Norma): A megváltoztatott elemek (pixelek) száma. Akkor hasznos, ha azt vizsgáljuk, hány pixelt kell módosítani a modell megtévesztéséhez, függetlenül a változás mértékétől.

A megfelelő norma kiválasztása a támadási forgatókönyvtől függ. Egy alig látható vízjel L támadás, míg néhány pixel teljes átírása L0 támadás.

Perturbáció-alapú metrikák

Ezek a metrikák azt vizsgálják, hogy mekkora „erőfeszítésbe” kerül a modellt megtéveszteni. A cél egy olyan küszöbérték megtalálása, ahol a modell viselkedése megváltozik.

Minimális Perturbáció (Minimum Adversarial Perturbation)

Ez a legalapvetőbb és leginkább intuitív robusztussági metrika. A kérdés egyszerű: mi az a legkisebb, adott Lp norma szerint mért perturbáció, ami egy adott bemenetet tévesen klasszifkáltat a modellel?

A gyakorlatban ezt egy optimalizációs problémaként oldjuk meg: minimalizáljuk a perturbáció nagyságát (||δ||p) azzal a feltétellel, hogy a perturbált bemenet (x + δ) már a téves osztályba tartozik. Minél nagyobb ez a minimális távolság, annál robusztusabb a modell az adott bemenetre.

# Pszeudokód a minimális perturbáció keresésére
function find_minimal_perturbation(model, input_x, original_label):
 # δ (delta) inicializálása nullvektorral
 delta = initialize_perturbation(shape=input_x.shape)
 
 # Optimalizációs ciklus (pl. gradiens alapú módszerrel)
 for i in range(MAX_ITERATIONS):
 # A cél a perturbáció normájának minimalizálása
 loss_perturbation = norm(delta, p=2) // L2 norma
 
 # A másik cél a rossz klasszifikáció elérése
 perturbed_input = input_x + delta
 prediction = model.predict(perturbed_input)
 loss_classification = classification_loss(prediction, original_label)
 
 # A két veszteség kombinálása és a delta frissítése
 total_loss = loss_perturbation - C * loss_classification // C egyensúlyozó faktor
 update_delta_based_on_gradient(delta, total_loss)
 
 # Ha a modell már téved, de a perturbáció még csökkenthető, folytatjuk
 if model.predict_class(perturbed_input) != original_label:
 // Itt finomítjuk tovább a deltát, hogy a normája még kisebb legyen

 return delta

CLEVER Score (Cross Lipschitz Extreme Value for nEtwork Robustness)

A CLEVER egy szofisztikáltabb metrika, amely nem egy konkrét támadás sikerességét méri, hanem a modell kimenetének lokális érzékenységét a bemenet apró változásaira. A neurális hálózatot egy matematikai függvényként kezeli, és megbecsüli annak lokális Lipschitz-konstansát.

A magas Lipschitz-konstans azt jelenti, hogy a bemenet kis megváltoztatása a kimenet (pl. a klasszifikációs valószínűségek) drasztikus megváltozását okozhatja. Ez a modell instabilitására, azaz alacsony robusztusságára utal. A CLEVER score ebből a becsült konstansból származtat egy értéket, amely alsó korlátot ad a minimális perturbáció nagyságára. Minél magasabb a CLEVER score, annál robusztusabbnak tekinthető a modell.

Certifikált Robusztusság (Certified Robustness)

A perturbáció-alapú metrikák empirikusak: találnak egy támadást, és mérik annak „költségét”. A certifikált robusztusság ezzel szemben egy formális, bizonyítható garanciát ad.

Ahelyett, hogy támadást keresne, egy certifikációs algoritmus azt igazolja, hogy egy adott bemenet körüli, ε sugarú Lp-gömbön belül nincs olyan pont, amely a modellt megtévesztené. Ha egy modell egy adott bemenetre ε=0.1 értékkel certifikálható L norma szerint, az azt jelenti, hogy bármilyen perturbáció, amely egyetlen pixel értékét sem változtatja meg 0.1-nél többel, garantáltan nem fogja megváltoztatni a klasszifikáció kimenetelét.

Az egyik népszerű technika a Randomized Smoothing. Ennek lényege, hogy a bemenetet sokszor, véletlenszerű Gauss-zajjal perturbáljuk, és a modell predikcióinak „konszenzusát” vesszük. Ha ez a konszenzusos predikció kellően stabil, akkor matematikailag levezethető egy robusztussági garancia.

x (bemenet) x’ (támadás) d(x, x’) Empirikus Robusztusság x (bemenet) ε-sugár Certifikált Robusztusság

Melyik metrikát válasszam?

A választás a célodtól függ. Nincs egyetlen „legjobb” robusztussági metrika; mindegyik a probléma más aspektusát világítja meg.

Metrika / Algoritmus Mérési elv Előnyök Hátrányok
Minimális Perturbáció Adott bemenetre a legkisebb, sikeres támadás mértéke. Könnyen értelmezhető, direkt metrika. Konkrét sebezhetőséget mutat. Számításigényes. Csak egy alsó korlátot ad a robusztusságra (lehet, van jobb támadás).
CLEVER Score A modell lokális érzékenységének (Lipschitz-konstans) becslése. Gyorsabb, mint a támadások futtatása. Támadás-független becslést ad. Csak egy becslés, nem egy szigorú garancia. Nehezebben interpretálható.
Certifikált Robusztusság Matematikai bizonyíték arra, hogy egy adott sugarú körben nincs támadás. A legerősebb garancia. Ideális biztonságkritikus alkalmazásokhoz. Nagyon számításigényes. Jelenleg csak viszonylag kis perturbációkra ad szoros korlátokat.

A Red Teaming gyakorlatában gyakran ezen módszerek kombinációját alkalmazzuk. Először gyors, támadás-alapú tesztekkel (pl. a minimális perturbáció keresésével) feltérképezzük a potenciális gyengeségeket. A kritikusan fontos bemeneti osztályokra vagy a leggyengébbnek tűnő pontokra pedig certifikációs algoritmusokat futtatunk, hogy formális garanciákat is szerezzünk a modell viselkedéséről.