Apprendimento one-shot con rete siamese [per riconoscimento facciale]

Pubblicato: 2021-02-08

Il seguente articolo parla della necessità di utilizzare l'apprendimento One-shot insieme alle sue variazioni e svantaggi.

Per cominciare, per addestrare qualsiasi modello di deep learning, abbiamo bisogno di una grande quantità di dati in modo che il nostro modello esegua in modo efficiente l'attività di previsione o classificazione desiderata. Ad esempio, il rilevamento di un cane dalle immagini richiederà di addestrare un modello di rete neurale su centinaia e migliaia di immagini di cani e non cani per poter distinguere accuratamente l'una dall'altra. Tuttavia, questo modello di rete neurale non funzionerà se viene addestrato su uno o pochissimi dati di addestramento.

Con la mancanza di dati, l'estrazione di caratteristiche rilevanti a livelli diversi diventa difficile. Il modello non sarà in grado di generalizzare bene tra classi diverse, influenzando così le sue prestazioni complessive.

Ad esempio, si consideri l'esempio del riconoscimento facciale in un aeroporto. In questo, non abbiamo la libertà di addestrare il nostro modello di centinaia e migliaia di immagini di ogni persona contenenti espressioni diverse, illuminazione di fondo et al. Con più di migliaia di passeggeri che arrivano ogni giorno è un compito impossibile! Inoltre, l'archiviazione di una tale quantità enorme di dati aumenta il costo.

Per affrontare il problema di cui sopra, utilizziamo una tecnica in cui è possibile eseguire attività di classificazione o categorizzazione con uno o pochi esempi per classificare molti nuovi esempi. Questa tecnica è chiamata apprendimento One-shot.

Negli ultimi anni la tecnologia di apprendimento one-shot viene ampiamente utilizzata nel riconoscimento facciale e nei controlli dei passaporti. Il concetto utilizzato è: il modello prende 2 immagini di input; uno è l'immagine del passaporto e l'altro è l'immagine della persona che guarda la fotocamera. Il modello quindi emette un valore che è la somiglianza tra le 2 immagini. Se il valore dell'output è basso, le due immagini sono simili altrimenti sono diverse.

Sommario

Rete siamese

L'architettura utilizzata per l'apprendimento One-shot è chiamata Siamese Network. Questa architettura comprende due reti neurali parallele, ognuna delle quali riceve input diversi. L'output del modello è un valore o un indice di somiglianza che indica se le due immagini di input sono simili o meno. Un valore al di sotto di una soglia predefinita corrisponde all'elevata somiglianza tra le due immagini e viceversa.

Quando le immagini vengono passate a una serie di livelli convoluzionali, livelli di raggruppamento massimo e livelli completamente connessi, ciò che otteniamo è un vettore che codifica le caratteristiche delle immagini. In questo caso, poiché inseriamo due immagini, verranno generati due vettori che racchiudono le caratteristiche delle immagini di input. Il valore di cui stavamo parlando è la distanza tra i due vettori di caratteristiche che può essere calcolata trovando la norma della differenza tra i due vettori.

Funzione di perdita di triplette

Come suggerisce il nome, per addestrare il modello sono necessarie tre immagini: un'immagine di ancoraggio (A), un'immagine positiva (P) e un'immagine negativa (N). Poiché è possibile fornire due input al modello, viene fornita un'immagine di ancoraggio con un'immagine positiva o negativa. Il modello apprende il parametro in modo tale che la distanza tra l'immagine di ancoraggio e l'immagine positiva sia bassa mentre la distanza tra l'immagine di ancoraggio e l'immagine negativa sia alta.

La funzione di perdita costruttiva penalizza il modello se la distanza tra A e N è bassa o A e P è alta, mentre incoraggia il modello o apprende le caratteristiche quando la distanza tra A e N è alta e A e P è bassa.

Per capire meglio l'ancora, le immagini positive e negative, consideriamo l'esempio precedente di quella in un aeroporto. In tal caso, l'immagine dell'ancora sarà la tua immagine quando guardi la telecamera, l'immagine positiva sarà quella sulla foto del tuo passaporto e l'immagine negativa sarà un'immagine casuale di un passeggero presente in aeroporto.

Ogni volta che formiamo una rete Siaseme, le forniamo le immagini dei trii APN (Anchor, positive e negative). La creazione di questo set di dati è molto più semplice e richiederebbe meno immagini per l'addestramento.

Limiti dell'apprendimento One-shot

L'apprendimento one-shot è ancora un algoritmo di apprendimento automatico maturo e presenta alcune limitazioni. Ad esempio, il modello non funzionerà bene se l'immagine di input presenta alcune modifiche: una persona che indossa un cappello, occhiali da sole e altri. Inoltre, un modello addestrato per un'applicazione non può essere generalizzato per un'altra applicazione.

Andando avanti, vediamo alcune varianti dell'apprendimento One-shot che implica l'apprendimento Zero-shot e l'apprendimento Pochi.

Apprendimento a colpo zero

L'apprendimento zero-shot è la capacità del modello di identificare dati etichettati nuovi o non visti mentre viene addestrato su dati visti e conosce le caratteristiche semantiche di dati nuovi o non visti. Ad esempio, un bambino che ha visto un gatto può identificarlo dalle sue caratteristiche distintive. Inoltre, se il bambino è consapevole che il cane abbaia e possiede caratteristiche più solide di un gatto, allora il bambino non avrebbe problemi a riconoscere il cane.

Per concludere, possiamo dire che il riconoscimento ZSL funziona in un modo che tiene conto dell'insieme di addestramento etichettato delle classi viste insieme alla conoscenza di come ciascuna classe invisibile sia semanticamente correlata alle classi viste.

Apprendimento a colpi N

Come suggerisce il nome, in N shot learning avremo n dati etichettati di ciascuna classe disponibili per l'allenamento. Il modello è addestrato su K classi, ciascuna contenente n dati etichettati. Dopo aver estratto le caratteristiche e i modelli rilevanti, il modello deve classificare una nuova immagine senza etichetta in una delle classi K. Usano reti di corrispondenza che funzionano sull'approccio basato sui vicini più vicini addestrato completamente end-to-end.

Conclusione

In conclusione, il campo dell'apprendimento One-shot e le sue controparti hanno un potenziale immenso per risolvere alcuni dei problemi impegnativi. Tuttavia, essendo un'area di ricerca relativamente nuova, sta facendo rapidi progressi e i ricercatori stanno lavorando cercando di colmare il divario tra macchine e esseri umani.

Con questo, siamo giunti alla fine di questo post, spero che vi sia piaciuto leggerlo.

Se sei interessato a saperne di più sull'apprendimento automatico, dai un'occhiata al Diploma PG di IIIT-B e upGrad in Machine Learning e AI, progettato per i professionisti che lavorano e offre oltre 450 ore di formazione rigorosa, oltre 30 casi di studio e incarichi, IIIT- B Stato di ex alunni, oltre 5 progetti pratici pratici e assistenza sul lavoro con le migliori aziende.

Impara il corso ML dalle migliori università del mondo. Guadagna master, Executive PGP o programmi di certificazione avanzati per accelerare la tua carriera.

Guida la rivoluzione tecnologica guidata dall'intelligenza artificiale

Richiedi il programma di certificazione avanzato in Machine Learning e NLP