
























Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Una introduzione alla complessità e alla struttura di reti neurali artificiali (ANN), con un focus sui livelli, i nodi e gli algoritmi utilizzati per addestrarle. sulla relazione tra la topologia e la complessità delle ANN, il numero di livelli e la distinzione tra reti a livello singolo e a più livelli, la direzione delle informazioni e i tipi di reti (fully-connected, feedforward e recurrent), il numero di nodi e i problemi associati al loro numero, e infine, l'addestramento di una ANN attraverso l'algoritmo di backpropagation. Il documento include anche un esempio pratico di come creare e addestrare una ANN in R.
Tipologia: Slide
1 / 32
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!

























Università degli Studi “Suor Orsola Benincasa” Facoltà di Scienze della Formazione Corso di Laurea in Scienze e Tecniche di Psicologia Cognitiva A.A. 2016/ Prof. Roberta Presta
Src: Brett Lantz. Machine Learning with R (2nd ed.), 2015, Packt Publishing, Capitolo 7
u Human brain ~ 85 billion neurons u Cat brain ~ 1 billion neurons u Mouse brain ~ 75 million neurons u Cockroach ~ 1 million neurons u Fruit fly ~ 100,000 neurons u ANN (2013) ~ max several hundred neurons u è Anche il numero di neuroni delle mosche sovrasta di molto il numero di neuroni artificiali massimo che si incontra ad oggi in una ANN
u Le ANN sono nate proprio con l’intento di simulare il comportamento della rete neuronale biologica nella risoluzione di problemi u Le prime rudimentali ANN furono impiegate per apprendere in modo supervisionato semplici trasformazioni quali le funzioni logiche AND e OR u Questi primi esperimenti furono usati principalmente per aiutare gli scienziati a capire il comportamento dei cervelli biologici
u Neuroni biologici u I segnali in ingresso sono recepiti e pesati dai dendriti attraverso processi biochimici u Quando il nucleo della cella ha accumulato energia tramite i segnali ricevuti oltre una certa soglia, dal nucleo parte un segnale elettrochimico di uscita che è trasmesso lungo l’ assone alle terminazioni nervose u Presso le terminazioni , il segnale viene trasmesso tramite processo biochimico ai dendriti dei neuroni circostanti ( sinapsi )
u Neuroni artificiali (“nodi”) u Una rete direzionata definisce la relazione tra i segnali di input (come quelli percepiti dai dendriti) ed il segnale di output (come quello emesso dal corpo della cellula sull’assone) u I segnali di input (xi) sono pesati in accordo alla loro importanza (wi) u I segnali di input pesati sono sommati nel corpo della cellula (sommatoria) u Tale somma viene considerata da una certa funzione di attivazione (f) che in accordo ad essa produce il segnale di output (y) u Le ANN sono collegamenti di neuroni artificiali così definiti usati per costruire complessi modelli di dati
u Esistono numerose varianti di ANN u Ciascuna di loro si caratterizza in base a: u Funzione di attivazione u Trasforma la somma degli input pesati nel segnale di uscita che verrà propagato dal neurone nella rete u Topologia della rete u Descrive il numero di neuroni nella rete, il numero di livelli della rete ed il modo in cui i neuroni sono interconnessi tra loro u Algoritmo di training u Specifica come vengono determinati i pesi dei segnali di input per ogni neurone
u Funzione di attivazione sigmoidale u La più comunemente impiegata (riferimento di default) u Differenziabile u È possibile cioè calcolarne la derivata e = numero di Eulero ~ 2.
u Altre possibili alternative:
u I livelli consentono di distinguere i nodi in base alla loro posizione della rete u Nodi di ingresso (input nodes): processano i dati di ingresso (una feature per nodo) u Nodi di uscita (output nodes): generano i segnali di risposta della rete in toto ai dati di input u Nodi nascosti (hidden nodes): processano le informazioni nel passaggio tra i nodi di ingresso e quelli di uscita u Si distingue tra: u Single-layer networks u Multi-layer networks
u Single-layer networks u Reti a livello singolo u Sono presenti i soli livelli di ingresso e di uscita u Multi-layer networks u Reti a più livelli u Tra i livelli di ingresso e di uscita esistono uno o più “hidden layers” (livelli nascosti) u Note: u Possono esserci più nodi nel livello di uscita u In questo caso, più risposte possono essere modellate simultaneamente dalla rete u Una ANN con livelli nascosti multipli è detta Deep Neural Network e la relativa pratica di addestramento è a volte chiamata “ deep learning ”
u La complessità di una ANN dipende dal numero di nodi nella rete u Per i livelli di ingresso e di uscita, il numero di nodi è vincolato u Nel livello di ingresso, si hanno tanti nodi quante sono le feature del dataset u Nel livello di uscita, si hanno tanti nodi quante sono le risposte da modellare u Il numero di nodi dei livelli nascosti invece è lasciato all’utente e va deciso prima di addestrare la rete u In generale, topologie di rete più complesse (cioè con più nodi) consentono l’apprendimento di modelli più complessi
u Tuttavia, al crescere del numero di nodi, si tende ad incontrare i seguenti problemi: u Overfitting dei dati di training u Aumento della complessità computazionale u Rallentamento della fase di training u Purtroppo non esiste una regola che consenta la determinazione del numero ottimo di neuroni! u La best practice è usare il minor numero di nodi che consente di raggiungere prestazioni soddisfacenti sul dataset di test u Nella maggioranza dei casi, per cominciare va bene una manciata di nodi in un singolo hidden layer