17.1.2 Empirikus robusztusság

2025.10.06.
AI Biztonság Blog

Ha a tanúsított pontosság egy páncélterem tervrajza, ami matematikailag garantálja a falak vastagságát, akkor az empirikus robusztusság maga a törésteszt. Itt nem elméleti garanciákat keresünk, hanem fogjuk a legerősebb feszítővasakat, és megnézzük, ezekkel kifeszíthető-e az ajtó. Ez a metrika a „Mutasd is, ne csak mondd!” elvét követi a modellvédelemben.

A garanciákon túl: A gyakorlati tesztelés

Az empirikus robusztusság olyan kísérleti úton meghatározott metrika, amely azt méri, hogy egy modell mennyire képes megőrizni a helyes működését egy adott, konkrét támadássorozat alatt. 

Kapcsolati űrlap

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

Ellentétben a tanúsított pontossággal, ami egy adott perturbációs tartományon belüli minden lehetséges támadásra ad garanciát, az empirikus robusztusság egy specifikus, általunk választott támadási arzenálra fókuszál.

A központi kérdés, amire választ ad: „A tesztadataink hány százalékánál marad helyes a modell predikciója, miután a legerősebb ismert támadásainkkal próbáltuk megtéveszteni?” 

A végeredmény egy egyszerű, százalékos érték, ami közvetlenül tükrözi a modell gyakorlati ellenállóképességét az AI Red Teaming során alkalmazott technikákkal szemben!

Az empirikus robusztusság mérésének folyamata

A mérés egy jól definiált, lépésekből álló folyamat, amely során szisztematikusan generálunk adverzárius példákat és értékeljük a modell reakcióját. Ez a gyakorlatban a Red Teaming értékelési fázisának egyik sarokköve.

1. Tiszta Adat (Teszt adathalmaz) 2. Támadási Alg. (pl. PGD, C&W) 3. Perturbált Adat (Adverzárius példák) 4. Modell & Kiértékelés Predikció helyes maradt? Robusztussági Pontszám

A folyamat a következőképpen bontható le:

  1. Kiindulási adathalmaz kiválasztása: Szükséged van egy tiszta, megbízható teszt adathalmazra, amelyen a modell eredetileg jól teljesít. Csak azokat a mintákat érdemes támadni, amiket a modell alapból helyesen osztályoz.
  2. Támadási arzenál összeállítása: Döntened kell, mely támadási algoritmusokat veted be. Gyakori választás a PGD (Projected Gradient Descent), mivel ez egy erős, iteratív támadás. A választásod alapvetően befolyásolja a kapott eredményt. Egy gyenge támadás (pl. FGSM) elleni magas robusztusság nem sokat jelent.
  3. Perturbációs költségvetés (ε) meghatározása: Meg kell adnod, hogy a támadás mekkora mértékben módosíthatja a bemenetet. Ezt a `perturbációs költségvetés` fejezetben részletezzük, de a lényeg, hogy egyensúlyt kell találni az észrevehetetlenség és a támadás hatékonysága között.
  4. Támadások generálása és kiértékelés: A kiválasztott adathalmaz minden (eredetileg helyesen klasszifikált) elemére lefuttatod a támadást, ezzel létrehozva az adverzárius példákat. Ezután ezeket a módosított bemeneteket adod a modellnek, és feljegyzed, hogy a predikció helyes maradt-e.

Számítás a gyakorlatban

A végső metrika kiszámítása egyszerű. Ha `N` darab mintát támadtál meg, és ebből `k` esetben a modell predikciója helyes maradt, akkor az empirikus robusztusság:

Empirikus Robusztusság = (k / N) * 100%

# Pszeudokód az empirikus robusztusság mérésére

def calculate_empirical_robustness(modell, teszt_adatok, tamadas, epsilon):
 """
 Kiszámítja a modell empirikus robusztusságát egy adott támadással szemben.
 """
 helyesen_osztalyozott_tamadott = 0
 osszes_sikeres_alap_predikcio = 0

 for kep, cimke in teszt_adatok:
 # Először ellenőrizzük, hogy a modell az eredeti képet helyesen ismeri-e fel
 alap_predikcio = modell.predict(kep)
 if alap_predikcio != cimke:
 continue # Ezt a mintát kihagyjuk, mert már alapból is rossz

 osszes_sikeres_alap_predikcio += 1

 # Generáljuk az adverzárius példát
 adverzarius_kep = tamadas.generate(modell, kep, cimke, epsilon=epsilon)

 # Értékeljük a modellt a támadott képen
 tamadott_predikcio = modell.predict(adverzarius_kep)

 # Ha a predikció a támadás után is helyes, növeljük a számlálót
 if tamadott_predikcio == cimke:
 helyesen_osztalyozott_tamadott += 1

 # A robusztusság a helyes maradt predikciók aránya
 robusztussag = (helyesen_osztalyozott_tamadott / osszes_sikeres_alap_predikcio)
 return robusztussag * 100

A metrika értelmezése és korlátai

Az empirikus robusztusság gyakorlatias mérőszám, de fontos tisztában lenni a korlátaival. A kapott érték sosem abszolút, mindig a tesztelési kontextus (adathalmaz, támadások, epsilon érték) függvénye! 

Előnyök Hátrányok és korlátok
Könnyen érthető: Egy egyszerű százalékos érték, ami megmutatja a gyakorlati teljesítményt. Nem ad teljes garanciát: A magas pontszám csak a tesztelt támadásokkal szemben jelent védelmet, ismeretlen, jövőbeli támadásokkal szemben nem.
Közvetlenül mérhető: Nincs szükség komplex matematikai bizonyításokra, a mérés egyértelmű és reprodukálható. A támadás erősségétől függ: Egy gyenge támadással végzett teszt félrevezetően magas robusztussági értéket adhat.
Flexibilis: Bármilyen modellre és támadásra alkalmazható, ahol a bemenet módosítható. Számításigényes: Erős, iteratív támadások (pl. PGD sok lépéssel) esetén a teljes teszthalmaz kiértékelése sok időt vehet igénybe.
Jól összehasonlítható: Azonos tesztkörnyezetben lehetővé teszi különböző modellek vagy védelmi mechanizmusok objektív összevetését. „Gradient masking” csapdája: Néhány védelmi mechanizmus elfedi a gradienseket, ami miatt a támadások hatástalannak tűnnek, holott a modell valójában sebezhető maradt.

Kapcsolat más metrikákkal

Az empirikus robusztusság szoros kapcsolatban áll a következő fejezetben tárgyalt Támadás Sikerességi Aránnyal (Attack Success Rate – ASR). Valójában egymás komplementerei:

Empirikus Robusztusság (%) = 100% – Támadás Sikerességi Arány (%)

Amíg a Red Team a támadások sikerességét maximalizálja (magas ASR), a Blue Team a robusztusságot igyekszik növelni. Ez a két metrika ugyanannak az éremnek a két oldala, és a kettő együtt ad teljes képet a modell aktuális védelmi állapotáról a gyakorlati tesztek során.