DeepDream: differenze tra le versioni
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 7: | Riga 7: | ||
}} | }} | ||
Nel 2015, Alexander Mordvintsev, uno sviluppatore di Google, ha pubblicato un blog post contenente la descrizione di quello che rimarrà sicuramente uno dei più interessanti e singolari esperimenti fatti con le reti neurali. Alexander è anche un'artista interattivo, e quindi ha un particolare sensibilità nel | Nel 2015, [https://znah.net Alexander Mordvintsev], uno sviluppatore di Google, ha pubblicato un blog post contenente la descrizione di quello che rimarrà sicuramente uno dei più interessanti e singolari esperimenti fatti con le reti neurali. Alexander è anche un'artista interattivo, e quindi ha un particolare sensibilità nel provare a utilizzare algoritmi e modelli in un modo non convenzionale. | ||
Alexander fa esattamente il seguente tentativo. Presa una rete neurale convoluzionale per la classificazione di immagini, come [[Rete Neurale Residua (ResNet)|ResNet]], [[VGG16 (ConvNet)|VGG16]], o [[GoogLeNet]], il modello va a iterativamente modificare l'immagine di input in modo da '''massimizzare le attivazioni''' di uno o più strati della rete neurale, predeterminati. | Alexander fa esattamente il seguente tentativo. Presa una rete neurale convoluzionale per la classificazione di immagini, come [[Rete Neurale Residua (ResNet)|ResNet]], [[VGG16 (ConvNet)|VGG16]], o [[GoogLeNet]], il modello va a iterativamente modificare l'immagine di input in modo da '''massimizzare le attivazioni''' di uno o più strati della rete neurale, predeterminati. | ||
Riga 17: | Riga 17: | ||
* https://www.tensorflow.org/tutorials/generative/deepdream | * https://www.tensorflow.org/tutorials/generative/deepdream | ||
=== L'ascesa del gradiente === | |||
La particolarità di questo metodo, come si diceva, consiste nell effetturare l'esatto contrario di quanto si fa normalmente durante l'addestramento di una rete neurale. Se durante l'addestramento della rete, infatti, si è utilizzata la [[discesa del gradiente]] per aggiornare i valori dei coefficienti degli strati della rete, minimizzando così il valore della [[Funzione Obiettivo (loss)|funzione di perdita]], il modello DeepDream prevede di calcolare i gradienti della perdita '''rispetto all'immagine''', e poi aggiungerli all'immagine: questo intensifica i pattern visti dalla rete in quei layer. | |||
=== Le ottave nell'immagine === | |||
[[Categoria:Modello]] | [[Categoria:Modello]] |
Versione delle 23:09, 27 mag 2024
DeepDream | |
---|---|
Nome Inglese | DeepDream |
Sigla | |
Anno Di Creazione | 2015-06-18 |
Versione Corrente | |
URL | https://research.google/blog/inceptionism-going-deeper-into-neural-networks/ |
Pubblicazione | Inceptionism: Going Deeper into Neural Networks |
URL Pubblicazione | https://research.google/blog/inceptionism-going-deeper-into-neural-networks/ |
Nel 2015, Alexander Mordvintsev, uno sviluppatore di Google, ha pubblicato un blog post contenente la descrizione di quello che rimarrà sicuramente uno dei più interessanti e singolari esperimenti fatti con le reti neurali. Alexander è anche un'artista interattivo, e quindi ha un particolare sensibilità nel provare a utilizzare algoritmi e modelli in un modo non convenzionale.
Alexander fa esattamente il seguente tentativo. Presa una rete neurale convoluzionale per la classificazione di immagini, come ResNet, VGG16, o GoogLeNet, il modello va a iterativamente modificare l'immagine di input in modo da massimizzare le attivazioni di uno o più strati della rete neurale, predeterminati.
Sono state viste tre implementazioni:
- l'implementazione originale in Caffè
- un'implementazione in Pytorch piuttosto recente e ben scritta
- https://www.tensorflow.org/tutorials/generative/deepdream
L'ascesa del gradiente
La particolarità di questo metodo, come si diceva, consiste nell effetturare l'esatto contrario di quanto si fa normalmente durante l'addestramento di una rete neurale. Se durante l'addestramento della rete, infatti, si è utilizzata la discesa del gradiente per aggiornare i valori dei coefficienti degli strati della rete, minimizzando così il valore della funzione di perdita, il modello DeepDream prevede di calcolare i gradienti della perdita rispetto all'immagine, e poi aggiungerli all'immagine: questo intensifica i pattern visti dalla rete in quei layer.