Apprendimento automatico e Reti Neurali - pagina 56

 

Lezione 8.3 — Predire il carattere successivo usando HF [Neural Networks for Machine Learning]


Lezione 8.3 — Predire il carattere successivo usando HF [Neural Networks for Machine Learning]

In questo video esploreremo gli effetti dell'utilizzo dell'ottimizzatore senza Hessian per ottimizzare una rete neurale ricorrente con connessioni moltiplicative. L'obiettivo della rete è prevedere il carattere successivo nel testo di Wikipedia. Dopo essersi allenato su milioni di caratteri, la rete dimostra prestazioni notevoli. Acquisisce una profonda comprensione della lingua inglese e diventa abile nel generare completamenti di frasi coerenti e interessanti.

Lo sperimentatore, Skeever, ha utilizzato cinque milioni di stringhe, ciascuna composta da un centinaio di caratteri, estratte da Wikipedia in inglese. A partire dall'undicesimo carattere di ciascuna stringa, la rete ricorrente inizia a prevedere, passando attraverso vari stati nascosti. Il processo di addestramento prevede la retropropagazione degli errori di previsione utilizzando l'ottimizzatore senza Hessian. Il raggiungimento di un modello eccellente ha richiesto circa un mese di calcolo su una GPU ad alta velocità.

Attualmente, la migliore rete neurale ricorrente di Skeever per la previsione dei caratteri rappresenta il modello singolo più eccezionale per questo compito. Mentre la combinazione di più modelli con una rete neurale potrebbe produrre risultati migliori, il suo singolo modello rappresenta l'epitome delle prestazioni. In particolare, il suo modello differisce in modo significativo da altri modelli con le migliori prestazioni. Nello specifico, il suo modello può gestire efficacemente l'uso equilibrato di virgolette e parentesi su lunghe distanze, un'impresa impossibile con i modelli di corrispondenza del contesto. La corrispondenza di contesti precedenti specifici per chiudere una parentesi, ad esempio, richiederebbe la memorizzazione e il richiamo di tutti i caratteri intermedi, il che è altamente improbabile. Al contrario, il modello di Skeever mostra la capacità di bilanciare con successo parentesi e virgolette.

Per valutare la conoscenza acquisita dal modello, vengono generate stringhe per osservarne le previsioni. Bisogna fare attenzione a non sovrainterpretare l'output del modello. Il processo di generazione prevede l'avvio con lo stato nascosto predefinito, seguito da una sequenza di burn-in. Ogni personaggio aggiorna lo stato nascosto, portando alla fase di previsione. Viene esaminata la distribuzione di probabilità del modello per il carattere successivo e un carattere viene selezionato casualmente in base a tale distribuzione. Il carattere scelto viene quindi riportato nel modello come l'occorrenza effettiva e il processo continua fino a quando non viene generato il numero desiderato di caratteri. Queste stringhe generate fanno luce sulla conoscenza acquisita dal modello.

Un esempio di stringa prodotta dalla rete di Skeever mostra le sue impressionanti prestazioni. Sebbene questo estratto sia stato selezionato da un passaggio di testo più esteso, dimostra efficacemente la capacità del modello. In particolare, la stringa generata esibisce peculiari associazioni semantiche, come "opus Paul at Rome". Sebbene tale fraseologia non possa essere usata da individui, rivela l'interconnessione di "opus", "Paolo" e "Roma". Tuttavia, la stringa manca di una struttura tematica coerente a lungo raggio, cambiando spesso argomento dopo ogni punto.

È interessante notare che il modello genera pochissime non parole. Quando viene fornito un numero sufficiente di caratteri per completare una parola inglese in un modo unico, predice il carattere successivo quasi perfettamente. Nei casi in cui ricorrono non-parole, come la parola "effimera" evidenziata in rosso, sono notevolmente plausibili. Le prestazioni del modello si estendono al bilanciamento delle staffe, sebbene non mantenga costantemente un perfetto bilanciamento delle staffe. Mostra anche un comportamento coerente quando si tratta di aprire e chiudere quotazioni.

L'analisi della conoscenza del modello rivela diversi aspetti chiave. In primo luogo, possiede una solida comprensione delle parole, generando prevalentemente parole inglesi e occasionalmente stringhe di iniziali in lettere maiuscole. Può gestire numeri, date e il loro utilizzo contestuale. Inoltre, dimostra la capacità di bilanciare accuratamente virgolette e parentesi, anche contando le parentesi in una certa misura. La sua conoscenza sintattica è evidente attraverso la produzione di stringhe sensibili di parole inglesi. Tuttavia, decifrare la forma precisa di questa conoscenza sintattica si rivela impegnativo. Non è conforme ai semplici modelli di trigramma che si basano su sequenze di parole memorizzate. Invece, il modello sintetizza stringhe di parole con una sintassi coerente, simile alla conoscenza sintattica implicita di un madrelingua piuttosto che a un insieme di regole linguistiche.

Il modello mostra anche associazioni basate su una semantica debole. Ad esempio, il modello dimostra una comprensione delle associazioni tra parole come "Platone" e "Vicarstown". Queste associazioni non sono precise o ben definite ma riflettono un livello di conoscenza semantica acquisito attraverso la lettura di Wikipedia. In particolare, il modello mostra una buona comprensione delle associazioni tra "cavolo" e "verdura".

Per valutare ulteriormente la conoscenza del modello, stringhe specifiche sono progettate come test. Ad esempio, al modello viene presentata una non-parola come "runthourunge". Gli anglofoni, in base alla forma della parola, si aspetterebbero che fosse un verbo. Esaminando il carattere successivo più probabile previsto dal modello, come una "S" in questo caso, diventa evidente che il modello riconosce la forma verbale in base al contesto. Allo stesso modo, quando viene fornito un elenco di nomi separati da virgole e una "T" maiuscola simile a un nome, il modello completa correttamente la stringa come nome. Ciò suggerisce un'ampia comprensione dei nomi in diverse lingue.

Il modello è anche sottoposto al prompt "il significato della vita è" e vengono esaminati i suoi completamenti generati. Sorprendentemente, nei suoi tentativi iniziali, il modello produce il completamento "riconoscimento letterario", che è sintatticamente e semanticamente sensato. Sebbene questo possa essere visto come il modello che inizia a cogliere il concetto di significato della vita, è fondamentale esercitare cautela ed evitare interpretazioni eccessive.

In conclusione, l'ampia esposizione del modello al testo di Wikipedia gli conferisce la conoscenza di parole, nomi propri, numeri, date e strutture sintattiche. Eccelle nel bilanciare virgolette e parentesi, utilizzando associazioni semantiche in una certa misura. La sua comprensione della sintassi assomiglia a quella di un parlante fluente, rendendo difficile individuare la forma esatta di questa conoscenza. Le reti neurali ricorrenti (RNN) come il modello di Skeever superano altri metodi nelle attività di modellazione del linguaggio, richiedendo meno dati di addestramento e mostrando un miglioramento più rapido man mano che i set di dati crescono. Di conseguenza, diventa sempre più difficile per gli approcci alternativi mettersi al passo con gli RNN, in particolare poiché la potenza di calcolo e le dimensioni dei set di dati continuano ad espandersi.

Lecture 8.3 — Predicting the next character using HF [Neural Networks for Machine Learning]
Lecture 8.3 — Predicting the next character using HF [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Lezione 8.4 — Echo State Networks



Lezione 8.4 — Echo State Networks [Neural Networks for Machine Learning]

Le reti di stato eco sono un approccio intelligente per semplificare il processo di apprendimento nelle reti neurali ricorrenti (RNN). Inizializzano le connessioni nell'RNN con un serbatoio di oscillatori accoppiati, convertendo l'input in stati dell'oscillatore. L'output può quindi essere previsto in base a questi stati e l'unico apprendimento richiesto è come accoppiare l'output agli oscillatori. Ciò elimina la necessità di apprendere connessioni nascoste o nascoste.

Per migliorare le prestazioni delle reti di stato Echo su attività complesse, è necessario un grande stato nascosto. La combinazione dell'inizializzazione attentamente progettata delle reti di stato Echo con la retropropagazione nel tempo con slancio può migliorare ulteriormente le loro capacità. Un'altra idea recente nell'addestramento di reti neurali ricorrenti è quella di correggere le connessioni nascoste in modo casuale e concentrarsi sull'addestramento delle connessioni di output. Questo approccio è simile al concetto di rilevatori di caratteristiche casuali nelle reti neurali feed-forward, in cui viene appreso solo l'ultimo strato, semplificando il processo di apprendimento.

Il successo delle reti di stato Echo si basa sull'impostazione corretta delle connessioni casuali per evitare problemi come l'estinzione o l'esplosione. Il raggio spettrale, che corrisponde all'autovalore più grande della matrice dei pesi da nascosto a nascosto, deve essere impostato approssimativamente su uno per garantire che la lunghezza del vettore di attività rimanga stabile. Anche la connettività sparsa è importante, dove la maggior parte dei pesi è pari a zero, consentendo di conservare le informazioni in parti specifiche della rete. La scala delle connessioni input-to-hidden dovrebbe essere scelta attentamente per guidare gli stati degli oscillatori senza cancellare informazioni importanti. Il processo di apprendimento nelle reti di stato Echo è veloce, consentendo la sperimentazione con le scale e la scarsità delle connessioni per ottimizzare le prestazioni. Viene mostrato un esempio di una rete di stato Echo, in cui la sequenza di input specifica la frequenza di un'onda sinusoidale per l'output. La rete impara a generare onde sinusoidali adattando un modello lineare utilizzando gli stati delle unità nascoste per prevedere l'output corretto. Il serbatoio dinamico al centro cattura le complesse dinamiche guidate dal segnale di ingresso.

Le reti di stato Echo presentano numerosi vantaggi, tra cui un addestramento rapido grazie alla semplicità di adattamento di un modello lineare, l'importanza dell'inizializzazione sensata di pesi nascosti e la loro capacità di modellare efficacemente serie temporali unidimensionali. Tuttavia, possono avere problemi con la modellazione di dati ad alta dimensione e richiedere un numero maggiore di unità nascoste rispetto agli RNN tradizionali.

Ilya Sutskever ha esplorato l'inizializzazione di una rete neurale ricorrente con le tecniche della rete a stati Echo e quindi l'addestramento utilizzando la retropropagazione nel tempo. Questa combinazione si è rivelata un metodo efficace per addestrare reti neurali ricorrenti, ottenendo prestazioni migliori. L'approccio di Ilya Sutskever di combinare le tecniche di inizializzazione delle reti di stato Echo con la retropropagazione nel tempo (BPTT) ha prodotto risultati promettenti nell'addestramento di reti neurali ricorrenti (RNN). Utilizzando l'inizializzazione della rete a stati Echo e quindi applicando BPTT con tecniche come RMSprop e momentum, Sutskever ha scoperto che questo approccio è molto efficace nell'addestramento degli RNN.

L'uso dell'inizializzazione della rete di stato Echo fornisce un buon punto di partenza per l'RNN, consentendogli di apprendere bene anche addestrando solo le connessioni nascoste all'output. Tuttavia, la sperimentazione di Sutskever ha dimostrato che è possibile migliorare ulteriormente le prestazioni dell'RNN imparando anche i pesi nascosti. Combinando i punti di forza delle reti statali Echo e delle RNN tradizionali, questo approccio ibrido sfrutta i vantaggi di entrambi i metodi. L'inizializzazione della rete Echo State fornisce una solida base, mentre BPTT consente la messa a punto e l'ottimizzazione delle prestazioni dell'RNN. Il successo di questo approccio dimostra l'importanza di una corretta inizializzazione nella formazione degli RNN.

Iniziando con un'inizializzazione che cattura le dinamiche del dominio del problema, la formazione successiva può essere più efficiente ed efficace. Inoltre, l'uso di tecniche di ottimizzazione come RMSprop con momentum migliora ulteriormente il processo di apprendimento e aiuta a ottenere risultati migliori.

La combinazione dell'inizializzazione della rete a stati Echo e BPTT con tecniche di ottimizzazione presenta un approccio potente per l'addestramento degli RNN. Sfrutta i punti di forza di entrambi i metodi per migliorare l'efficienza dell'apprendimento, le prestazioni del modello e l'accuratezza delle previsioni.

Lecture 8.4 — Echo State Networks [Neural Networks for Machine Learning]
Lecture 8.4 — Echo State Networks [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Lezione 9.1 — Panoramica dei modi per migliorare la generalizzazione



Lezione 9.1 — Panoramica dei modi per migliorare la generalizzazione [Reti neurali per l'apprendimento automatico]

In questo video, l'argomento discusso è migliorare la generalizzazione riducendo l'overfitting nelle reti neurali. L'overfitting si verifica quando una rete ha una capacità eccessiva rispetto alla quantità di dati di addestramento. Il video spiega vari metodi per controllare la capacità di una rete e determinare i metaparametri appropriati per il controllo della capacità.

L'overfitting si verifica perché i dati di addestramento non solo contengono informazioni sui modelli reali nella mappatura input-output, ma includono anche errori di campionamento e regolarità accidentali specifiche dell'insieme di addestramento. Quando si adatta un modello, non è possibile distinguere tra questi tipi di regolarità, portando a una scarsa generalizzazione se il modello è troppo flessibile e si adatta all'errore di campionamento.

Un metodo semplice per prevenire l'overfitting è ottenere più dati. L'aumento della quantità di dati mitiga l'overfitting fornendo una migliore rappresentazione delle vere regolarità. Un altro approccio consiste nel limitare giudiziosamente la capacità del modello, consentendogli di catturare le vere regolarità evitando di adattare le regolarità spurie causate dall'errore di campionamento. Questo può essere impegnativo, ma il video discute varie tecniche per regolare efficacemente la capacità.

Il video menziona anche l'uso di metodi di ensemble, come la media di diversi modelli. Addestrando i modelli su diversi sottoinsiemi di dati o trovando diversi set di pesi che funzionano bene, la media delle loro previsioni può migliorare le prestazioni complessive rispetto ai singoli modelli. Inoltre, l'approccio bayesiano prevede l'utilizzo di un'unica architettura di rete neurale ma la ricerca di più set di pesi che prevedono bene l'output e quindi la media delle loro previsioni sui dati di test.

La capacità di un modello può essere controllata attraverso diversi mezzi, come la regolazione dell'architettura (ad esempio, limitando il numero di livelli e unità nascosti per livello), penalizzando i pesi, aggiungendo rumore ai pesi o alle attività o utilizzando una combinazione di questi metodi.

Quando si impostano i metaparametri per il controllo della capacità, è necessario evitare di orientare i risultati verso uno specifico set di test. Il video propone un approccio migliore: dividere i dati in sottoinsiemi di addestramento, convalida e test. I dati di convalida vengono utilizzati per determinare i metaparametri appropriati in base alle prestazioni del modello, mentre i dati di test forniscono una stima imparziale dell'efficacia della rete. È fondamentale utilizzare i dati del test solo una volta per evitare l'overfitting.

Il video menziona anche la convalida incrociata n volte, una tecnica in cui i dati sono divisi in n sottoinsiemi e i modelli vengono addestrati e convalidati su diverse combinazioni di questi sottoinsiemi per ottenere stime multiple dei migliori metaparametri.

Infine, il video descrive un metodo di facile utilizzo chiamato arresto anticipato. Implica l'avvio con pesi piccoli e l'interruzione del processo di addestramento quando le prestazioni del modello sul set di convalida iniziano a deteriorarsi. Questo approccio controlla la capacità perché i modelli con pesi ridotti hanno una capacità limitata, comportandosi in modo simile alle reti lineari. Interrompere l'allenamento al punto giusto ottimizza il compromesso tra l'adattamento di regolarità reali e l'adattamento di regolarità spurie causate dall'insieme di allenamento.

Nel complesso, il video evidenzia vari approcci per controllare la capacità e prevenire l'overfitting nelle reti neurali. Questi metodi comportano l'ottenimento di più dati, la regolazione giudiziosa della capacità, l'utilizzo di metodi di ensemble, l'impostazione di metaparametri appropriati attraverso la convalida e l'impiego di tecniche come l'arresto anticipato.

Lecture 9.1 — Overview of ways to improve generalization [Neural Networks for Machine Learning]
Lecture 9.1 — Overview of ways to improve generalization [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Lezione 9.2 — Limitare la misura dei pesi



Lezione 9.2 — Limitare la dimensione dei pesi [Reti Neurali per Machine Learning]

In questo video, parlerò di come possiamo controllare la capacità di una rete limitando la dimensione dei suoi pesi. L'approccio comune consiste nell'applicare una penalità che impedisca ai pesi di diventare troppo grandi. Si presume che una rete con pesi minori sia più semplice rispetto a una con pesi maggiori.

Esistono vari termini di penalità che possono essere utilizzati, ed è anche possibile imporre vincoli sui pesi, assicurando che il vettore dei pesi in entrata per ogni unità nascosta non superi una certa lunghezza. Il metodo standard per limitare le dimensioni del peso consiste nell'utilizzare una penalità di peso L2. Questa penalità penalizza il valore al quadrato dei pesi ed è talvolta indicata come decadimento del peso. La derivata di questa penalità agisce come una forza che tira i pesi verso lo zero. Di conseguenza, la penalità di peso mantiene i pesi piccoli a meno che non abbiano derivate di errore significative per contrastarla.

Il termine di penalità è rappresentato come la somma dei quadrati dei pesi moltiplicata per un coefficiente (lambda), divisa per due. Differenziando la funzione di costo, troviamo che la derivata è la somma della derivata dell'errore e di un termine relativo alla grandezza del peso e al valore di lambda. La derivata diventa zero quando la grandezza del peso è uguale a 1 su lambda moltiplicata per la grandezza della derivata. Pertanto, pesi elevati possono esistere solo quando hanno anche derivate di errore sostanziali. Questa proprietà semplifica l'interpretazione dei pesi, in quanto vi sono meno pesi grandi che hanno un impatto minimo.

La penalità del peso L2 impedisce alla rete di utilizzare pesi non necessari, con conseguente miglioramento della generalizzazione. Inoltre, porta a modelli più fluidi in cui l'output cambia più gradualmente con le variazioni dell'input. Per input simili, la penalità di peso distribuisce il peso in modo uniforme, mentre senza penalità tutto il peso può essere assegnato a un input.

Oltre alla penalità L2, possono essere utilizzate altre penalità di peso, come la penalità L1, che penalizza i valori assoluti dei pesi. Questo tipo di penalità fa sì che molti pesi siano esattamente zero, favorendo l'interpretazione. Penalità di peso più estreme possono essere applicate laddove il gradiente della funzione di costo diminuisce all'aumentare del peso. Ciò consente alla rete di mantenere grandi pesi senza che vengano tirati verso lo zero, concentrando invece la penalità su piccoli pesi.

Invece di sanzioni, possono essere impiegati vincoli di peso. Con i vincoli di peso, viene imposta una lunghezza massima al quadrato sul vettore di peso in ingresso per ciascuna unità nascosta o unità di output. Se la lunghezza supera il vincolo, i pesi vengono ridimensionati dividendo tutti i pesi per lo stesso fattore finché la lunghezza non rientra nel limite consentito. I vincoli di peso offrono vantaggi rispetto alle penalità di peso, in quanto è più semplice selezionare un valore ragionevole per la lunghezza al quadrato. Inoltre, i vincoli di peso impediscono alle unità nascoste di rimanere bloccate con pesi minuscoli e inefficaci. Inoltre impediscono l'esplosione del peso.

Inoltre, i vincoli di peso hanno un sottile effetto sulle sanzioni. Quando un'unità raggiunge il suo vincolo, la penalità effettiva su tutti i pesi è determinata dai grandi gradienti. I grandi gradienti spingono verso l'alto la lunghezza del vettore dei pesi in arrivo, esercitando una pressione verso il basso sugli altri pesi. Questa penalità autoscalante è più efficace di una penalità fissa che spinge i pesi irrilevanti verso lo zero. In termini di moltiplicatori di Lagrange, le penalità possono essere viste come i moltiplicatori necessari per soddisfare i vincoli.

L'uso dei vincoli di peso offre diversi vantaggi rispetto alle penalità di peso. È più semplice selezionare un valore appropriato per la lunghezza al quadrato del vettore del peso in entrata rispetto alla determinazione della penalità di peso ottimale. Le unità logistiche hanno una scala naturale, che rende più facile comprendere il significato di un valore di peso pari a uno.

I vincoli di peso impediscono anche alle unità nascoste di rimanere bloccate con tutti i loro pesi estremamente piccoli e inefficaci. Quando tutti i pesi sono minuscoli, non ci sono vincoli alla loro crescita, rendendoli potenzialmente inutili. I vincoli di peso assicurano che i pesi non diventino trascurabili.

Un altro vantaggio dei vincoli di peso è che impediscono ai pesi di esplodere, cosa che può verificarsi in alcuni casi con penalità di peso. Questo è fondamentale per mantenere la stabilità e prevenire instabilità numeriche nella rete.

Un ulteriore sottile effetto dei vincoli di peso è il loro impatto sulle penalità. Quando un'unità raggiunge il suo vincolo e la lunghezza del suo vettore dei pesi è ristretta, la penalità effettiva su tutti i pesi è influenzata dai grandi gradienti. I grandi gradienti spingono verso l'alto la lunghezza del vettore dei pesi in arrivo, che a sua volta esercita una pressione verso il basso sugli altri pesi. In sostanza, la penalità si ridimensiona per essere adeguata ai pesi significativi e sopprimere i pesi piccoli. Questo meccanismo di penalità adattativa è più efficace di una penalità fissa che spinge i pesi irrilevanti verso lo zero.

Per chi ha familiarità con i moltiplicatori di Lagrange, le penalità possono essere viste come i moltiplicatori corrispondenti richiesti per soddisfare i vincoli. I vincoli di peso agiscono come un modo per imporre le proprietà desiderate dei pesi della rete.

Il controllo della capacità di una rete limitando la dimensione dei pesi può essere ottenuto attraverso sanzioni o vincoli. Entrambi i metodi hanno i loro vantaggi, ma i vincoli di peso offrono una maggiore facilità nella selezione dei valori appropriati, impediscono che i pesi diventino trascurabili o esplodano e forniscono un meccanismo di penalità di ridimensionamento automatico. Queste tecniche contribuiscono all'interpretazione, stabilità ed efficacia delle reti neurali.

Lecture 9.2 — Limiting the size of the weights [Neural Networks for Machine Learning]
Lecture 9.2 — Limiting the size of the weights [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Lezione 9.3 — Usare il rumore come regolarizzatore



Lezione 9.3 — Usare il rumore come regolarizzatore [Reti neurali per l'apprendimento automatico]

Esploriamo un altro metodo per limitare la capacità di una rete neurale, che prevede l'aggiunta di rumore ai pesi o alle attività. Aggiungere rumore agli ingressi di una rete lineare semplice, che mira a minimizzare l'errore al quadrato, equivale a imporre una penalità L2 ai pesi della rete. Questo concetto può essere esteso a reti più complesse, dove vengono utilizzati pesi rumorosi, specialmente nelle reti ricorrenti, che ha mostrato prestazioni migliorate.

Inoltre, il rumore può anche essere introdotto nelle attività come regolarizzatore. Prendi in considerazione l'addestramento di una rete neurale multistrato con unità logistiche nascoste utilizzando la retropropagazione. Rendendo le unità binarie e stocastiche durante il passaggio in avanti, e poi trattandole come se fossero deterministiche durante il passaggio all'indietro utilizzando i valori reali, creiamo un neurone binario stocastico. Sebbene non del tutto accurato, questo approccio produce prestazioni migliori sul set di test rispetto al set di addestramento, anche se con un addestramento più lento.

Questi metodi di incorporazione del rumore, sia nei pesi che nelle attività, presentano tecniche alternative per controllare la capacità delle reti neurali e migliorare le loro capacità di generalizzazione.

In sintesi, l'aggiunta di rumore alle reti neurali può essere una strategia utile per controllare la capacità e migliorare la generalizzazione. Introducendo il rumore gaussiano agli ingressi, possiamo ottenere un effetto simile a una penalità di peso L2. Ciò amplifica la varianza del rumore basata sui pesi al quadrato e contribuisce all'errore al quadrato complessivo. Il rumore nei pesi può essere particolarmente efficace nelle reti più complesse, come le reti ricorrenti, portando a prestazioni migliori.

Inoltre, il rumore può essere applicato alle attività della rete come tecnica di regolarizzazione. Trattando le unità come neuroni binari stocastici durante il passaggio in avanti e utilizzando i valori reali durante la retropropagazione, introduciamo la casualità nel sistema. Questo approccio può comportare un addestramento più lento, ma spesso produce prestazioni migliori sul set di test, indicando una migliore generalizzazione.

L'aggiunta di rumore, sotto forma di pesi o attività, fornisce un approccio alternativo per limitare la capacità e migliorare la robustezza e le capacità di generalizzazione delle reti neurali.

Lecture 9.3 — Using noise as a regularizer [Neural Networks for Machine Learning]
Lecture 9.3 — Using noise as a regularizer [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Lezione 9.4 — Introduzione all'approccio bayesiano completo



Lezione 9.4 — Introduzione all'approccio bayesiano completo [Reti neurali per l'apprendimento automatico]

L'approccio bayesiano all'adattamento dei modelli comporta la considerazione di tutte le possibili impostazioni dei parametri invece di cercare quella più probabile. Assume una distribuzione a priori per i parametri e la combina con la probabilità dei dati osservati di ottenere una distribuzione a posteriori.

In un esempio di lancio della moneta, l'approccio frequentista (massima verosimiglianza) suggerirebbe di scegliere il valore del parametro che massimizza la verosimiglianza dei dati osservati. Tuttavia, questo approccio ha dei limiti, in quanto potrebbe non tenere conto di convinzioni o incertezze precedenti.

Nel framework bayesiano, ai valori dei parametri viene assegnata una distribuzione a priori. Dopo aver osservato i dati, il precedente viene moltiplicato per la verosimiglianza per ogni valore di parametro, risultando in una distribuzione posteriore non normalizzata. Per ottenere una corretta distribuzione di probabilità, il posteriore viene rinormalizzato ridimensionandolo per avere un'area pari a uno.

Attraverso passaggi iterativi, la distribuzione a posteriori viene aggiornata man mano che vengono osservati più dati. La distribuzione posteriore finale rappresenta la convinzione aggiornata sui valori dei parametri, incorporando sia le conoscenze precedenti che i dati osservati. Fornisce una gamma di valori di parametri plausibili insieme alle loro probabilità.

Il teorema di Bayes viene utilizzato per calcolare la probabilità a posteriori di un valore di parametro dati i dati. Implica la moltiplicazione della probabilità a priori per la probabilità dei dati dato quel valore di parametro e la normalizzazione dividendo per la probabilità dei dati.

Considerando l'intera distribuzione posteriore, l'approccio bayesiano consente un'analisi più completa dei valori dei parametri, incorporando le convinzioni precedenti e aggiornandole sulla base dei dati osservati.

Lecture 9.4 — Introduction to the full Bayesian approach [Neural Networks for Machine Learning]
Lecture 9.4 — Introduction to the full Bayesian approach [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
For cool updates on AI research, follow me at https://twitter.com/iamvriad.Lecture from the course Neural Networks for Machine Learning, as taught by Geoffre...
 

Lezione 9.5 — L'interpretazione bayesiana del decadimento del peso



Lezione 9.5 — L'interpretazione bayesiana del decadimento del peso [Neural Networks for Machine Learning]

Questo video discute l'interpretazione bayesiana delle penalità di peso nell'approccio bayesiano completo. Nell'approccio bayesiano, l'obiettivo è calcolare la probabilità a posteriori di ogni possibile impostazione dei parametri del modello. Tuttavia, una versione semplificata chiamata massimo apprendimento a posteriori si concentra sulla ricerca del singolo insieme di parametri che è il miglior compromesso tra l'adattamento delle convinzioni precedenti e l'adattamento dei dati osservati. Questo approccio fornisce una spiegazione per l'uso del decadimento del peso per controllare la capacità del modello. Quando si riduce al minimo l'errore al quadrato durante l'apprendimento supervisionato di massima verosimiglianza, si trova essenzialmente un vettore di peso che massimizza la densità di probabilità logaritmica della risposta corretta. Questa interpretazione presuppone che la risposta corretta sia prodotta aggiungendo rumore gaussiano all'output della rete neurale.

In questa interpretazione probabilistica, l'output del modello è considerato il centro di una gaussiana e ci interessa avere il valore target con alta probabilità sotto quella gaussiana. La densità di probabilità logaritmica negativa del valore target, dato l'output della rete, è equivalente alla differenza al quadrato tra l'obiettivo e l'output divisa per il doppio della varianza della gaussiana. Prendendo i logaritmi e inserendo un segno meno, la densità di probabilità logaritmica negativa del valore target dato l'output della rete diventa una funzione di costo. Minimizzare questa funzione di costo equivale a minimizzare la distanza al quadrato. Ciò mostra che quando si minimizza un errore al quadrato, esiste un'interpretazione probabilistica in cui stiamo massimizzando la probabilità logaritmica sotto una gaussiana.

L'approccio bayesiano corretto consiste nel trovare la distribuzione posteriore completa su tutti i possibili vettori di peso, che può essere difficile per le reti non lineari. Come alternativa più semplice, possiamo provare a trovare il vettore di peso più probabile, quello che è più probabile date le nostre conoscenze precedenti e i dati.

Nel massimo apprendimento a posteriori, miriamo a trovare l'insieme di pesi che ottimizza il compromesso tra l'adattamento del precedente e l'adattamento dei dati. Usare le probabilità logaritmiche negative come costi è più conveniente che lavorare nel dominio delle probabilità. Massimizziamo la probabilità logaritmica dei dati dati i pesi, che equivale a massimizzare la somma delle probabilità logaritmiche degli output per tutti i casi di addestramento dati i pesi. Per ottimizzare i pesi, consideriamo la probabilità logaritmica negativa dei pesi dati i dati. Questo costo è costituito da due termini: uno che dipende sia dai dati che dai pesi, che misura quanto ci adattiamo agli obiettivi, e un altro termine che dipende solo dai pesi, che deriva dalla probabilità logaritmica dei dati dati i pesi.

Se assumiamo che il rumore gaussiano venga aggiunto all'output del modello per fare previsioni e gaussiano a priori per i pesi, allora la probabilità logaritmica dei dati dati i pesi è la distanza al quadrato tra l'output e l'obiettivo scalata del doppio della varianza del Rumore gaussiano. Allo stesso modo, la probabilità logaritmica di un peso inferiore al precedente è il valore al quadrato del peso scalato del doppio della varianza del precedente gaussiano.

Moltiplicando per il prodotto del doppio delle varianze del rumore gaussiano e del precedente, otteniamo una nuova funzione di costo. Il primo termine corrisponde all'errore al quadrato tipicamente minimizzato in una rete neurale. Il secondo termine diventa il rapporto di due varianze moltiplicato per la somma dei quadrati dei pesi, che è la penalizzazione del peso. Pertanto, la penalità di peso è determinata dal rapporto delle varianze in questa interpretazione gaussiana e non è un valore arbitrario all'interno di questo quadro. Pertanto, la penalità di peso in questa interpretazione bayesiana non è solo un valore arbitrario scelto per migliorare le prestazioni. Ha un'interpretazione significativa basata sulle varianze del rumore gaussiano e precedenti.

Per elaborare ulteriormente, quando moltiplichiamo l'equazione per due volte le varianze e sommiamo su tutti i casi di addestramento, il primo termine corrisponde alla differenza al quadrato tra l'output della rete neurale e l'obiettivo. Questo termine rappresenta l'errore al quadrato tipicamente minimizzato in una rete neurale. Il secondo termine, che dipende dai soli pesi, diventa il rapporto delle due varianze moltiplicato per la somma dei quadrati dei pesi. Questo termine è la penalità di peso. Penalizza i valori di peso elevato e incoraggia i pesi più piccoli. Il rapporto tra gli scostamenti determina la forza di questa penalità.

In sostanza, introducendo una penalità di peso, stiamo negoziando tra adattare bene i dati e mantenere piccoli i pesi. Questo trade-off è controllato dal rapporto delle varianze. Una penalità di peso maggiore (cioè un rapporto di varianze più piccolo) risulterà in pesi più piccoli, mentre una penalità di peso minore (cioè un rapporto di varianze più grande) consente pesi maggiori. È importante notare che l'interpretazione del decadimento del peso o delle penalità del peso come approccio bayesiano si basa sull'assunzione del rumore gaussiano e delle distribuzioni precedenti gaussiane. Queste ipotesi semplificano i calcoli e forniscono un quadro probabilistico per comprendere l'impatto delle penalità di peso sul processo di ottimizzazione.

In pratica, trovare la distribuzione posteriore completa su tutti i possibili vettori di peso può essere impegnativo dal punto di vista computazionale, specialmente per reti non lineari complesse. Pertanto, l'apprendimento massimo a posteriori, che mira a trovare il vettore di peso più probabile, offre un'alternativa più pratica. Questo approccio bilancia l'adattamento delle convinzioni precedenti e dei dati osservati, fornendo una soluzione di compromesso.

L'interpretazione bayesiana delle penalità di peso fornisce una comprensione più profonda del loro ruolo nell'ottimizzazione della rete neurale. Considerando la prospettiva probabilistica e il compromesso tra l'adattamento dei dati e il peso precedente, possiamo sfruttare le penalità di peso come tecnica di regolarizzazione per controllare la capacità del modello e migliorare le prestazioni di generalizzazione.

Lecture 9.5 — The Bayesian interpretation of weight decay [Neural Networks for Machine Learning]
Lecture 9.5 — The Bayesian interpretation of weight decay [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Lezione 9.6 — Il metodo veloce e sporco di MacKay



Lezione 9.6 - Il metodo rapido e sporco di MacKay [Reti neurali per l'apprendimento automatico]

In questo video, parlerò di un metodo sviluppato da David MacKay negli anni '90 per determinare le penalità di peso in una rete neurale senza fare affidamento su un set di convalida. L'approccio di MacKay si basa sull'interpretazione delle penalità di peso come stima massima a posteriori (MAP), in cui l'entità della penalità di peso si riferisce alla tenuta della distribuzione precedente sui pesi.

MacKay ha dimostrato che possiamo adattare empiricamente sia le penalità di peso che il presunto rumore nell'output della rete neurale. Ciò ci consente di ottenere un metodo per l'adattamento delle penalità di peso che non richiede un set di convalida, consentendo diverse penalità di peso per sottoinsiemi di connessioni all'interno di una rete. Questa flessibilità sarebbe computazionalmente costosa da ottenere utilizzando i set di convalida.

Ora descriverò un metodo semplice e pratico sviluppato da David MacKay per sfruttare l'interpretazione delle penalità di peso come rapporto tra due varianze. Dopo aver appreso un modello per minimizzare l'errore al quadrato, possiamo determinare il miglior valore per la varianza dell'output. Questo valore si ottiene utilizzando la varianza degli errori residui.

Possiamo anche stimare la varianza nel priore gaussiano per i pesi. Inizialmente, facciamo un'ipotesi su questa varianza e procediamo con il processo di apprendimento. Ecco che arriva lo "sporco trucco" chiamato Bayes empirico. Impostiamo la varianza precedente in modo che sia la varianza dei pesi che il modello ha appreso perché li rende più probabili. Sebbene ciò violi alcuni presupposti dell'approccio bayesiano, ci consente di determinare il precedente in base ai dati.

Dopo aver appreso i pesi, adattiamo una distribuzione gaussiana a media zero alla distribuzione unidimensionale dei pesi appresi. Quindi prendiamo la varianza di questa gaussiana come nostra varianza prima del peso. In particolare, se ci sono diversi sottoinsiemi di pesi, ad esempio in livelli diversi, possiamo apprendere varianze diverse per ogni livello.

Il vantaggio del metodo di MacKay è che non richiede un set di convalida, consentendo l'utilizzo di tutti i dati non di test per l'addestramento. Inoltre, consente l'incorporazione di più penalità di peso, che sarebbe difficile da ottenere utilizzando i set di convalida.

Per riassumere il metodo, iniziamo indovinando il rapporto tra la varianza del rumore e la varianza a priori del peso. Quindi, eseguiamo la discesa del gradiente imparando a migliorare i pesi. Successivamente, aggiorniamo la varianza del rumore in modo che sia la varianza degli errori residui e la varianza del peso precedente in modo che sia la varianza della distribuzione dei pesi appresi. Questo ciclo viene ripetuto in modo iterativo.

In pratica, il metodo di MacKay ha dimostrato di funzionare in modo efficace e ha ottenuto il successo in diverse competizioni utilizzando questo approccio.

Lecture 9.6 — MacKay 's quick and dirty method [Neural Networks for Machine Learning]
Lecture 9.6 — MacKay 's quick and dirty method [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

10.1 — Perché è utile combinare i modelli



10.1 — Perché è utile combinare i modelli [Reti neurali per l'apprendimento automatico]

In questo video, discuterò l'importanza di combinare più modelli per fare previsioni. Quando si utilizza un singolo modello, affrontiamo la sfida di scegliere la giusta capacità per esso. Se la capacità è troppo bassa, il modello non acquisirà le regolarità nei dati di addestramento. D'altra parte, se la capacità è troppo alta, il modello supererà l'errore di campionamento nel training set specifico. Combinando più modelli, possiamo trovare un equilibrio migliore tra l'adattamento alle vere regolarità e l'evitare l'overfitting. La media dei modelli insieme spesso porta a risultati migliori rispetto all'utilizzo di un singolo modello. Questo effetto è particolarmente significativo quando i modelli fanno previsioni diverse. È possibile incoraggiare i modelli a fare previsioni diverse attraverso varie tecniche.

Quando si ha a che fare con dati di training limitati, l'overfitting è un problema comune. Tuttavia, considerando le previsioni di più modelli, possiamo mitigare l'overfitting. Ciò è particolarmente vero quando i modelli fanno previsioni diverse. Nella regressione, possiamo scomporre l'errore al quadrato in un termine di polarizzazione e un termine di varianza. Il termine bias indica quanto bene il modello approssima la vera funzione, mentre il termine varianza misura la capacità del modello di catturare l'errore di campionamento nel set di addestramento. Facendo la media dei modelli, possiamo ridurre la varianza mantenendo un basso bias, poiché i modelli ad alta capacità spesso mostrano un basso bias. Questo ci consente di sfruttare i vantaggi della media per ridurre l'errore.

Quando si confronta un singolo modello con la media dei modelli in uno specifico caso di test, è possibile che alcuni singoli predittori superino il predittore combinato. Tuttavia, diversi predittori individuali eccellono in casi diversi. Inoltre, quando i singoli predittori sono significativamente in disaccordo tra loro, il predittore combinato generalmente supera in media tutti i predittori individuali. Pertanto, l'obiettivo è disporre di singoli predittori che commettono errori distinti l'uno dall'altro pur rimanendo accurati.

Matematicamente, quando combiniamo le reti, confrontiamo due errori al quadrato attesi. Il primo errore corrisponde alla selezione casuale di un predittore e alla media delle previsioni su tutti i predittori. Il secondo errore si ottiene calcolando la media delle previsioni dei modelli. L'errore al quadrato atteso dalla selezione casuale di un modello è maggiore dell'errore al quadrato ottenuto attraverso la media, indicando il vantaggio della media nella riduzione dell'errore. Il termine aggiuntivo nell'equazione rappresenta la varianza degli output dei modelli, che viene effettivamente ridotta dalla media.

Per ottenere previsioni diverse tra i modelli, è possibile utilizzare vari approcci. Ciò include l'utilizzo di diversi tipi di modelli, l'alterazione delle architetture dei modelli, l'utilizzo di diversi algoritmi di apprendimento e l'addestramento di modelli su diversi sottoinsiemi di dati. Anche tecniche come il bagging e il boosting sono efficaci nella creazione di diversi modelli. Il bagging comporta l'addestramento di diversi modelli su diversi sottoinsiemi di dati, mentre il potenziamento pondera i casi di addestramento in modo diverso per ciascun modello. Questi metodi contribuiscono a migliorare le prestazioni quando si combinano i modelli.

La combinazione di più modelli è vantaggiosa per le attività di previsione. Calcolando la media dei modelli, possiamo trovare un equilibrio tra l'acquisizione di regolarità e l'evitare l'overfitting. Diverse previsioni tra i modelli migliorano le prestazioni del predittore combinato. Varie tecniche possono essere applicate per incoraggiare diverse previsioni, portando a migliori risultati complessivi.

10.1 — Why it helps to combine models [Neural Networks for Machine Learning]
10.1 — Why it helps to combine models [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...
 

Lezione 10.2 — Miscele di esperti



Lezione 10.2 — Miscele di esperti [Reti neurali per l'apprendimento automatico]

Il modello misto di esperti, sviluppato all'inizio degli anni '90, addestra più reti neurali, ciascuna specializzata in diverse parti dei dati. L'idea è di avere una rete neurale per regime di dati, con una rete neurale manager che decide quale specialista assegnare in base ai dati di input. Questo approccio diventa più efficace con set di dati più grandi, in quanto può sfruttare dati estesi per migliorare le previsioni. Durante l'addestramento, i pesi dei modelli vengono aumentati per concentrarsi sui casi in cui si comportano meglio. Questa specializzazione porta i singoli modelli a eccellere in determinate aree mentre si comportano male in altre. La chiave è fare in modo che ogni esperto si concentri sulla previsione della risposta giusta per i casi in cui supera altri esperti.

Nello spettro dei modelli ci sono modelli locali e globali. I modelli locali, come i vicini più vicini, si concentrano su casi di addestramento specifici e memorizzano i loro valori per la previsione. I modelli globali, come adattare un polinomio a tutti i dati, sono più complessi e possono essere instabili. Nel mezzo, ci sono modelli di complessità intermedia che sono utili per insiemi di dati con regimi diversi e relazioni input-output variabili.

Per adattare modelli diversi a regimi diversi, i dati di addestramento devono essere suddivisi in sottoinsiemi che rappresentano ciascun regime. Il clustering basato solo sui vettori di input non è l'ideale. Invece, dovrebbe essere considerata la somiglianza nelle mappature input-output. Il partizionamento basato sulla mappatura input-output consente ai modelli di acquisire meglio le relazioni all'interno di ciascun regime.

Esistono due funzioni di errore: una che incoraggia i modelli a cooperare e un'altra che incoraggia la specializzazione. Incoraggiare la cooperazione implica confrontare la media di tutti i predittori con l'obiettivo e addestrare i predittori insieme per ridurre al minimo la differenza. Tuttavia, questo può portare a un overfitting se il modello è più potente dell'addestramento separato di ciascun predittore. Al contrario, la funzione di errore che promuove la specializzazione confronta separatamente l'output di ciascun modello con l'obiettivo. Un manager determina i pesi assegnati a ciascun modello, che rappresentano la probabilità di selezionare quel modello. La maggior parte degli esperti finirà per ignorare la maggior parte degli obiettivi, concentrandosi solo su un sottoinsieme di casi di formazione in cui ottengono buoni risultati.

L'architettura del modello misto di esperti è costituita da più esperti, un manager e un livello softmax. Il manager determina le probabilità di selezionare ciascun esperto in base ai dati di input. La funzione di errore viene calcolata utilizzando i risultati degli esperti e le probabilità del manager. Differenziando la funzione di errore si ottengono i gradienti per la formazione degli esperti e del manager. Gli esperti con basse probabilità per un caso particolare avranno piccoli gradienti, preservando i loro parametri. La differenziazione rispetto agli output della rete di gating fornisce la specializzazione basata sulla probabilità.

Esiste una funzione di costo più complicata basata su modelli misti, che implica previsioni gaussiane e stima della massima verosimiglianza. Questa funzione massimizza la probabilità logaritmica del valore target sotto la combinazione della distribuzione predittiva degli esperti. L'obiettivo è minimizzare la probabilità logaritmica negativa come funzione di costo.

Il modello misto di esperti sfrutta reti neurali specializzate per diversi regimi di dati e utilizza efficacemente grandi set di dati per previsioni migliori.

Lecture 10.2 — Mixtures of Experts [Neural Networks for Machine Learning]
Lecture 10.2 — Mixtures of Experts [Neural Networks for Machine Learning]
  • 2016.02.04
  • www.youtube.com
Lecture from the course Neural Networks for Machine Learning, as taught by Geoffrey Hinton (University of Toronto) on Coursera in 2012. Link to the course (l...