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 . 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ó?”
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 egy szürkeárnyalatos GlyphLab-kép, az intenzitások a 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 lineáris leképezés, akkor . 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 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.
Ö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.
A gyakori, implicit állítást így formalizálhatjuk.
(H) Hamis állítás. Ha egy program hiba nélkül lefut, és a tanítóhalmazon accuracyt ír ki, akkor a program által reprezentált döntési szabály a felhasználási eloszláson is accuracyt ér el.
Ellenpélda. Tekintsünk bináris osztályozást. Legyen száz olyan mintából álló halmaz, amelyben minden ; a program a konstans prediktort valósítja meg. A kód szintaktikailag helyesen lefut, és az accuracyt -ként írja ki, tehát a (H) feltételei teljesülnek. Legyen most olyan felhasználási eloszlás, amelyben minden minta címkéje . Ugyanez a program ezen 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.
Legyen száz címkéből álló tömb: darab és darab . A konstans prediktor tanító accuracyje
Legyen eltérő címkeeloszlású: darab és darab . Ugyanazon prediktor teszt accuracyje
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.1A 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.
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:
Á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:
Ha egy későbbi GlyphLab-kísérlet azt állítaná, hogy egy adott CNN a
test halmazon
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
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.
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ü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 lehet, miközben a teszt accuracy . 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 , ezért a rendszer a jövőben is -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.
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 , de , 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 lineáris. Ekkor minden és esetén . Válasszuk , értékeket. Egyrészt . Másrészt . Mivel , ellentmondásra jutottunk, tehát nem lineáris. Ugyanerre vezet a zéruselem-vizsgálat: .
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.0A 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 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
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.
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.
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 tanító és 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