transfer learning
Főnév
transfer learning (tsz. transfer learnings)
- (informatika) A transfer learning, vagyis átviteles tanulás, a gépi tanulás (ML) egyik technikája, amely során egy már meglévő, jól betanított modell tudását használjuk fel egy új, de hasonló feladathoz. Ezzel csökkenthetjük az új modell tanításához szükséges adatmennyiséget, számítási időt és erőforrást. Ez különösen hasznos, ha az új feladatra kevés adat áll rendelkezésre.
1. Miért van rá szükség?
A gépi tanulás hagyományos megközelítései általában hatalmas adathalmazokat igényelnek. Például egy jó minőségű képosztályozó modellhez akár milliónyi címkézett képre is szükség lehet. Az ilyen adatok előállítása költséges és időigényes. Ezzel szemben a transfer learning lehetővé teszi, hogy egy előre betanított modellt újrafelhasználjunk más feladathoz – így jelentősen csökkenthetjük az adatigényt.
2. Működési elve
A transfer learning lényege, hogy egy modell egy problémán tanult tudását (pl. a képekben felismerhető mintázatok) egy másik, kapcsolódó problémán alkalmazza.
Például:
- Egy ImageNet-en betanított képosztályozó modell már jól megtanulta felismerni az alapvető vizuális elemeket (élek, textúrák, formák).
- Ez a tudás újrafelhasználható például orvosi képek elemzésére, ahol hasonló vizuális mintázatokra van szükség.
3. Típusai
A transfer learning alkalmazása többféleképpen történhet:
a. Feature Extraction (jellemzők kinyerése)
- Az előre betanított modell rétegeit “fagyasztjuk” (freeze), vagyis nem tanítjuk tovább.
- Ezek a rétegek jellemzőket nyernek ki az új bemenetekből.
- Egy új osztályozó réteget adunk hozzá a végére, amit az új feladatra tanítunk be.
b. Fine-Tuning (finomhangolás)
- A teljes modellt (vagy egy részét) újra betanítjuk az új adatokon, kisebb tanulási rátával.
- Ez mélyebb alkalmazkodást tesz lehetővé az új feladathoz.
c. Frozen Backbone + New Head
- A “gerincet” (pl. konvolúciós részt) megtartjuk, az “osztályozó fejet” lecseréljük és tanítjuk.
4. Példák
Képfeldolgozás:
- Egy ResNet, VGG vagy EfficientNet architektúra ImageNet-en betanítva újrafelhasználható például röntgenképek elemzéséhez.
NLP (Natural Language Processing):
- A BERT vagy GPT modellek nyelvi tudása újrafelhasználható szentimentelemzésre, kérdés-válasz rendszerekre, stb.
- Például a
BERTangol szövegeken tanult, de finomhangolható jogi szövegek osztályozására.
Hangfeldolgozás:
- Beszédfelismerő modellek újrahasznosíthatók különféle nyelveken vagy zajos környezetekhez.
5. Előnyök
- Adatspórolás: Kevés tanítóadat is elég.
- Gyorsabb tanítás: A modell már „sokat tud”, nem kell nulláról indulni.
- Jobb teljesítmény: Főleg kis adathalmaz esetén túlteljesíti a semmiből tanított modelleket.
6. Kihívások
- Különböző feladattípusok: Nem minden esetben működik jól, ha túl eltérő a kiinduló és a célfeladat.
- Katastrofális elfelejtés: Ha a finomhangolás során a modell túl sokat módosul, elvesztheti a korábban tanultakat.
- Adathalmazok eltérése: Pl. különböző képstílus, nyelvjárás, zajszint.
7. Mikor érdemes használni?
- Ha van egy jól működő, nyílt forrású előre betanított modell (pl. HuggingFace, TensorFlow Hub, PyTorch Hub).
- Ha nincs elég adat az új feladatra.
- Ha gyors fejlesztésre van szükség (prototípus, MVP).
- Ha a forrás- és célfeladat hasonló (pl. különféle képosztályozási feladatok).
8. Tipikus menete (példa – képfeldolgozás)
Előre betanított modell betöltése
base_model = tf.keras.applications.MobileNetV2(input_shape=IMG_SHAPE, include_top=False, weights='imagenet')
“Backbone” fagyasztása
base_model.trainable = False
Új osztályozó réteg hozzáadása
model = tf.keras.Sequential([ base_model, tf.keras.layers.GlobalAveragePooling2D(), tf.keras.layers.Dense(num_classes, activation='softmax') ])
Model tanítása az új adatokon
model.compile(...) model.fit(...)
9. Alternatívák
- Meta Learning (tanulni tanulni): Modellek, amik gyorsan alkalmazkodnak új feladatokhoz.
- Multitask Learning: Egyszerre több feladatra tanítjuk a modellt.
- Few-shot / zero-shot learning: Minimális vagy semmilyen tanítóadatot nem igényel az új feladatra.
10. Összegzés
A transfer learning egy hatékony és praktikus eszköz a gépi tanulásban, mellyel meglévő modellek tudását újrafelhasználhatjuk. Alkalmazása lehetővé teszi, hogy kis adathalmazokkal is jó teljesítményt érjünk el, és jelentősen csökkenti a fejlesztési időt és költségeket. Az AI alkalmazások robbanásszerű növekedése idején a transfer learning központi szerepet játszik a gépi tanulási rendszerek fejlesztésében.
- transfer learning - Szótár.net (en-hu)
- transfer learning - Sztaki (en-hu)
- transfer learning - Merriam–Webster
- transfer learning - Cambridge
- transfer learning - WordNet
- transfer learning - Яндекс (en-ru)
- transfer learning - Google (en-hu)
- transfer learning - Wikidata
- transfer learning - Wikipédia (angol)