Quali sono alcune scoperte recenti e potenzialmente imminenti nell'apprendimento profondo?
Ci sono molti interessanti sviluppi recenti nell'apprendimento profondo, probabilmente troppi perché io possa descriverli tutti qui. Ma ci sono alcune idee che hanno catturato la mia attenzione abbastanza da coinvolgermi personalmente in progetti di ricerca.
La più importante, a mio parere, è l'addestramento avversario (chiamato anche GAN per Generative Adversarial Networks). Si tratta di un'idea che è stata originariamente proposta da Ian Goodfellow quando era uno studente con Yoshua Bengio all'Università di Montreal (da allora è passato a Google Brain e recentemente a OpenAI).
Questa, e le varianti che vengono ora proposte è l'idea più interessante degli ultimi 10 anni in ML, secondo me.
L'idea è di addestrare simultaneamente due reti neurali. La prima, chiamata Discriminatore - denotiamola D(Y) - prende un input (per esempio un'immagine) e produce uno scalare che indica se l'immagine Y sembra "naturale" o no. In un'istanza di formazione avversaria, D(Y) può essere considerata come una sorta di funzione energetica che prende un valore basso (ad esempio vicino a 0) quando Y è un campione reale (ad esempio un'immagine da un database) e un valore positivo quando non lo è (ad esempio se è un'immagine rumorosa o dall'aspetto strano). La seconda rete è chiamata generatore, indicata con G(Z), dove Z è generalmente un vettore campionato casualmente in una distribuzione semplice (per esempio gaussiana). Il ruolo del generatore è quello di produrre immagini in modo da addestrare la funzione D(Y) ad assumere la giusta forma (valori bassi per le immagini reali, valori più alti per tutto il resto). Durante l'addestramento a D viene mostrata un'immagine reale, e regola il suo parametro per rendere il suo output più basso. Poi a D viene mostrata un'immagine prodotta da G e regola i suoi parametri per rendere il suo output D(G(Z)) più grande (seguendo il gradiente di qualche funzione obiettivo predefinita). Ma G(Z) si addestrerà a produrre immagini in modo da ingannare D a pensare che siano reali. Lo fa ottenendo il gradiente di D rispetto a Y per ogni campione che produce. In altre parole, cerca di minimizzare l'output di D mentre D cerca di massimizzarlo. Da qui il nome di addestramento avversario.
La formulazione originale usa un quadro probabilistico considerevolmente più complicato, ma questo è il succo del discorso.
Perché è così interessante? Ci permette di addestrare un discriminatore come uno "stimatore di densità" non supervisionato, cioè una funzione di contrasto che ci dà un valore basso per i dati e un output più alto per tutto il resto. Questo discriminatore deve sviluppare una buona rappresentazione interna dei dati per risolvere correttamente questo problema. Può quindi essere usato come un estrattore di caratteristiche per un classificatore, per esempio.
Ma forse più interessante, il generatore può essere visto come una parametrizzazione della complicata superficie dei dati reali: dategli un vettore Z, e lo mappa in un punto sul manifold dei dati. Ci sono articoli in cui la gente fa cose sorprendenti con questo, come generare immagini di camere da letto, fare aritmetica sulle facce nello spazio vettoriale Z: [uomo con gli occhiali] - [uomo senza occhiali] + [donna senza occhiali] = [donna con gli occhiali].
C'è stata una serie di articoli interessanti da FAIR sull'argomento:
- Denton et al. "Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks" (NIPS 2015) : https://scholar.google.com/citations?view_op=view_citation&hl=en&user=RJV6hA4AAAAJ&citation_for_view=RJV6hA4AAAAJ:2osOgNQ5qMEC
- Radford et al. "Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks" (ICLR 2015): https://scholar.google.com/citations?view_op=view_citation&hl=en&user=36ofBJgAAAAJ&citation_for_view=36ofBJgAAAAJ:YsMSGLbcyi4C
- Mathieu et al. "Deep multi-scale video prediction beyond mean square error" : https://scholar.google.com/citations?view_op=view_citation&hl=en&user=SSTIBK0AAAAJ&sortby=pubdate&citation_for_view=SSTIBK0AAAAJ:W7OEmFMy1HYC
Quest'ultimo è sulla predizione video con training avversariale. Risolve un problema davvero importante, che è che quando si addestra una rete neurale (o qualsiasi altro modello) per prevedere il futuro, e quando ci sono diversi futuri possibili, una rete addestrata in modo tradizionale (ad esempio con i minimi quadrati) predirà la media di tutti i futuri possibili. Nel caso del video, produrrà un pasticcio sfocato. L'addestramento avversario permette al sistema di produrre quello che vuole, purché sia all'interno dell'insieme che piace al discriminatore. Questo risolve il problema della "sfocatura" quando si predice sotto incertezza.
Sembra una questione piuttosto tecnica, ma penso davvero che apra le porte a un intero mondo di possibilità.
Articoli simili
- Qual è il miglior portatile da acquistare nel 2021 per l'apprendimento profondo?
- Qual è attualmente la migliore GPU per l'apprendimento profondo?
- Qual è il modo migliore per una donna di dire a un uomo potenzialmente violento che vuole il divorzio?
- Quali sono le applicazioni nel mondo reale delle scoperte di Ramanujan?