Informazioni amministrative
Titolo | Derivazione e applicazione della retropropagazione |
Durata | 60 |
Modulo | B |
Tipo di lezione | Esercitazione |
Focus | Tecnico — Apprendimento profondo |
Argomento | Derivare e attuare la retropropagazione |
Parole chiave
Backpropagation, funzioni di attivazione, deviazione,
Obiettivi di apprendimento
- Sviluppare una comprensione del gradiente e del tasso di apprendimento
- Derivare backpropagation per strati nascosti ed esterni
- Implimentare Backpropagation scollegato e collegato utilizzando diverse funzioni di attivazione
Preparazione prevista
Eventi di apprendimento da completare prima
Obbligatorio per gli studenti
- Revisione del calcolo (derivati, derivati parziali, regola della catena)
Facoltativo per gli studenti
Nessuno.
Referenze e background per gli studenti
- John D. Kelleher e Brain McNamee (2018), Fondamenti dell'apprendimento automatico per l'analisi predittiva dei dati, MIT Press.
- Michael Nielsen. (2015), Reti neurali e apprendimento profondo, 1. Pressa di determinazione, San Francisco CA USA.
- Charu C. Aggarwal. (2018), Reti neurali e apprendimento profondo, 1. Springer
- Antonio Gulli, Sujit Pal. Apprendimento profondo con Keras, Packt, [ISBN: 9781787128422].
Consigliato per gli insegnanti
Nessuno.
Materiale didattico
Istruzioni per gli insegnanti
- Questo tutorial introdurrà gli studenti ai fondamenti dell'algoritmo di apprendimento backpropagation per una rete neurale artificiale. Questo tutorial consisterà nella derivazione dell'algoritmo backpropagation utilizzando penna e carta, quindi l'applicazione dell'algoritmo di backpropagation per tre diverse funzioni di attivazione dei livelli nascosti (Sigmoid, Tan H e ReLu), utilizzando Python con solo la libreria Numpy (per la manipolazione delle matrici) e quindi utilizzando KERAS.. Questo si baserà sulla comprensione fondamentale delle varie funzioni di attivazione quando una rete neurale impara e come le funzioni di attivazione differiscono nella complessità computazionale e nell'applicazione da penna e carta, per codificare da zero usando Numpy e quindi utilizzando un modulo di alto livello -> Keras.
- Nota: La topologia è la stessa della lezione 1/Tutorial 1, ma i pesi e gli input sono diversi, è naturalmente possibile utilizzare gli stessi pesi.
- Gli studenti saranno presentati con quattro problemi (il primo è facoltativo o come materiale aggiuntivo):
- Problema 1: La derivazione dell'algoritmo di backpropagation (utilizzando la funzione Sigmoid per le funzioni di attivazione interna ed esterna e MSE come funzione di perdita), agli studenti verrà chiesto di ricavare la formula di retropropagazione (20 minuti per completare).
- Problema 2: Gli studenti applicheranno tre funzioni di attivazione per un singolo aggiornamento del peso (SGD backpropagation), utilizzando penna e carta per (20 minuti):
- Sigmoid (strato nascosto), Sigmoid (strato esterno) e MSE
- Tan H (strato nascosto), Sigmoid (strato esterno) e MSE
- ReLU (strato nascosto), Sigmoid (strato esterno) e MSE
- Problema 3: Agli studenti verrà chiesto (con una guida a seconda dell'esperienza di codifica precedente) di sviluppare una rete neurale da zero utilizzando solo il modulo Numpy, e i pesi e le funzioni di attivazione in cui è fornita l'opzione di selezionare da qualsiasi funzione di attivazione di un livello nascosto per aggiornare i pesi utilizzando SGD (20 minuti per completare).
- Problema 4: Agli studenti verrà chiesto (con una guida a seconda dell'esperienza di codifica precedente) di sviluppare una rete neurale utilizzando il modulo Tensorflow 2.X con il modulo Keras inbuild, i pesi e le funzioni di attivazione e quindi utilizzando pesi casuali per completare uno o più aggiornamenti di peso. Si prega di non poiché Keras utilizza una lieve perdita di MSE diversa, la perdita si riduce più rapidamente nell'esempio di Keras.
- Keras MSE = perdita = quadrato(y_true — y_pred)
- Tutorial MSE = perdita = (quadrato(y_true — y_pred))*0.5
- Il sottoobiettivo per questi tre Problemi, è quello di convincere gli studenti a capire l'algoritmo di backpropagation, applicarlo in modo che per la messa a punto dell'ipermetro, gli studenti saranno in grado di comprendere meglio gli effetti dell'iperparametro.
Contorno
Durata (min) | Descrizione |
---|---|
20 (facoltativo) | Problema 1: derivazione della formula backpropagation utilizzando la funzione Sigmoid per le funzioni di attivazione interna ed esterna e MSE come funzione di perdita (Opzionale) |
20 | Problema 2: Gli studenti applicheranno tre funzioni di attivazione per un singolo aggiornamento del peso (SGD backpropagation), utilizzando penna e carta per (20 minuti): |
20 | Problema 3: Gli studenti svilupperanno una rete neurale da zero utilizzando solo il modulo Numpy, dove l'utente può selezionare da una delle tre funzioni di attivazione dei livelli nascosti in cui il codice può preformare la backpropagation |
10 | Problema 4: Gli studenti utilizzeranno il modulo Tensorflow 2.X con il modulo Keras inbuild, preformando la retropropagazione utilizzando SGD. |
10 | Riepilogo sul processo forward pass |
Riconoscimenti
Il programma Human-Centered AI Masters è stato co-finanziato dal meccanismo per collegare l'Europa dell'Unione europea nell'ambito della sovvenzione CEF-TC-2020-1 Digital Skills 2020-EU-IA-0068.