Informazioni amministrative
Titolo | Propagazione in avanti |
Durata | 60 |
Modulo | B |
Tipo di lezione | Lezione |
Focus | Tecnico — Apprendimento profondo |
Argomento | Pass in avanti |
Parole chiave
Passaggio in avanti, perdita,
Obiettivi di apprendimento
- Comprendere il processo di un forward pass
- Capire come calcolare una previsione forward pass, così come la perdita scollegata
- Sviluppare un forward pass utilizzando nessun modulo in Python (diverso da Numpy)
- Sviluppare un forward pass utilizzando Keras
Preparazione prevista
Eventi di apprendimento da completare prima
Nessuno.
Obbligatorio per gli studenti
Nessuno.
Facoltativo per gli studenti
- Moltiplicazione delle matrici
- Iniziare con Numpy
- Conoscenza della regressione lineare e logistica (dal Periodo A Machine Learning): Lezione: Regressione lineare, GLR, GADs)
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
Questa lezione introdurrà gli studenti ai fondamenti della propagazione in avanti per una rete neurale artificiale. Ciò introdurrà gli studenti alla topologia (peso, sinapsi, funzioni di attivazione e funzioni di perdita). Gli studenti saranno quindi in grado di fare un passaggio in avanti usando penna e carta, usando Python con solo la libreria Numpy (per la manipolazione delle matrici) e quindi utilizzando KERAS come parte del tutorial associato a questa LE. Ciò creerà una comprensione fondamentale di ciò che le funzioni di attivazione si applicano a specifici contesti problematici e di come le funzioni di attivazione differiscono nella complessità computazionale. Nella lezione verranno esaminate la funzione di attivazione dello strato esterno e le corrispondenti funzioni di perdita per i casi d'uso come la classificazione binomiale, la regressione e la classificazione multi-classe.
- Panoramica di una rete neurale
- Definizione di termini/componenti
- Pesi e funzioni di attivazione
- Funzioni di perdita, quale per il contesto del problema
- Utilizzare matrici per condurre un passaggio in avanti
Nota:
- Uso di Sigmoid nello strato esterno e MSE come funzione di perdita.
- Con le limitazioni della tensione, è stato selezionato un contesto di approccio/topologia/problema singolare. In genere, si inizia con la regressione per un passaggio in avanti (con MSE come funzione di perdita), e per derivare backpropagation (quindi avere una funzione di attivazione lineare nel livello di output, dove questo riduce la complessità della derivazione della funzione backpropagation), quindi si passerebbe tipicamente ad una funzione di classificazione binaria, con sigmoide nel livello di output, e una funzione di perdita di cross-entropia binaria. Con i vincoli di tempo questo insieme di lezioni utilizzerà tre diverse funzioni di attivazione nascosta di esempio, ma utilizzerà un contesto di problema di regressione. Per aggiungere la complessità di una funzione di attivazione sigmoide nel livello di output, il problema di regressione utilizzato nelle due prime lezioni di questo set, l'esempio di problema si basa su un valore target normalizzato (0-1 basato su un problema di grado percentuale 0-100 %), quindi sigmoide viene utilizzato come funzione di attivazione nel livello di output. Questo approccio consente agli studenti di migrare facilmente tra regressione e problemi di classificazione binaria, semplicemente cambiando la funzione di perdita solo se un problema di classificazione binaria, o se viene utilizzato un problema di regressione non normalizzato, lo studente rimuove semplicemente la funzione di attivazione dello strato esterno.
- I componenti principali sono l'applicazione, utilizzando una libreria di alto livello, in questo caso KERAS tramite la libreria TensorFlow 2.X.
- Penna e carta sono facoltative e utilizzate solo per mostrare la derivazione e l'applicazione del passaggio in avanti e della retropropagazione (utilizzando gli esempi delle diapositive della lezione).
- Il codice Python senza l'uso di librerie di alto livello, viene utilizzato per mostrare quanto semplice una rete neurale (utilizzando gli esempi delle diapositive delle lezioni). Ciò consente anche di discutere sulla moltiplicazione numerica/matrice veloce e introdurre il motivo per cui utilizziamo GPU/TPU come elemento opzionale.
- Keras e TensorFlow 2.X sono utilizzati e saranno utilizzati per tutti gli esempi futuri.
Contorno
Durata (min) | Descrizione |
---|---|
10 | Definizione di componenti di rete neurale |
15 | Pesi e funzioni di attivazione (Sigmoid, TanH e ReLu) |
15 | Funzioni di perdita (regressione, classificazione binomiale e attivazione multiclasse) |
15 | Utilizzo di matrici per un passaggio in avanti |
5 | Riepilogo sul pass in avanti |
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.