1.2 Mitől egyetemi szintű egy modellezési állítás?

Az 1.1. Modell, tanulás és felhasználási szerződés egységben a modell, a tanítás és az inference életciklusát, valamint a feladatszerződés négy elemét rögzítettük. Ott az XOR-példa egy konkrét, ellenőrizhető állítást adott: a lineáris hipotézisosztály legjobb elemének tanítóhibája 1/41/4. Ebben az egységben azt vizsgáljuk, milyen bizonyíték illik egy modellezési állítás mellé, és miért nem mindegy, milyen típusú kijelentést teszünk. Induló kérdés: „A tanító kódom hiba nélkül lefutott, és 98%-os pontosságot írt ki; miért ne írhatnám a jelentésbe, hogy a rendszer 98%-ban megbízható?”

1.2.1 1. Állítástípusok és ellenőrzési szerződésük

A szakmailag megalapozott modellezési szövegben minden lényeges kijelentésnek felismerhető típusúnak kell lennie, mert a típus határozza meg, milyen ellenőrzéssel fogadható el. A következő hat típust különböztetjük meg.

Definíció. Rögzíti egy objektum jelölését, tartományát, alakját vagy konvencióját. Például: „legyen x∈ℝ24×24x\in\mathbb R^{24\times 24} egy szürkeárnyalatos GlyphLab-kép, az intenzitások a [0,1][0,1] intervallumba esnek”. A definíciót nem adatok cáfolják, hanem az ellentmondás-mentesség és a használhatóság; ha két helyen eltérően használjuk, az szerkesztési hiba.

Tétel vagy lemma. Feltételekből következtetést vezet le, és rendelkezik bizonyítással vagy pontosan megjelölt, átvett eredménnyel. Példa: ha ff lineáris leképezés, akkor f(0)=0f(0)=0. Egyetlen ellenpélda cáfolhatja, de egy futtatás nem igazolhatja; a bizonyítás státuszát mindig meg kell adni.

Levezetés. Egyenlőségek vagy becslések lépésről lépésre követhető sorozata, ahol minden átalakítás indokolt. Ellenőrzése indexhatárok, dimenziók, konstansok és szélsőesetek vizsgálatával történik. A „nyilvánvaló” szó nem helyettesíti a hiányzó lépést.

Empirikus állítás. Adott adaton, adott protokollal, adott metrikával mért eredményt közöl. Például: „az adott spliten, az adott seeddel a modell validációs accuracyje 0,930{,}93 volt”. Csak a kimondott feltételek között általánosít; nyers eredményt, reprodukciós utat és korlátot igényel.

Heurisztika. Gyakorlati szabály, amely motivációt, ismert korlátot és ellenőrzési tervet tartalmaz, de nem univerzális garancia. Például: „a kis tanulási ráta gyakran stabilabb tanítást ad”; ez nem tétel, mert túl kis ráta mellett a tanítás leállhat.

Szakirodalmi eredmény. Más szerzőtől származó állítás, amelyhez pontos változat, konkrét szakasz és az ellenőrzés státusza tartozik. Az absztraktból ismert eredmény nem azonos a teljes cikkből olvasott módszerrel.

A hat típus nem zárja ki egymást: egy jó kísérleti jelentés tartalmaz definíciót, levezetést és empirikus állítást is, de ezeket nem keveri össze.

1.2.2 2. Feltétel, bizonyíték, ellenpélda, reprodukció, attribúció

Öt keresztfogalom kapcsolja össze a fenti típusokat.

Feltétel. Minden tételhez és empirikus állításhoz tartozik egy feltételhalmaz. A tételnél a feltételek a matematikai előfeltevések; az empirikus állításnál az adat, a split, a seed, a modellváltozat, a metrika és a környezet. Ha egy feltétel hiányzik, az állítás nem ellenőrizhető.

Bizonyíték. A típusnak megfelelő ellenőrzés: definíciónál konzisztencia, tételnél bizonyítás, levezetésnél lépésenkénti indoklás, empirikus állításnál nyers mérés és reprodukciós út, szakirodalmi eredménynél olvasott forrásszakasz.

Ellenpélda. Olyan konkrét eset, amelyben a feltételek teljesülnek, de a következtetés hamis. Az ellenpélda a cáfolat eszköze; a következő szakaszban a fő kötelezettséget ezzel teljesítjük.

Reprodukció. Ugyanazon kód, adat, seed és környezet futtatása; a cél az eredmény megismételhetősége. A reprodukció nem helyettesíti a bizonyítást, és nem bizonyítja az általánosítást.

Attribúció. A szakirodalmi eredmény származásának pontos megjelölése. A forrás határozza meg, milyen részletességű állítás támasztható alá: egy absztrakt alkalmas lehet a kutatási cél és a fő módszer azonosítására, de nem helyettesíti az architektúra vagy egy tétel feltételeinek ellenőrzését a teljes szövegben. A [P01] dokumentumfelismerési alkalmazása, a [B01] matematikai háttere és az [S01] konvolúciós ismertetése különböző célú forrás; az átvett állításokat és a saját levezetéseket egyértelműen el kell választani.

1.2.3 3. Ellenpélda: a sikeres kódlefutás nem bizonyít általánosítást

A gyakori, implicit állítást így formalizálhatjuk.

(H) Hamis állítás. Ha egy program hiba nélkül lefut, és a DtrainD_{\text{train}} tanítóhalmazon m=1m=1 accuracyt ír ki, akkor a program által reprezentált döntési szabály a DuseD_{\text{use}} felhasználási eloszláson is m=1m=1 accuracyt ér el.

Ellenpélda. Tekintsünk bináris osztályozást. Legyen DtrainD_{\text{train}} száz olyan mintából álló halmaz, amelyben minden yi=0y_i=0; a program a konstans f(x)=0f(x)=0 prediktort valósítja meg. A kód szintaktikailag helyesen lefut, és az accuracyt 100100=1\frac{100}{100}=1-ként írja ki, tehát a (H) feltételei teljesülnek. Legyen most DuseD_{\text{use}} olyan felhasználási eloszlás, amelyben minden minta címkéje 11. Ugyanez a program ezen 0100=0\frac{0}{100}=0 accuracyt ad. A feltételek fennállnak, a következtetés hamis, ezért (H) nem érvényes.

A példa tanulsága nem az, hogy a tanító accuracy haszontalan, hanem az, hogy a kód futása és a tanító metrika nem hordozza a felhasználási eloszlásra vonatkozó feltételt. Az általánosítási állításhoz külön bizonyíték kell: független, csoportosított split, nyers tesztmetrika, bizonytalansági határ és a domaineltérés vizsgálata.

1.2.4 4. Kézi számpélda és minimális kód

Legyen DtrainD_{\text{train}} száz címkéből álló tömb: 9090 darab 00 és 1010 darab 11. A konstans 00 prediktor tanító accuracyje

90100=0,9. \frac{90}{100}=0{,}9.

Legyen DtestD_{\text{test}} eltérő címkeeloszlású: 1010 darab 00 és 9090 darab 11. Ugyanazon prediktor teszt accuracyje

10100=0,1. \frac{10}{100}=0{,}1.

A két szám ugyanabból a hibátlanul futó programból származik; a különbséget nem a kód, hanem a két halmaz eltérő címkeeloszlása okozza. Az alábbi kód közvetlenül ellenőrizhető; a kimenet a definícióból számított érték, és önállóan ellenőrizhető.

import numpy as np

rng = np.random.default_rng(20261020)  # itt csak a reprodukálhatósági konvenciót jelzi

y_train = np.concatenate([
    np.zeros(90, dtype=np.int64),
    np.ones(10, dtype=np.int64)
])
y_test = np.concatenate([
    np.zeros(10, dtype=np.int64),
    np.ones(90, dtype=np.int64)
])

def accuracy(y_true: np.ndarray, y_pred: np.ndarray) -> float:
    assert y_true.shape == y_pred.shape
    return float(np.mean(y_true == y_pred))

pred = np.zeros_like(y_train)
print("train accuracy:", accuracy(y_train, pred))  # 0.9
print("test accuracy:", accuracy(y_test, pred))    # 0.1

A mean alapértelmezés szerint az összes elemet átlagolja, tehát a visszatérési érték skalár; a float konverzió a kiírás egyértelműségét szolgálja. A seed itt nem befolyásolja az eredményt, mert a tömbök determinisztikusan adottak.

1.2.5 5. Labor: tíz állítás besorolása és bizonyítékjegyzék

Ebben a laborban nincs numerikus futás, ezért a seed, dtype és device nem értelmezett; a futtatható ellenőrző részletet az F3 feladat tartalmazza. A bemenet az alábbi tíz rövid eredményállítás:

  1. A1: „A GlyphLab tanítókódja az én gépemen hiba nélkül lefutott.”
  2. A2: „Az én CNN-em a GlyphLab test splitjén 0,930{,}93 accuracyt ért el.”
  3. A3: „A softmax kimenet elemei nemnegatívak és 11-re összegződnek.”
  4. A4: „Ha b≠0b\neq 0, az f(x)=Wx+bf(x)=Wx+b leképezés nem lineáris.”
  5. A5: „Minél több konvolúciós réteget teszünk a hálóba, annál kisebb lesz a teszt hiba.”
  6. A6: „LeCun et al. (1998) gradiensalapú tanulást alkalmazott dokumentumfelismerésre.”
  7. A7: „A tanító veszteség az első öt epochban csökkent, tehát az optimalizáló konvergált a globális minimumhoz.”
  8. A8: „A BatchNorm mindig javítja a pontosságot.”
  9. A9: „A modell 0,970{,}97-es validációs pontossága garancia arra, hogy éles használatban is 0,970{,}97-es lesz.”
  10. A10: „A ReLU definíció szerint max(0,x)\max(0,x).”

Átadandó eredmény. Minden állításhoz készítsen legfeljebb négy oszlopos táblázatot: állítás azonosítója, besorolás a hat típus valamelyikébe, hiányzó feltétel vagy bizonyíték, ellenőrzési terv. Ahol egy mondat több típust kever, a záró következtetést külön is jelölje. A besorolást a Megoldások és indoklás szakasz ellenőrzi.

Bizonyítékjegyzék saját kísérlethez. Egy empirikus állítás mellé az alábbi elemeket kell rögzíteni:

  1. a kutatási kérdés,
  2. az adat forrása és verziója,
  3. a split és a megfigyelési egység,
  4. a modell és a hipotézisosztály,
  5. a baseline,
  6. a metrika és az aggregálás módja,
  7. a seed és a környezet,
  8. a nyers eredmény és a reprodukciós parancs,
  9. az értelmezési korlát.

Ha egy későbbi GlyphLab-kísérlet azt állítaná, hogy egy adott CNN a test halmazon 0,930{,}93 accuracyt ért el, a jegyzék például így nézne ki: kérdés: az orientáció osztályozása; adat: data/images.npy, data/labels.npy, data/metadata.csv, a manifest hash-sel; split: scene_id szerint train/val/test, osztályonként 1010 független jelenet a tesztben; modell: a kísérletben rögzített architektúra; baseline: konstans osztályprediktor; metrika: per-kép accuracy, nyers confusion matrix; seed: a tanítás seedje; nyers eredmény: a tényleges mérés, nem pedig egy előre feltételezett szám; korlát: a GlyphLab nem természetes képi benchmark. A 0{,}93 itt jelölt szemléltetés, nem mért eredmény.

1.2.6 6. Feladatok

F1 (fogalmi, nehézség 1). Definiálja a reprodukció és a replikáció közötti különbséget, és adjon egy-egy konkrét GlyphLab-példát mindkettőre. Átadandó: 4–6 mondatos magyarázat.

F2 (levezetési, nehézség 1). Bizonyítsa be, hogy az f:ℝ→ℝf:\mathbb R\to\mathbb R, f(x)=3x+2f(x)=3x+2 függvény nem lineáris leképezés. Átadandó: a linearitás definíciójából induló, ellentmondásra vezető levezetés.

F3 (implementációs, nehézség 2). Írjon Python-függvényt többosztályos accuracy kiszámítására, majd a konstans prediktoros ellenpéldával mutassa meg, hogy a tanító accuracy 1,01{,}0 lehet, miközben a teszt accuracy 0,00{,}0. Adja meg a dtype-ot és az ellenőrző kimenetet. Átadandó: teljes, futtatható kód.

F4 (hibakeresési, nehézség 2). Adott az érvelés: „A kód lefutott, a validációs accuracy 0,950{,}95, ezért a rendszer a jövőben is 95%95\%-ban helyes.” Lokalizálja a hibát, írja át korrekt empirikus állítássá, és sorolja fel a hiányzó feltételeket. Átadandó: ok, következmény, javítás, visszaellenőrzés.

F5 (kísérlettervezési, nehézség 3). Tervezzen kísérletet a GlyphLab adaton a tanító–teszt accuracy rés mérésére. Rögzítse a protokollt, a splitet, a seedeket, a baseline-t, a metrikát, a megfigyelési egységet és az érvényességi korlátot; futtatás nem szükséges. Átadandó: protokollvázlat és a várható következtetések határa.

1.2.7 7. Megoldások és indoklás

A labor besorolása.

A1 empirikus állítás a kód futásáról, nem teljesítményállítás; hiányzó bizonyíték: környezet, verzió, parancs, kimenet. Ellenőrzési terv: a futtatás naplózása és megismétlése.

A2 empirikus teljesítményállítás; hiányzik a split, a seed, az architektúra, a nyers confusion matrix és a reprodukciós parancs. Ellenőrzési terv: a bizonyítékjegyzék mind a kilenc elemének rögzítése.

A3 tétel/lemma, amely a softmax definíciójából következik; bizonyítása: a exponenciális függvény pozitivitása és a normalizáló összeggel való osztás. Itt később, a softmax fejezetben részletezzük.

A4 lemma; bizonyítás: lineáris leképezésre f(0)=0f(0)=0, de f(0)=b≠0f(0)=b\neq 0, ami ellentmondás.

A5 heurisztika; nem tétel. Ellenőrzési terv: kontrollált kísérlet, ahol csak a rétegszám változik, a paraméterszám és a regularizáció rögzített.

A6 szakirodalmi állítás; a dokumentumfelismerési alkalmazás a forrás összefoglalójából alátámasztható, a részletes hálófelépítésre viszont csak a teljes tanulmány alapján szabad hivatkozni.

A7 empirikus megfigyelés hibás következtetéssel: a veszteségcsökkenés nem bizonyít globális konvergenciát. Ellenőrzés: gradiensnorma, több seed, hosszabb tanulási görbe.

A8 heurisztika, hamis általánosítás; a hatást kísérletenként kell mérni. Ellenőrzés: BatchNorm nélküli és BatchNormos modell azonos feltételekkel.

A9 téves általánosítás; az empirikus állításból nem következik felhasználási garancia. Hiányzik a domaineltérés, a kalibráció és a bizonytalansági intervallum.

A10 definíció; konvenció, nem cáfolható adattal.

F1 megoldás. A reprodukció ugyanazon kód, adat, seed és környezet futtatása; célja ugyanazon számérték visszakapása. GlyphLab-példa: a data/manifest.json hash-egyezése mellett a tanító script újrafuttatása ugyanazzal a seeddel. A replikáció független újraimplementálás vagy új adat ugyanazon protokollal; például egy másik kutató saját CNN-keretrendszerbeli implementációt ír a GlyphLab orientációs feladatához, és azt vizsgálja, hogy a következtetés iránya azonos marad-e.

F2 megoldás. Tegyük fel indirekt, hogy ff lineáris. Ekkor minden x,y∈ℝx,y\in\mathbb R és α∈ℝ\alpha\in\mathbb R esetén f(x+y)=f(x)+f(y)f(x+y)=f(x)+f(y). Válasszuk x=1x=1, y=1y=1 értékeket. Egyrészt f(x+y)=f(2)=3⋅2+2=8f(x+y)=f(2)=3\cdot 2+2=8. Másrészt f(x)+f(y)=(3⋅1+2)+(3⋅1+2)=5+5=10f(x)+f(y)=(3\cdot 1+2)+(3\cdot 1+2)=5+5=10. Mivel 8≠108\neq 10, ellentmondásra jutottunk, tehát ff nem lineáris. Ugyanerre vezet a zéruselem-vizsgálat: f(0)=2≠0f(0)=2\neq 0.

F3 megoldás. A teljes ellenőrizhető kód:

import numpy as np

def accuracy(y_true: np.ndarray, y_pred: np.ndarray) -> float:
    assert y_true.shape == y_pred.shape
    return float(np.mean(y_true == y_pred))

y_train = np.zeros(100, dtype=np.int64)  # minden címke 0
y_test = np.ones(100, dtype=np.int64)    # minden címke 1
pred_train = np.zeros(100, dtype=np.int64)
pred_test = np.zeros(100, dtype=np.int64)

print("tanító accuracy:", accuracy(y_train, pred_train))  # 1.0
print("teszt accuracy:", accuracy(y_test, pred_test))     # 0.0

A dtype=np.int64 a címkék szerződését tükrözi; az összehasonlítás bool tömböt ad, amelynek mean értéke float64. A device CPU, mert a főút kis helyi számítás.

F4 megoldás. Hiba: a kód futása és a validációs érték nem hordozza a jövőbeli felhasználási eloszlást. Következmény: az állítás erősebb, mint a rendelkezésre álló bizonyíték. Javítás: „Az adott spliten, a rögzített seeddel és protokollal a validációs accuracy 0,950{,}95 volt.” Hiányzó feltételek: nyers confusion matrix, a validáció függetlensége a modellválasztástól, a felhasználási eloszlás leírása, domaineltérés-vizsgálat, kalibráció és bizonytalansági határ. Visszaellenőrzés: kérjük a nyers mátrixot és a split azonosítót; ha ezek nincsenek meg, az állítás nincs kellően alátámasztva.

F5 megoldás. Lehetséges protokollvázlat: (1) kérdés: mekkora a tanító és teszt accuracy különbsége? (2) adat: GlyphLab data/*.npy, hash-ellenőrzés; (3) split: scene_id szerint train/val/test, osztályonként 1010 független jelenet a tesztben; (4) modell: rögzített kis CNN, ugyanaz mint a későbbi fejezetben; (5) baseline: konstans osztályprediktor; (6) metrika: per-kép accuracy, nyers confusion matrix; (7) seedek: legalább három tanítási seed, a seed-szórást külön közölve; (8) nyers eredmény: tanító és teszt accuracy minden seedre; (9) korlát: a GlyphLab nem természetes képi benchmark, ezért a számot nem általánosítjuk más adatra. A várható következtetés: a rés iránya és nagysága az adott protokollra érvényes, nem globális modelltulajdonság.

1.2.8 8. Tipikus tévedés, önellenőrzés és visszahívás

Tipikus tévedés. A magabiztos szöveg és a sok hivatkozás nem helyettesíti az ellenőrzött érvelést. Egy dokumentum írhatja: „A modellünk garantáltan felismeri a ferde vonalakat, lásd 42 hivatkozás.” Ha egyetlen saját nyers mérést, protokollt vagy tételfeltételt sem közöl, az állítás nem vált ellenőrzötté; a hivatkozások más körülményekre vonatkoznak, és nem igazolják a jelenlegi modellt.

Önellenőrzés. (1) Melyik állítástípus cáfolható egyetlen ellenpéldával? Válasz: a tétel vagy az univerzális következtetést tartalmazó állítás. (2) Mit kell rögzíteni egy empirikus mérés reprodukciójához? Válasz: kód, adatverzió, split, seed, környezet, metrika és nyers eredmény. (3) Miért nem bizonyíték egy futtatás egy tételre? Válasz: mert a tétel minden feltételnek eleget tevő esetről szól, a futtatás pedig véges, konkrét eset.

Visszahívás 1.1. Modell, tanulás és felhasználási szerződés alfejezetből. Az ottani feladatszerződés négy elemet rögzített: bemenet, döntés, cél és mérhető sikerkritérium. A mostani egység ezt egészíti ki azzal, hogy a sikerkritériumhoz illő bizonyíték típusát is meg kell nevezni; a kettő együtt ad korrekt modellezési állítást.

1.2.9 Rövid összefoglaló

Ebben az egységben az állításokat típusuk szerint választottuk szét: a definíció konvenciót rögzít, a tétel feltételekből következményt bizonyít, a levezetés lépésenként ellenőrizhető, az empirikus állítás adott adaton és protokollal mért eredményt közöl, a heurisztika gyakorlati szabály, a szakirodalmi eredmény attribúciót és ellenőrzési státuszt igényel. A kulcspélda megmutatta, hogy a hibátlan kódlefutás és a magas tanító accuracy nem bizonyít általánosítást: konstans prediktorral 1,01{,}0 tanító és 0,00{,}0 felhasználási accuracy érhető el. A labor tíz állítás besorolását és egy bizonyítékjegyzék-sablont rögzített; a feladatok a reprodukció, a linearitás, az accuracy-kód, a hibás érvelés javítása és egy kísérleti protokoll köré épültek.

Következő alkalmazás. A következő egység az adatfelosztást és a megfigyelési egységet tárgyalja; az itteni bizonyítékjegyzékben szereplő split és scene_id ott válnak precíz, ellenőrizhető fogalommá.

Források