Kursusindhold
Computer Vision Grundlæggende
Computer Vision Grundlæggende
Transfer Learning i Computer Vision
Transfer learning gør det muligt at genbruge modeller, der er trænet på store datasæt, til nye opgaver med begrænsede data. I stedet for at opbygge et neuralt netværk fra bunden, udnytter vi fortrænede modeller for at forbedre effektivitet og ydeevne. Gennem dette kursus har du allerede stødt på lignende tilgange i tidligere afsnit, hvilket har lagt grundlaget for en effektiv anvendelse af transfer learning.
Hvad er Transfer Learning?
Transfer learning er en teknik, hvor en model, der er trænet på én opgave, tilpasses til en anden relateret opgave. Inden for computer vision kan modeller, der er fortrænet på store datasæt som ImageNet, finjusteres til specifikke anvendelser såsom medicinsk billedbehandling eller autonom kørsel.
Hvorfor er Transfer Learning vigtigt?
Reducerer træningstid: da modellen allerede har lært generelle træk, kræves kun mindre justeringer;
Kræver færre data: nyttigt i tilfælde, hvor det er dyrt at skaffe mærkede data;
Øger ydeevnen: fortrænede modeller tilbyder robust feature-ekstraktion, hvilket forbedrer nøjagtigheden.
Arbejdsgang for Transfer Learning
Den typiske arbejdsgang for transfer learning omfatter flere centrale trin:
Valg af fortrænet model:
Vælg en model, der er trænet på et stort datasæt (f.eks. ResNet, VGG, YOLO);
Disse modeller har lært nyttige repræsentationer, som kan tilpasses nye opgaver.
Modificering af den fortrænede model:
Feature extraction: fastfrys de tidlige lag og gen-træn kun de senere lag til den nye opgave;
Finjustering: ophæv fastfrysning af nogle eller alle lag og gen-træn dem på det nye datasæt.
Træning på det nye datasæt:
Træn den modificerede model ved hjælp af et mindre datasæt, der er specifikt for målopgaven;
Optimer ved hjælp af teknikker som backpropagation og loss functions.
Evaluering og iteration:
Vurder ydeevnen ved hjælp af målinger som accuracy, precision, recall og mAP;
Finjuster yderligere om nødvendigt for at forbedre resultaterne.
Populære fortrænede modeller
Nogle af de mest udbredte fortrænede modeller til computer vision omfatter:
ResNet: dybe residual netværk, der muliggør træning af meget dybe arkitekturer;
VGG: en simpel arkitektur med ensartede konvolutionslag;
EfficientNet: optimeret for høj nøjagtighed med færre parametre;
YOLO: state-of-the-art (SOTA) realtidsobjektdetektion.
Finjustering vs. Feature Extraction
Feature extraction indebærer brug af lagene i en fortrænet model som faste feature extractors. I denne tilgang fjernes modellens oprindelige klassifikationslag typisk og erstattes med et nyt, der er specifikt for målopgaven. De fortrænede lag forbliver fastfrosne, hvilket betyder, at deres vægte ikke opdateres under træningen, hvilket gør træningen hurtigere og kræver mindre data.
Finjustering går derimod et skridt videre ved at ophæve fastfrysningen af nogle eller alle de fortrænede lag og genuddanne dem på det nye datasæt. Dette gør det muligt for modellen at tilpasse de lærte egenskaber mere præcist til de specifikke karakteristika ved den nye opgave, hvilket ofte fører til forbedret ydeevne—særligt når det nye datasæt er tilstrækkeligt stort eller adskiller sig væsentligt fra de oprindelige træningsdata.
Anvendelser af transfer learning
1. Billedklassificering
Billedklassificering indebærer tildeling af etiketter til billeder baseret på deres visuelle indhold. Fortrænede modeller som ResNet og EfficientNet kan tilpasses til specifikke opgaver såsom medicinsk billedbehandling eller klassificering af dyreliv.
Eksempel:
Vælg en fortrænet model (f.eks. ResNet);
Tilpas klassifikationslaget til at matche målklasserne;
Finjuster med en lavere læringsrate.
2. Objektgenkendelse
Objektgenkendelse indebærer både identifikation af objekter og lokalisering af dem i et billede. Transfer learning muliggør, at modeller som Faster R-CNN, SSD og YOLO effektivt kan detektere specifikke objekter i nye datasæt.
Eksempel:
Brug en fortrænet objektgenkendelsesmodel (f.eks. YOLOv8);
Finjuster på et brugerdefineret datasæt med nye objektklasser;
Evaluer ydeevne og optimer efter behov.
3. Semantisk segmentering
Semantisk segmentering klassificerer hver pixel i et billede i foruddefinerede kategorier. Modeller som U-Net og DeepLab anvendes bredt i applikationer som autonom kørsel og medicinsk billedbehandling.
Eksempel:
Brug en fortrænet segmenteringsmodel (f.eks. U-Net);
Træn på et domænespecifikt datasæt;
Juster hyperparametre for bedre nøjagtighed.
4. Stiloverførsel
Stiloverførsel anvender den visuelle stil fra ét billede på et andet, mens det oprindelige indhold bevares. Denne teknik bruges ofte i digital kunst og billedforbedring ved hjælp af fortrænede modeller som VGG.
Eksempel:
Vælg en stiloverførselsmodel (f.eks. VGG);
Indsæt indholds- og stilbilleder;
Optimer for visuelt tiltalende resultater.
1. Hvad er den primære fordel ved at bruge transfer learning i computer vision?
2. Hvilken tilgang anvendes i transfer learning, når kun det sidste lag af en fortrænet model ændres, mens de tidligere lag holdes faste?
3. Hvilken af følgende modeller anvendes ofte til transfer learning i objektgenkendelse?
Tak for dine kommentarer!