Apprendimento automatico e Reti Neurali - pagina 47

 

CS480/680 Lezione 6: Compressione del modello per la PNL (Ashutosh Adhikari)



CS480/680 Lezione 6: Compressione del modello per la PNL (Ashutosh Adhikari)

In questo video, il relatore discute il concetto di compressione del modello per la PNL e le sfide del tempo di elaborazione e dei requisiti di memoria man mano che aumentano il numero e la profondità delle reti neurali profonde. Vengono classificate le tecniche di compressione del modello e viene introdotto il metodo più antico, l'eliminazione e la condivisione dei parametri. Il relatore elabora ulteriormente il concetto di un sistema studente-insegnante per la compressione del modello in PNL e come la funzione obiettivo viene utilizzata per comprimere un modello più grande in un modello studente più piccolo pur mantenendo la precisione. Infine, viene evidenziata la potenziale importanza della compressione dei modelli nel contesto del recente lavoro sullo sviluppo di modelli di PNL su larga scala.

  • 00:00:00 In questa sezione, il presentatore video discute il problema della compressione del modello man mano che il numero e la profondità delle reti neurali profonde aumentano, insieme al tempo di elaborazione e ai requisiti di memoria. L'obiettivo è ridurre il numero di parametri richiesti nelle reti neurali mantenendo al tempo stesso accuratezza e conoscenza per consentire un'implementazione più rapida ed efficiente nelle applicazioni online. Le tecniche di compressione del modello sono classificate e il presentatore approfondisce il metodo più antico: la potatura e la condivisione dei parametri, sviluppata da Yann LeCun nel 1990. La presentazione tocca anche le tecniche di potatura del canale, che hanno avuto successo con le reti neurali convoluzionali nella visione artificiale, ma meno esplorato con i modelli di PNL. Infine, il relatore sottolinea la potenziale importanza della compressione dei modelli nel contesto del recente lavoro sullo sviluppo di modelli su larga scala per compiti di PNL.

  • 00:05:00 In questa sezione, il relatore introduce il concetto di sistema studente-insegnante per la compressione del modello in PNL. Il modello dell'insegnante è un modello più grande che viene utilizzato per estrarre le rappresentazioni e comprimerle in un modello studente più piccolo. La funzione obiettivo viene utilizzata per aiutare la rete di studenti a catturare tutte le rappresentazioni apprese dalla rete di insegnanti insieme all'obiettivo di classificazione. Sebbene i metodi di potatura e condivisione non siano stati esplorati in dettaglio, i meccanismi di attenzione e i trasformatori saranno trattati nelle lezioni future. L'oratore osserva che questi enormi modelli sono fondamentalmente trasformatori al centro, ripetutamente applicati.
 

CS480/680 Lezione 7: Miscela di gaussiane



CS480/680 Lezione 7: Miscela di gaussiane

In questa lezione sulla miscela di gaussiane, il relatore spiega come il modello può essere utilizzato per la classificazione costruendo una distribuzione a priori per ogni classe, che consente la costruzione di un modello probabilistico utilizzando il teorema di Bayes per stimare la probabilità di una classe per un dato punto dati. La lezione copre anche il processo di calcolo della probabilità di un punto dati appartenente a una certa classe e come questo viene utilizzato per determinare la previsione della classe. Gli appunti della lezione esplorano la relazione tra la funzione softmax e la distribuzione dell'arco massimo e come la forma ei limiti della gaussiana sono determinati dalla matrice di covarianza. Infine, la lezione descrive in dettaglio il processo di apprendimento della massima verosimiglianza e come può essere utilizzato per stimare la media e la matrice di covarianza per una combinazione di modelli gaussiani.

  • 00:00:00 In questa sezione, il docente discute l'uso di miscele di gaussiane per la classificazione, che è un modello statistico nella famiglia dei modelli generativi. Spiegano come le distribuzioni gaussiane vengono utilizzate per modellare l'imprecisione e il rumore nei dati, che possono essere utilizzati per simulare la creazione di un set di dati per applicazioni come la generazione di testo e immagini. La lezione fornisce un esempio di regressione lineare e come può anche essere convertita in un modello generativo attraverso l'uso di distribuzioni gaussiane.

  • 00:05:00 In questa sezione, il docente discute la possibilità di generare immagini simili di persone attraverso un modello in grado di generare dati simili al training set. Il docente usa la regressione lineare come esempio e poi passa alla classificazione, dove viene costruita una distribuzione a priori per ogni classe. Sulla base di questa idea, è possibile costruire un modello probabilistico utilizzando il teorema di Bayes per stimare la probabilità della classe per un dato punto dati. La lezione sottolinea che questo non è apprendimento bayesiano, ma piuttosto inferenza bayesiana.

  • 00:10:00 In questa sezione, l'istruttore discute le ipotesi fatte nel modello Mixture of Gaussians e come utilizzare l'inferenza bayesiana per calcolare la probabilità a posteriori di una classe. Il modello presuppone che esista un numero finito di classi categoriali, che possono essere rappresentate utilizzando una distribuzione multinomiale. Si presume che la distribuzione condizionale di classe sia una distribuzione gaussiana con la stessa matrice di covarianza per ogni classe. La verosimiglianza è un prodotto della distribuzione condizionale a priori e di classe, che può essere semplificata annullando il primo termine che non dipende dalla classe. Questa semplificazione è possibile grazie all'assunzione della stessa matrice di covarianza per ogni classe, anche se potrebbe non essere sempre valida in generale.

  • 00:15:00 In questa sezione, il relatore spiega come il posteriore può essere espresso come una funzione sigmoidea logistica, che è particolarmente popolare nelle reti neurali in quanto prende qualsiasi numero reale e produce un output compreso tra 0 e 1. Derivano l'espressione per il posteriore e mostrare che può essere espresso come W(transpose)X + W_0 dove W è il coefficiente di x e W_0 è la parte costante che non dipende da X. La funzione logistica ha una definizione particolare e serve a produrre un output che può essere interpretato come una probabilità.

  • 00:20:00 In questa sezione, il docente discute l'uso della funzione logistica nel contesto di combinazioni di gaussiane. La funzione logistica viene utilizzata per schiacciare l'output tra 0 e 1, e la sua particolare definizione può essere ottenuta trattando i coefficienti di X come parametri e la parte costante come W nulla. La matrice media e di covarianza, così come le probabilità di classe, possono essere combinate insieme per fornire i parametri desiderati. Questo aiuta a calcolare la probabilità a posteriori di un punto dati appartenente a una particolare classe. Il docente spiega anche l'uso dei condizionali di classe, rappresentati da distribuzioni gaussiane, per trovare le probabilità di classe dei punti dati. Questi condizionali di classe possono avere forme a campana diverse e il posteriore avrebbe una probabilità maggiore per la classe che corrisponde al punto dati.

  • 00:25:00 In questa sezione del video, il docente spiega come viene calcolata la verosimiglianza di un punto dati appartenente a una certa classe per un modello misto di Gaussiane. Se le medie delle due gaussiane sono diverse e assumiamo che abbiano la stessa matrice di covarianza, a seconda della posizione del punto, avrà naturalmente una maggiore probabilità di appartenere alla classe la cui gaussiana ha una media più vicina al punto. Viene fornita una formula per le distribuzioni condizionali di classe e, una volta calcolata la posteriore, è possibile effettuare una previsione di classe basata sulla probabilità che quella classe sia maggiore di 0,5. Il docente mostra anche i confini tra le due classi, il che è interessante quando si fanno previsioni.

  • 00:30:00 In questa sezione, la lezione esplora il limite di classe dell'utilizzo di miscele di gaussiane e l'aspetto del confine, supponendo che ci siano due gaussiane e abbiano la stessa matrice di covarianza. Il confine si verifica alla probabilità in cui ogni classe è la stessa (0,5). Questo semplifica in W transpose X bar = 0, il che significa che il separatore è lineare. Questo è un modello semplice e un separatore lineare e viene utilizzato quando sono presenti due classi. Quando ci sono più di due classi, viene eseguito lo stesso calcolo e il risultato è la funzione softmax, che è anche comunemente usata nelle reti neurali e ha le sue radici in una combinazione di calcoli gaussiani.

  • 00:35:00 In questa sezione, il docente spiega la relazione tra la funzione softmax e la distribuzione dell'arco massimo e perché si chiama softmax. La distribuzione arc max assegna la probabilità uno per il classificatore con il valore più alto e zero per tutte le altre classi, mentre la funzione softmax ne fornisce una versione più morbida assegnando probabilità diverse da zero a tutte le classi. La funzione esponenziale sorge quando si considerano miscele di gaussiane e si calcola la distribuzione a posteriori per più classi. I confini delle diverse classi possono anche essere mostrati nella distribuzione posteriore. Le dispense spiegano che la funzione softmax è ampiamente utilizzata nelle reti neurali per determinare la classe di output.

  • 00:40:00 In questa sezione, il docente spiega come la forma ei limiti della gaussiana sono determinati dalla matrice di covarianza e come ciò influisce sulla separazione delle classi. Utilizzando diverse matrici di covarianza, è possibile creare confini non lineari, mentre l'utilizzo della stessa si tradurrà in confini lineari. Il docente discute anche come stimare le potenze della combinazione del modello gaussiano, vale a dire pi, mu 1, mu 2 e Sigma, che rappresentano rispettivamente la probabilità di ciascuna classe, la media delle gaussiane e la matrice di covarianza del rumore. A tale scopo viene utilizzato il metodo della massima verosimiglianza.

  • 00:45:00 In questa sezione, il docente spiega il processo di apprendimento della massima verosimiglianza in cui il problema principale è trovare le potenze del modello che massimizzano la verosimiglianza dei dati. Per risolvere questo problema di ottimizzazione, il docente prende il registro dell'espressione per semplificarlo. L'espressione risultante sembra complicata, ma in realtà è bella e ha una forma concava che ha un unico ottimo globale. Questo metodo consente la combinazione di condizionali di classe per le due classi in un'unica espressione utilizzando comode etichette per le classi 0 e 1.

  • 00:50:00 In questa sezione della lezione, il relatore discute come la massimizzazione della funzione di log-verosimiglianza corrisponda a una funzione concava, che può essere ottimizzata per ottenere la media campionaria e la media empirica dei dati per ogni classe in un miscela di modello Gaussiane. La probabilità di ogni classe può essere stimata prendendo la frazione di dati appartenenti a quella classe, che è un approccio intuitivo confermato dal principio di massima verosimiglianza. Allo stesso modo, la media degli input per ciascuna classe può essere stimata prendendo la somma di tutti i punti dati e dividendola per il numero di punti in quella classe. Queste stime forniscono una giustificazione formale per l'approccio intuitivo alla stima di questi parametri.

  • 00:55:00 In questa sezione, il relatore discute il processo di stima della media e della matrice di covarianza per una combinazione di modelli gaussiani utilizzando l'apprendimento della massima verosimiglianza. Vengono forniti i dati di output target e la funzione di verosimiglianza viene massimizzata per determinare i valori corretti per la media e la matrice di covarianza. Quando si stima la matrice di covarianza, viene presa una combinazione lineare delle matrici di covarianza empiriche per ciascuna classe, che viene pesata dal numero di punti dati appartenenti a ciascuna classe. Il relatore chiarisce che mentre l'inferenza bayesiana e l'apprendimento di massima verosimiglianza sono entrambi usati in questo processo, la prima parte della discussione non era l'apprendimento ma piuttosto l'inferenza usando il teorema di Bayes.

  • 01:00:00 In questa sezione, il relatore spiega che la parte dell'apprendimento automatico della combinazione di gaussiane comporta la determinazione delle potenze necessarie per ogni caratteristica nel modello gaussiano. Usano l'apprendimento della massima verosimiglianza per fare questo, ma è anche possibile l'apprendimento bayesiano. Tuttavia, la lezione riguarderà solo l'apprendimento di massima verosimiglianza. L'oratore conclude quindi la sezione e afferma che la lezione successiva coprirà un'estensione di questo argomento per la classificazione.
 

CS480/680 Lezione 8: Regressione logistica e modelli lineari generalizzati



CS480/680 Lezione 8: Regressione logistica e modelli lineari generalizzati

Questa prima parte della lezione su "CS480/680: Logistic Regression and Generalized Linear Models" introduce l'idea della famiglia esponenziale di distribuzioni e la sua relazione con la regressione logistica, una potente tecnica utilizzata per problemi di classificazione. La conferenza spiega che la regressione logistica mira ad adattare la migliore funzione logistica che modella il posteriore per un dato set di dati, e per problemi con poche dimensioni e pesi, il metodo di Newton può essere utilizzato per trovare il minimo della funzione obiettivo, che è un convesso funzione. L'istruttore sottolinea inoltre l'importanza della regressione logistica nei sistemi di raccomandazione e nel posizionamento degli annunci, dove la semplicità e l'efficienza della tecnica la rendono ideale per formulare raccomandazioni personalizzate basate sulle caratteristiche e sui comportamenti degli utenti.

La lezione tratta anche l'argomento della regressione logistica e dei modelli lineari generalizzati. L'istruttore discute i limiti del metodo di Newton per la regressione logistica, come il problema dell'overfitting causato da pesi arbitrari di grandi dimensioni e problemi di singolarità nella matrice Hessiana. Per prevenire l'overfitting, si suggerisce la regolarizzazione. L'istruttore introduce i modelli lineari generalizzati (GLM) che possono essere utilizzati per lavorare in modo efficiente con i separatori non lineari. I GLM implicano la mappatura degli input in un nuovo spazio in cui la regressione lineare e la classificazione possono essere eseguite in modo non lineare purché la mappatura sia non lineare. La lezione copre anche le funzioni di base e i loro tipi che possono essere utilizzati per eseguire regressioni e classificazioni non lineari.

  • 00:00:00 In questa sezione del video, la conferenza discute i limiti del modello statistico per la classificazione basata su combinazioni di gaussiane, che presuppone una distribuzione gaussiana. Per affrontare questa limitazione, introducono un'ampia classe di distribuzioni nota come famiglia esponenziale, portando allo sviluppo di una tecnica potente e flessibile chiamata regressione logistica. La conferenza disegna alla lavagna per illustrare combinazioni di gaussiane e spiega che questo metodo è adatto quando i dati formano gruppi di una certa forma. Tuttavia, se i dati non hanno questa forma, l'ipotesi di una distribuzione gaussiana deve essere rilassata. La lezione introduce l'idea della famiglia esponenziale delle distribuzioni e ne spiega il significato nello sviluppo della regressione logistica.

  • 00:05:00 questa sezione, il relatore discute la Famiglia Esponenziale, che include molte distribuzioni famose come Bernoulli, Poisson e Gamma. La famiglia è chiamata esponenziale perché la funzione di densità del prodotto ha un esponenziale e l'esponente ha un termine lineare in theta, alcuni termini in X e altri termini in theta e X. La chiave delle diverse distribuzioni nella famiglia sono le funzioni precise T di X, a di theta e B di X. La bellezza di questa famiglia è che qualsiasi distribuzione in essa può essere riscritta sotto forma di una funzione logistica sigmoidea. Questa caratteristica consente al relatore di introdurre modelli probabilistici discriminatori, dove l'obiettivo è stimare direttamente i parametri della funzione logistica, invece di fare ipotesi sui dati che vengono perturbati con del rumore e stimare i parametri della distribuzione associata.

  • 00:10:00 In questa sezione, apprendiamo la regressione logistica, che è una tecnica utilizzata per adattare o trovare la migliore funzione logistica che modella il posteriore per un dato set di dati. Il posteriore segue la distribuzione softmax ogni volta che ci sono più classi. Vorremmo trovare la W che massimizza il posteriore dati alcuni dati. Questo problema di ottimizzazione viene convertito in un problema di minimizzazione introducendo un segno negativo. L'obiettivo è trovare il miglior W che garantisca che la probabilità della classe Y corretta sia la più alta possibile per la maggior parte dei punti dati.

  • 00:15:00 In questa sezione, l'istruttore discute la regressione logistica e come può essere utilizzata per problemi di classificazione. L'obiettivo è trovare la W che minimizzi il soggettivo, ma è importante notare che anche se questa tecnica è chiamata regressione logistica, è davvero un problema di classificazione. Tuttavia, l'idea è che la regressione logistica sia una forma di regressione perché stiamo cercando di stimare la probabilità a posteriori della classe data X, che è un valore numerico. L'istruttore prosegue spiegando che è necessario un metodo iterativo per risolvere questo problema di ottimizzazione perché non c'è un modo per isolare la variabile nell'espressione in forma chiusa.

  • 00:20:00 In questa sezione della lezione, l'istruttore discute come trattare l'equazione non lineare nella regressione logistica. La funzione obiettivo della regressione logistica è dimostrata essere una funzione convessa, che rende più facile trovare l'ottimo globale. L'istruttore spiega che i metodi iterativi, come la discesa del gradiente o il metodo di Newton, possono essere utilizzati per trovare il minimo della funzione obiettivo. Sebbene sia possibile utilizzare la discesa del gradiente, non è efficiente e determinare la giusta dimensione del passo è difficile. Il metodo di Newton è molto più veloce e richiede meno passaggi, il che lo rende una scelta popolare per l'ottimizzazione.

  • 00:25:00 In questa sezione della conferenza, il relatore discute un metodo chiamato metodo di Newton per la regressione logistica, che è un miglioramento rispetto alla discesa del gradiente. Il metodo di Newton prevede di iniziare con un'ipotesi iniziale per W e quindi di sottrarre da W l'inverso dell'Assia moltiplicato per il gradiente dell'ultima funzione. Questo metodo prevede essenzialmente l'iterazione di tre minimi quadrati ponderati e approssima l'obiettivo con una funzione quadratica anziché una linea, consentendo una migliore approssimazione della curva e una convergenza più rapida. La bellezza di questo metodo è che ogni volta che una funzione quadratica viene approssimata, il minimo può essere risolto in modo ottimale in forma chiusa, eliminando la necessità di calcolare una lunghezza del passo.

  • 00:30:00 In questa sezione, il relatore introduce il metodo di Newton, che è un metodo di ottimizzazione del secondo ordine che approssima una funzione con un quadratico ad ogni passo, trova il minimo di quella curva quadratica e riadatta la funzione. Questo è diverso dalla discesa del gradiente, che comporta la minimizzazione di una funzione quadratica. Il metodo di Newton può essere molto più rapido e accurato poiché la funzione quadratica si adatta alla curva meglio di una regressione lineare generale, ma richiede il calcolo dell'Assia, che include tutte le derivate di secondo ordine e può essere costosa nei problemi ad alta dimensione. Pertanto, è più adatto per problemi con poche dimensioni e pesi.

  • 00:35:00 In questa sezione, l'istruttore spiega la logica alla base dell'approssimazione della complicata funzione non lineare della regressione logistica con una funzione quadratica utilizzando il metodo di Newton. Mentre la discesa del gradiente è più economica, l'approssimazione con una funzione quadratica è un adattamento migliore, consentendo passaggi migliori. È anche computazionalmente fattibile trovare il minimo di una funzione quadratica. Non è garantito che il metodo di Newton trovi l'ottimo globale per obiettivi non convessi, ma poiché la funzione di regressione logistica è convessa, esiste un singolo ottimo globale e il metodo di Newton può iniziare ovunque. La cosa principale che deve essere calcolata per applicare il metodo di Newton è l'Assia, che può essere ottenuta attraverso una derivazione risultante in un'espressione che coinvolge l'insieme di dati con una riga di uno e una matrice diagonale di Sigma.

  • 00:40:00 In questa sezione, l'istruttore discute la regressione logistica e la sua importanza come tecnica di apprendimento automatico, in particolare per i sistemi di raccomandazione e il posizionamento degli annunci. La regressione logistica viene utilizzata per fornire consigli agli utenti, ad esempio consigli sui prodotti o consigli sugli annunci. L'idea è quella di mostrare annunci che hanno un'alta probabilità di essere cliccati dall'utente, e questo può essere modellato come un problema di classificazione. Il docente presenta inoltre la struttura dell'Assia e come ottenerla utilizzando la formula, importante per programmare la regressione logistica e applicare il metodo di Newton. Mentre alcuni studenti possono trovare la matematica travolgente, è essenziale comprendere questi metodi per vedere come si presentano e perché funzionano.

  • 00:45:00 In questa sezione viene spiegato il concetto di regressione logistica come metodo per formulare raccomandazioni agli utenti, ad esempio per prodotti o app, in base alle loro caratteristiche e comportamenti. La regressione logistica viene spesso utilizzata per questi tipi di problemi perché è semplice, flessibile ed efficiente da implementare, con previsioni che si basano sul calcolo di un prodotto scalare. Esempi di funzionalità che possono essere prese in considerazione per formulare raccomandazioni includono se determinate app sono già state scaricate e installate, età, sesso, posizione e qualsiasi altra informazione rilevante che l'azienda o lo smartphone ha sull'utente.

  • 00:50:00 In questa sezione, il docente spiega come la regressione logistica può essere utilizzata per problemi di classificazione con due classi, dove la probabilità che un evento si verifichi è maggiore o uguale a 0.5. Se sono presenti più classi, è possibile utilizzare una distribuzione softmax, con un vettore W per ogni classe K. Il docente sottolinea che la regressione logistica rende semplice la previsione, in quanto comporta solo il calcolo di un prodotto scalare, e questo può essere reso efficiente sfruttando la scarsità e paralizzando parte del calcolo.

  • 00:55:00 In questa sezione, il relatore discute l'efficienza della regressione logistica e come può essere eseguita su dispositivi con poche risorse sfruttando la scarsità e mettendo in parallelo il calcolo. Il calcolo del prodotto scalare può ignorare zero voci, rendendo i vettori lunghi contenenti milioni di voci più veloci da calcolare. Il modello di apprendimento può anche essere parallelizzato con una GPU, ideale per sistemi come i sistemi di raccomandazione che richiedono previsioni rapide e scalabili. Inoltre, espandere le funzionalità è semplice e richiede solo il ridimensionamento invece di riprogettare tutto.

  • 01:00:00 In questa sezione, il professore discute i limiti del metodo di Newton per la regressione logistica e la questione dell'overfitting. Sebbene il metodo di Newton sia una tecnica di ottimizzazione rapida, non è scalabile per set di dati di grandi dimensioni e milioni di funzionalità. La regressione logistica tende a sovradimensionarsi facilmente a causa della sua ottimizzazione convessa, che trova l'ottimo globale che si adatta troppo bene ai dati. L'overfitting può causare singolarità nella matrice dell'Assia, rendendo impossibile l'applicazione del metodo di Newton. La funzione sigmoidea della regressione logistica va da zero a uno ma non raggiunge mai uno asintoticamente, quindi per ottenere una probabilità prossima a uno, W transpose X bar deve essere arbitrariamente grande, il che si traduce in overfitting.

  • 01:05:00 In questa sezione, il docente discute il problema dell'overfitting nei modelli di regressione logistica. Spiegano che mentre W traspone X la barra va all'infinito, anche la grandezza di W va all'infinito, il che può far sì che i pesi diventino arbitrariamente grandi. Inoltre, l'Assia tenderà a zero a causa della funzione sigmoide, rendendo difficile l'applicazione del metodo di Newton perché il calcolo dell'inverso dell'Assia non sarà possibile numericamente. Per evitare l'overfitting, il docente suggerisce di utilizzare la regolarizzazione, in cui viene aggiunto un termine di penalità per ridurre al minimo l'entità dei pesi. Questo aiuta anche a prevenire problemi di singolarità.

  • 01:10:00 In questa sezione del video, l'istruttore discute come prevenire l'overfitting nella regressione logistica e nei modelli lineari generalizzati aggiungendo un termine di penalità utilizzando il metodo di Newton. Tuttavia, una limitazione della regressione logistica è che il confine tra le classi è sempre lineare. Per superare questa limitazione e lavorare con separatori non lineari, l'istruttore introduce modelli lineari generalizzati, che comportano la mappatura degli input in un nuovo spazio in cui la regressione lineare e la classificazione possono essere eseguite in modo non lineare purché la mappatura sia non lineare. Questo semplice approccio consente alla generalizzazione dei modelli lineari di funzionare in contesti non lineari e funge da base per i metodi del kernel che verranno trattati più avanti nel corso.

  • 01:15:00 In questa sezione, il relatore discute come approssimare una funzione utilizzando la regressione non lineare e modelli lineari generalizzati. L'idea è di mappare i dati dallo spazio originale a un nuovo spazio, utilizzando una funzione di mappatura denotata da Phi, che mappa ogni input X in una nuova funzionalità. La funzione di mappatura denota una funzione di base che può catturare le non linearità definendo una mappatura che consentirà all'utente di spostarsi da qualsiasi spazio originale a un nuovo spazio, rendendolo non lineare. L'obiettivo è trovare coefficienti come i pesi per ottenere la funzione migliore e lo spazio delle ipotesi. In definitiva, utilizzando questa tecnica, possiamo eseguire la regressione lineare o la classificazione catturando implicitamente le non linearità nello spazio originale.

  • 01:20:00 In questa sezione, l'istruttore spiega come utilizzare la regressione logistica ei modelli lineari generalizzati per classificare i punti dati. Il processo prevede la mappatura dello spazio di input in uno spazio di dimensioni superiori utilizzando funzioni di base e quindi la ricerca dell'iperpiano ottimale per separare i dati in questa dimensione superiore. L'istruttore sottolinea che è necessaria una conoscenza preliminare del possibile spazio delle funzioni per scegliere le funzioni di base appropriate, ma ci sono tecniche disponibili per l'apprendimento delle funzioni di base. Inoltre, l'istruttore spiega come i pesi nel modello definiscono il vettore normale all'iperpiano.

  • 01:25:00 In questa sezione, il docente discute le funzioni di base ei loro tipi, che possono essere utilizzati per la regressione logistica ei modelli lineari generalizzati. Il docente introduce innanzitutto le funzioni di base polinomiali poiché possono essere utilizzate per estendere funzioni polinomiali prendendo tutte le potenze di X fino a un certo grado. Il docente presenta poi due esempi di funzioni di base non lineari: le funzioni gaussiane e sigmoidee. Le funzioni di base gaussiane possono essere utilizzate modificando mu e s, dove mu indica la posizione della protuberanza sull'asse x e s mostra la larghezza della protuberanza. Le funzioni sigmoidee sono funzioni non lineari ma non distribuzioni di probabilità e possono essere utilizzate con il cappello Sigma applicato a X meno mu J diviso per s come funzione di base. Altre funzioni non lineari che possono essere utilizzate come funzioni di base includono wavelet, seni e coseni.

  • 01:30:00 In questa sezione della conferenza, il relatore discute come generalizzare i modelli lineari per eseguire implicitamente regressione e classificazione non lineari. Sostituendo la variabile di input X con Phi di X, che è l'input in un nuovo spazio, è possibile utilizzare varie funzioni non lineari. La funzione Phi può essere applicata a diverse parti dell'input originale X e può essere utilizzata per catturare la funzione sottostante utilizzando un insieme di funzioni di base, come polinomi o gaussiane. Questo conclude l'argomento, che fornisce una comprensione fondamentale della regressione logistica non lineare e dei modelli lineari generalizzati.
 

CS480/680 Lezione 9: Percettroni e reti neurali a strato singolo



CS480/680 Lezione 9: Percettroni e reti neurali a strato singolo

Questa lezione introduce le reti neurali con particolare attenzione al tipo elementare, il percettrone, che produce un separatore lineare per la classificazione. La lezione esplora come i pesi vengono utilizzati per calcolare una combinazione lineare di input che passano attraverso una funzione di attivazione per produrre output e come diversi pesi possono essere utilizzati per approssimare porte logiche come porte AND, OR e NOT. Il docente discute la rete neurale feedforward e come l'algoritmo di apprendimento del percettrone viene utilizzato per la classificazione binaria e come la discesa del gradiente può ottimizzare i pesi. Vengono discusse le limitazioni dell'utilizzo di una linea per separare i dati e viene introdotta la funzione di attivazione del sigma logistico come possibile soluzione, con particolare attenzione a come i pesi possono essere addestrati utilizzando la funzione di attivazione del sigma logistico.

Questa lezione sui Perceptron e le reti neurali a strato singolo copre l'uso delle funzioni di attivazione sigmoidea logistica per ridurre al minimo l'errore al quadrato e l'introduzione del tasso di apprendimento come parametro cruciale nella discesa del gradiente sequenziale. Il docente dimostra anche come le reti neurali con più livelli possono essere composte per approssimare qualsiasi funzione in modo arbitrario utilizzando le funzioni di trattenimento dei rifiuti e come la retropropagazione può essere utilizzata per addestrare una rete ad apprendere funzioni arbitrarie. L'istruttore sottolinea la versatilità e l'efficienza delle reti neurali, citando il loro uso diffuso nella risoluzione di vari problemi come il riconoscimento vocale, la visione artificiale, la traduzione automatica e l'incorporamento di parole.

  • 00:00:00 In questa sezione della lezione, il focus è su una breve introduzione alle reti neurali, con particolare enfasi sul perceptron, che è un tipo elementare di rete neurale che non ha strati nascosti. Produce un separatore lineare per la classificazione e svolge un ruolo cruciale nella storia delle reti neurali. Successivamente, forme più complesse di reti neurali diventano più generalizzate. La conferenza tocca anche come funziona il cervello e come potrebbe essere emulato attraverso il calcolo. Mentre il cervello è costituito da neuroni, il computer funziona utilizzando porte logiche che comunicano attraverso un segnale elettrico, che rende sequenziale il calcolo. Tuttavia, i segnali del cervello si propagano parallelamente, rendendolo più robusto.

  • 00:05:00 In questa sezione, il relatore discute la fragilità dei computer rispetto al cervello umano e come le reti neurali cercano di emulare l'organizzazione del cervello. Le reti neurali sono costituite da nodi chiamati unità, che corrispondono ai neuroni in una vera rete neurale, e collegamenti che corrispondono alle sinapsi. Il calcolo avviene tramite segnali numerici, che vengono trasmessi tra le unità. L'obiettivo è attivare i neuroni quando viene immesso il modello giusto, consentendo un calcolo più robusto in grado di gestire la cancellazione di alcuni neuroni utilizzando tecniche di regolarizzazione. L'ispirazione per le reti neurali viene dall'organizzazione e dalla propagazione di segnali chimici in vere e proprie reti neurali biologiche.

  • 00:10:00 In questa sezione, il docente spiega come i pesi vengono utilizzati nelle reti neurali per calcolare una combinazione lineare di input e produrre un nuovo segnale. Questo nuovo segnale viene quindi passato attraverso una funzione di attivazione, che applica una certa non linearità per produrre l'output. Ogni nodo della rete riceve input, li ridimensiona con pesi e applica la funzione di attivazione per produrre un output che viene poi passato ai nodi successivi della rete. Il docente sottolinea che i pesi sono fondamentali per il comportamento della rete e possono essere regolati durante il processo di apprendimento per migliorare le prestazioni.

  • 00:15:00 In questa sezione, il docente discute come le unità in una rete neurale calcolano una funzione non lineare di una combinazione lineare degli input in base ai pesi assegnati a ciascun input. Gli input stessi possono essere nodi precedenti che hanno attraversato una funzione di attivazione non lineare. Piuttosto che creare funzioni di base per mappare gli input in un nuovo spazio, le reti neurali consentono a una parte della rete di apprendere come rimappare gli input in un nuovo spazio. Le funzioni di attivazione non lineare sono necessarie per rendere la rete più espressiva e il docente illustra due esempi popolari di tali funzioni: la funzione di attivazione della soglia e la funzione sigmoidea.

  • 00:20:00 In questa sezione della lezione, il professore discute l'uso delle funzioni di attivazione nelle reti neurali, in particolare la funzione di trattenimento dei rifiuti e la funzione sigmoidea. Spiega che mentre la funzione trash holding è utile per l'output di 0 e 1, non è uniforme e continua, il che può rendere difficile l'utilizzo con metodi basati sul gradiente. La funzione sigmoidea è una versione liscia della funzione di trattenimento dei rifiuti e ha la stessa forma ma può essere regolata in pendenza. Il professore esplora quindi la progettazione di unità nelle reti neurali in grado di emulare porte di base come le porte AND, OR e NOT. Dimostra un esempio di un'unità con una funzione di attivazione del trash holding in grado di emulare la porta NAND e si chiede se sia possibile trovare dei pesi per consentire un'uscita che corrisponda alla fine degli ingressi.

  • 00:25:00 In questa sezione, il docente discute su come diversi pesi possono essere utilizzati in una rete neurale perceptron per emulare le porte logiche, come le porte end, or e not. Modificando i pesi utilizzati nel percettrone, la rete neurale può essere progettata per produrre l'output della tabella di verità desiderato per ciascuna di queste porte. Il docente fornisce esempi di diversi pesi che possono essere utilizzati per emulare ciascuna delle porte logiche, inclusi i pesi per la porta finale, o porta, e non porta.

  • 00:30:00 In questa sezione, il docente discute due grandi classi di reti: reti neurali feed-forward, che consistono in un grafico diretto di nodi che scorrono in una direzione; e reti neurali ricorrenti, che sono di natura ciclica e sono utili per gestire input di varie lunghezze, rendendole popolari nell'elaborazione del linguaggio naturale. Il docente si concentra sulle reti neurali feed-forward e disegna un semplice esempio con due unità di input, un livello nascosto con due unità e un'unità di output. Modificando i pesi delle connessioni tra gli strati, spiegano che è possibile emulare la fine, oe le unità del nodo, consentendo l'approssimazione di qualsiasi funzione booleana.

  • 00:35:00 In questa sezione, il docente spiega il concetto di perceptron, che è essenzialmente una semplice rete neurale feedforward a strato singolo utilizzata per la classificazione binaria. Viene discusso l'algoritmo per l'addestramento di un percettrone, in cui ciascuna unità di output viene addestrata separatamente eseguendo un ciclo del set di dati per ciascuna coppia XY e regolando i pesi in base al fatto che l'output prodotto sia corretto o meno. La conferenza discute anche l'uso della rappresentazione matriciale per i pesi nelle reti neurali.

  • 00:40:00 In questa sezione, l'insegnante spiega l'algoritmo di apprendimento del percettrone utilizzato per gestire le unità che passano attraverso una funzione di soglia. L'algoritmo applica una regola molto semplice in cui se il calcolo della rete è corretto, i pesi possono essere mantenuti gli stessi, ma se l'output non è corretto, è necessario apportare modifiche semplicemente aggiungendo l'input X ai pesi o sottraendolo , a seconda dell'uscita. L'obiettivo è aumentare la combinazione lineare di input e pesi se si suppone che l'output sia positivo o diminuirla se si suppone sia negativo in modo che il perceptron calcoli un output più vicino alla risposta corretta. La chiave è sfruttare il fatto che la funzione trash holding restituisce 1 quando la combinazione lineare è positiva e 0 quando è negativa.

  • 00:45:00 In questa sezione, il relatore discute l'uso della discesa del gradiente per ottimizzare i pesi di un algoritmo perceptron. Una funzione di perdita è definita come l'errore di errata classificazione, dove per ogni punto dati X e Y, viene considerata errata quando il prodotto di YW traspone X è negativo. Ci si aspetta che un punto sia positivo se appartiene alla classe 1 e negativo se appartiene alla classe -1. I punti classificati erroneamente vengono sommati per ottenere un obiettivo che può essere ridotto al minimo. Il gradiente viene quindi calcolato rispetto all'obiettivo di fare un passo nella direzione opposta al gradiente per l'ottimizzazione.

  • 00:50:00 In questa sezione della lezione sui perceptron e le reti neurali a strato singolo, il professore discute l'uso della discesa del gradiente con l'elaborazione sequenziale per aggiornare i pesi nell'algoritmo del perceptron. L'algoritmo si basa su dati linearmente separabili per classificare correttamente tutte le istanze di addestramento. Viene presentato un teorema che afferma che l'algoritmo di apprendimento del perceptron di soglia convergerà se e solo se i dati sono linearmente separabili. La sezione termina con una spiegazione e visualizzazione di dati linearmente separabili rispetto a dati non linearmente separabili.

  • 00:55:00 In questa sezione della lezione, il professore discute i limiti del tentativo di separare un set di dati con una linea e introduce la possibilità di utilizzare una funzione di attivazione del sigmoide logistico invece della funzione di attivazione della soglia. Il sigmoide logistico può essere non lineare, ma produce comunque un separatore lineare nel punto in cui la probabilità è 0,5 per ogni classe. Pertanto, l'utilizzo del sigmoide logistico ci fornisce ancora un separatore lineare e uno spazio di ipotesi che è lo stesso della regressione logistica. Il professore affronta quindi la questione di come addestrare i pesi del percettrone con la funzione di attivazione del sigmoide logistico.

  • 01:00:00 In questa sezione, il relatore discute l'approccio per definire un obiettivo e minimizzare l'errore al quadrato nei percettroni con funzioni di attivazione sigmoidea logistica. Spiegano che l'algoritmo per la massima verosimiglianza è essenzialmente lo stesso della regressione logistica, mentre minimizzare l'errore al quadrato richiede di trovare il gradiente e fare passi nella sua direzione. Introducono anche l'idea di utilizzare un tasso di apprendimento per definire la dimensione del passo nella discesa sequenziale del gradiente e menzionano che si tratta di un parametro critico che spesso deve essere regolato. Il relatore suggerisce che l'adozione di misure rispetto ai mini-batch di punti dati o solo un punto dati è comune nella pratica.

  • 01:05:00 In questa sezione, il docente spiega come le reti neurali con più livelli possono approssimare qualsiasi funzione in modo arbitrario. Componendo diversi neuroni insieme, dimostra la creazione di una cresta 2D aggiungendo due unità sigmoidee parallele con pendenze opposte, e poi mostra come due creste possono essere composte per formare una protuberanza quando intersecate perpendicolarmente. Questa tecnica consente la creazione di classificatori che possono assegnare punti a una classe in una piccola regione e l'altra classe ovunque. Il docente illustra la rete corrispondente, che comprende quattro unità sigmoidee e una cresta con la funzione di attivazione dell'identità.

  • 01:10:00 In questa sezione della lezione sui percettroni e le reti neurali a strato singolo, il professore discute la costruzione di protuberanze utilizzando funzioni di trattenimento dei rifiuti o sigmoidi e come possono essere affiancati e sommati insieme per approssimare qualsiasi curva in modo arbitrario . Spiega che questo approccio può essere utilizzato per la regressione ed è possibile addestrare una rete neurale per apprendere una funzione arbitraria utilizzando algoritmi come la retropropagazione. La retropropagazione è essenzialmente una forma di discesa del gradiente che sfrutta la struttura della rete per calcolare simultaneamente tutte le derivate parziali.

  • 01:15:00 In questa sezione, l'istruttore spiega come le derivate parziali per tutti i pesi in una rete neurale possono essere ottenute simultaneamente in un numero costante di passaggi attraverso la rete utilizzando l'algoritmo di propagazione all'indietro. L'istruttore sottolinea che le reti neurali hanno acquisito una popolarità diffusa grazie alla loro versatilità e potenza nella risoluzione di vari problemi come il riconoscimento vocale e la visione artificiale. Lo stato dell'arte nella traduzione automatica e nei word embedding impiega anche reti neurali, e la loro popolarità è in parte dovuta alla loro efficienza.
 

CS480/680 Lezione 10: Reti neurali multistrato e retropropagazione



CS480/680 Lezione 10: Reti neurali multistrato e retropropagazione

Questa conferenza sulle reti neurali multistrato e la retropropagazione spiega i limiti dei modelli lineari e la necessità di modelli non lineari come le reti neurali multistrato. Il docente discute le diverse funzioni di attivazione che possono essere utilizzate nelle reti neurali e come consentono funzioni di base non lineari. La lezione prosegue spiegando come viene utilizzato l'algoritmo di backpropagation per calcolare il gradiente dell'errore rispetto a ogni peso in una rete neurale. Vengono discussi anche gli strumenti di differenziazione automatica come un modo per calcolare in modo efficiente i delta e i gradienti in una rete neurale. Nel complesso, la conferenza sottolinea la flessibilità e la potenza delle reti neurali nell'approssimare un'ampia gamma di funzioni.

Il docente in questo video discute i problemi relativi all'ottimizzazione delle reti neurali, come la convergenza lenta, l'ottimizzazione locale, l'ottimizzazione non convessa e l'overfitting. Per superare la convergenza lenta, si possono utilizzare tecniche come la regolarizzazione e il dropout. Inoltre, il relatore spiega il comportamento della discesa del gradiente per l'ottimizzazione, evidenziando la necessità di ottimizzare le dimensioni del passo per migliorarne l'efficienza. L'algoritmo di sovvenzione DES viene proposto come soluzione, che regola separatamente il tasso di apprendimento di ciascuna dimensione. L'oratore introduce anche RMSProp, una media mobile ponderata dei gradienti precedenti. Infine, l'oratore discute Adam, che implica l'assunzione di una media mobile ponderata del gradiente stesso, e mostra che supera altre tecniche come SGD Nesterov.

  • 00:00:00 In questa sezione, il docente fornisce un breve riepilogo della regressione lineare e tre modelli per la classificazione lineare. Tuttavia, il problema con questi modelli è che ci danno ancora un separatore lineare. Pertanto, la lezione sposta la discussione sui modelli non lineari e introduce la necessità di reti neurali multistrato.

  • 00:05:00 In questa sezione, l'istruttore passa in rassegna i modelli lineari, incluso il percettrone e la sua funzione di attivazione della soglia, e la funzione di attivazione del sigmoide. L'istruttore spiega che i modelli lineari possono essere estesi a modelli non lineari per accogliere funzioni che non sono linee rette ma piuttosto curve. Per raggiungere questo obiettivo, viene introdotta la regressione non lineare, che utilizza una funzione di mappatura, Phi of X, per spostare i dati in un nuovo spazio. L'istruttore introduce anche le reti neurali multistrato, che forniscono funzioni di base adattive per la regressione non lineare, quindi le ricollegano al modello di regressione lineare generalizzato. Infine, l'istruttore discute la classificazione non lineare generalizzata.

  • 00:10:00 In questa sezione della lezione, il relatore discute su come lavorare con modelli non lineari illimitati. Il problema con i modelli lineari con funzioni di base che abbiamo visto finora è che dobbiamo scegliere le funzioni di base a priori, e potremmo non avere abbastanza conoscenza del dominio per farlo. La soluzione è scegliere funzioni di base che dipendono dai dati e consentire un numero molto elevato, o addirittura un numero infinito, di funzioni di base senza pagare un prezzo. Questa idea era inizialmente l'approccio nei metodi del kernel ed era l'insieme dominante di tecniche fino al 2010 circa.

  • 00:15:00 In questa sezione, il video discute l'introduzione delle reti neurali multistrato nel deep learning, che ha portato a molti dei successi che vediamo oggi nel deep learning. In particolare, il video si concentra su una rete neurale a due strati con nodi completamente connessi, con ogni connessione che ha un peso che può essere rappresentato in una matrice. Le unità nascoste e le unità di output vengono calcolate utilizzando la funzione di attivazione e le combinazioni lineari, con ogni livello con il proprio insieme di pesi. Regolando i poteri all'interno delle funzioni di base, è possibile adattarli e variarli in base ai set di addestramento, portando a un modello di deep learning di maggior successo.

  • 00:20:00 In questa sezione della lezione, il professore spiega come le reti neurali siano essenzialmente funzioni matematiche composte da più strati e pesi. Usano funzioni di attivazione, come il sigmoide o la tangente iperbolica, per aggiungere non linearità. Queste funzioni di attivazione possono fungere da funzioni di base per il livello successivo e possono essere utilizzate nella regressione non lineare. Utilizzando funzioni di attivazione non lineari nel primo livello e una funzione di identità nel livello di output, una rete neurale può essere rappresentata come una combinazione lineare di funzioni di base non lineari.

  • 00:25:00 In questa sezione, il relatore discute le reti neurali a due strati per la regressione e la classificazione non lineare. La formula matematica per la rete neurale a due strati coinvolge unità nascoste con una funzione di attivazione sigmoidea e unità di output con la funzione di attivazione dell'identità. Il sigma funge da funzione di base non lineare parametrizzata da alcuni pesi, consentendo alle funzioni di base di adattarsi man mano che il modello viene addestrato. Questo approccio è la principale differenza tra regressione non lineare e lineare. Allo stesso modo, per la classificazione, il relatore mostra come si applica la stessa formula calcolando le funzioni di base che sono non lineari attraverso il primo strato.

  • 00:30:00 In questa sezione, il docente spiega in che modo le reti neurali multistrato sono diverse dalla regressione logistica, pur avendo un'interpretazione simile. La rete neurale consente funzioni di base più adattive utilizzando pesi che si aggiornano durante l'allenamento. La non linearità deriva dall'uso di una funzione Sigma, che può essere sostituita da altre funzioni come la gaussiana o la funzione 10h. La rete neurale può essere utilizzata sia per la classificazione che per la regressione regolando la funzione di attivazione. Il docente ricorda inoltre che nella rete possono essere utilizzate più classi sostituendo la funzione Sigma con un'altra funzione idonea.

  • 00:35:00 In questa sezione, la lezione discute l'ottimizzazione dei pesi per le reti neurali multistrato, che include sia i pesi della combinazione lineare che i pesi che definiscono le funzioni di base non lineari. L'algoritmo più popolare per l'ottimizzazione è la minimizzazione degli errori, che confronta l'output della rete neurale con un obiettivo e calcola la differenza. La propagazione all'indietro è un algoritmo popolare che consente di calcolare gli errori e propagarli all'indietro attraverso la rete per calcolare un gradiente rispetto a ogni peso. Il gradiente viene utilizzato per calcolare l'algoritmo di aggiornamento per ottimizzare i pesi. L'algoritmo di back propagation viene calcolato manualmente, ma pacchetti come Tensor Flow e PyTorch offrono strumenti per la differenziazione automatica.

  • 00:40:00 In questa sezione, il relatore spiega l'algoritmo di backpropagation utilizzato per calcolare il gradiente o la derivata parziale dell'errore rispetto a ogni peso in una rete neurale. L'algoritmo è diviso in due fasi: una fase in avanti in cui l'output della rete viene calcolato in base agli input, e una fase inversa in cui Delta, una misura dell'errore, viene retropropagata per calcolare la derivata parziale dell'errore rispetto a ogni peso. La derivata parziale viene calcolata in due fasi utilizzando la regola della catena per la derivata parziale e Delta J e Zi. L'oratore illustra l'algoritmo con una rete completamente connessa costituita da due ingressi, due unità nascoste e due unità di uscita e mostra come l'algoritmo calcola l'uscita di ciascuna unità e propaga gli errori.

  • 00:45:00 In questa sezione del video, il relatore discute come ottenere derivate parziali in reti neurali multistrato utilizzando l'algoritmo di backpropagation. Il relatore spiega che partendo dallo strato di output si può calcolare la derivata parziale dell'errore rispetto a ogni unità di output J utilizzando una formula ricorsiva che dipende dai delta delle unità di output. L'oratore mostra quindi un semplice esempio di utilizzo della fase avanti e indietro per calcolare l'output di unità nascoste e di output in una rete neurale.

  • 00:50:00 In questa sezione, il relatore spiega come calcolare i delta e i gradienti in una rete neurale e come gli strumenti di differenziazione automatica possono aiutare a farlo in modo efficiente. Forniscono equazioni per calcolare i delta per i livelli nascosti e i livelli di output e mostrano come utilizzarli per calcolare i gradienti. Il relatore sottolinea che gli strumenti di differenziazione automatica possono far risparmiare tempo e fatica nel calcolo manuale dei gradienti quando si lavora con diverse architetture e funzioni. La sezione si conclude con esempi di come, con sole tre unità nascoste, una rete neurale può approssimare funzioni arbitrarie come x al quadrato, valore assoluto di x e seno di x.

  • 00:55:00 In questa sezione, il docente discute la capacità delle reti neurali di approssimare diverse funzioni. La rete può convergere a funzioni di base non lineari che possono approssimare abbastanza bene funzioni lisce, come funzioni quadratiche e seno. Tuttavia, per le funzioni non uniformi, come la funzione assoluta, la rete neurale fa fatica ad approssimarla senza un numero sufficiente di unità nascoste. Tuttavia, anche per funzioni discontinue come la funzione a gradino, la rete può comunque fornire un'approssimazione ragionevole. Il docente passa quindi alla discussione sull'ottimizzazione delle reti neurali, che implica il calcolo del gradiente utilizzando la differenziazione automatica e l'esecuzione della discesa stocastica del gradiente. Sebbene si tratti di una tecnica di ottimizzazione generale, la convergenza può essere lenta senza ulteriori metodi di ottimizzazione.

  • 01:00:00 In questa sezione, il docente discute i problemi che possono sorgere nell'ottimizzazione delle reti neurali, tra cui convergenza lenta, ottimizzazione locale, ottimizzazione non convessa e overfitting. La convergenza lenta può essere superata attraverso tecniche come la regolarizzazione e l'abbandono. Per illustrare il concetto di convergenza lenta, il docente disegna l'immagine di una superficie sferica che rappresenta la funzione di errore. La discesa del gradiente può convergere lentamente quando si inizia al di fuori del minimo globale e le tecniche moderne come lo slancio e i tassi di apprendimento adattivo possono accelerare la convergenza.

  • 01:05:00 In questa sezione, il docente discute il comportamento della discesa del gradiente per l'ottimizzazione. La direzione del gradiente è generalmente perpendicolare alla linea di contorno, e il problema con fare un passo nella sua direzione è che potrebbe superare il minimo. Se invece la pendenza è piccola, può essere necessario fare tanti piccoli passi per arrivare al minimo. Pertanto, ci sono regioni in cui dovrebbero essere compiuti passi più grandi e regioni in cui passi più piccoli sono più appropriati. Questo comportamento evidenzia la necessità di ottimizzare la dimensione dei gradini per migliorare l'efficienza della discesa in pendenza.

  • 01:10:00 In questa sezione, il relatore discute i potenziali problemi con l'affidamento alla dimensione del gradiente per determinare la dimensione del passo in una rete neurale. Poiché la dimensione del gradiente potrebbe non essere coerente tra le diverse dimensioni, una soluzione proposta dall'algoritmo di sovvenzione DES consiste nell'aggiustare il tasso di apprendimento di ciascuna dimensione separatamente prendendo la somma dei quadrati dei gradienti visti finora e dividendo la dimensione del passo dalla radice quadrata di tale valore. Ciò consente di regolare la dimensione del passo in base all'entità del gradiente in ciascuna dimensione. Tuttavia, il tasso di apprendimento potrebbe diminuire troppo rapidamente in alcune applicazioni, ostacolando i progressi.

  • 01:15:00 In questa sezione, il relatore discute i problemi con la discesa del gradiente nelle reti neurali e come la regolazione del tasso di apprendimento può aiutare nella discesa del gradiente stocastico. Il relatore introduce il concetto di "dimensione" in una rete neurale, dove c'è una dimensione per peso. Spiegano il problema con l'accumulo di ingenti somme e la necessità di ridurre l'entità di tali passaggi. Il relatore suggerisce una soluzione a questo problema con l'introduzione di rmsprop, che è una media mobile ponderata dei gradienti precedenti con un decadimento esponenziale che dimentica i gradienti più vecchi. Tuttavia, questo metodo non è perfetto e l'oratore ne riconosce i limiti.

  • 01:20:00 In questa sezione, il docente discute la questione di un gradiente privo di quantità di moto in una regione in cui è stabile, portando alla necessità di un modo per aumentare la dimensione del passo quando la direzione è la stessa. Ciò porta a una versione dell'euristica nota come Adam, che prevede di prendere una media mobile ponderata del gradiente stesso e memorizzarla in sT. Quando si esegue l'aggiornamento, invece di fare un passo nell'azione e nel gradiente, si fa un passo nell'azione di quella media mobile. La tecnica è un'euristica, che è stata pubblicata su ICLR nel 2015, e la principale differenza rispetto ai suoi predecessori è che viene fornita con alcune teorie e prove di convergenza sulle sue proprietà. Tuttavia, quando è stato pubblicato, ci sono stati problemi con alcune delle prove, che hanno portato a modifiche apportate con più prove per ottenere qualcosa di più basato sui principi.

  • 01:25:00 In questa sezione, l'oratore spiega il compromesso tra fare alcuni buoni passi e pagare un prezzo elevato per ogni passo o fare molti piccoli passi velocemente che non sono passi molto buoni, ma nel complesso finiscono comunque per più vicino al minimo. Discute anche le tecniche di ottimizzazione che non si adattano bene, come le tecniche di ottimizzazione del secondo ordine come la tecnica di Newton. In pratica, l'euristica tende a funzionare bene nonostante la mancanza di una buona teoria. L'oratore fornisce quindi confronti empirici tra Adam e altre tecniche come SGD Nesterov e mostra che Adam tende a funzionare abbastanza bene.
 

CS480/680 Lezione 11: Metodi Kernel



CS480/680 Lezione 11: Metodi Kernel

In questa lezione, viene introdotto il concetto di metodi del kernel come un modo per scalare modelli lineari generalizzati mappando i dati da uno spazio in un nuovo spazio utilizzando una funzione non lineare. Il dual trick o kernel trick è spiegato come una tecnica che consente di lavorare in spazi ad alta dimensione senza pagare costi aggiuntivi, portando all'uso di una funzione del kernel che calcola il prodotto scalare di coppie di punti nel nuovo spazio. Vengono discussi vari metodi per la costruzione di kernel, inclusi i kernel polinomiali e gaussiani, che possono essere utilizzati per misurare la somiglianza tra i punti dati e sono utili nelle attività di classificazione. Vengono inoltre introdotte regole per la composizione dei kernel per costruire nuovi kernel in grado di controllarne la complessità. La lezione sottolinea l'importanza di scegliere funzioni che abbiano una corrispondenza con Phi transpose Phi, in quanto la matrice grammo deve essere semidefinita positiva e avere autovalori maggiori o uguali a zero.

In questa conferenza sui metodi del kernel, il relatore definisce i kernel come funzioni semi-definite positive che possono essere scomposte in una matrice moltiplicata per la sua trasposizione. Vengono discussi vari tipi di kernel, come polinomiali e gaussiani, e le loro applicazioni per confrontare diversi tipi di dati come stringhe, insiemi e grafici. L'oratore spiega anche come i kernel delle sottostringhe possono calcolare rapidamente la somiglianza tra le parole aumentando la lunghezza delle sottostringhe e utilizzando la programmazione dinamica. Inoltre, le macchine vettoriali di supporto si sono dimostrate efficaci nell'eseguire la classificazione dei documenti utilizzando articoli di notizie di Reuters.

  • 00:00:00 In questa sezione, il relatore introduce i metodi del kernel, che sono utili per scalare i modelli lineari generalizzati. Viene fornito un rapido riepilogo delle somiglianze e delle differenze tra modelli lineari generalizzati e reti neurali, evidenziando che nei modelli lineari vengono utilizzate funzioni di base non lineari fisse e che l'ottimizzazione tende ad essere più semplice e tipicamente convessa, mentre nelle reti neurali vengono utilizzate funzioni di base adattative e l'ottimizzazione tende a essere più difficile. L'introduzione del kernel porterà a un trucco che eviterà di pagare un prezzo per lo spazio più ampio quando si lavora con modelli che coinvolgono mappature non lineari.

  • 00:05:00 In questa sezione, il docente spiega l'evoluzione dei paradigmi di machine learning, evidenziando come lo spazio limitato delle ipotesi non fosse una preoccupazione significativa quando la quantità di dati non era ampia. Tuttavia, l'era delle reti neurali a partire dal 2009 ha prodotto molti dati e potenza di calcolo, rendendo essenziale uno spazio di ipotesi più ricco. Il docente introduce il dual trick o kernel trick, una tecnica computazionale che consente di lavorare in spazi ad alta dimensione senza pagare costi aggiuntivi, mappando i dati in un nuovo spazio utilizzando funzioni non lineari. Spiega come questo trucco, insieme a una funzione del kernel, ci permetta di considerare un numero grande o infinito di funzioni di base, senza doverle calcolare esplicitamente.

  • 00:10:00 In questa sezione, il docente si concentra sui metodi del kernel, che mirano a calcolare il prodotto scalare tra coppie di punti in un nuovo spazio e trovare modi per rendere il costo del calcolo di quei prodotti scalari molto più economico per una migliore scalabilità di algoritmi. Pertanto, i prodotti punto vengono rinominati come funzioni del kernel e se possiamo determinare gli output di questi kernel per ogni coppia di punti, non abbiamo bisogno di calcolare lo spazio delle caratteristiche sottostante definito da Phi di X, che è la chiave per definire i kernel che sono veloci da valutare e non richiedono calcoli rispetto a Phi di X. La regressione lineare è usata come esempio, e il docente mostra che W è in realtà una combinazione lineare dei punti dati, che sono coefficienti per Phi di X n, e sostituisce W con un'altra espressione, Phi per A, dove Phi è la matrice di tutti i punti nel nuovo spazio.

  • 00:15:00 In questa sezione, il relatore introduce il concetto di metodi del kernel, che prevede la mappatura dei dati da uno spazio in un nuovo spazio utilizzando una funzione di mappatura. Mostra come l'ottimizzazione di un problema di regressione lineare nel nuovo spazio può essere eseguita utilizzando i coefficienti (a) di una combinazione lineare dei punti mappati piuttosto che la matrice dei pesi (W). Ciò porta all'uso di una funzione del kernel che calcola il prodotto scalare di coppie di punti nel nuovo spazio, definito come matrice di Gram. Il risultato è un modo alternativo per trovare la soluzione al problema della regressione ottimizzando i coefficienti utilizzando la funzione kernel.

  • 00:20:00 In questa sezione, il docente discute come fare previsioni utilizzando la soluzione nello spazio duale, che si traduce in una diversa complessità per il calcolo rispetto allo spazio primario. Nello spazio primario, la complessità dipende dal numero di funzioni di base, ma nello spazio duale dipende dalla quantità di dati, consentendo spazi ad alta dimensione senza un aumento della complessità. La chiave è calcolare la funzione del kernel senza fare riferimento ai punti nel nuovo spazio, e ci sono vari modi per definire le funzioni del kernel che corrispondono implicitamente ai prodotti scalari. È importante scegliere funzioni che abbiano una corrispondenza con Phi transpose Phi, in quanto la matrice grammo deve essere semidefinita positiva e avere autovalori maggiori o uguali a zero. Il docente fornisce un esempio di come definire direttamente un kernel e quindi capire la mappatura corrispondente.

  • 00:25:00 In questa sezione, il docente definisce una funzione kernel come il prodotto scalare di due vettori nello spazio originale al quadrato. Viene sollevata la questione se questa sia una funzione del kernel valida che può essere calcolata senza fare riferimento a Phi, la funzione di trasformazione dello spazio. Espandendo la funzione, il docente è in grado di definire la mappatura di Phi senza calcolarla esplicitamente e arriva a una funzione del kernel valida con funzioni di base. Sebbene in genere le funzioni del kernel vengano calcolate definendo prima Phi e quindi eseguendo un prodotto scalare, questo metodo consente il calcolo diretto della funzione del kernel nello spazio originale.

  • 00:30:00 In questa sezione, il docente discute il metodo per costruire i kernel. L'idea è di costruire nuovi kernel in grado di controllare la loro complessità e assicurarsi che non dipenda dal nuovo spazio. Il docente spiega dieci regole per comporre i kernel per creare nuovi kernel validi e, se una funzione non è un kernel valido, ci sono blocchi di base che potrebbero aiutare a comporli insieme per ottenere kernel più complessi. La lezione introduce inoltre i kernel comuni utilizzati nella pratica, come il kernel polinomiale, in cui il prodotto scalare nello spazio originale viene elevato a una certa potenza, risultando nello spazio delle caratteristiche come tutti i prodotti di grado M degli elementi in X. La lezione continuerà sulla discussione del kernel gaussiano nella lezione successiva.

  • 00:35:00 In questa sezione, il docente spiega che per ottenere flessibilità nei modelli di regressione o classificazione senza pagare un prezzo computazionale, è necessaria un'elevata dimensionalità, che può essere un problema. Per evitare questo problema, vengono utilizzati i kernel, che specificano una funzione che ci dice il prodotto scalare tra coppie di punti nel nuovo spazio. Il kernel polinomiale viene quindi introdotto come un kernel comune, che prende il prodotto scalare nello spazio originale elevato a una potenza M. Il docente fornisce un esempio concreto del kernel in uno spazio 2D e lo espande per dimostrare il corrispondente prodotto scalare in un Spazio 3D.

  • 00:40:00 In questa sezione, il docente spiega i metodi del kernel utilizzati per convertire implicitamente lo spazio di input in uno spazio di dimensione superiore in cui le classi possono essere linearmente separabili, anche se non si trovano nello spazio originale. La conferenza spiega come questo metodo si generalizza a una potenza M arbitrariamente alta, dove crea nuove caratteristiche che sono essenzialmente tutte le combinazioni di M possibili caratteristiche. Tuttavia, questo porterà a uno spazio di domanda esponenzialmente ampio, che sarebbe computazionalmente impossibile per le immagini. Per ovviare a questo, è possibile aggiungere una costante C al kernel per considerare tutte le caratteristiche dei gradi fino a M.

  • 00:45:00 In questa sezione è stato spiegato il concetto di kernel polinomiale e kernel gaussiano. Il kernel polinomiale viene utilizzato per calcolare il prodotto scalare di due vettori e può misurare la somiglianza tra due punti dati fino al secondo grado. D'altra parte, il kernel gaussiano è indicato da una formula che calcola la somiglianza tra due punti dati ed è un kernel popolare utilizzato nell'apprendimento automatico. I kernel sono essenzialmente una scorciatoia per calcolare il prodotto scalare in un nuovo spazio e possono essere interpretati come una misura di somiglianza tra punti dati che è utile nelle attività di classificazione.

  • 00:50:00 In questa sezione, il docente spiega come il kernel gaussiano può essere visto come una misura di somiglianza tra due punti, con un valore alto se i punti sono identici e un valore basso se sono distanti. Tuttavia, dimostrare che il kernel gaussiano è un kernel valido è impegnativo poiché lo spazio delle funzionalità è infinito. Invece, il docente utilizza le regole della lezione precedente per giustificare la validità del kernel, in particolare la regola numero quattro, che afferma che prendendo l'esponenziale di un kernel si ottiene un altro kernel valido, ed esamina ulteriormente le altre regole per esprimere il kernel gaussiano come una combinazione di kernel validi.

  • 00:55:00 In questa sezione del video, il docente dimostra l'uso di varie regole per dimostrare che K di XX primo, che è uguale a e alla meno X meno X primo diviso per 2 quadrato Sigma, è un kernel valido . Il docente espande X meno X primo e separa i termini in diversi esponenziali prima di utilizzare le regole 1, 2, 4 e 8 per dimostrare che si tratta di un kernel valido. Le regole utilizzate includono la sostituzione di a con la matrice identità e la dimostrazione che X traspone X primo diviso per Sigma quadrato ed e alla X trasposizione X primo diviso per Sigma quadrato sono kernel validi.

  • 01:00:00 In questa sezione, l'oratore spiega che i kernel sono funzioni semidefinite positive, che possono essere scomposte in una matrice per la sua trasposizione. Spiega anche che l'utilizzo di un kernel polinomiale, ad esempio, richiederebbe la costruzione di tutti i monomi fino a un certo grado, con conseguente dimensionalità esponenziale. Tuttavia, lavorando direttamente con il kernel, tutto ciò che serve è calcolare la somiglianza tra ogni coppia di punti dati, rendendola più efficiente dal punto di vista computazionale. Viene anche discusso il kernel gaussiano, che ha uno spazio di caratteristiche infinito, che lo rende potente nel rappresentare funzioni arbitrarie. Inoltre, il relatore osserva che mentre i kernel sono definiti rispetto ai vettori, possono anche essere applicati ad altri tipi di oggetti, come insiemi, stringhe o grafici.

  • 01:05:00 In questa sezione, il docente discute l'idea di mappare stringhe e documenti utilizzando i metodi del kernel. La tecnica prevede la definizione di un kernel che misuri la somiglianza tra due documenti o stringhe come somma pesata di tutte le sottostringhe non contigue che compaiono in entrambi i documenti. Tuttavia, l'enumerazione di tutte queste funzionalità può richiedere molto tempo e risorse, ed è qui che entrano in gioco i kernel non vettoriali. Questi kernel sono utili quando si confrontano documenti che possono contenere parole nuove o inventate e possono mappare ogni stringa o documento in un nuovo spazio di funzionalità corrispondente al fatto che la stringa contenga una particolare sottostringa.

  • 01:10:00 In questa sezione, l'oratore spiega il concetto di sottostringa kernel, che viene utilizzato per determinare la somiglianza tra due parole. Il kernel della sottostringa assume un valore lambda, elevato a una potenza che rappresenta la lunghezza della sottostringa, che è minore per i match più importanti e maggiore per quelli meno importanti. Il kernel può calcolare in modo efficiente i prodotti punto negli spazi delle caratteristiche, che consistono in sottostringhe di varie lunghezze presenti in due parole. Per calcolare questi kernel in modo efficiente, il documento propone di aumentare gradualmente la lunghezza delle sottostringhe utilizzando la programmazione dinamica. Ciò consente il calcolo del tempo lineare dei kernel, che altrimenti sarebbe esponenziale.

  • 01:15:00 In questa sezione, il relatore discute di come le macchine vettoriali di supporto possono essere utilizzate con i kernel per lavorare in uno spazio molto più ricco. L'oratore cita un documento che esegue la classificazione dei documenti utilizzando articoli di notizie di Reuters e mostra i risultati utilizzando questa tecnica. L'approccio può essere abbastanza potente e sarà ulteriormente discusso nella prossima lezione.
 

CS480/680 Lezione 13: Supporto macchine vettoriali



CS480/680 Lezione 13: Supporto macchine vettoriali

Questa lezione è un'introduzione al supporto delle macchine vettoriali (SVM) come tipo di metodo del kernel utilizzato per la classificazione. Le SVM sono ancora popolari per problemi con dati bassi e sono considerate sparse in quanto possono lavorare con un sottoinsieme di dati e ignorare il resto. Il relatore spiega il concetto di vettori di supporto, che sono i punti dati più vicini al confine decisionale e l'esempio visivo di SVM che trovano un separatore lineare per separare le classi massimizzando il margine. Vengono discusse le differenze tra SVM e percettroni, con gli SVM che utilizzano un unico separatore lineare del margine massimo e sono meno inclini all'overfitting. Il problema di ottimizzazione per SVM può essere riscritto utilizzando la Lagrangiana, risultando in un problema equivalente senza vincoli. La soluzione ottenuta dalla lagrangiana può essere sostituita per ottenere un'espressione che coinvolga la funzione del kernel, portando a un'ottimizzazione del problema duale. Vengono anche spiegati i vantaggi di lavorare nello spazio duale con una funzione del kernel che calcola la somiglianza tra coppie di punti dati. Gli SVM calcolano il grado di somiglianza tra un punto di interrogazione e tutti i vettori di supporto per determinare quelli più simili e la discussione ruota anche attorno al numero di vettori di supporto e al modo in cui influisce sulla classificazione dei punti.

Questo video discute il concetto di macchine vettoriali di supporto (SVM) nella categorizzazione del testo, in cui i documenti sono rappresentati come vettori di conteggi di parole. Gli SVM sono efficaci nel ridurre al minimo la perdita nel caso peggiore, rendendo il classificatore adatto a qualsiasi possibile campione, anche per set di dati diversi. I ricercatori hanno utilizzato SVM con doppia rappresentazione e mappatura del kernel per mappare i dati in uno spazio dimensionale ancora più elevato, senza perdere precisione o sacrificare la scalabilità. La lezione copre anche l'uso di SVM nel recupero di documenti rilevanti da un set di dati e nel bilanciamento di precisione e richiamo. Il video si conclude con una discussione sulla capacità delle SVM di fornire separatori lineari o non lineari per i dati e le sfide associate alla classificazione multiclasse e ai dati non linearmente separabili.

  • 00:00:00 In questa sezione, il relatore introduce le macchine a vettori di supporto (SVM), che sono un tipo di metodo del kernel utilizzato per la classificazione. Storicamente, le SVM sono state la tecnica di classificazione più importante e popolare nell'apprendimento automatico fino a quando le reti neurali non hanno preso il sopravvento dopo il 2010. Tuttavia, le SVM funzionano ancora bene per problemi con pochi dati e sono considerate sparse in quanto possono lavorare con un sottoinsieme di dati e ignorare il riposo. L'oratore fornisce quindi un esempio visivo di due classi di dati e di come gli SVM trovano un separatore lineare per separare queste classi massimizzando al contempo il margine, che è la distanza minima dal punto più vicino in ciascuna classe.\

  • 00:05:00 In questa sezione viene spiegato il concetto di vettori di supporto nelle macchine a vettori di supporto (SVM). I vettori di supporto sono punti dati importanti che sono i più vicini al confine decisionale e determinano essenzialmente dove andrà il separatore lineare. Il separatore lineare finale nelle SVM, che massimizza la distanza altrimenti chiamata margine dai punti dati più vicini, si ottiene risolvendo un problema di ottimizzazione. L'intuizione alla base della massimizzazione del margine è garantire che i punti dati, che potrebbero essere rumorosi, non vengano classificati erroneamente dal limite decisionale.

  • 00:10:00 In questa sezione viene spiegato il concetto di margine massimo nelle macchine a vettori di supporto (SVM) per ottenere una migliore classificazione. Un margine massimo garantisce che la classificazione sia più robusta rispetto al rumore e possa essere generalizzata meglio per esempi futuri. La distanza di un punto dal separatore viene calcolata utilizzando il prodotto scalare tra il vettore del peso e il vettore della caratteristica per quel punto dati, che viene quindi normalizzato per fornire il margine massimo. Viene inoltre fornita la formula per calcolare la distanza di qualsiasi punto dal separatore e viene discusso l'obiettivo che viene ottimizzato nelle SVM. Si evidenzia che c'è un'unica riga che ha un margine massimo e, quindi, due righe uguali in margine non sono la riga del margine massimo.

  • 00:15:00 In questa sezione vengono discusse le differenze tra Support Vector Machine (SVM) e percettroni. I percettroni trovano un separatore lineare ma questo separatore dipende dai valori iniziali utilizzati per l'inizializzazione dei pesi. I Perceptron utilizzano anche una semplice regola di aggiornamento per l'addestramento e si affidano al capovolgimento delle etichette per misurare la distanza tra il separatore lineare e i punti dati. Al contrario, gli SVM utilizzano un problema di ottimizzazione quadratica per trovare il separatore lineare del margine massimo, che è meno dipendente dall'inizializzazione. Gli SVM introducono anche il concetto di slack per consentire la classificazione del margine morbido e hanno un trucco del kernel per la classificazione non lineare. Nel complesso, gli SVM hanno una maggiore precisione di classificazione rispetto ai percettroni.

  • 00:20:00 In questa sezione, il docente contrappone i percettroni standard alle macchine vettoriali di supporto (SVM). Mentre il primo manca di robustezza e può rapidamente sovradimensionarsi, il secondo utilizza un unico separatore lineare del margine massimo ed è meno soggetto a sovradimensionamento. Gli SVM sono ottimizzati tramite l'ottimizzazione quadratica convessa per ridurre al minimo i pesi, con il vincolo che tutti i punti dati si trovino ad almeno un'unità di distanza dal separatore lineare. Sebbene questa ottimizzazione possa sembrare complessa, in realtà è abbastanza facile da eseguire a livello computazionale con molti pacchetti di ottimizzazione disponibili.

  • 00:25:00 In questa sezione, il relatore introduce un problema di ottimizzazione più conveniente per le macchine vettoriali di supporto, in cui la distanza tra i punti è fissata per essere almeno uno e la scala di W è ridotta al minimo. Il relatore dimostra che questo problema è equivalente al precedente problema di ottimizzazione. Questa nuova formulazione consente una doppia rappresentazione, in cui i calcoli nel nuovo spazio delle caratteristiche possono essere eseguiti in termini di prodotti scalari che possono essere sostituiti da una funzione kernel, simile a quanto fatto con i processi gaussiani.

  • 00:30:00 In questa sezione, il relatore spiega come il problema di ottimizzazione per le macchine vettoriali di supporto può essere riscritto utilizzando la lagrangiana, ottenendo un problema equivalente senza vincoli. Questo nuovo obiettivo prevede un termine di penalizzazione per ogni vincolo violato, che dipende da una nuova variabile a necessariamente positiva e maggiore di zero quando si verifica una violazione. Impostando questa variabile a per massimizzare il minimo della lagrangiana, il nuovo problema è matematicamente equivalente al problema originale con vincoli. Questa tecnica aiuta a semplificare il processo di ottimizzazione e renderlo più efficiente.

  • 00:35:00 In questa sezione, il docente discute l'uso dei termini di penalità e dei vincoli nei problemi di ottimizzazione per le macchine a vettori di supporto. Spiegano che il vincolo che limita la distanza tra i punti può essere sostituito con un termine di penalità, che viene ottimizzato scegliendo un coefficiente. Questo problema di ottimizzazione, tuttavia, si traduce in un problema di massimo non facile da risolvere. Per risolvere questo, il docente descrive come calcolare il problema di minimizzazione interna in forma chiusa, arrivando a una soluzione in cui W è una combinazione lineare di punti dati nel nuovo spazio delle caratteristiche. I coefficienti diversi da zero, che sono i vettori di supporto, determinano il valore di W.

  • 00:40:00 In questa sezione, il docente spiega come la soluzione ottenuta dalla lagrangiana può essere sostituita per ottenere un'espressione che coinvolga la funzione kernel. Questa funzione del kernel ci consente di lavorare in uno spazio dimensionale elevato senza preoccuparci della dimensionalità, poiché possiamo calcolare la funzione del kernel direttamente tra ogni coppia di punti. Ciò porta a un'ottimizzazione a doppio problema, in cui ottimizziamo un diverso insieme di variabili per ottenere i coefficienti. La maggior parte di questi coefficienti finirà per essere zero, rendendo scarso il problema di ottimizzazione e riducendo la complessità computazionale. Una volta che abbiamo i coefficienti, possiamo usarli per classificare i punti dati prendendo il prodotto scalare delle caratteristiche e dei coefficienti, con un risultato positivo o negativo corrispondente a diverse classi.

  • 00:45:00 In questa sezione, l'istruttore spiega il concetto di macchine vettoriali di supporto (SVM) in un caso linearmente separabile. Mostrano che un separatore lineare in uno spazio bidimensionale può essere rappresentato da un prodotto scalare di un vettore normale e le caratteristiche di input. I punti sul separatore lineare corrispondono al prodotto scalare uguale a 0. Quindi spiegano i vantaggi di lavorare nello spazio duale, che comporta la sostituzione dei pesi con una funzione kernel che calcola la somiglianza tra coppie di punti dati. La somma risultante dipende solo dal numero di vettori di supporto e consente la classificazione basata sul seno della combinazione lineare di kernel tra il punto di query e ogni punto nel set di dati.

  • 00:50:00 In questa sezione, il docente spiega che l'algoritmo SVM calcola il grado di somiglianza tra un punto di interrogazione e tutti i vettori di supporto per determinare quelli più simili. La classe di questi vettori di supporto più simili quindi "voterà" per la classe prevista del punto di query. Questo è simile a un approccio del vicino più vicino ponderato, con i pesi dettati dalla funzione del kernel. Tuttavia, il numero di vettori di supporto potrebbe non essere necessariamente uguale per ogni classe e potrebbe variare in base alla dimensionalità dello spazio.

  • 00:55:00 In questa sezione, la discussione ruota attorno al numero di vettori di supporto e al modo in cui influisce sulla classificazione dei punti. Pur avendo più vettori di supporto in una classe, il numero di vettori di supporto non influenza la propensione a classificare i punti in quella classe. La ragione di ciò è che ogni vettore di supporto contribuisce alla somma sia esso positivo o negativo, indicando se un punto appartiene alla stessa classe del vettore di supporto. Inoltre, è noto che le macchine vettoriali di supporto generalizzano bene e sono meno inclini all'overfitting, poiché massimizzare il margine equivale a minimizzare un limite superiore sulla perdita nel caso peggiore per qualsiasi distribuzione di input sottostante.

  • 01:00:00 In questa sezione della conferenza, il relatore spiega il concetto di macchine vettoriali di supporto e come funzionano nella categorizzazione del testo. Le macchine vettoriali di supporto sono efficaci nel ridurre al minimo la perdita nel caso peggiore e garantire che il classificatore sia valido rispetto a qualsiasi possibile campione che potrebbe corrispondere a set di dati diversi. La conferenza fornisce un caso di studio della categorizzazione del testo in cui i classificatori vengono addestrati con un archivio di articoli di notizie che sono già stati classificati. Un approccio diffuso consisteva nel trasformare ogni documento in un vettore di conteggi di parole utilizzando il modello dello spazio vettoriale, in cui l'ordine delle parole viene ignorato e viene creato un vettore pari alla lunghezza del dizionario. Questo approccio ha aiutato ad automatizzare la categorizzazione degli articoli ea migliorare la scalabilità.

  • 01:05:00 In questa sezione della lezione, il professore spiega come i documenti possono essere rappresentati come vettori ad alta dimensione, con ciascuna caratteristica corrispondente a una parola nel dizionario del documento. Sebbene sia naturale cercare di ridurre la dimensionalità di questi vettori attraverso l'estrazione di caratteristiche, ciò può portare a una perdita di informazioni poiché la maggior parte delle parole ha un certo livello di rilevanza. Per risolvere questo problema, i ricercatori hanno utilizzato macchine vettoriali di supporto con una doppia rappresentazione e mappatura del kernel per mappare i dati in uno spazio dimensionale ancora più elevato. Questo approccio si adatta bene al numero di dimensioni, rendendolo uno strumento utile per l'analisi di dati ad alta dimensione.

  • 01:10:00 In questa sezione, il relatore discute l'uso di macchine vettoriali di supporto nel recupero di documenti da un set di dati. Precisione e richiamo sono misure utilizzate per stimare rispettivamente la percentuale di documenti rilevanti recuperati e la percentuale di documenti rilevanti nel set di dati. L'obiettivo è bilanciare precisione e richiamo, e le macchine vettoriali di supporto si sono rivelate il miglior algoritmo per questo scopo. Sono stati in grado di mantenere tutte le funzionalità e mapparle in uno spazio dimensionale superiore senza perdere precisione o sacrificare la scalabilità. Il numero di vettori di supporto richiesti in uno spazio dimensionale superiore può aumentare, ma non vi è alcun costo aggiuntivo associato al lavoro in quello spazio.

  • 01:15:00 In questa sezione impariamo a conoscere le macchine vettoriali di supporto (SVM) e come possono fornirci un separatore lineare o non lineare per i nostri dati. Gli SVM utilizzano un unico iperpiano per massimizzare un margine per una buona generalizzazione e possiamo utilizzare l'ottimizzazione quadratica convessa per garantire l'ottimalità globale. Tuttavia, ci sono due domande importanti da affrontare: possiamo fare una classificazione multiclasse e cosa facciamo se i nostri dati non sono separabili linearmente? La prossima serie di diapositive affronterà questi problemi.
 

CS480/680 Lezione 14: Macchine vettoriali di supporto (continua)



CS480/680 Lezione 14: Macchine vettoriali di supporto (continua)

Questa sezione della lezione è incentrata sulla gestione di dati non linearmente separabili e classi sovrapposte quando si utilizzano macchine a vettori di supporto (SVM) introducendo variabili slack e considerando un margine morbido. Il relatore spiega come le variabili di scarto consentano di classificare i punti all'interno del margine senza introdurre un errore di classificazione. Al problema di ottimizzazione viene aggiunto un termine di penalità per regolare l'uso di variabili di scarto, controllate dal peso C, che regola il compromesso tra minimizzazione dell'errore e complessità del modello. Il relatore discute anche diversi approcci all'utilizzo di SVM per problemi di classificazione multiclasse, tra cui uno contro tutti, confronto a coppie e classificazione continua, con quest'ultimo che è l'approccio de facto per SVM con più classi. Inoltre, viene introdotto il concetto di margine multiclasse, che prevede un buffer attorno al separatore lineare, definito dalla differenza dei vettori di peso per ciascuna coppia di classi.

  • 00:00:00 In questa sezione, il docente discute come gestire i dati non linearmente separabili e le classi sovrapposte quando si utilizzano le macchine a vettori di supporto (SVM). La soluzione consiste nell'introdurre variabili di scarto e considerare ciò che è noto come un margine morbido, che allenta l'ipotesi che tutti i punti dovrebbero trovarsi ad almeno un'unità di distanza dal separatore. Le variabili di slack consentono al margine di essere inferiore a uno, in modo che anche i punti all'interno del margine possano essere classificati senza introdurre un errore di classificazione.

  • 00:05:00 In questa sezione, viene introdotto il concetto di margine morbido come un modo per consentire punti e punti classificati erroneamente all'interno del margine introducendo variabili di scarto. Al problema di ottimizzazione viene inoltre aggiunto un termine di penalità per regolare l'uso delle variabili di scarto e garantire che la penalità della variabile di scarto sia ridotta al minimo. Questo è controllato dal peso C, che controlla anche il compromesso tra minimizzazione dell'errore e complessità del modello. La somma delle variabili slack è generalmente un limite superiore al numero di classificazioni errate. Il peso C può essere pensato come un coefficiente di regolarizzazione che regola il compromesso tra minimizzazione dell'errore e complessità del modello, e quando C va all'infinito, viene recuperato il classificatore del margine rigido originale.

  • 00:10:00 In questa sezione, il relatore continua a discutere delle macchine vettoriali di supporto e di come gestire classificazioni errate e valori anomali. I margini morbidi possono gestire classificazioni errate minori ma sono ancora sensibili ai valori anomali. I vettori di supporto corrisponderanno a vincoli attivi che hanno uguaglianza, mentre quelli con disuguaglianza non sono attivi se la distanza è già maggiore di uno, il che significa che tutte le variabili di scarto sarebbero zero. Il relatore tocca anche come estendere le macchine vettoriali di supporto per lavorare con più classi, dove storicamente sono stati considerati tre approcci, uno dei quali è "uno contro tutti", dove ogni macchina vettoriale di supporto distinguerebbe tra una classe e tutte le altre classi.

  • 00:15:00 In questa sezione della lezione, il relatore spiega diversi approcci all'utilizzo di macchine vettoriali di supporto per classificare i dati con più classi. Il primo approccio, uno contro tutti, prevede l'addestramento di una macchina vettoriale di supporto per ogni classe rispetto alle altre, ma può portare a conflitti nella classificazione. Il secondo approccio, il confronto a coppie, richiede l'addestramento di macchine vettoriali di supporto per ogni coppia di classi, il che può essere computazionalmente costoso. Il terzo approccio, classifica continua, addestra una singola macchina vettoriale di supporto per restituire un valore continuo per classificare le classi in base a tali valori. Il relatore illustra questi approcci utilizzando esempi e conclude che il confronto a coppie non è l'ideale a causa del suo costo computazionale, lasciando uno contro tutti come la classifica meno favorevole e continua come approccio de facto per l'utilizzo di macchine vettoriali di supporto con più classi.

  • 00:20:00 In questa sezione, il docente discute diversi approcci all'utilizzo di macchine vettoriali di supporto per problemi di classificazione multiclasse. Spiegano come l'utilizzo di più separatori lineari per distinguere tra classi diverse porti a punti ambigui e descrivono un approccio alternativo, la classificazione continua. L'idea alla base di questo approccio è utilizzare vettori di peso separati per ogni classe e confrontare la grandezza dei prodotti scalari dei dati di input con il vettore di peso di ciascuna classe, selezionando la classe con il prodotto scalare più grande. Questo approccio generalizza il concetto di margine per confrontare i prodotti scalari di classi diverse e garantisce che la classe corretta abbia un prodotto scalare maggiore di tutte le classi errate di almeno uno.

  • 00:25:00 In questa sezione della conferenza, il relatore spiega il concetto di margine multiclasse nelle Support Vector Machines (SVM). Il margine multiclasse corrisponde ad avere un buffer attorno al separatore lineare, che è definito dalla differenza dei vettori di peso per ciascuna coppia di classi. Il problema di ottimizzazione rimane lo stesso di quello delle SVM binarie, con la sola sostituzione dei vincoli. Con classi sovrapposte e classi multiple, è possibile introdurre variabili slack e un termine di penalità per gestire la classificazione multiclasse con un margine morbido. L'SVM multiclasse è ora una formulazione generale che funziona con più classi e classi sovrapposte.
 

CS480/680 Lezione 15: Reti neurali profonde



CS480/680 Lezione 15: Reti neurali profonde

Questo video illustra le basi del deep learning, inclusi i concetti di reti neurali profonde, il problema del gradiente di fuga e l'evoluzione delle reti neurali profonde nelle attività di riconoscimento delle immagini. Il docente spiega come le reti neurali profonde possono essere utilizzate per rappresentare le funzioni in modo più succinto e come calcolano caratteristiche che diventano sempre più di livello superiore man mano che la rete diventa più profonda. Vengono affrontate soluzioni al problema del gradiente di fuga, incluso l'uso di unità lineari rettificate (ReLU) e la normalizzazione batch. La lezione copre anche le unità max-out e i loro vantaggi come generalizzazione delle ReLU che consentono più parti lineari.

La conferenza sulle reti neurali profonde discute due problemi che richiedono una risoluzione per un apprendimento profondo efficace: il problema dell'overfitting dovuto all'espressività della rete a più livelli e il requisito di un'elevata potenza di calcolo per addestrare reti complesse. Il docente propone soluzioni come la regolarizzazione e l'abbandono durante la formazione, nonché il calcolo parallelo durante il calcolo. La lezione descrive inoltre in dettaglio come utilizzare il dropout durante i test ridimensionando l'input e le grandezze delle unità nascoste. Infine, la conferenza si conclude introducendo alcune applicazioni rivoluzionarie delle reti neurali profonde nel riconoscimento vocale, nel riconoscimento delle immagini e nella traduzione automatica.

  • 00:00:00 In questa sezione impareremo le basi dell'apprendimento profondo, in particolare cos'è una rete neurale profonda e come si differenzia da una normale rete neurale. Scopriamo che il termine "deep learning" è utilizzato principalmente per scopi di marketing, poiché il concetto di reti neurali con molti livelli nascosti è stato proposto per la prima volta negli anni '80. Tuttavia, il vantaggio dell'utilizzo di reti neurali profonde è che tendono ad essere altamente espressive, consentendo loro di adattarsi bene ai dati. La sfida sta nell'addestrarli in modo efficace, ed è qui che entra in gioco il "problema grande e in via di estinzione".

  • 00:05:00 In questa sezione il docente affronta i temi dell'addestramento di grandi reti neurali e il problema dell'overfitting dovuto all'elevato numero di pesi e parametri. I ricercatori erano soliti prediligere le reti neurali a singolo strato nascosto perché potevano approssimare qualsiasi funzione con un numero sufficiente di unità nascoste. Tuttavia, le reti neurali multiple a strati nascosti hanno il vantaggio di diminuire la dimensione complessiva della rete, che può essere ridotta in modo esponenziale, come dimostrato da un esempio della funzione di parità. Il docente mostra un'architettura di rete neurale che codifica la funzione di parità, dove lo strato nascosto è un perceptron di soglia che codifica la funzione logica "e", mentre l'unità di output è una funzione logica "o".

  • 00:10:00 In questa sezione, il docente spiega come impostare una rete neurale per rilevare se il numero di ingressi attivati è pari o dispari. Ogni unità nascosta nella rete completamente connessa è responsabile del controllo di uno schema specifico in cui gli input sono dispari e l'unità di output è solo l'OR delle unità nascoste. Ci sono 8 pattern con 4 input che sono dispari e ogni unità nascosta è responsabile di uno di questi pattern. Tuttavia, il docente osserva che in generale, avere n input si tradurrà in un numero esponenziale di unità nascoste, rendendo questo approccio non scalabile e suggerendo un approccio alternativo.

  • 00:15:00 In questa sezione, il docente parla del concetto di reti neurali profonde, che coinvolgono più livelli e possono essere utilizzate per rappresentare le funzioni in modo più sintetico. La conferenza fornisce un esempio di una funzione, la funzione di parità, che può essere rappresentata solo da una rete esponenzialmente più grande con un solo strato nascosto o da una rete di dimensioni lineari con più strati nascosti. Il docente discute quindi di come le reti neurali profonde possono essere utilizzate nella pratica per attività di visione artificiale, come il riconoscimento facciale, in cui gli input (come le intensità dei pixel) vengono immessi nella rete e i valori intermedi vengono calcolati per produrre una classificazione in uscita.

  • 00:20:00 In questa sezione, il video illustra come le reti neurali profonde calcolano funzionalità che sono semplici all'inizio della rete e diventano progressivamente di livello superiore man mano che si approfondisce. Nella visione artificiale, prima del deep learning, i professionisti progettavano manualmente le funzionalità per le loro attività. Tuttavia, il deep learning consente di apprendere le funzionalità come parte della rete, rendendo possibile lavorare con dati grezzi. Questa svolta è stata introdotta da Geoff Hinton nel 2006, che ha progettato la prima rete neurale profonda efficace.

  • 00:25:00 In questa sezione viene discussa la storia delle reti neurali profonde e le loro scoperte nel riconoscimento vocale e nella classificazione delle immagini. La prima svolta è arrivata nel 2009, quando Geoff Hinton ha sviluppato un modo per addestrare reti neurali profonde strato per strato utilizzando macchine Boltzmann limitate, portando a un significativo miglioramento dei benchmark di riconoscimento vocale. Le reti neurali ricorrenti hanno poi sostituito le macchine Boltzmann limitate intorno al 2013, portando a risultati ancora migliori. La seconda svolta è arrivata nella classificazione delle immagini quando nel 2010 è stata proposta la ImageNet Large Scale Visual Recognition Challenge. Nonostante anni di ricerca, i computer non sono stati in grado di classificare accuratamente le immagini tra 1000 categorie. Tuttavia, nel 2012 gli algoritmi di deep learning avevano ridotto il tasso di errore dal 26% al 15% e nel 2016 Microsoft aveva raggiunto un tasso di errore del 3,1%, battendo le prestazioni umane.

  • 00:30:00 In questa sezione, il relatore discute la storia e l'evoluzione delle reti neurali profonde, in particolare nelle attività di riconoscimento delle immagini. Il tasso di errore per le attività di classificazione delle immagini è stato notevolmente ridotto nel 2012 con l'introduzione di una rete neurale convoluzionale chiamata AlexNet dal gruppo di Jeff Hinton. Ciò ha portato alla comprensione che le reti neurali possono ottenere risultati notevoli e sono state progettate architetture più sofisticate per migliorare ulteriormente il tasso di errore. Nel tempo, la profondità delle reti è aumentata e c'è stata una chiara tendenza verso reti più profonde. La capacità di applicare e utilizzare reti neurali profonde per attività di riconoscimento delle immagini è stata il risultato di varie innovazioni, tra cui migliori tecniche di formazione e prevenzione dell'overfitting.

  • 00:35:00 In questa sezione viene affrontato il problema della scomparsa dei gradienti nelle reti neurali profonde, che si verifica quando le derivate parziali dei pesi associati ai bordi nei livelli precedenti sono di grandezza inferiore, risultando in valori trascurabili man mano che la rete si approfondisce. Ciò ha reso difficile per i ricercatori addestrare reti neurali con più livelli perché i livelli inferiori non venivano addestrati, quindi non fornivano output significativi per migliorare le previsioni della rete. Ciò era dovuto in parte alle funzioni di attivazione utilizzate, come una funzione sigmoidea o una funzione di tangente iperbolica il cui gradiente era sempre inferiore a 1, rendendo difficile l'ottimizzazione dei pesi e la regolazione del calcolo iniziale.

  • 00:40:00 In questa sezione, il docente spiega il problema dell'annullamento del gradiente in una rete neurale profonda. Crea una rete neurale giocattolo con un'unità di attivazione sigmoidea e mostra come il gradiente sia costituito da derivate parziali che sono prodotti di fattori, ogni fattore essendo la derivata parziale del sigmoide o un peso. Poiché le derivate parziali del sigmoide sono sempre minori di uno ei pesi sono inizializzati a grandezze minori di uno, moltiplicando questi fattori si tende a rendere le derivate parziali sempre più piccole. Ciò si traduce in pesi che hanno sempre meno impatto man mano che torniamo negli strati, dando origine al problema della scomparsa del gradiente. Il docente introduce quindi alcune soluzioni comuni come la pre-formazione, le diverse funzioni di attivazione, le connessioni saltate e la normalizzazione batch e si concentra sulle unità lineari rettificate e sulle unità max out come possibili soluzioni.

  • 00:45:00 In questa sezione, il docente discute le soluzioni al problema dei gradienti evanescenti che sorgono a causa di funzioni di attivazione problematiche. Una possibile soluzione consiste nell'utilizzare funzioni di attivazione con derivate maggiori di zero, come l'unità lineare rettificata (ReLU), che restituisce una combinazione lineare di input o zero. Un'altra soluzione è la normalizzazione batch, che garantisce che i dati si trovino effettivamente in un intervallo in cui il gradiente tende ad essere vicino a uno. Queste soluzioni consentono alcuni percorsi con gradienti nulli purché un numero sufficiente di percorsi abbia gradienti pari a uno, che propaga il gradiente attraverso la rete neurale.

  • 00:50:00 In questa sezione, il docente discute le unità lineari rettificate (ReLU) e i loro vantaggi e svantaggi. Le ReLU sono state inizialmente criticate perché hanno una discontinuità a zero, che causa problemi con il calcolo dei gradienti utilizzando la discesa del gradiente. Tuttavia, questo problema non è significativo in pratica poiché i valori numerici raramente sono esattamente zero. Al contrario, la funzione di perdita morbida, che approssima le ReLU, è uniforme e continua, ma il suo gradiente è ovunque inferiore a uno. Pertanto, rendere le ReLU fluide non aiuta a eliminare il problema della scomparsa del gradiente. Nonostante le ReLU abbiano una parte che avrebbe potuto essere ignorata, sono comunque utili perché ci sono input per i quali ogni unità produrrà qualcosa nella parte lineare.

  • 00:55:00 In questa sezione, il relatore discute i vantaggi delle unità lineari rettificate (ReLU) e introduce il concetto di unità max-out. Spiega che le ReLU sono diventate popolari perché nei casi in cui il gradiente non svanisce, possono essere addestrate più velocemente, richiedendo una minore discesa del gradiente. Il relatore introduce quindi le unità max-out come generalizzazione delle ReLU che consentono più parti lineari, anziché solo una parte zero e una parte lineare, e dimostra come sono costruite prendendo il massimo di diverse combinazioni lineari. Viene mostrato che la forma di un'unità max-out ha più combinazioni lineari, ciascuna corrispondente a una linea, e diventa un'aggregazione di uno strato nascosto di unità di identità con un'unità max.

  • 01:00:00 In questa sezione della conferenza, il professore discute due problemi che devono essere risolti affinché il deep learning sia efficace. Il primo problema è il problema dell'overfitting, che sorge a causa dell'elevata espressività delle reti multistrato. La regolarizzazione è una soluzione che comporta la riduzione al minimo dell'entità dei pesi per mantenerli piccoli e limitati. Un'altra soluzione è il dropout, in cui alcune unità di rete vengono rilasciate in modo casuale durante l'addestramento per forzare la rete a essere robusta e prevenire l'overfitting. Il secondo problema è la necessità di un'elevata potenza di calcolo per addestrare reti complesse, che può essere ottenuta attraverso il calcolo parallelo utilizzando GPU o il calcolo distribuito.

  • 01:05:00 In questa sezione, il relatore discute l'uso del dropout durante il periodo di test per le reti neurali profonde. Durante l'addestramento, il dropout è una tecnica in cui alcune delle unità di input o nascoste vengono eliminate casualmente dalla rete per evitare l'overfitting. Tuttavia, durante il test, viene utilizzata l'intera rete, il che può causare un aumento delle grandezze delle combinazioni lineari. Per risolvere questo problema, le unità di input vengono ridimensionate moltiplicandole per 1 meno la probabilità di eliminarle, e lo stesso viene fatto per le unità nascoste. L'oratore fornisce un esempio di una rete completamente connessa con tre ingressi, quattro unità nascoste e un'uscita e spiega l'uso di un generatore di numeri casuali per eliminare alcune delle unità di ingresso e nascoste durante l'addestramento.

  • 01:10:00 In questa sezione, l'istruttore discute cosa succede se tutte le unità di input o nascoste vengono rimosse in una rete neurale e come la regolarizzazione dell'abbandono può risolvere questo problema. Sebbene sia improbabile che tutte le unità vengano rimosse, potrebbe influire sulla precisione se lo fossero. La regolarizzazione dell'abbandono aiuta a prevenire l'overfitting e costringe la rete a diventare robusta rispetto alle funzionalità eliminate. L'algoritmo per la regolarizzazione dell'abbandono comporta il campionamento delle variabili di Bernoulli per creare una rete mutilata in cui alcune unità vengono eliminate e moltiplicando le grandezze delle unità rimanenti per 1 meno la probabilità di essere eliminate. Durante l'addestramento, il gradiente viene calcolato rispetto alla rete mutilata.

  • 01:15:00 In questa sezione, il relatore discute la tecnica di abbandono utilizzata nelle reti neurali profonde per rendere la rete robusta e prevenire l'overfitting. L'abbandono è una forma di apprendimento approssimato e campione, in cui ogni iterazione calcola una rete mutilata eliminando nodi specifici, risultando in un'ipotesi o funzione che potrebbe codificare ciò che viene appreso. L'intera rete può essere pensata come la media di tutte le reti mutilate, con l'adeguamento di ciò che viene calcolato. Questo metodo è simile all'apprendimento bayesiano ed è stato dimostrato che approssima alcuni calcoli rispetto a un processo gaussiano profondo. Questo aiuta a giustificare il motivo per cui l'abbandono può funzionare bene nella pratica. Il presentatore conclude introducendo alcune applicazioni in cui le reti neurali profonde hanno sperimentato scoperte, tra cui il riconoscimento vocale, il riconoscimento delle immagini e la traduzione automatica.

  • 01:20:00 In questa sezione, il relatore descrive il metodo storico all'avanguardia per il riconoscimento vocale, che era un modello di Markov nascosto che utilizzava una combinazione di gaussiane. Tuttavia, nel 2009, Geoff Hinton e il suo gruppo di ricerca hanno proposto di sostituire la miscela gaussiana con una rete neurale profonda che utilizzava una macchina Boltzmann impilata e ristretta. Questo modello ibrido tra un modello probabilistico e una rete neurale profonda ha portato a una significativa riduzione del tasso di errore, che è stata osservata in diversi benchmark. Grazie a questa svolta, diverse aziende, tra cui Google e Microsoft, hanno iniziato a sfruttare le reti neurali profonde, portando infine a una rinascita nel campo del deep learning.

  • 01:25:00 In questa sezione, il docente discute le scoperte nelle reti neurali, a partire dalla svolta nel riconoscimento delle immagini avvenuta nel 2012. La svolta è stata dovuta allo sviluppo di reti neurali convoluzionali che prendono come input matrici 2D di intensità di pixel, hanno strati di convoluzione che calcolano le caratteristiche a diverse granularità e strati densi che sono completamente connessi. L'aumento dei dati è stato utilizzato anche per migliorare il riconoscimento rendendolo invariante alla rotazione e ad altri fattori. Il risultato è stata una significativa riduzione del tasso di errore dal 26,2% al 16,4% per il primo partecipante a una competizione. Sebbene il 16% sia ancora relativamente alto, è difficile classificare accuratamente le immagini tra migliaia di classi e l'accuratezza delle previsioni dei primi cinque è stata misurata piuttosto che quella dei primi.

  • 01:30:00 In questa sezione, il docente discute le prestazioni di un algoritmo di rete neurale profonda utilizzando un'immagine di una potenza come esempio. L'algoritmo restituisce cinque classi potenziali e assegna a ognuna un punteggio di confidenza per determinare la probabilità che sia la classe corretta. La rete generalmente funziona bene, riconoscendo correttamente oggetti come una nave portacontainer e uno scooter con elevata sicurezza, ma ci sono casi in cui classifica erroneamente un oggetto.
 

CS480/680 Lezione 16: Reti neurali convoluzionali



CS480/680 Lezione 16: Reti neurali convoluzionali

Questo video introduce le reti neurali convoluzionali (CNN) e spiega la loro importanza nell'elaborazione delle immagini come tipo specifico di rete neurale con proprietà chiave. Il docente discute di come la convoluzione può essere utilizzata per l'elaborazione delle immagini, ad esempio nel rilevamento dei bordi, e di come le CNN possono rilevare le caratteristiche in modo simile. Viene spiegato il concetto di strati convoluzionali e dei loro parametri, insieme al processo di addestramento delle CNN utilizzando la retropropagazione e la discesa del gradiente con pesi condivisi. Il docente fornisce anche principi di progettazione per la creazione di architetture CNN efficaci, come l'utilizzo di filtri più piccoli e l'attivazione non lineare dopo ogni convoluzione.

In questa conferenza sulle reti neurali convoluzionali (CNN), il relatore discute il concetto di connessioni residue come soluzione al problema del gradiente di fuga affrontato dalle reti neurali profonde. Queste connessioni saltate consentono di accorciare i percorsi di rete e ignorare i livelli inutili pur essendo ancora in grado di utilizzarli se necessario per evitare di produrre output vicini allo zero. Viene inoltre introdotto l'uso di tecniche di normalizzazione batch per mitigare il problema dell'evanescenza dei gradienti. Inoltre, il relatore osserva che le CNN possono essere applicate a dati sequenziali e tensori con più di due dimensioni, come nelle sequenze video, e che anche le CNN 3D sono una possibilità per determinate applicazioni. Il framework TensorFlow è evidenziato come progettato per il calcolo con array multidimensionali.

  • 00:00:00 In questa sezione, il presentatore introduce le reti neurali convoluzionali (CNN) e spiega la loro importanza nell'elaborazione delle immagini come tipo specifico di rete neurale con proprietà chiave. La conferenza prosegue discutendo di come le CNN possono scalare per gestire grandi set di dati e sequenze. Il presentatore spiega che le CNN prendono il nome dall'operazione matematica della convoluzione, che modifica due funzioni per produrre una terza funzione, con un esempio di utilizzo della convoluzione per il livellamento. Le dispense fanno anche uso delle gaussiane come funzioni di ponderazione per l'operazione di convoluzione.

  • 00:05:00 In questa sezione viene discusso il concetto di convoluzione sia nei casi continui che discreti, in cui l'output, Y, è una combinazione ponderata di X in un intorno. Quando applicata alle immagini, questa è una funzione bidimensionale, in cui ogni pixel è una misura di quella funzione a una coordinata specifica nelle direzioni x e y. I pesi applicati a ciascuna intensità di pixel possono produrre una nuova immagine, Y. Ad esempio, una semplice convoluzione può essere utilizzata per il rilevamento dei bordi in un'immagine in scala di grigi per rilevare i bordi verticali.

  • 00:10:00 In questa sezione, il relatore discute su come utilizzare le convoluzioni per rilevare caratteristiche nelle reti neurali. Una convoluzione è essenzialmente una combinazione lineare di un sottoinsieme di unità basato su uno specifico modello di pesi, che può aiutare a rilevare caratteristiche come bordi o altri modelli che potrebbero essere importanti per una determinata attività. L'oratore spiega anche che un modello di pesi determina il filtro per rilevare una caratteristica in un quartiere e una funzione di attivazione non lineare amplifica l'output. La parlantina o i filtri sono una classe popolare di filtri che corrispondono a mappe di caratteristiche comuni ispirate al funzionamento della corteccia visiva umana.

  • 00:15:00 In questa sezione, il docente spiega come funzionano le reti neurali convoluzionali. L'idea è di rilevare piccoli bordi in un'immagine applicando patch di pesi che corrispondono a una particolare caratteristica e l'ampiezza di ogni patch è determinata dal suo colore. Queste patch vengono applicate a un'immagine alternando livelli di convoluzione e raggruppamento. Il livello convoluzionale funziona calcolando una convoluzione che corrisponde a un altro vettore utilizzando un filtro di una dimensione specifica con gli stessi pesi. Gli elementi chiave di una rete neurale convoluzionale sono questi livelli di convoluzione e raggruppamento che si alternano per rilevare diverse caratteristiche in un'immagine.

  • 00:20:00 In questa sezione viene spiegato il concetto di strati convoluzionali nelle reti neurali. I layer convoluzionali utilizzano una finestra di dimensioni fisse, o patch, con un insieme di pesi, o filtri, applicati ad essa. Questo filtro viene riutilizzato in ogni finestra del livello, generando una rappresentazione molto più rada delle connessioni tra input e output rispetto a un livello completamente connesso. In un esempio 1D, viene preso un patch di dimensioni 3 per 1 e viene applicato un filtro a ciascuna finestra di input. Allo stesso modo, in un esempio 2D, viene presa una patch di dimensioni 3 per 3, con lo stesso set di pesi applicato su finestre scorrevoli per rilevare caratteristiche specifiche come i bordi. Riutilizzando lo stesso filtro tra le istanze della finestra, i livelli convoluzionali consentono una progettazione di rete più compatta ed efficiente.

  • 00:25:00 In questa sezione, il docente spiega le reti neurali convoluzionali e come funzionano con segnali di immagini e audio utilizzando lo stesso set di pesi per ogni patch dell'immagine o del segnale. La rete rileva le funzionalità applicando un filtro di pooling, che calcola una varianza locale uguale, consentendo alla rete di riconoscere le funzionalità indipendentemente dalla loro posizione. Questo metodo può essere utilizzato per il riconoscimento di cifre, con un'immagine bitmap come input e producendo un'etichetta da 0 a 9 come output. Il docente osserva che la retropropagazione e la differenziazione automatica gestiscono i pesi condivisi, aggiornando i pesi per i bordi che hanno lo stesso peso.

  • 00:30:00 In questa sezione del video, il docente spiega come funzionano le reti neurali convoluzionali (CNN). Il primo passaggio consiste nell'applicare una convoluzione 5x5 all'immagine di input utilizzando un filtro, che consente di rilevare caratteristiche più grandi rispetto ai filtri più piccoli. Ciò produce una mappa delle caratteristiche di dimensioni 28x28, che può essere utilizzata per verificare la presenza o l'assenza di caratteristiche in posizioni diverse. Successivamente, viene applicato un livello di pooling massimo per ridurre le dimensioni della mappa delle caratteristiche a 14x14 prendendo il massimo di ciascuna patch 2x2. Un'altra convoluzione viene quindi applicata utilizzando un filtro 5x5 per rilevare le funzionalità di livello superiore, che produce 12 mappe delle funzionalità che subiscono nuovamente il pool massimo. L'intuizione alla base del max pooling è che la posizione esatta di alcune caratteristiche, come gli occhi o il naso nel riconoscimento facciale, potrebbe variare leggermente.

  • 00:35:00 questa sezione, il docente discute la seconda parte di una rete neurale progettata per la classificazione. L'approccio comune consiste nel prendere un livello completamente connesso, appiattire le caratteristiche e costruire un vettore di nodi per calcolare le classi con i pesi regolati tramite backpropagation. La bellezza delle reti neurali convoluzionali è che i pesi per i filtri convoluzionali non sono progettati dagli umani ma vengono inizializzati in modo casuale e aggiornati man mano che la rete viene addestrata, consentendo alla rete di imparare a estrarre le caratteristiche rilevanti. La rete è in grado di ottimizzare e fornire funzionalità che funzionano meglio nella pratica attraverso una soluzione basata sui dati.

  • 00:40:00 In questa sezione, il docente discute il concetto di connessioni sparse nelle reti neurali convoluzionali, che si riferisce al fatto che i nodi hanno solo poche connessioni anziché essere completamente connessi. Ciò consente un numero molto inferiore di pesi e un calcolo più scarso. Il docente spiega anche come vengono specificati parametri come il numero di filtri, la dimensione del kernel, il passo e il riempimento nello strato convoluzionale di una rete neurale. Gli esempi forniti aiutano a chiarire ulteriormente come questi parametri vengono utilizzati nella definizione dei livelli convoluzionali.

  • 00:45:00 In questa sezione, il docente spiega come funzionano le reti neurali convoluzionali. Il docente dimostra come uno strato convoluzionale elabora un'immagine di input applicandovi un kernel. La dimensione del kernel determina la dimensione dell'output e il passo determina quanto il kernel si muove attraverso l'input. Il padding può essere utilizzato anche per mantenere le dimensioni originali dell'input. Il docente fornisce esempi di come diverse dimensioni del kernel e falcate influenzino la dimensione dell'output dello strato convoluzionale.

  • 00:50:00 In questa sezione, il docente discute il processo di addestramento delle reti neurali convoluzionali (CNN) utilizzando la retropropagazione e la discesa del gradiente, con i pesi condivisi tra le variabili. Il processo di calcolo della derivata parziale non è diverso se una variabile appare più volte nella funzione e algoritmi come Adam e RMSprop possono essere utilizzati per l'addestramento. Quando si tratta di progettare un'architettura di rete neurale, dipende dal problema ed è un'arte più che una scienza. Tuttavia, alcune regole empiriche hanno mostrato buoni risultati, come l'utilizzo di una pila di piccoli filtri invece di un singolo filtro grande per un minor numero di parametri e una rete più profonda.

  • 00:55:00 In questa sezione del video, l'istruttore spiega una regola empirica per la progettazione di architetture di reti neurali convoluzionali (CNN). Suggerisce che l'utilizzo di filtri più piccoli tende a funzionare meglio e produce meno parametri rispetto ai filtri più grandi. Utilizzando una pila di filtri più piccoli al posto di un filtro più grande, il campo ricettivo rimane lo stesso riducendo il numero di parametri necessari. Inoltre, l'aggiunta di un'attivazione non lineare dopo ogni convoluzione può migliorare le prestazioni delle CNN. Questi principi di progettazione possono essere utili per creare architetture efficaci per varie applicazioni.

  • 01:00:00 In questa sezione viene discusso l'uso di livelli residui nelle reti neurali convoluzionali. I livelli residui sono stati proposti nel 2015 come un modo per evitare il degrado della qualità delle reti causato dall'aggiunta di troppi livelli. L'idea è di creare connessioni saltate per accorciare i percorsi nella rete, riducendo efficacemente la profondità e propagando il gradiente in modo più efficace. La connessione residua salta alcuni livelli e aggiunge l'input X all'output dei livelli saltati. In questo modo, se i livelli aggiuntivi non sono utili, possono essere ignorati senza danneggiare le prestazioni della rete.

  • 01:05:00 In questa sezione, il relatore introduce il concetto di connessioni residue nelle reti neurali convoluzionali (CNN) e spiega come possono risolvere il problema dei gradienti che svaniscono. Usando le connessioni skip, che essenzialmente aggiungono la funzione di identità all'output di un layer, alla rete viene data la possibilità di ignorare determinati layer che non sono utili, pur potendo comunque utilizzarli se lo desidera. Ciò evita il problema dei livelli che producono output vicini allo zero, il che può comportare che la rete ignori del tutto quei livelli. L'oratore menziona anche che le connessioni skip non influiscono sulla dimensione del gradiente e suggerisce l'uso della normalizzazione batch come un altro approccio per mitigare il problema della scomparsa dei gradienti.

  • 01:10:00 In questa sezione del video, il relatore discute le tecniche per affrontare problemi come il problema del gradiente di fuga e la normalizzazione nelle reti neurali convoluzionali. La normalizzazione batch è un'euristica comunemente utilizzata in cui i valori vengono normalizzati in base a qualsiasi batch di dati utilizzato con una varianza di 1 e centrato su 0, separatamente per ogni dimensione. Inoltre, saltare le connessioni può aiutare a propagare i gradienti più velocemente, poiché forniscono percorsi più brevi da seguire per la retropropagazione. Infine, il relatore osserva che le reti neurali convoluzionali possono essere utilizzate per qualcosa di più della semplice visione artificiale, inclusi dati sequenziali e tensori con più di due dimensioni, come si vede in applicazioni come le sequenze video. Il framework TensorFlow è progettato per eseguire calcoli rispetto a matrici multidimensionali, piuttosto che essere limitato solo a vettori o matrici.

  • 01:15:00 In questa sezione, si dice che esistono reti neurali convoluzionali 3D e sebbene non siano così comuni, ci sono alcune applicazioni in cui possono essere utilizzate.