40.3 Tudományos kézirat és forrásaudit

40.3.1 Cél, előismeret és induló kérdés

Ez az alfejezet azt a lektori munkát teszi taníthatóvá, amelyet a könyv minden korábbi egysége megkövetelt: egy készülő kézirat állításait jelölési, matematikai és hivatkozási követelmények szerint ellenőrizni. Feltételezzük a 40.2. Kísérleti és hibakeresési vizsga hibakeresési vizsga anyagát, továbbá röviden visszanyúlunk a 39.3. Geometriai kontroll és metrika geometriai metrika-, a 36.3. Szakirodalmi reprodukció és attribúció forrásattribúciós és a 28.3. Retrieval-értékelés és adatfelosztás retrieval-kiértékelési fogalmaihoz. Induló kérdés: egy kézirat azt állítja, hogy a modellje 94%-os pontosságot ért el a GlyphLab teszten, és hogy a transposed convolution „visszaállítja a pooling által elveszett információt”. Milyen bizonyítékok hiányában nem fogadható el a kézirat egyetemi beadandóként?

40.3.2 Definíciók: lektori ellenőrzőlap, javítási napló, állítástípus

Lektori ellenőrzőlap. Olyan strukturált jegyzék, amely a kézirat minden lényeges állításához hozzárendeli: (i) az állítás típusát, (ii) a típushoz kötelező bizonyítékot, (iii) az ellenőrzés módját, (iv) a státuszt. A típusok a könyv szerződéséből ismertek: definíció, tétel/lemma, levezetés, empirikus állítás, heurisztika, szakirodalmi eredmény. Az ellenőrzőlap nem helyettesíti a bizonyítást; azt rögzíti, hogy a bizonyíték rendelkezésre áll-e és olvasható-e.

Javítási napló. A talált hibák időrendi vagy azonosító szerinti listája, amely minden tételnél megadja: a hiba helyét, típusát, következményét, a javítás szövegét és a javítás visszaellenőrzését. A napló akkor teljes, ha egy későbbi olvasó a naplóból reprodukálni tudja, miért változott a szöveg.

A következő négy állítás mutatja a teljes forrás/bizonyíték lánc felépítését.

40.3.3 1. matematikai állítás: a transposed convolution adjungált, nem inverz

Állítás (definícióból levezetett tulajdonság). Legyen X∈ℝN×Cin×H×WX\in\mathbb R^{N\times C_{in}\times H\times W} a bemeneti tensor, K∈ℝCout×Cin×kh×kwK\in\mathbb R^{C_{out}\times C_{in}\times k_h\times k_w} a kernel, és jelölje 𝒞(X;K)\mathcal C(X;K) a PyTorch Conv2d által számolt térbeli keresztkorrelációt, rögzített stride, padding és dilation mellett. A transposed convolution 𝒞⊤(⋅;K)\mathcal C^\top(\cdot;K) az az operátor, amely a szokásos elem szorzatösszeg skalárszorzatra teljesíti

⟨𝒞(X;K),Y⟩=⟨X,𝒞⊤(Y;K)⟩ \langle \mathcal C(X;K), Y\rangle \;=\; \langle X, \mathcal C^\top(Y;K)\rangle

minden megfelelő alakú XX és YY esetén. Az állítás: 𝒞⊤\mathcal C^\top általában nem inverze 𝒞\mathcal C-nek; a „dekonvolúció visszaállítja az elveszett pixeleket” megfogalmazás tehát matematikailag hibás.

Bizonyíték lánc. Első lépés: a [D10] keretjegyzet rögzíti, hogy a PyTorch Conv2d keresztkorrelációt számol, nem matematikai konvolúciót; az [S01] olvasott kurzusoldala pedig a transposed convolution réteget a gradiens-visszaterjesztés térbeli megfelelőjeként tárgyalja. Második lépés: saját levezetéssel megmutatjuk az adjungált tulajdonságot egy konkrét kis eseten. Harmadik lépés: dimenzióérvvel cáfoljuk az invertálhatóságot.

Kézi példa. Legyen H=2H=2, W=3W=3, egyetlen csatorna, kernel 2×22\times 2, stride 11, padding 00. Az output mérete 1×21\times2. Jelölje

X=(x00x01x02x10x11x12),K=(k00k01k10k11). X=\begin{pmatrix} x_{00}&x_{01}&x_{02}\\ x_{10}&x_{11}&x_{12}\end{pmatrix},\qquad K=\begin{pmatrix} k_{00}&k_{01}\\ k_{10}&k_{11}\end{pmatrix}.

A direkt keresztkorreláció:

𝒞(X;K)=(k00x00+k01x01+k10x10+k11x11,k00x01+k01x02+k10x11+k11x12). \mathcal C(X;K)=\Big(k_{00}x_{00}+k_{01}x_{01}+k_{10}x_{10}+k_{11}x_{11},\;\; k_{00}x_{01}+k_{01}x_{02}+k_{10}x_{11}+k_{11}x_{12}\Big).

Az adjungált operátor bemenete Y=(y00,y01)Y=(y_{00},y_{01}), kimenete 2×32\times3-as:

𝒞⊤(Y;K)=(y00k00y00k01+y01k00y01k01y00k10y00k11+y01k10y01k11). \mathcal C^\top(Y;K)=\begin{pmatrix} y_{00}k_{00} & y_{00}k_{01}+y_{01}k_{00} & y_{01}k_{01}\\ y_{00}k_{10} & y_{00}k_{11}+y_{01}k_{10} & y_{01}k_{11} \end{pmatrix}.

A skalárszorzat-egyenlőség tagonkénti beszorzással adódik: ⟨𝒞(X;K),Y⟩\langle\mathcal C(X;K),Y\rangle a fenti két output elem y00y_{00}-lal és y01y_{01}-gyel vett szorzatösszege; ugyanezt kapjuk, ha XX mind a hat elemét megszorozzuk 𝒞⊤(Y;K)\mathcal C^\top(Y;K) megfelelő elemével, mert mindkét oldalon pontosan ugyanazok az xijkpqyrsx_{ij}k_{pq}y_{rs} szorzatok jelennek meg, ugyanannyiszor. Ez a levezetés a definíció közvetlen kibontása, nem külső tétel.

Miért nem inverz? A 𝒞\mathcal C leképezés lineáris, és a példában 6-dimenziós bemeneti térből 2-dimenziós kimeneti térbe képez. Lineáris leképezés akkor lehetne injektív, ha magtere csak a nulla elem; itt a magtér dimenziója legalább 6−2=46-2=4, tehát végtelen sok különböző XX adja ugyanazt a kimenetet. Nincs tehát olyan 𝒞−1\mathcal C^{-1}, amelyre 𝒞−1(𝒞(X))=X\mathcal C^{-1}(\mathcal C(X))=X teljesülne minden XX-re. A transposed convolution ettől függetlenül jól definiált adjungált, és a gradiens-visszaterjesztésben pontosan ezt a szerepet tölti be.

Forráshasználat. Az adjungáltsági definíció és a kézi példa saját levezetés; az [S01] olvasott oldala a rétegtípus motivációjához szolgál attribúcióként.

40.3.4 2. matematikai állítás: az L2-tag gradiense

Állítás. Legyen W∈ℝm×dW\in\mathbb R^{m\times d}, és tekintsük az

Lreg(W)=λ2∥W∥F2=λ2∑i=1m∑j=1dWij2 L_{reg}(W)=\frac{\lambda}{2}\|W\|_F^2=\frac{\lambda}{2}\sum_{i=1}^{m}\sum_{j=1}^{d}W_{ij}^2

regularizációs tagot. Ekkor ∇WLreg=λW\nabla_W L_{reg}=\lambda W.

Levezetés. A Frobenius-norma négyzetének parciális deriváltja a (p,q)(p,q) elem szerint:

∂Lreg∂Wpq=λ2⋅2Wpq=λWpq, \frac{\partial L_{reg}}{\partial W_{pq}} =\frac{\lambda}{2}\cdot 2W_{pq} =\lambda W_{pq},

mert az összegben csak a WpqW_{pq}-t tartalmazó tag deriváltja nem nulla. Mivel ez minden (p,q)(p,q) párra fennáll, a gradiens mátrixa λW\lambda W. A 12\frac12-es konvenció és a λW\lambda W gradiens tehát együtt érvényes; a kéziratban a kettőnek konzisztensnek kell lennie.

Kontroll. Ha a kézirat a ∥W∥F2\|W\|_F^2 tagot λ\lambda-val szorozná, a gradiens 2λW2\lambda W lenne; ha a ∥W∥F\|W\|_F (nem négyzetes) tagot deriválná, a gradiens λW/∥W∥F\lambda W/\|W\|_F lenne, ami az origóban nem is értelmezhető. Az ellenőrzőlapnak tehát a konstanstagnál is kérnie kell a gradiensképletet.

40.3.5 3. empirikus állítás: a GlyphLab split scene-függetlensége

Állítás. A GlyphLab metadata.csv minden scene_id értékéhez pontosan egy split érték tartozik; a 180 scene mindegyike két view-val szerepel, és a két view ugyanabba a train/val/test részbe kerül.

Bizonyíték lánc. A lab/ADATOK.md adatszerződése rögzíti a 180 scene/360 kép struktúrát és a class-stratified felosztást; a manifest.json a split darabszámokat (120/30/30 scene, 240/60/60 kép) és a fájlok SHA-256 lenyomatát tartalmazza; a tényleges állítást a metadata.csv sorain kell ellenőrizni. Az ellenőrzés lánca tehát: szerződés →\to manifest →\to tényleges CSV-sorok →\to csoportos ellenőrzés.

Ellenőrző kód a lab/ munkakönyvtárból, a kimenet jelölt számított példa, nem elvégzett futás:

import pandas as pd

# Feltételezett bemenet: lab/data/metadata.csv, ellenőrzött manifest.json mellett.
meta = pd.read_csv("lab/data/metadata.csv")
assert len(meta) == 360
assert meta["scene_id"].nunique() == 180
assert meta.groupby("scene_id")["view_id"].nunique().eq(2).all()
# Minden scene pontosan egy splithez tartozik:
bad_scene = meta.groupby("scene_id")["split"].nunique()
assert (bad_scene == 1).all(), bad_scene[bad_scene != 1]
# Osztályonkénti scene-darabszám a három splitben:
print(meta.groupby("split").apply(
    lambda g: g.drop_duplicates("scene_id")["label"].value_counts().to_dict()
))
# Szerződés szerinti várt, számított kimenet:
# {"test": {0: 10, 1: 10, 2: 10},
#  "train": {0: 40, 1: 40, 2: 40},
#  "val": {0: 10, 1: 10, 2: 10}}

Következmény. Ha a kézirat per-image metrikát és per-scene konfidenciaintervallumot kever, az ellenőrzőlapnak hibát kell jeleznie: a megfigyelési egység a scene_id, nem a kép. Ez kapcsolódik a 39.3. Geometriai kontroll és metrika geometriai kontroll páros tesztjéhez és a 28.3. Retrieval-értékelés és adatfelosztás group split követelményéhez.

40.3.6 4. empirikus állítás: a per-image bootstrap hibás a GlyphLabon

Állítás. A GlyphLab adatból számolt pontosság bizonytalanságát kép-szintű bootstrap resamplinggel becsülni módszertani hiba, mert ugyanazon scene két view-ja függő megfigyelés.

Bizonyíték lánc. A bootstrap definíciója szerint a resampling egységnek függetlennek kell lennie ahhoz, hogy az ismételt mintavételi eloszlás a célpopuláció bizonytalanságát közelítse. A GlyphLab generátora minden scene-hez két zajos view-t készít; a view-k közös scene-pozíciót, vastagságot és hosszt osztanak meg, ezért a modell hibái egy scene két view-ján korreláltak. Ha az egység az egyes kép, akkor egy scene mindkét view-ja független megfigyelésként kerül a bootstrap mintába, ami a varianciát torzítja, jellemzően alulbecsli. Az [S02] olvasott módszertani oldala szerint az intervallumok értelmezése az ismételt mintavételi feltételhez kötött; ez az oldal azonban nem ad általános cluster-bootstrap tételt, ezért a fenti következtetés a saját adatszerződésből és a függetlenségi feltételből következik, nem egy itt nem bizonyított statisztikai tételből.

Ellenőrzés a kéziratban. A lektornak azt kell kérnie, hogy a kézirat explicite nevezze meg a bootstrap egységet. A helyes válasz a scene_id szerinti, class-stratified scene-resampling; a helytelen a per-image bootstrap. A kettő nem felcserélhető, ahogyan azt a 39.3. Geometriai kontroll és metrika páros összehasonlítási követelménye is rögzíti.

40.3.7 Labor: lektori ellenőrzőlap és javítási napló a mintafejezethez

Mintafejezet-részlet (a hallgató ezt auditálja; a hibák szándékosak):

„A modellünk transposed convolutionnal invertálja a poolingot, így visszaállítja az elveszett pixeleket. A tanulási görbe stabilan csökkent (1. ábra, mért eredmény). A batch norm tanítás és kiértékelés alatt ugyanazt a statisztikát használja. A [Kitalált 2021] szerint az FGSM mindig megtalálja a legjobb torzítást. Az L2-regularizáció gradientsét 2λW2\lambda W-nek választottuk.”

A labor átadandó eredménye két dokumentum: egy ellenőrzőlap és egy javítási napló. Az ellenőrzőlap szerkezete:

Állítás Típus Kötelező bizonyíték Státusz
Transposed convolution inverz Matematikai lemma Adjungált definíció, dimenzióérv Hibás, javítandó
„Mért eredmény” görbe Empirikus állítás Protokoll, seed, checkpoint, nyers adat Nem igazolt
BatchNorm állandó statisztika Definíció/heurisztika train/eval állapotleírás Hibás
[Kitalált 2021] hivatkozás Szakirodalmi eredmény Létező forrás, szakasz, olvasottság Hiányzó forrás
L2 gradiens 2λW2\lambda W Levezetés Parciális deriválás Hibás a λ2\frac{\lambda}{2} konvencióval

A javítási napló első tétele például:

  1. Hiba: „transposed convolutionnal invertálja a poolingot”. Következmény: hamis állítás a réteg képességéről, félrevezeti a felhasználási szerződést. Javítás: „A transposed convolution a megfelelő lineáris operátor adjungáltjaként térbeli növelést végez; nem általános inverz, ezért a pooling által eldobott értékeket nem állítja vissza.” Visszaellenőrzés: a fenti 2×32\times3-as kézi példán a magtér nemtriviális; a javított mondat konzisztens a definícióval.

A BatchNorm-tételnél a [D12] keretjegyzetet kell idézni: a tanítás és az eval alatti statisztikakezelés eltérhet; a javítás tehát „a tanítás alatt batch-statisztikát, kiértékeléskor running statisztikát használ” alakra módosít, és megnevezi a könyvtárverziót. A kitalált hivatkozást a javítási napló nem pótolhatja valódi forrással; addig a mondatot törölni kell, vagy a forrásjegyzékben dokumentálni kell az alátámasztás hiányát.

40.3.8 Feladatok

F1 (fogalmi, nehézség 1). Adja meg a „mért” és a „szemléltető” ábra definícióját, és a mintafejezetből azonosítsa, melyik állítás sérti a megkülönböztetést. Átadandó: két definíció és egy mondatnyi indoklás.

F2 (levezetési, nehézség 2). A fenti 2×32\times3-as példa jelöléseivel igazolja tagonként, hogy ⟨𝒞(X;K),Y⟩=⟨X,𝒞⊤(Y;K)⟩\langle\mathcal C(X;K),Y\rangle=\langle X,\mathcal C^\top(Y;K)\rangle, és mutassa meg, hogy a 𝒞\mathcal C leképezés magtere legalább 4-dimenziós. Átadandó: a két oldal kifejtett összege és a dimenzióindoklás.

F3 (implementációs, nehézség 1). Írjon Python-ellenőrzést, amely a lab/data/metadata.csv-ből megállapítja: (i) minden scene_id pontosan egy split-hez tartozik-e; (ii) a test splitben osztályonként pontosan 10 scene van-e. Átadandó: teljes kód és a szerződésből számított várt kimenet.

F4 (hibakeresési, nehézség 2). A mintafejezet az L2-gradienst 2λW2\lambda W-nek írja. Azonosítsa a hiba típusát, következményét az optimalizáló lépésre, és adja meg a helyes képletet a λ2\frac{\lambda}{2}-es taghoz. Átadandó: ok, következmény, javítás.

F5 (kísérleti/transzfer, nehézség 3). Egy kézirat azt állítja: „a modell a GlyphLab test halmazon 94%-os pontosságot ért el”. Tervezze meg, milyen bizonyítékokat kér be a lektor, hogy az állítást mért eredményként elfogadja; fogalmazzon meg egy elfogadási küszöböt és egy elutasítási feltételt. Átadandó: protokollterv listája.

40.3.9 Megoldások és indoklás

F1 megoldás. Mért eredmény: rögzített protokoll mellett ténylegesen lefuttatott számítás kimenete, amelyhez tartozik adatverzió, split, seed, modellállapot, metrika és nyers érték. Szemléltető ábra: képletből vagy feltételezett paraméterekből készült, nem mérésen alapuló bemutatás. A mintafejezet hibája: „mért eredmény”-ként hivatkozik az 1. ábrára, miközben a szöveg semmilyen futási adatot nem közöl hozzá; a helyes megfogalmazás vagy a teljes mérési jegyzőkönyv csatolása, vagy „számított szemléltetés” címke. Ez a megkülönböztetés nem ízlés kérdése: hiányzó protokoll mellett az állítás empirikusan ellenőrizhetetlen.

F2 megoldás. A direkt oldal:

⟨𝒞(X;K),Y⟩=y00∑p,qxpqkpq+y01(k00x01+k01x02+k10x11+k11x12), \langle\mathcal C(X;K),Y\rangle =y_{00}\sum_{p,q}x_{pq}k_{pq} +y_{01}\big(k_{00}x_{01}+k_{01}x_{02}+k_{10}x_{11}+k_{11}x_{12}\big),

ahol az első összeg indexei p∈{0,1},q∈{0,1}p\in\{0,1\},q\in\{0,1\} a 2×22\times2-es kernelablakra. Kifejtve ez hat xijkpqyrsx_{ij}k_{pq}y_{rs} szorzat, rendre x00k00y00x_{00}k_{00}y_{00}, x01k01y00x_{01}k_{01}y_{00}, x10k10y00x_{10}k_{10}y_{00}, x11k11y00x_{11}k_{11}y_{00}, x01k00y01x_{01}k_{00}y_{01}, x02k01y01x_{02}k_{01}y_{01}, x11k10y01x_{11}k_{10}y_{01}, x12k11y01x_{12}k_{11}y_{01}. Az adjungált oldal ∑i,jxijx̂ij\sum_{i,j}x_{ij}\,\hat{x}_{ij}, ahol x̂ij\hat{x}_{ij} az 𝒞⊤(Y;K)\mathcal C^\top(Y;K) mátrix eleme; behelyettesítve pontosan ugyanezt a nyolc szorzatot kapjuk, ezért a két oldal minden X,YX,Y érték mellett egyenlő. A magtérre: 𝒞\mathcal C lineáris leképezés ℝ6→ℝ2\mathbb R^{6}\to\mathbb R^{2}, ezért a rang legfeljebb 2; a nullitás a rang-nullitás tételből 6−rang≥46-\operatorname{rang}\ge4. Tehát legalább 4 lineárisan független XX ad zérus kimenetet, a leképezés nem injektív. (A rang-nullitás tételt a lineáris algebra fejezetben bizonyított lineáris egyenletrendszer-alakból itt felhasználjuk, nem idézzük külső forrásból.)

F3 megoldás.

import pandas as pd

meta = pd.read_csv("lab/data/metadata.csv")
assert meta.groupby("scene_id")["split"].nunique().eq(1).all()
test_scenes = meta[meta["split"] == "test"].drop_duplicates("scene_id")
counts = test_scenes["label"].value_counts().to_dict()
assert counts == {0: 10, 1: 10, 2: 10}
print(counts)
# Várt, szerződésből számított kimenet: {0: 10, 1: 10, 2: 10}

A kód az adatszerződés ellenőrzött darabszámain alapul; a tényleges futtatás előtt a manifest.json hash-ellenőrzését is el kell végezni, mert a CSV önmagában nem bizonyítja, hogy a fájl a rögzített verzió.

F4 megoldás. A hiba típusa: konstanstag-hiba a levezetésben. Ha a regularizációs tag λ2∥W∥F2\frac{\lambda}{2}\|W\|_F^2, akkor a parciális derivált λWpq\lambda W_{pq}, nem 2λWpq2\lambda W_{pq}. A 2λW2\lambda W gradiens a λ∥W∥F2\lambda\|W\|_F^2 taghoz tartozna. Következmény: az AdamW vagy SGD lépésben W←W−η∇LW\leftarrow W-\eta\,\nabla L esetén a hibás gradiens kétszeres súlycsökkenést alkalmaz a bejelentetthez képest, tehát a közölt λ\lambda és a tényleges effektív regularizáció eltér. Javítás: vagy a tag legyen λ2∥W∥F2\frac{\lambda}{2}\|W\|_F^2, és a gradiens λW\lambda W; vagy a tag legyen λ∥W∥F2\lambda\|W\|_F^2, és a gradiens 2λW2\lambda W. A kettő közül a kéziratnak egyet kell következetesen használnia.

F5 megoldás. A lektor az alábbi bizonyítékokat kéri be: (1) a pontos adatverzió és a manifest.json hash-ellenőrzés kimenete; (2) a split azonosító és a modellválasztási protokoll, amely szerint a test csak a végleges checkpoint után került kiértékelésre; (3) a training seed(ek), könyvtárverzió, dtype és device; (4) a checkpoint state_dict lenyomata; (5) a nyers predikciók a test képekre; (6) a metrika definíciója (per-image accuracy) és a nyers confusion matrix. Elfogadási küszöb: a fenti hat dokumentum mind elérhető, a checkpointból független újrakiértékelés reprodukálja a 94%-ot a megadott tolerancián belül, és a közölt intervallum scene-szintű bizonytalanságot is tartalmaz. Elutasítási feltétel: ha a kézirat a test halmazt bármilyen hiperparaméter- vagy checkpoint-választásra használta, ha a seed vagy a checkpoint hiányzik, vagy ha az „94%” nem párosítható nyers predikciókhoz. A terv nem követeli meg, hogy a lektor maga tanítsa újra a modellt; a független inference a mentett state_dict-ből elegendő.

40.3.10 Tipikus tévedés ellenpéldával

A leggyakoribb hiba abban rejlik, hogy a generált vagy gyorsan írt szöveg stilisztikailag magabiztos, ezért az olvasó hajlamos ellenőrzöttként kezelni. Ellenpélda: a mintafejezetben a „[Kitalált 2021]” hivatkozás formailag tudományosnak látszik, de nem létező forrásra mutat. A tudományos megbízhatóság nem a mondatok folyamatosságából következik, hanem abból, hogy minden nem triviális állítás mögött azonosított típusú, olvasható bizonyíték áll. A lektori ellenőrzőlap pontosan ezt a különbséget teszi láthatóvá: a formai hasonlóság nem pótolja a bizonyítási láncot.

40.3.11 Önellenőrzés és visszahívás

Önellenőrzés. (1) A transposed convolution példában a kimeneti méret Hout=H−kh+1=1H_{out}=H-k_h+1=1, Wout=W−kw+1=2W_{out}=W-k_w+1=2, konzisztens a padding nélküli képlettel. (2) Az L2-levezetésben a mátrixelem szerinti parciális derivált minden (p,q)(p,q)-ra azonos alakú, a gradiens alakja m×dm\times d, megegyezik WW alakjával. (3) A split-ellenőrzésben a scene_id csoportosítás alakja a 360 soros táblán 180 csoport, mindegyik 2 view-val. (4) A per-image bootstrap érvelés nem idéz nem tanult tételt; a függetlenségi feltételből következik.

Visszahívás. A 40.2. Kísérleti és hibakeresési vizsga hibakeresési vizsga szerint a versengő hipotéziseket úgy kell szétválasztani, hogy a kontroll csak az egyik tényezőt változtatja; itt a „mért vagy szemléltető” kérdésnél ugyanez a gondolat jelentkezik, amikor a checkpoint és a seed hiányát kérjük számon. A 36.3. Szakirodalmi reprodukció és attribúció forrásattribúciós szabálya szerint az olvasottsági szintet a szakasz pontosságával együtt kell közölni; a jelen javítási napló ezt a kitalált hivatkozásnál alkalmazza. A 28.3. Retrieval-értékelés és adatfelosztás group split követelménye a scene_id mintavételi egységben tér vissza, a 39.3. Geometriai kontroll és metrika páros tesztje pedig a corrupt/clean összevetés auditjában.

40.3.12 Rövid összefoglaló

A tudományos kézirat auditja abból áll, hogy minden lényeges állítást típus szerint osztályozunk, és a típushoz kötelező bizonyítékot kérjük számon. Matematikai állításnál a definícióból való levezetés és a dimenzió- vagy szélsőeset-kontroll a mérce; empirikus állításnál az adatverzió, split, seed, checkpoint, metrika és nyers eredmény együttese. A transposed convolution adjungált, nem inverz; az L2-tag gradiense a konvenciótól függ; a GlyphLab split scene-független, ezért a bootstrap egysége scene_id. A lektori ellenőrzőlap és javítási napló ezt a láncot rögzíti, és a kitalált hivatkozást vagy a mértnek álcázott szemléltetést azonnal láthatóvá teszi.

40.3.13 Következő alkalmazás és források

A következő egység, 40.4. X. ellenőrző pont: önálló neurális modell és bizonyíték, a X. ellenőrző pont: az itt bemutatott ellenőrzőlapot és javítási naplót egy teljes, korábban nem látott feladaton kell alkalmazni, önálló neurális modell és bizonyíték bemutatásával. A most elkészített auditdokumentumok adják a vizsgabeadandó formai vázát.

Felhasznált források: