Rövid válasz: A mesterséges intelligencia előfeldolgozása ismételhető lépések halmaza, amelyek a nyers, nagy varianciájú adatokat konzisztens modellbemenetekké alakítják, beleértve a tisztítást, kódolást, skálázást, tokenizálást és képtranszformációkat. Ez azért fontos, mert ha a betanítási bemenetek és az éles bemenetek eltérnek, a modellek észrevétlenül meghibásodhatnak. Ha egy lépés „tanul” paramétereket, akkor csak a betanítási adatokra kell illeszteni a szivárgás elkerülése érdekében.
A mesterséges intelligencia általi előfeldolgozás mindaz, amit a nyers adatokkal teszünk a betanítás vagy következtetés előtt (és néha alatt is), hogy a modell ténylegesen tanulhasson belőlük. Nem csak „tisztítás”. Ez az adatok tisztítása, formázása, skálázása, kódolása, kiegészítése és becsomagolása egy konzisztens reprezentációba, amely később nem fogja csendben működésképtelenné tenni a modellt. [1]
Főbb tanulságok:
Definíció : Az előfeldolgozás nyers táblázatokat, szövegeket, képeket és naplókat alakít át modellkész jellemzőkké.
Konzisztencia : Alkalmazza ugyanazokat az átalakításokat a betanítás és a következtetés során az eltérési hibák elkerülése érdekében.
Szivárgás : A skálázókat, kódolókat és tokenizereket csak a betanítási adatokra kell illeszteni.
Reprodukálhatóság : Ellenőrizhető statisztikákkal építsen folyamatokat, ne eseti jegyzetfüzet-cellasorozatokkal.
Termelésfelügyelet : A pálya ferdesége és eltolódása miatt a bemenetek nem csökkentik fokozatosan a teljesítményt.
Cikkek, amiket esetleg ezután érdemes elolvasnod:
🔗 Hogyan teszteljük a mesterséges intelligencia modelljeit a valós teljesítmény szempontjából?
Gyakorlati módszerek a pontosság, a robusztusság és az elfogultság gyors értékelésére.
🔗 A szövegfelolvasó mesterséges intelligencia, és hogyan működik?
Elmagyarázza a TTS alapjait, főbb felhasználási módjait és a mai gyakori korlátait.
🔗 A mesterséges intelligencia pontosan tudja olvasni a kézírást ma?
Lefedi a felismerési kihívásokat, a legjobb eszközöket és a pontossággal kapcsolatos tippeket.
🔗 Mennyire pontos a mesterséges intelligencia a gyakori feladatokban?
Lebontja a pontossági tényezőket, a referenciaértékeket és a valós megbízhatóságot.
AI előfeldolgozás egyszerű nyelven (és ami nem az) 🤝
A mesterséges intelligencia általi előfeldolgozás a nyers bemeneti adatok (táblázatok, szövegek, képek, naplók) modell-kész jellemzőkké alakítását jelenti. Ha a nyers adatok egy rendetlen garázs, akkor az előfeldolgozás a dobozok címkézését, a törött szemét kidobását és a dolgok egymásra rakását jelenti, hogy sérülés nélkül át lehessen menni rajtuk.
Nem maga a modell a lényeg. Hanem az, ami lehetővé teszi a modell létrejöttét:
-
kategóriák számokká alakítása (egyszeres, ordinális stb.) [1]
-
nagy numerikus tartományok skálázása értelmes tartományokká (szabványosítás, min-max stb.) [1]
-
szöveg tokenizálása bemeneti azonosítóvá (és általában egy figyelemmaszkká) [3]
-
képek átméretezése/vágása és determinisztikus vs. véletlenszerű transzformációk megfelelő alkalmazása [4]
-
megismételhető folyamatok építése, hogy a betanítási és a „valós életben” történő bemenetek ne térjenek el finoman [2]
Egy kis gyakorlati megjegyzés: az „előfeldolgozás” magában foglalja mindazt, ami következetesen történik, mielőtt a modell látja a bemenetet . Egyes csapatok ezt „funkciótervezésre” és „adattisztításra” osztják, de a való életben ezek a határvonalak elmosódnak.

Miért fontosabb az AI előfeldolgozás, mint azt az emberek beismerik 😬
Egy modell mintaillesztő, nem gondolatolvasó. Ha a bemenetek ellentmondásosak, a modell ellentmondásos szabályokat tanul meg. Ez nem filozófiai, hanem fájdalmasan szó szerint értendő.
Az előfeldolgozás segít:
-
A tanulási stabilitás javítása olyan jellemzők reprezentációkba való beillesztésével, amelyeket a becslők megbízhatóan használhatnak (különösen skálázás/kódolás esetén). [1]
-
Csökkentsd a zajt azáltal, hogy a kusza valóságot olyannak mutatod, amiből egy modell általánosíthat (ahelyett, hogy furcsa tárgyakat memorizálnál).
-
A csendes hibamódok, mint például a szivárgás és a betanítás/kiszolgálás eltéréseinek megelőzése (az a fajta, ami „csodálatosnak” tűnik a validációban, majd az éles környezetben történő előkészítés során). [2]
-
Gyorsítsa fel az iterációt, mert az ismételhető transzformációk a hét minden napján gyorsabbak, mint a jegyzetfüzetben leírtak.
Ráadásul a „modellteljesítmény” nagy része is ebből fakad. Úgy értem… meglepően sok. Néha igazságtalannak tűnik, de ez a valóság 🙃
Mitől lesz jó egy AI előfeldolgozási folyamat? ✅
Az előfeldolgozás „jó verziója” általában a következő tulajdonságokkal rendelkezik:
-
Reprodukálható : ugyanaz a bemenet → ugyanaz a kimenet (nincs rejtélyes véletlenszerűség, kivéve, ha szándékos kiegészítésről van szó).
-
Vonatkiszolgálási konzisztencia : bármit is teszel a betanítás során, az ugyanúgy kerül alkalmazásra a következtetés során (ugyanazok az illesztési paraméterek, ugyanazok a kategória-leképezések, ugyanaz a tokenizer konfiguráció stb.). [2]
-
Szivárgásmentes : az értékelés/teszt során semmi sem befolyásolja az
illesztésilépést. (Erről a csapdáról később bővebben.) [2] -
Megfigyelhető : megvizsgálhatod, hogy mi változott (funkcióstatisztikák, hiányosságok, kategóriák száma), így a hibakeresés nem vibráció-alapú mérnöki munka.
Ha az előfeldolgozásod egy halom notebook cella, amit final_v7_really_final_ok-nak ... tudod, hogy van ez. Addig működik, amíg már nem működik 😬
Az AI előfeldolgozásának alapvető építőelemei 🧱
Az előfeldolgozást építőelemek halmazaként képzeld el, amelyeket egy folyamattá kombinálsz.
1) Tisztítás és validálás 🧼
Tipikus feladatok:
-
duplikátumok eltávolítása
-
hiányzó értékek kezelése (eldobás, imputálás vagy a hiány explicit ábrázolása)
-
típusok, mértékegységek és tartományok kikényszerítése
-
hibás bemenetek észlelése
-
szabványosítani a szövegformátumokat (szóközök, kis- és nagybetűk szabályai, Unicode-különbségek)
Ez a rész nem elbűvölő, de megakadályozza a rendkívül ostoba hibákat. Szeretettel mondom.
2) Kategória szerinti adatok kódolása 🔤
A legtöbb modell nem tud közvetlenül nyers karakterláncokat használni, mint például a "red" vagy a "premium_user" .
Gyakori megközelítések:
-
Egyszeri gyorskódolás (kategória → bináris oszlopok) [1]
-
Sorszámos kódolás (kategória → egész azonosító) [1]
A lényeg nem az, hogy melyik kódolót választod, hanem az, hogy a leképezés konzisztens maradjon, és ne „változzon az alakja” a betanítás és a következtetés között. Így kapsz egy olyan modellt, amely offline jól néz ki, online pedig kísértetjárta módon viselkedik. [2]
3) Jellemzők skálázása és normalizálása 📏
A skálázás akkor számít, ha a jellemzők vadul eltérő tartományokban helyezkednek el.
Két klasszikus:
-
Standardizálás : átlag eltávolítása és egységnyi varianciára skálázás [1]
-
Min-max skálázás : minden jellemző skálázása egy megadott tartományba [1]
Még akkor is, ha olyan modelleket használunk, amelyek „többnyire jól működnek”, a skálázás gyakran megkönnyíti a folyamatok megértését – és megnehezíti a véletlen megszakítást.
4) Funkciótervezés (más néven hasznos csalás) 🧪
Itt könnyítheted meg a modell munkáját jobb jelek létrehozásával:
-
arányok (kattintások / megjelenítések)
-
gördülő ablakok (utolsó N nap)
-
szám (események felhasználónként)
-
logaritmikus transzformációk nehézfarkú eloszlásokhoz
Van itt egyfajta művészet. Néha megalkotsz egy cikket, büszke leszel rá... és semmi sem történik. Vagy ami még rosszabb, fáj. Ez normális. Ne kötődj érzelmileg a cikkekhez - úgysem fognak viszonozni szeretetet 😅
5) Adatok helyes felosztása ✂️
Ez egészen addig nyilvánvalónak tűnik, amíg nem az:
-
IID adatok véletlenszerű felosztása
-
időalapú felosztások idősorokhoz
-
csoportosított felosztások, amikor az entitások ismétlődnek (felhasználók, eszközök, betegek)
És ami a legfontosabb: az adatokból tanuló előfeldolgozás illesztése előtt bontsuk szét az adatokat . Ha az előfeldolgozási lépésünk paramétereket „tanul” (például átlagokat, szókincseket, kategóriatérképeket), akkor azokat csak betanításból kell megtanulnia. [2]
AI előfeldolgozás adattípus szerint: táblázatos, szöveges, képi 🎛️
Az előfeldolgozás az alakot attól függően változtatja, hogy mit adagolunk a modellnek.
Táblázatos adatok (táblázatok, naplók, adatbázisok) 📊
Gyakori lépések:
-
hiányzó értékstratégia
-
kategorikus kódolás [1]
-
numerikus oszlopok skálázása [1]
-
kiugró értékek kezelése (a domain szabályok a legtöbb esetben legyőzik a „véletlenszerű vágást”)
-
származtatott jellemzők (aggregációk, késleltetések, gördülő statisztikák)
Gyakorlati tanács: definiáld explicit módon az oszlopcsoportokat (numerikus vs. kategorikus vs. azonosítók). A jövőbeli éned hálás lesz érte.
Szöveges adatok (NLP) 📝
A szöveg előfeldolgozása gyakran magában foglalja:
-
tokenizálás tokenekké/alszavakká
-
bemeneti azonosítókra való konvertálás
-
kitöltés/csonkítás
-
figyelemmaszkok készítése kötegelt feldolgozáshoz [3]
Apró szabály, ami megspórolja a fájdalmat: transzformátor alapú összeállítások esetén kövesd a modell várható tokenizer beállításait, és ne freestyle-ozz, hacsak nincs rá okod. A freestyle-ozás az, aminek a végeredménye: „tanul, de furcsa”
Képek (számítógépes látás) 🖼️
Tipikus előfeldolgozás:
-
átméretezés / vágás egységes alakzatokba
-
determinisztikus transzformációk kiértékeléshez
-
véletlenszerű transzformációk a betanítás kiegészítéséhez (pl. véletlenszerű vágás) [4]
Egy részletet az emberek nem vesznek figyelembe: a „véletlenszerű transzformációk” nem csak egyfajta hangulat – szó szerint minden meghívásakor mintavételeznek paramétereket. Nagyszerű a diverzitás betanításához, de szörnyű a kiértékeléshez, ha elfelejtjük kikapcsolni a véletlenszerűséget. [4]
A csapda, amibe mindenki beleesik: adatszivárgás 🕳️🐍
A szivárgás azt jelenti, hogy a kiértékelési adatokból származó információk beszivárognak a betanításba – gyakran előfeldolgozáson keresztül. Ez varázslatos hatást kelthet a modellben az érvényesítés során, majd a való világban csalódást okozhat.
Gyakori szivárgási minták:
-
skálázás teljes adathalmaz statisztikáinak használatával (csak a betanítás helyett) [2]
-
kategóriatérképek építése a train+test együttes használatával [2]
-
bármely
fit()vagyfit_transform()lépés, amely „látja” a teszthalmazt [2]
Ökölszabály (egyszerű, brutális, hatékony):
-
Bármi, aminek fitt lépése van, csak edzésen legyen fitt.
-
Ezután transzformálod az érvényesítést/tesztet az illesztett transzformátorral. [2]
És ha egy „mennyire lehet rossz?” megérzésre vágysz: a scikit-learn saját dokumentációja egy szivárgási példát mutat, ahol egy helytelen előfeldolgozási sorrend körülbelül 0,76-os véletlenszerű célpontokon – majd a szivárgás javítása után ez a pontosság ~ 0,5- . Így nézhet ki meggyőzően a hibás szivárgás. [2]
Az előfeldolgozás káosz nélküli élessé tétele 🏗️
Sok modell nem azért bukik meg éles környezetben, mert a modell „rossz”, hanem azért, mert a bemeneti valóság megváltozik – vagy a folyamatod.
A termelésorientált előfeldolgozás általában a következőket foglalja magában:
-
Mentett műtermékek (kódoló leképezések, skálázó paraméterek, tokenizer konfiguráció), hogy a következtetés pontosan ugyanazokat a tanult transzformációkat használja [2]
-
Szigorú bemeneti szerződések (elvárt oszlopok/típusok/tartományok)
-
A ferdülés és az eltolódás monitorozása , mivel a termelési adatok eltérhetnek [5]
Ha konkrét definíciókat szeretnél: a Google Vertex AI Model Monitoring különbséget tesz a betanítás-kiszolgálás ferdesége (a termelési eloszlás eltér a betanítástól) és a következtetési eltolódás (a termelési eloszlás idővel változik) között, és támogatja mind a kategorikus, mind a numerikus jellemzők monitorozását. [5]
Mert a meglepetések drágák. És nem a szórakoztató fajtából.
Összehasonlító táblázat: gyakori előfeldolgozó + monitorozó eszközök (és kinek valók) 🧰
| Eszköz / könyvtár | Legjobb | Ár | Miért működik (és egy csipetnyi őszinteség) |
|---|---|---|---|
| scikit-learn előfeldolgozás | Táblázatos ML-folyamatok | Ingyenes | Szilárdtest-kódolók + skálázók (OneHotEncoder, StandardScaler stb.) és kiszámítható viselkedésük [1] |
| Ölelő Arc tokenizátorok | NLP bemeneti előkészítés | Ingyenes | A bemeneti azonosítókat + a figyelemmaszkokat konzisztensen állítja elő a futtatások/modellek között [3] |
| torchvision átalakulások | Látásátalakítás + -kiegészítés | Ingyenes | Tiszta módszer a determinisztikus és véletlenszerű transzformációk egyetlen folyamatban való ötvözésére [4] |
| Vertex AI modellmonitorozás | Eltolódás/ferdeség érzékelése a termékben | Fizetős (felhő) | A monitorok ferdeséget/eltolódást mutatnak, és riasztást adnak a küszöbértékek túllépése esetén [5] |
(Igen, a táblázatban még mindig vannak vélemények. De legalább őszinte vélemények 😅)
Egy praktikus előfeldolgozási ellenőrzőlista, amit ténylegesen használhatsz 📌
Edzés előtt
-
Bemeneti séma definiálása (típusok, mértékegységek, megengedett tartományok)
-
Hiányzó értékek és ismétlődések naplózása
-
Adatok helyes felosztása (véletlenszerű / időalapú / csoportosított)
-
Illesztési előfeldolgozás csak betanításkor (
a fit/fit_transforma vonaton marad) [2] -
Előfeldolgozási műtermékek mentése, hogy a következtetések újra felhasználhatók legyenek [2]
Edzés közben
-
Csak ott alkalmazzunk véletlenszerű kiegészítést, ahol ez szükséges (általában csak betanítási osztott módszerrel) [4]
-
A kiértékelési előfeldolgozás determinisztikus megőrzése [4]
-
Az előfeldolgozási változások követése, akárcsak a modellváltozások (mert azok is)
Telepítés előtt
-
Győződjön meg arról, hogy a következtetés azonos előfeldolgozási útvonalat és műtermékeket használ [2]
-
Állítsa be az eltolódás/ferdülés monitorozását (még az alapvető jellemzőeloszlás-ellenőrzések is sokat segíthetnek) [5]
Mélymerülés: gyakori előfeldolgozási hibák (és hogyan kerüljük el őket) 🧯
1. hiba: „Gyorsan normalizálok mindent” 😵
Ha a teljes adathalmazon számolod ki a skálázási paramétereket, akkor kiértékelési információk szivárognak. Illeszd a vonatra, a többit transzformáld. [2]
2. hiba: a kategóriák káoszba sodródnak 🧩
Ha a kategória-megfeleltetésed a betanítás és a következtetés között eltolódik, a modelled észrevétlenül félreértelmezheti a világot. A megfeleltetéseket mentett műtermékek segítségével javítsd ki. [2]
3. hiba: véletlenszerű kiegészítés beszivárog az értékelésbe 🎲
A véletlenszerű transzformációk nagyszerűek a betanításban, de nem szabad „titokban bekapcsolva” lenniük, amikor a teljesítményt próbáljuk mérni. (A véletlenszerű véletlenszerűt jelent.) [4]
Záró gondolatok 🧠✨
A mesterséges intelligencia előfeldolgozása a kusza valóság konzisztens modellbemenetekké alakításának fegyelmezett művészete. Magában foglalja a tisztítást, kódolást, skálázást, tokenizálást, képtranszformációkat és – ami a legfontosabb – az ismételhető folyamatokat és műtermékeket.
-
Az előfeldolgozást tudatosan, ne véletlenszerűen végezd. [2]
-
Először osztás, az illesztési transzformációk csak a betanítás során történjenek, kerüljük a szivárgást. [2]
-
Modalitásnak megfelelő előfeldolgozást használjon (tokenizereket szöveghez, transzformációkat képekhez). [3][4]
-
Figyeld a gyártási torzulásokat/eltolódásokat, hogy a modelled ne sodródjon lassan értelmetlenné. [5]
És ha valaha is elakadnál, kérdezd meg magadtól:
„Vajon ennek az előfeldolgozási lépésnek akkor is lenne értelme, ha holnap lefuttatnám vadonatúj adatokon?”
Ha a válasz „ööö… talán?”, akkor ez a tipped 😬
GYIK
Mi az AI előfeldolgozás egyszerűen fogalmazva?
A mesterséges intelligencia előfeldolgozása egy ismételhető lépéssorozat, amely a zajos, nagy varianciájú nyers adatokat konzisztens bemenetekké alakítja, amelyekből a modell tanulhat. Magában foglalhatja a tisztítást, az érvényesítést, a kategóriák kódolását, a numerikus értékek skálázását, a szöveg tokenizálását és a képtranszformációk alkalmazását. A cél az, hogy a betanítási és az éles környezetben történő következtetések „ugyanazt a típusú” bemenetet lássák, így a modell később nem sodródik kiszámíthatatlan viselkedésbe.
Miért olyan fontos az AI előfeldolgozása az éles környezetben?
Az előfeldolgozás azért fontos, mert a modellek érzékenyek a bemeneti reprezentációra. Ha a betanítási adatokat másképp skálázzák, kódolják, tokenizálják vagy transzformálják, mint az éles adatokat, akkor olyan betanítási/kiszolgálási eltérési hibákat kaphat, amelyek offline jól néznek ki, de online csendben meghibásodnak. Az erős előfeldolgozási folyamatok csökkentik a zajt, javítják a tanulási stabilitást és felgyorsítják az iterációt, mivel nem kell jegyzetfüzet-kupacokat kibogozni.
Hogyan kerülhetem el az adatszivárgást az előfeldolgozás során?
Egy egyszerű szabály működik: bármi, aminek illesztési lépése van, csak tanulóadatokon kell illeszkednie. Ez vonatkozik a skálázókra, kódolókra és tokenizerekre is, amelyek olyan paramétereket tanulnak meg, mint az átlagok, kategóriatérképek vagy szókincsek. Először felosztod, illeszted a tanulófelosztáson, majd átalakítod az érvényesítést/tesztelést az illesztett transzformátorral. A szivárgás „varázslatosan” jónak tűnhet a validálásban, majd összeomlik éles használatban.
Melyek a leggyakoribb előfeldolgozási lépések táblázatos adatok esetén?
Táblázatos adatok esetén a szokásos folyamatsor tisztítást és validációt (típusok, tartományok, hiányzó értékek), kategorikus kódolást (egyetlen gyors vagy ordinális) és numerikus skálázást (szabványosítás vagy min-max) tartalmaz. Számos folyamatsor tartományvezérelt jellemzőtervezést is tartalmaz, mint például arányok, gördülő ablakok vagy darabszámok. Gyakorlati szokás az oszlopcsoportok explicit definiálása (numerikus vs. kategorikus vs. azonosítók), hogy az átalakítások konzisztensek maradjanak.
Hogyan működik a szövegmodellek előfeldolgozása?
A szöveg előfeldolgozása jellemzően tokenizálást jelent tokenekké/alszavakká, ezek bemeneti azonosítóvá alakítását, valamint a kötegelt feldolgozáshoz szükséges kitöltés/csonkítás kezelését. Számos átalakító munkafolyamat egy figyelemmaszkot is létrehoz az azonosítók mellett. Gyakori megközelítés a modell várható tokenizer-konfigurációjának használata az improvizáció helyett, mivel a tokenizer-beállítások apró eltérései „tanul, de kiszámíthatatlanul viselkedik” eredményekhez vezethetnek.
Mi a különbség a képek gépi tanuláshoz történő előfeldolgozásában?
A képelőfeldolgozás általában biztosítja a konzisztens alakzatokat és pixelkezelést: átméretezés/vágás, normalizálás, valamint a determinisztikus és véletlenszerű transzformációk egyértelmű szétválasztása. Kiértékeléshez a transzformációknak determinisztikusnak kell lenniük, hogy a metrikák összehasonlíthatók legyenek. Betanításhoz a véletlenszerű kiegészítés (mint a véletlenszerű kivágások) javíthatja a robusztusságot, de a véletlenszerűséget szándékosan a betanítási szakaszra kell korlátozni, és nem szabad véletlenül bekapcsolva hagyni a kiértékelés során.
Mi tesz egy előfeldolgozó folyamatot „jóvá” a törékeny helyett?
Egy jó MI előfeldolgozó folyamat reprodukálható, szivárgásmentes és megfigyelhető. A reprodukálhatóság azt jelenti, hogy ugyanaz a bemenet ugyanazt a kimenetet hozza létre, kivéve, ha a véletlenszerűség szándékos kiegészítés. A szivárgásmentesség azt jelenti, hogy az illesztési lépések soha nem érintkeznek az validációval/teszttel. A megfigyelhetőség azt jelenti, hogy olyan statisztikákat vizsgálhatunk, mint a hiányosságok, a kategóriaszámok és a jellemzők eloszlása, így a hibakeresés bizonyítékokon alapul, nem pedig megérzéseken. A folyamatok minden alkalommal felülmúlják az ad-hoc jegyzetfüzet-szekvenciákat.
Hogyan tarthatom következetesen a betanítást és a következtetés előfeldolgozását?
A kulcs az, hogy a következtetéskor pontosan ugyanazokat a tanult elemeket használjuk fel újra: a skálázó paramétereket, a kódoló leképezéseket és a tokenizer konfigurációkat. Szükség van egy bemeneti szerződésre is (elvárt oszlopok, típusok és tartományok), hogy az éles adatok ne sodródhassanak csendben érvénytelen alakzatokba. A konzisztencia nem csak azt jelenti, hogy „ugyanazokat a lépéseket kell végrehajtani” – hanem azt, hogy „ugyanazokat a lépéseket kell végrehajtani ugyanazokkal az illesztett paraméterekkel és leképezésekkel”
Hogyan tudom idővel figyelemmel kísérni az előfeldolgozási problémákat, például az eltolódást és az elferdülést?
Még egy stabil folyamattal is változnak az éles adatok. Egy gyakori megközelítés a jellemzők eloszlásának változásainak monitorozása, és riasztás a betanítás-kiszolgálási torzulásról (az éles környezet eltér a betanítástól) és a következtetési eltolódásról (az éles környezet időbeli változásai). A monitorozás lehet könnyűsúlyú (alapvető eloszlás-ellenőrzések) vagy menedzselt (mint a Vertex AI modell monitorozása). A cél a bemeneti eltolódások korai észlelése – mielőtt azok lassan rontanák a modell teljesítményét.
Referenciák
[1] scikit-learn API:
sklearn.preprocessing (kódolók, skálázók, normalizálás) [2] scikit-learn: Gyakori buktatók - Adatszivárgás és elkerülésének módjai
[3] Hugging Face Transformers dokumentáció: Tokenizerek (bemeneti azonosítók, figyelemmaszkok)
[4] PyTorch Torchvision dokumentáció: Transzformációk (átméretezés/normalizálás + véletlenszerű transzformációk)
[5] Google Cloud Vertex AI dokumentáció: Modellmonitorozás áttekintése (jellemzők ferdesége és eltolódása)