L’Incredibile Efficacia del Transfer Learning

Efficacia Transfer Learning

Guida essenziale alla previsione multi-output con Keras Functional API

Immagine di Gerd Altmann da Pixabay

Allenare una rete neurale deep-learning complessa richiede una significativa efficienza computazionale, la disponibilità di un ampio corpus di dati e un’architettura di apprendimento delle caratteristiche migliore per ottenere risultati all’avanguardia. Ma questi requisiti sono soddisfatti solo a volte per start-up, ricercatori e studenti. Con il recente avanzamento del deep learning, molti modelli pre-allenati sono ora open-source.

Alcuni dei modelli pre-allenati basati su reti neurali convoluzionali più popolari sono VGG16/19, ResNet, MobileNet, EfficientNet, ResNeXt e molti altri. I pesi e l’architettura di questi modelli pre-allenati possono essere regolati per utilizzarli in vari casi d’uso.

La rete VGG16 è un modello pre-allenato popolare utilizzato per effettuare previsioni multi-classe (1 su 1000 classi di output) prendendo immagini come input.

In questo articolo, sfrutteremo il transfer learning per sviluppare un caso d’uso che può effettuare previsioni multiple o previsioni multi-output utilizzando Keras Functional API.

Enunciato del problema:

Il compito consiste nello sviluppare un modello che possa prevedere l’età, il genere e l’etnia (previsione multi-output) dato un’immagine facciale di una persona.

(Immagine dell'autore), Illustrazione dall'alto del caso d'uso

Dobbiamo sfruttare il transfer learning e utilizzare la rete pre-allenata VGG-16 per modellare l’architettura sopra descritta e effettuare previsioni multi-output. Purtroppo, le reti VGG sono progettate per effettuare previsioni multi-classe (una delle 1000 classi) e non previsioni multi-output.

Soluzione:

Ora il compito è regolare e aggiornare l’architettura VGG-16 per effettuare previsioni multi-output utilizzando Keras Functional API.

Dataset:

Utilizzerò il dataset da Kaggle (open-source con licenza CC0) che contiene oltre 23.000 immagini facciali annotate insieme alla loro corrispondente età, genere ed etnia.

Preparazione dei dati: