{"id":155,"date":"2023-11-30T17:18:57","date_gmt":"2023-11-30T17:18:57","guid":{"rendered":"https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/chapter\/deep-neural-networks\/"},"modified":"2024-01-31T11:38:57","modified_gmt":"2024-01-31T11:38:57","slug":"deep-neural-networks","status":"publish","type":"chapter","link":"https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/chapter\/deep-neural-networks\/","title":{"raw":"Parola all\u2019IA: le reti neurali profonde","rendered":"Parola all\u2019IA: le reti neurali profonde"},"content":{"raw":"<h3>L\u2019apprendimento automatico scende nel profondo<\/h3>\n<p class=\"no-indent\">La conoscenza umana \u00e8 ampia e mutevole ed \u00e8 intrinsecamente difficile da cogliere. La mente umana pu\u00f2 assorbire ed elaborare conoscenza dal momento che \u00e8, come ha sostenuto Noam Chomsky: \u00abun sistema sorprendentemente efficiente e persino elegante che funziona con piccoli quantitativi di informazioni; cerca di non evincere correlazioni irrazionali tra i punti di dati, ma di creare spiegazioni\u00bb<sup>1<\/sup>.<\/p>\n<p class=\"indent\">Si presume che <a href=\"https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/chapter\/ai-speak-machine-learning\/\">l\u2019apprendimento automatico<\/a> faccia la stessa cosa rinvenendo schemi in vasti quantitativi di dati. Ma, prima di fare ci\u00f2, esperti e programmatori devono sedersi e codificare quali caratteristiche dei dati abbiano rilevanza per il problema considerato e inserirle nella macchina come \u201cparametri\u201d<sup>2,3<\/sup>. Come abbiamo visto precedentemente, le prestazioni del sistema dipendono notevolmente dalla qualit\u00e0 dei dati e da questi parametri, ai quali non \u00e8 sempre immediato risalire.<\/p>\n<p class=\"indent\">Le reti neurali profonde, denominate anche apprendimento profondo, sono una branca dell\u2019apprendimento automatico pensata per superare questo inconveniente:<\/p>\n\n<ul>\n \t<li>estraendo propri parametri dai dati durante la fase di addestramento;<\/li>\n \t<li>facendo ricorso a molteplici strati che creano relazioni tra parametri, le quali vanno progressivamente da rappresentazioni semplici nello strato pi\u00f9 esterno a rappresentazioni pi\u00f9 complesse e astratte e ci\u00f2 consente di fare alcune cose meglio che con i convenzionali algoritmi di apprendimento automatico<sup>2<\/sup>.<\/li>\n<\/ul>\n<p class=\"no-indent\">Moltissime applicazioni potenti di apprendimento automatico fanno sempre maggiore ricorso all\u2019apprendimento profondo. Tra esse vi sono i motori di ricerca, i sistemi di raccomandazione, le funzioni di trascrizione vocale e di traduzione che abbiamo trattato in questo libro. Non sar\u00e0 una forzatura affermare che l\u2019apprendimento profondo ha dato una notevole spinta al successo dell\u2019intelligenza artificiale in molteplici attivit\u00e0.<\/p>\n\n\n[caption id=\"attachment_154\" align=\"aligncenter\" width=\"575\"]<img class=\"wp-image-151\" src=\"http:\/\/aiopentext.itd.cnr.it\/wp-content\/uploads\/sites\/12\/2023\/11\/ch6-page-5-AI-ML-DL-1.png\" alt=\"\" width=\"575\" height=\"482\"> Riferimento: Goodfellow, I.J., Bengio, Y., Courville, A., Deep Learning, MIT Press, 2016.[\/caption]\n<p class=\"no-indent\">Il termine \u201cprofondo\u201d fa riferimento a come gli strati si sovrappongono in modo da creare la rete. Il termine \u201cneurale\u201d riflette il fatto che alcuni aspetti della progettazione sono stati ispirati al cervello umano inteso da un punto di vista biologico. Nonostante ci\u00f2, e anche se forniscono delle informazioni relativamente ai nostri processi di pensiero, si tratta di modelli rigorosamente matematici privi di somiglianza con parti o processi biologici<sup>2<\/sup>.<\/p>\n\n<h3>I principi fondamentali dell\u2019apprendimento profondo<\/h3>\nQuando gli esseri umani guardano un\u2019immagine, identificano automaticamente oggetti e volti. Ma una fotografia per un algoritmo \u00e8 solo un insieme di pixel. Passare da un coacervo di colori e livelli di luminosit\u00e0 a riconoscere un viso \u00e8 un salto troppo complicato da fare.\n\nL\u2019apprendimento profondo ci arriva scomponendo il processo in rappresentazioni molto semplici nel primo strato, attraverso, per esempio, la comparazione della luminosit\u00e0 dei pixel adiacenti in modo da notare la presenza o l\u2019assenza di margini in diverse zone dell\u2019immagine. Il secondo strato individua serie di margini per cercare entit\u00e0 pi\u00f9 complesse, come angoli e contorni, ignorando delle variazioni trascurabili nelle posizioni dei margini<sup>2,3<\/sup>. Lo strato successivo cerca parti degli oggetti tenendo conto di contorni e angoli. Lentamente aumenta la complessit\u00e0 fino a giungere al punto in cui l\u2019ultimo strato \u00e8 in grado di combinare parti diverse sufficientemente bene da riconoscere un viso o identificare un oggetto.\n\n<img class=\"aligncenter wp-image-152\" src=\"http:\/\/aiopentext.itd.cnr.it\/wp-content\/uploads\/sites\/12\/2024\/01\/ch5-page3-Deep-learning-1.png\" alt=\"\" width=\"500\" height=\"419\">\n<div>\n<p class=\"no-indent\">Cosa bisogna prendere in considerazione in ciascuno strato non \u00e8 specificato dai programmatori, ma si apprende dai dati nel processo di addestramento<sup>3<\/sup>. Testando queste previsioni alla luce dei risultati reali nelle serie di dati di addestramento, il funzionamento di ciascuno strato \u00e8 calibrato in un modo leggermente diverso per ottenere un risultato leggermente migliore ogni volta. Quando ci\u00f2 viene fatto correttamente e purch\u00e9 ci sia un numero sufficiente di dati di buona qualit\u00e0, la rete dovrebbe evolvere in modo da ignorare le parti irrilevanti della foto, come la posizione esatta delle entit\u00e0, le angolazioni, l\u2019illuminazione e focalizzarsi su quelle parti che rendono il riconoscimento possibile.<\/p>\n<p class=\"indent\">Una cosa da notare in questo punto \u00e8 il fatto che, nonostante il nostro utilizzo di margini e contorni per comprendere il processo, ci\u00f2 che \u00e8 effettivamente rappresentato negli strati \u00e8 una serie di numeri, che potrebbe corrispondere o meno alle cose che comprendiamo. Ci\u00f2 che non cambia sono l\u2019astrattezza e la complessit\u00e0 crescenti.<\/p>\n\n<h3>Progettare la rete<\/h3>\n<p class=\"no-indent\">Quando il programmatore decide di fare uso dell\u2019apprendimento profondo per un\u2019attivit\u00e0 e <a href=\"https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/chapter\/ai-speak-data-based-systems-part-2\/\">prepara i dati<\/a>, deve progettare ci\u00f2 che viene definito l\u2019architettura della propria rete neurale. Deve scegliere il numero di strati (la profondit\u00e0 della rete) e il numero di parametri per strato (l\u2019ampiezza della rete). Successivamente deve decidere come creare delle connessioni tra gli strati, se ogni unit\u00e0 di uno strato sar\u00e0 collegata a ogni unit\u00e0 dello strato precedente o meno.<\/p>\nL\u2019architettura ideale per una determinata attivit\u00e0 spesso viene rinvenuta attraverso la sperimentazione. Maggiore \u00e8 il numero degli strati, minore \u00e8 quello dei parametri che sono necessari per ogni strato e la rete funziona meglio con dei dati generali, a costo di essere difficile da ottimizzare. Un minor numero di connessioni significher\u00e0 un minor numero di parametri e una quantit\u00e0 minore di calcoli, ma ridurr\u00e0 la flessibilit\u00e0 della rete<sup>2<\/sup>.\n\n<\/div>\n<h3>Addestrare la rete<\/h3>\nConsideriamo l\u2019esempio di una rete neurale di tipo \u201cfeed forward\u201d per l\u2019apprendimento supervisionato. In questo caso, le informazioni fluiscono da uno strato a quello pi\u00f9 profondo senza cicli di feedback. Come accade nel caso di tutte le tecniche di apprendimento automatico, l\u2019obiettivo \u00e8 trovare come gli input siano collegati con gli output, quali parametri si combinano e come si combinano per fornire il risultato osservato: presumiamo che vi sia una relazione f che collega i valori di ingresso x a quelli di uscita y. Utilizziamo poi la rete per trovare la serie di parametri \u03b8 che d\u00e0 la combinazione migliore per ottenere gli output previsti e quelli effettivi.\n<div class=\"textbox\">\n<p style=\"text-align: center\">Domanda chiave: il valore previsto y \u00e8 f (x,\u03b8), per quale \u03b8?<\/p>\n\n<\/div>\n<p class=\"no-indent\">In questo caso l\u2019y previsto \u00e8 il prodotto finale e la serie di dati x \u00e8 l\u2019input. Nel campo del riconoscimento facciale, x \u00e8 di solito l\u2019insieme dei pixel all\u2019interno di un\u2019immagine. y pu\u00f2 essere il nome della persona. Nella rete, gli strati sono assimilabili ai lavoratori in una catena di montaggio nella quale ciascun lavoratore lavora al pezzo che gli \u00e8 assegnato e lo passa avanti al lavoratore successivo. Il primo strato riceve l\u2019input e lo trasforma un po\u2019 prima di passarlo al secondo nella successione. Il secondo strato fa lo stesso prima di passarlo al terzo e via di questo passo fino a che l\u2019input viene trasformato nel prodotto finale.<\/p>\n<p class=\"indent\">Matematicamente, la funzione f \u00e8 suddivisa in svariate funzioni f1, f2, f3\u2026 in cui f= \u2026.f3(f2(f1(x))). Lo strato successivo a quello di ingresso trasforma i parametri di ingresso utilizzando f1, lo strato ancora successivo lo fa utilizzando f2 e cos\u00ec via. Il programmatore potrebbe intervenire per aiutare a scegliere la famiglia di funzioni corretta in base alla propria conoscenza del problema.<\/p>\n<img class=\"aligncenter wp-image-153\" src=\"http:\/\/aiopentext.itd.cnr.it\/wp-content\/uploads\/sites\/12\/2024\/01\/ch5-page3-DL-function-1.png\" alt=\"\" width=\"500\" height=\"419\">\n<p class=\"no-indent\">\u00c8 compito di ciascuno strato assegnare il livello di importanza, il peso conferito a ciascun parametro che riceve. Tali pesi sono come delle manopole che in ultima analisi definiscono la relazione tra l\u2019output previsto e l\u2019input in quello strato<sup>3<\/sup>. In un sistema di apprendimento profondo tipico, consideriamo centinaia di milioni di queste manopole e centinaia di milioni di esempi di addestramento. Dal momento che n\u00e9 definiamo n\u00e9 possiamo vedere output e pesi negli strati tra l\u2019input e l\u2019output, questi sono definiti strati nascosti.<\/p>\n<p class=\"indent\">Nel caso dell\u2019esempio del riconoscimento dell\u2019oggetto discusso precedentemente, \u00e8 compito del primo lavoratore individuare i margini e passarli al secondo che individua i contorni e cos\u00ec via.<\/p>\n<p class=\"indent\">Durante l\u2019addestramento, l\u2019output previsto viene considerato e paragonato all\u2019output reale. Se la differenza tra i due \u00e8 considerevole, i pesi assegnati in ciascuno strato dovranno essere modificati notevolmente. In caso contrario sar\u00e0 sufficiente una variazione lieve. Questa attivit\u00e0 avviene in due momenti. In primo luogo si calcola la differenza tra la previsione e l\u2019output e poi un altro algoritmo calcola come modificare i pesi in ciascuno strato, iniziando dallo strato di uscita (in questo caso, le informazioni fluiscono risalendo dagli strati pi\u00f9 profondi). Pertanto al termine del processo di addestramento, la rete \u00e8 pronta con i suoi pesi e le sue funzioni ad attaccare i dati di test. Il resto del processo \u00e8 il medesimo di quello dell\u2019apprendimento automatico convenzionale.<\/p>\n<img class=\"aligncenter wp-image-154\" src=\"http:\/\/aiopentext.itd.cnr.it\/wp-content\/uploads\/sites\/12\/2024\/01\/ch2-page3-traintestuse-e1697823763965-1.png\" alt=\"\" width=\"457\" height=\"217\">\n\n<hr>\n<p class=\"hanging-indent\" style=\"text-align: left\"><sup>1 <\/sup>Chomsky, N., Roberts, I., Watumull, J., <em>Noam Chomsky: The False Promise of ChatGPT,\u00a0<\/em>The New York Times, 2023.<\/p>\n<p class=\"hanging-indent\" style=\"text-align: left\"><sup>2 <\/sup>Goodfellow, I.J., Bengio, Y., Courville, A., <em>Deep Learning, <\/em>MIT Press, 2016.<\/p>\n<p class=\"hanging-indent\" style=\"text-align: left\"><sup>3 <\/sup>LeCun, Y., Bengio, Y., Hinton, G., <em>Deep learning,<\/em>\u00a0Nature\u00a0<b>521<\/b>, 436\u2013444 (2015).<\/p>","rendered":"<h3>L\u2019apprendimento automatico scende nel profondo<\/h3>\n<p class=\"no-indent\">La conoscenza umana \u00e8 ampia e mutevole ed \u00e8 intrinsecamente difficile da cogliere. La mente umana pu\u00f2 assorbire ed elaborare conoscenza dal momento che \u00e8, come ha sostenuto Noam Chomsky: \u00abun sistema sorprendentemente efficiente e persino elegante che funziona con piccoli quantitativi di informazioni; cerca di non evincere correlazioni irrazionali tra i punti di dati, ma di creare spiegazioni\u00bb<sup>1<\/sup>.<\/p>\n<p class=\"indent\">Si presume che <a href=\"https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/chapter\/ai-speak-machine-learning\/\">l\u2019apprendimento automatico<\/a> faccia la stessa cosa rinvenendo schemi in vasti quantitativi di dati. Ma, prima di fare ci\u00f2, esperti e programmatori devono sedersi e codificare quali caratteristiche dei dati abbiano rilevanza per il problema considerato e inserirle nella macchina come \u201cparametri\u201d<sup>2,3<\/sup>. Come abbiamo visto precedentemente, le prestazioni del sistema dipendono notevolmente dalla qualit\u00e0 dei dati e da questi parametri, ai quali non \u00e8 sempre immediato risalire.<\/p>\n<p class=\"indent\">Le reti neurali profonde, denominate anche apprendimento profondo, sono una branca dell\u2019apprendimento automatico pensata per superare questo inconveniente:<\/p>\n<ul>\n<li>estraendo propri parametri dai dati durante la fase di addestramento;<\/li>\n<li>facendo ricorso a molteplici strati che creano relazioni tra parametri, le quali vanno progressivamente da rappresentazioni semplici nello strato pi\u00f9 esterno a rappresentazioni pi\u00f9 complesse e astratte e ci\u00f2 consente di fare alcune cose meglio che con i convenzionali algoritmi di apprendimento automatico<sup>2<\/sup>.<\/li>\n<\/ul>\n<p class=\"no-indent\">Moltissime applicazioni potenti di apprendimento automatico fanno sempre maggiore ricorso all\u2019apprendimento profondo. Tra esse vi sono i motori di ricerca, i sistemi di raccomandazione, le funzioni di trascrizione vocale e di traduzione che abbiamo trattato in questo libro. Non sar\u00e0 una forzatura affermare che l\u2019apprendimento profondo ha dato una notevole spinta al successo dell\u2019intelligenza artificiale in molteplici attivit\u00e0.<\/p>\n<figure id=\"attachment_154\" aria-describedby=\"caption-attachment-154\" style=\"width: 575px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-151\" src=\"http:\/\/aiopentext.itd.cnr.it\/wp-content\/uploads\/sites\/12\/2023\/11\/ch6-page-5-AI-ML-DL-1.png\" alt=\"\" width=\"575\" height=\"482\" srcset=\"https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-content\/uploads\/sites\/12\/2023\/11\/ch6-page-5-AI-ML-DL-1.png 940w, https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-content\/uploads\/sites\/12\/2023\/11\/ch6-page-5-AI-ML-DL-1-300x251.png 300w, https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-content\/uploads\/sites\/12\/2023\/11\/ch6-page-5-AI-ML-DL-1-768x644.png 768w, https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-content\/uploads\/sites\/12\/2023\/11\/ch6-page-5-AI-ML-DL-1-65x54.png 65w, https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-content\/uploads\/sites\/12\/2023\/11\/ch6-page-5-AI-ML-DL-1-225x189.png 225w, https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-content\/uploads\/sites\/12\/2023\/11\/ch6-page-5-AI-ML-DL-1-350x293.png 350w\" sizes=\"(max-width: 575px) 100vw, 575px\" \/><figcaption id=\"caption-attachment-154\" class=\"wp-caption-text\">Riferimento: Goodfellow, I.J., Bengio, Y., Courville, A., Deep Learning, MIT Press, 2016.<\/figcaption><\/figure>\n<p class=\"no-indent\">Il termine \u201cprofondo\u201d fa riferimento a come gli strati si sovrappongono in modo da creare la rete. Il termine \u201cneurale\u201d riflette il fatto che alcuni aspetti della progettazione sono stati ispirati al cervello umano inteso da un punto di vista biologico. Nonostante ci\u00f2, e anche se forniscono delle informazioni relativamente ai nostri processi di pensiero, si tratta di modelli rigorosamente matematici privi di somiglianza con parti o processi biologici<sup>2<\/sup>.<\/p>\n<h3>I principi fondamentali dell\u2019apprendimento profondo<\/h3>\n<p>Quando gli esseri umani guardano un\u2019immagine, identificano automaticamente oggetti e volti. Ma una fotografia per un algoritmo \u00e8 solo un insieme di pixel. Passare da un coacervo di colori e livelli di luminosit\u00e0 a riconoscere un viso \u00e8 un salto troppo complicato da fare.<\/p>\n<p>L\u2019apprendimento profondo ci arriva scomponendo il processo in rappresentazioni molto semplici nel primo strato, attraverso, per esempio, la comparazione della luminosit\u00e0 dei pixel adiacenti in modo da notare la presenza o l\u2019assenza di margini in diverse zone dell\u2019immagine. Il secondo strato individua serie di margini per cercare entit\u00e0 pi\u00f9 complesse, come angoli e contorni, ignorando delle variazioni trascurabili nelle posizioni dei margini<sup>2,3<\/sup>. Lo strato successivo cerca parti degli oggetti tenendo conto di contorni e angoli. Lentamente aumenta la complessit\u00e0 fino a giungere al punto in cui l\u2019ultimo strato \u00e8 in grado di combinare parti diverse sufficientemente bene da riconoscere un viso o identificare un oggetto.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-152\" src=\"http:\/\/aiopentext.itd.cnr.it\/wp-content\/uploads\/sites\/12\/2024\/01\/ch5-page3-Deep-learning-1.png\" alt=\"\" width=\"500\" height=\"419\" srcset=\"https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-content\/uploads\/sites\/12\/2024\/01\/ch5-page3-Deep-learning-1.png 940w, https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-content\/uploads\/sites\/12\/2024\/01\/ch5-page3-Deep-learning-1-300x251.png 300w, https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-content\/uploads\/sites\/12\/2024\/01\/ch5-page3-Deep-learning-1-768x644.png 768w, https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-content\/uploads\/sites\/12\/2024\/01\/ch5-page3-Deep-learning-1-65x54.png 65w, https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-content\/uploads\/sites\/12\/2024\/01\/ch5-page3-Deep-learning-1-225x189.png 225w, https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-content\/uploads\/sites\/12\/2024\/01\/ch5-page3-Deep-learning-1-350x293.png 350w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/p>\n<div>\n<p class=\"no-indent\">Cosa bisogna prendere in considerazione in ciascuno strato non \u00e8 specificato dai programmatori, ma si apprende dai dati nel processo di addestramento<sup>3<\/sup>. Testando queste previsioni alla luce dei risultati reali nelle serie di dati di addestramento, il funzionamento di ciascuno strato \u00e8 calibrato in un modo leggermente diverso per ottenere un risultato leggermente migliore ogni volta. Quando ci\u00f2 viene fatto correttamente e purch\u00e9 ci sia un numero sufficiente di dati di buona qualit\u00e0, la rete dovrebbe evolvere in modo da ignorare le parti irrilevanti della foto, come la posizione esatta delle entit\u00e0, le angolazioni, l\u2019illuminazione e focalizzarsi su quelle parti che rendono il riconoscimento possibile.<\/p>\n<p class=\"indent\">Una cosa da notare in questo punto \u00e8 il fatto che, nonostante il nostro utilizzo di margini e contorni per comprendere il processo, ci\u00f2 che \u00e8 effettivamente rappresentato negli strati \u00e8 una serie di numeri, che potrebbe corrispondere o meno alle cose che comprendiamo. Ci\u00f2 che non cambia sono l\u2019astrattezza e la complessit\u00e0 crescenti.<\/p>\n<h3>Progettare la rete<\/h3>\n<p class=\"no-indent\">Quando il programmatore decide di fare uso dell\u2019apprendimento profondo per un\u2019attivit\u00e0 e <a href=\"https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/chapter\/ai-speak-data-based-systems-part-2\/\">prepara i dati<\/a>, deve progettare ci\u00f2 che viene definito l\u2019architettura della propria rete neurale. Deve scegliere il numero di strati (la profondit\u00e0 della rete) e il numero di parametri per strato (l\u2019ampiezza della rete). Successivamente deve decidere come creare delle connessioni tra gli strati, se ogni unit\u00e0 di uno strato sar\u00e0 collegata a ogni unit\u00e0 dello strato precedente o meno.<\/p>\n<p>L\u2019architettura ideale per una determinata attivit\u00e0 spesso viene rinvenuta attraverso la sperimentazione. Maggiore \u00e8 il numero degli strati, minore \u00e8 quello dei parametri che sono necessari per ogni strato e la rete funziona meglio con dei dati generali, a costo di essere difficile da ottimizzare. Un minor numero di connessioni significher\u00e0 un minor numero di parametri e una quantit\u00e0 minore di calcoli, ma ridurr\u00e0 la flessibilit\u00e0 della rete<sup>2<\/sup>.<\/p>\n<\/div>\n<h3>Addestrare la rete<\/h3>\n<p>Consideriamo l\u2019esempio di una rete neurale di tipo \u201cfeed forward\u201d per l\u2019apprendimento supervisionato. In questo caso, le informazioni fluiscono da uno strato a quello pi\u00f9 profondo senza cicli di feedback. Come accade nel caso di tutte le tecniche di apprendimento automatico, l\u2019obiettivo \u00e8 trovare come gli input siano collegati con gli output, quali parametri si combinano e come si combinano per fornire il risultato osservato: presumiamo che vi sia una relazione f che collega i valori di ingresso x a quelli di uscita y. Utilizziamo poi la rete per trovare la serie di parametri \u03b8 che d\u00e0 la combinazione migliore per ottenere gli output previsti e quelli effettivi.<\/p>\n<div class=\"textbox\">\n<p style=\"text-align: center\">Domanda chiave: il valore previsto y \u00e8 f (x,\u03b8), per quale \u03b8?<\/p>\n<\/div>\n<p class=\"no-indent\">In questo caso l\u2019y previsto \u00e8 il prodotto finale e la serie di dati x \u00e8 l\u2019input. Nel campo del riconoscimento facciale, x \u00e8 di solito l\u2019insieme dei pixel all\u2019interno di un\u2019immagine. y pu\u00f2 essere il nome della persona. Nella rete, gli strati sono assimilabili ai lavoratori in una catena di montaggio nella quale ciascun lavoratore lavora al pezzo che gli \u00e8 assegnato e lo passa avanti al lavoratore successivo. Il primo strato riceve l\u2019input e lo trasforma un po\u2019 prima di passarlo al secondo nella successione. Il secondo strato fa lo stesso prima di passarlo al terzo e via di questo passo fino a che l\u2019input viene trasformato nel prodotto finale.<\/p>\n<p class=\"indent\">Matematicamente, la funzione f \u00e8 suddivisa in svariate funzioni f1, f2, f3\u2026 in cui f= \u2026.f3(f2(f1(x))). Lo strato successivo a quello di ingresso trasforma i parametri di ingresso utilizzando f1, lo strato ancora successivo lo fa utilizzando f2 e cos\u00ec via. Il programmatore potrebbe intervenire per aiutare a scegliere la famiglia di funzioni corretta in base alla propria conoscenza del problema.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-153\" src=\"http:\/\/aiopentext.itd.cnr.it\/wp-content\/uploads\/sites\/12\/2024\/01\/ch5-page3-DL-function-1.png\" alt=\"\" width=\"500\" height=\"419\" srcset=\"https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-content\/uploads\/sites\/12\/2024\/01\/ch5-page3-DL-function-1.png 940w, https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-content\/uploads\/sites\/12\/2024\/01\/ch5-page3-DL-function-1-300x251.png 300w, https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-content\/uploads\/sites\/12\/2024\/01\/ch5-page3-DL-function-1-768x644.png 768w, https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-content\/uploads\/sites\/12\/2024\/01\/ch5-page3-DL-function-1-65x54.png 65w, https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-content\/uploads\/sites\/12\/2024\/01\/ch5-page3-DL-function-1-225x189.png 225w, https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-content\/uploads\/sites\/12\/2024\/01\/ch5-page3-DL-function-1-350x293.png 350w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/p>\n<p class=\"no-indent\">\u00c8 compito di ciascuno strato assegnare il livello di importanza, il peso conferito a ciascun parametro che riceve. Tali pesi sono come delle manopole che in ultima analisi definiscono la relazione tra l\u2019output previsto e l\u2019input in quello strato<sup>3<\/sup>. In un sistema di apprendimento profondo tipico, consideriamo centinaia di milioni di queste manopole e centinaia di milioni di esempi di addestramento. Dal momento che n\u00e9 definiamo n\u00e9 possiamo vedere output e pesi negli strati tra l\u2019input e l\u2019output, questi sono definiti strati nascosti.<\/p>\n<p class=\"indent\">Nel caso dell\u2019esempio del riconoscimento dell\u2019oggetto discusso precedentemente, \u00e8 compito del primo lavoratore individuare i margini e passarli al secondo che individua i contorni e cos\u00ec via.<\/p>\n<p class=\"indent\">Durante l\u2019addestramento, l\u2019output previsto viene considerato e paragonato all\u2019output reale. Se la differenza tra i due \u00e8 considerevole, i pesi assegnati in ciascuno strato dovranno essere modificati notevolmente. In caso contrario sar\u00e0 sufficiente una variazione lieve. Questa attivit\u00e0 avviene in due momenti. In primo luogo si calcola la differenza tra la previsione e l\u2019output e poi un altro algoritmo calcola come modificare i pesi in ciascuno strato, iniziando dallo strato di uscita (in questo caso, le informazioni fluiscono risalendo dagli strati pi\u00f9 profondi). Pertanto al termine del processo di addestramento, la rete \u00e8 pronta con i suoi pesi e le sue funzioni ad attaccare i dati di test. Il resto del processo \u00e8 il medesimo di quello dell\u2019apprendimento automatico convenzionale.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-154\" src=\"http:\/\/aiopentext.itd.cnr.it\/wp-content\/uploads\/sites\/12\/2024\/01\/ch2-page3-traintestuse-e1697823763965-1.png\" alt=\"\" width=\"457\" height=\"217\" srcset=\"https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-content\/uploads\/sites\/12\/2024\/01\/ch2-page3-traintestuse-e1697823763965-1.png 940w, https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-content\/uploads\/sites\/12\/2024\/01\/ch2-page3-traintestuse-e1697823763965-1-300x142.png 300w, https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-content\/uploads\/sites\/12\/2024\/01\/ch2-page3-traintestuse-e1697823763965-1-768x364.png 768w, https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-content\/uploads\/sites\/12\/2024\/01\/ch2-page3-traintestuse-e1697823763965-1-65x31.png 65w, https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-content\/uploads\/sites\/12\/2024\/01\/ch2-page3-traintestuse-e1697823763965-1-225x107.png 225w, https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-content\/uploads\/sites\/12\/2024\/01\/ch2-page3-traintestuse-e1697823763965-1-350x166.png 350w\" sizes=\"(max-width: 457px) 100vw, 457px\" \/><\/p>\n<hr \/>\n<p class=\"hanging-indent\" style=\"text-align: left\"><sup>1 <\/sup>Chomsky, N., Roberts, I., Watumull, J., <em>Noam Chomsky: The False Promise of ChatGPT,\u00a0<\/em>The New York Times, 2023.<\/p>\n<p class=\"hanging-indent\" style=\"text-align: left\"><sup>2 <\/sup>Goodfellow, I.J., Bengio, Y., Courville, A., <em>Deep Learning, <\/em>MIT Press, 2016.<\/p>\n<p class=\"hanging-indent\" style=\"text-align: left\"><sup>3 <\/sup>LeCun, Y., Bengio, Y., Hinton, G., <em>Deep learning,<\/em>\u00a0Nature\u00a0<b>521<\/b>, 436\u2013444 (2015).<\/p>\n","protected":false},"author":1,"menu_order":3,"template":"","meta":{"pb_show_title":"","pb_short_title":"","pb_subtitle":"","pb_authors":[],"pb_section_license":""},"chapter-type":[],"contributor":[],"license":[],"part":145,"_links":{"self":[{"href":"https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-json\/pressbooks\/v2\/chapters\/155"}],"collection":[{"href":"https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-json\/pressbooks\/v2\/chapters"}],"about":[{"href":"https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-json\/wp\/v2\/types\/chapter"}],"author":[{"embeddable":true,"href":"https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-json\/wp\/v2\/users\/1"}],"version-history":[{"count":1,"href":"https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-json\/pressbooks\/v2\/chapters\/155\/revisions"}],"predecessor-version":[{"id":156,"href":"https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-json\/pressbooks\/v2\/chapters\/155\/revisions\/156"}],"part":[{"href":"https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-json\/pressbooks\/v2\/parts\/145"}],"metadata":[{"href":"https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-json\/pressbooks\/v2\/chapters\/155\/metadata\/"}],"wp:attachment":[{"href":"https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-json\/wp\/v2\/media?parent=155"}],"wp:term":[{"taxonomy":"chapter-type","embeddable":true,"href":"https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-json\/pressbooks\/v2\/chapter-type?post=155"},{"taxonomy":"contributor","embeddable":true,"href":"https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-json\/wp\/v2\/contributor?post=155"},{"taxonomy":"license","embeddable":true,"href":"https:\/\/aiopentext.itd.cnr.it\/intelligenzaartificiale\/wp-json\/wp\/v2\/license?post=155"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}