Apprendimento automatico e Reti Neurali

 

MQL5 ora supporta operazioni con matrici e vettori che vengono utilizzate in varie attività computazionali, incluso l'apprendimento automatico. Abbiamo creato questa discussione per selezionare e condividere alcuni materiali che potrebbero esserti utili. La tecnologia dell’apprendimento automatico si basa su reti neurali.

Le reti neurali sono modelli matematici che provano ad emulare l'attività del cervello umano. Sono costituiti da nodi interconnessi che si trasmettono segnali l'un l'altro per prendere decisioni basate su questi segnali.

Durante il processo di apprendimento automatico, il computer utilizza i dati per addestrare i modelli per prevedere i risultati utilizzando nuovi dati. L'apprendimento automatico viene applicato in vari campi, tra cui medicina, economia, chimica e altri.

Il deep learning è un sottocampo dell'apprendimento automatico, che utilizza reti neurali multistrato per risolvere problemi di elaborazione dei dati. I modelli di deep learning possono esplorare i dati con elevata accuratezza ed estrarre automaticamente funzionalità da strutture gerarchiche complesse, che di solito è un compito difficile per gli algoritmi di machine learning tradizionali.

Le reti neurali profonde di solito sono costituite da più strati che elaborano sequenzialmente i dati di input. Ogni livello è un insieme di neuroni che elaborano i dati e inoltrano i risultati al livello successivo. L'idea dell'addestramento del modello consiste nell'aggiustare i pesi delle connessioni neurali tra i livelli nel tentativo di minimizzare l'errore sul set di dati di addestramento. Uno degli approcci più utilizzati per l'addestramento delle reti neurali profonde è la retropropagazione. Questo algoritmo consente al modello di determinare come le modifiche dei pesi utilizzati sui diversi strati influiscono sull'errore del modello e utilizzare queste informazioni per regolare i pesi in base alla discesa del gradiente.

Il deep learning consente la creazione di modelli più accurati, rispetto ai classici metodi di machine learning, come la regressione logistica o gli alberi decisionali. Tuttavia, richiede un ampio set di dati e ampie risorse di calcolo per la formazione, il che può rappresentare un problema in alcuni campi.

Il deep learning viene applicato in vari campi, come la visione artificiale, l'elaborazione del linguaggio naturale, l'elaborazione vocale e i sistemi di raccomandazione, tra gli altri. Negli ultimi anni, il deep learning ha avuto un enorme successo nel riconoscimento delle immagini e nei problemi di elaborazione del linguaggio naturale.

In questo discussione, condivideremo video che ti aiuteranno a capire come funzionano queste tecnologie.


Documentazione su MQL5: Metodi Matriciali e Vettoriali
Documentazione su MQL5: Metodi Matriciali e Vettoriali
  • www.mql5.com
Metodi Matriciali e Vettoriali - MQL5 Riferimento - Guida al linguaggio di trading algoritmico/automatico per MetaTrader 5
 

1. La rivoluzione del deep learning



La rivoluzione dell'apprendimento profondo

Questo breve video evidenzia il ruolo rivoluzionario dell'intelligenza artificiale (AI) nel raggiungimento di abilità sovrumane, nella scoperta di nuovi materiali e nella conservazione delle scarse risorse.

Queste tecnologie consentono alle persone ipovedenti di riconoscere i volti e di leggere il testo, oltre ad aiutare i non vedenti a leggere ai propri figli . I veicoli a guida autonoma ci danno la libertà di esplorare aree remote senza mappe stradali.

Il video sottolinea il ruolo della tecnologia AI nel rafforzare la capacità delle persone di prendere decisioni migliori e risolvere problemi complessi.

The Deep Learning Revolution
The Deep Learning Revolution
  • 2016.06.09
  • www.youtube.com
More info at: http://www.nvidia.com/deep-learning Deep learning is the fastest-growing field in artificial intelligence, helping computers make sense of infi...
 

2. Visualizzazione dei processi di elaborazione delle informazioni nelle reti neurali di deep learning

Una serie di brevi video: meglio guardare che provare a descrivere.












 

3. [Apprendimento approfondito | video 1] Che cosa "è" una rete neurale?



Ma cos'è una rete neurale? | Capitolo 1, Apprendimento profondo

Questo video introduce gli spettatori alle reti neurali e spiega come funzionano. Le reti neurali contengono diversi strati di neuroni, ciascuno dei quali è connesso ai neuroni dello strato precedente e successivo tramite pesi e distorsioni. L'attivazione di un neurone è determinata dalla somma ponderata delle attivazioni dei neuroni dello strato precedente, che viene poi compressa da una funzione sigmoidea.

  • 00:00:00 Un'introduzione alle reti neurali che racconta come sono ispirate dal cervello e come possono essere utilizzate per riconoscere le cifre scritte a mano. Il video spiega anche la struttura della rete neurale, inclusi il livello di input, il livello nascosto e il livello di output.

  • 00:05:00 Questa parte spiega perché ci si può aspettare che la struttura a strati di una rete neurale si comporti in modo intelligente. Si afferma che ogni neurone negli strati intermedi della rete corrisponde a uno dei numerosi sottocomponenti che compongono l'immagine complessiva. Ad esempio, un neurone può essere attivato quando un'immagine in loop viene immessa nel livello di input. Ciò consente alla rete di assemblare vari componenti che compongono un'immagine e di riconoscere infine la cifra rappresentata nell'immagine.

  • 00:10:00 I pesi e le distorsioni di una rete neurale ne determinano il comportamento, mentre l'apprendimento è il processo di regolazione di questi valori per ottenere il comportamento desiderato. Le reti neurali sono costituite da strati di neuroni, ognuno dei quali è connesso ai neuroni dello strato precedente e successivo tramite pesi e distorsioni. L'attivazione di un neurone è determinata dalla somma ponderata delle attivazioni dei neuroni dello strato precedente, che viene poi compressa da una funzione sigmoidea. Questo vettore finale viene quindi inserito nel livello successivo.

  • 00:15:00 In questo video, l'autore spiega cos'è una rete neurale e come funziona. Introduce anche la funzione sigmoidea e spiega come viene utilizzata per comprimere la somma ponderata corrispondente tra zero e uno.
But what is a neural network? | Chapter 1, Deep learning
But what is a neural network? | Chapter 1, Deep learning
  • 2017.10.05
  • www.youtube.com
What are the neurons, why are there layers, and what is the math underlying it?Help fund future projects: https://www.patreon.com/3blue1brownWritten/interact...
 

4. [Apprendimento profondo | video 2] Gradiente decente, come apprendono le reti neurali



Discesa del gradiente, come apprendono le reti neurali | Capitolo 2, Apprendimento profondo

Questo video spiega come la discesa del gradiente aiuta le reti neurali ad apprendere in modo più efficace.

  • 00:00:00 Presentazione dell'idea della discesa del gradiente, che è alla base del modo in cui le reti neurali e molti altri algoritmi di machine learning apprendono. Il video mostra quindi come la rete di riconoscimento delle cifre scritte a mano è parametrizzata con una funzione di costo, pesi e distorsioni. Le prestazioni della rete vengono valutate sul set di dati di addestramento di esempio e man mano che la rete migliora nel riconoscere i numeri, la funzione di costo diventa sempre più accurata.

  • 00:05:00 La discesa del gradiente è un potente strumento per l'addestramento delle reti neurali ed è importante ricordare che la funzione di costo deve avere un output uniforme per poterla minimizzare efficacemente.

  • 00:10:00 Spiegando l'algoritmo di discesa del gradiente e il funzionamento dei neuroni artificiali. La discesa del gradiente viene utilizzata per trovare un minimo locale nella funzione di costo mentre ci si sposta a piccoli passi lungo un pendio. Questo processo viene ripetuto finché la rete non raggiunge una buona soluzione. Il video mostra quindi un esempio di discesa del gradiente in azione con una rete di neuroni addestrati a riconoscere i numeri. Sebbene la rete non sia perfetta, la cosa impressionante è che può gestire immagini mai viste prima.

  • 00:15:00 La discesa del gradiente è una tecnica utilizzata per addestrare le reti neurali. Nella prima parte, abbiamo visto che le reti neurali profonde addestrate su dati etichettati in modo casuale raggiungono la stessa accuratezza dei dati etichettati correttamente. La seconda parte mostra che se una rete neurale viene addestrata su un set di dati con le etichette corrette, i minimi locali della sua funzione di costo sono della stessa qualità.

  • 00:20:00 Dimostrando come funziona la discesa del gradiente nelle reti neurali e come può aiutare la rete ad apprendere in modo più efficace.
Gradient descent, how neural networks learn | Chapter 2, Deep learning
Gradient descent, how neural networks learn | Chapter 2, Deep learning
  • 2017.10.16
  • www.youtube.com
Enjoy these videos? Consider sharing one or two.Help fund future projects: https://www.patreon.com/3blue1brownSpecial thanks to these supporters: http://3b1...
 

5. [Apprendimento profondo | video 3] Cosa fa realmente la Backpropagation?



Cosa sta realmente facendo la retropropagazione? | Capitolo 3, Apprendimento profondo

L'algoritmo di backpropagation viene utilizzato nelle reti neurali per aiutarle ad apprendere. L'algoritmo calcola il gradiente della funzione di costo, che dipende dai pesi e dai bias della rete. Il gradiente viene quindi utilizzato per regolare i pesi e le distorsioni della rete.

  • 00:00:00 La backpropagation è al centro dell'allenamento della rete neurale. L'algoritmo calcola il gradiente della funzione di costo, che dipende dai pesi e dai bias della rete. Il gradiente viene quindi utilizzato per regolare i pesi e le distorsioni della rete.

  • 00:05:00 La backpropagation è un algoritmo di apprendimento supervisionato che aiuta ad aumentare l'attivazione dei neuroni in una rete di deep learning. L'algoritmo regola i pesi e le distorsioni dei neuroni nel livello precedente in modo che questo cambiamento sia proporzionale alla dimensione dei rispettivi pesi. La retropropagazione aiuta anche a propagare le modifiche desiderate ai pesi e ai bias dei neuroni nel secondo strato.

  • 00:10:00 La retropropagazione viene utilizzata per regolare i pesi e le distorsioni della rete neurale. Si tratta di un algoritmo stocastico di discesa del gradiente che suddivide casualmente i dati in mini-batch e aggiorna pesi e distorsioni in base al mini-batch. Questo algoritmo è computazionalmente più veloce della vera discesa del gradiente e può convergere a un minimo locale della funzione di costo.
What is backpropagation really doing? | Chapter 3, Deep learning
What is backpropagation really doing? | Chapter 3, Deep learning
  • 2017.11.03
  • www.youtube.com
What's actually happening to a neural network as it learns?Help fund future projects: https://www.patreon.com/3blue1brownAn equally valuable form of support ...
 

6. [Apprendimento profondo | video 4] Calcolo della retropropagazione



Calcolo della retropropagazione | Capitolo 4, Apprendimento profondo

Questo video spiega la matematica alla base dell'algoritmo di backpropagation per il deep learning utilizzando una rete semplice con un neurone per strato definito da pesi e bias. Viene introdotta una regola della catena per capire come le variazioni di peso influiscono sul costo e la sensibilità del costo a piccole variazioni di peso viene trovata attraverso le derivate delle funzioni di costo, le funzioni di attivazione e la somma ponderata. La sensibilità viene presa in considerazione calcolando in modo iterativo la sensibilità dell'attivazione precedente nell'estensione della regola della catena per trovare la sensibilità a precedenti pesi e distorsioni. L'approccio rimane simile anche con più neuroni per strato, con ogni peso che ha il proprio indice per tenere traccia della sua posizione nello strato.

  • 00:00:00 Nella prima parte, ci addentriamo nell'apparato matematico necessario per la retropropagazione nel deep learning. Il video mostra l'esempio di una rete semplice con un neurone per strato definito da tre pesi e tre bias. L'obiettivo è capire quanto è sensibile la funzione di costo a queste variabili e quali aggiustamenti saranno più efficaci nel ridurre la funzione di costo. Viene introdotta una regola della catena per comprendere come i cambiamenti nelle variabili di peso influenzano la funzione di costo. La sensibilità della funzione di costo a piccole variazioni del peso viene calcolata utilizzando le derivate della funzione di costo, della funzione di attivazione e della somma ponderata.

  • 00:05:00 La seconda parte introduce il concetto di sensibilità in relazione a pesi e bias in una rete neurale. La derivata della funzione di costo rispetto a pesi e distorsioni si trova attraverso un'estensione della regola della catena, che richiede di tenere conto della sensibilità. Sebbene la sensibilità possa essere considerata come il numero di neuroni che si attivano insieme e comunicano tra loro, la derivata richiede che l'espressione sia mediata su tutti gli esempi di addestramento. La sensibilità dell'attivazione precedente nell'estensione della regola della catena viene calcolata e utilizzata per calcolare in modo iterativo la sensibilità a pesi e distorsioni precedenti. L'approccio non cambia molto anche se gli strati della rete neurale hanno più neuroni; tuttavia, ogni peso deve essere indicizzato con indici aggiuntivi per tenere traccia della sua posizione nel livello.
Backpropagation calculus | Chapter 4, Deep learning
Backpropagation calculus | Chapter 4, Deep learning
  • 2017.11.03
  • www.youtube.com
Help fund future projects: https://www.patreon.com/3blue1brownAn equally valuable form of support is to simply share some of the videos.Special thanks to the...
 

Corso completo di intelligenza artificiale | Tutorial sull'intelligenza artificiale per principianti | Edureka

Sopra, ti abbiamo presentato i migliori materiali per un'introduzione alle reti neurali artificiali. Questo video di Edureka ti fornirà una conoscenza completa e dettagliata dei concetti di intelligenza artificiale con esempi pratici.


Per tua comodità, forniamo una cronologia generale e poi una dettagliata per ogni parte. Puoi andare direttamente al momento giusto, guardare in una modalità conveniente per te e non perdere nulla.

  1. 00:00:00 - 01:00:00 La parte 1 fornisce un'introduzione all'intelligenza artificiale, discute la sua storia, diverse aree e concetti e come il deep learning viene utilizzato per risolvere i problemi del mondo reale. Parla anche di diversi tipi di intelligenza artificiale e linguaggi di programmazione popolari per lo sviluppo dell'IA.

  2. 01:00:00 - 02:00:00 La seconda parte discute le diverse tipi di intelligenza artificiale e come possono essere utilizzati per risolvere diversi tipi di problemi. Spiega come la regressione lineare può essere utilizzata per prevedere la temperatura massima media per un dato intervallo di temperatura e la regressione logistica può essere utilizzata per prevedere la probabilità che un risultato sia uno o zero. Discute anche l'algoritmo dell'albero decisionale e come può essere utilizzato per costruire un albero decisionale. Infine, spiega come utilizzare la foresta casuale per creare una previsione più precisa e stabile.

  3. 02:00:00 - 03:00:00 Nella parte 3, Edureka il tutor Michael Kennedy spiega come funziona l'algoritmo di clustering K-means e come può essere utilizzato per comprimere enormi set di dati in un piccolo numero di valori significativi. Discute anche che l'apprendimento per rinforzo è un altro tipo di apprendimento automatico che aiuta gli agenti a imparare a raggiungere i propri obiettivi in un ambiente sconosciuto.

  4. 03:00:00 - 04:00:00 Nella Parte 4, noi scopri come calcolare il guadagno di informazioni per un nodo padre, un nodo figlio e un diverso tipo di strada. L'entropia è calcolata per il lato destro e risulta essere zero, indicando che non c'è incertezza. Quando la strada è pianeggiante, la velocità dell'auto è elevata, indicando che non vi è incertezza in queste informazioni. Quando la strada è ripida, la velocità dell'auto può essere bassa o alta, a indicare che le informazioni non sono specifiche per un particolare tipo di strada.

  5. 04:00:00 - 04:50:00 Nella parte 5, Edureka l'istruttore Kirill Eremenko fornisce una panoramica completa dell'intelligenza artificiale, coprendo le basi della programmazione, dei dati e dell'apprendimento automatico. Spiega come funzionano le reti neurali e come possono essere utilizzate per prevedere i prezzi delle azioni. Descrive inoltre i passaggi necessari per l'addestramento di una rete neurale, inclusa la preparazione dei dati, il partizionamento e il ridimensionamento. Infine, discute i parametri dell'architettura del modello per un sistema di intelligenza artificiale, incluso il numero di neuroni in ogni strato nascosto, la dimensione del bias e la funzione di costo.


Cronologia dettagliata per parti del videocorso

Parte 1

  • 00:00:00 Zulaikha di Edureka parla della storia dell'IA, dei diversi campi e concetti ad essa correlati, di come è nata l'IA, dei limiti della macchina apprendimento e quanto è necessario l'apprendimento profondo. Introduce anche il concetto di deep learning e mostra come può essere utilizzato per risolvere problemi del mondo reale. Infine, parla del modulo successivo, l'elaborazione del linguaggio naturale.

  • 00:05:00 L'intelligenza artificiale è la scienza e l'ingegneria per la creazione di macchine intelligenti in grado di eseguire compiti che normalmente richiederebbero l'intelligenza umana, come la percezione visiva, la parola riconoscimento, processo decisionale e traduzione tra lingue. I recenti progressi nella potenza di calcolo e negli algoritmi hanno permesso di integrare in modo più efficace l'intelligenza artificiale nella nostra vita quotidiana. Università, governi, start-up e grandi aziende tecnologiche stanno investendo le loro risorse nell'intelligenza artificiale perché credono che sia il futuro. L'intelligenza artificiale si sta sviluppando rapidamente sia come campo di studio che come economia.

  • 00:10:00 L'intelligenza artificiale viene utilizzata in vari campi, dalla finanza alla sanità e ai social media. L'intelligenza artificiale è diventata così importante che persino aziende come Netflix la stanno utilizzando.

  • 00:15:00 L'intelligenza artificiale è divisa in tre fasi e attualmente siamo nella fase debole dell'IA. L'intelligenza generale artificiale, o IA forte, è ancora lontana dall'essere raggiunta, ma se ciò accadesse, sarebbe una pietra miliare nella storia umana.

  • 00:20:00 Questa sezione introduce diversi tipi di intelligenza artificiale e poi discute diversi linguaggi di programmazione per l'IA. Python è considerato il miglior linguaggio per lo sviluppo dell'intelligenza artificiale e anche R è una scelta popolare. Altri linguaggi includono Python, Lisp, Prolog, C++, MATLAB, Julia e JavaScript.

  • 00:25:00 Python è un linguaggio di programmazione flessibile e facile da usare che sta diventando popolare nel campo dell'intelligenza artificiale. L'apprendimento automatico è una tecnica che consente alle macchine di apprendere dai dati per migliorare le loro previsioni.

  • 00:30:00 L'apprendimento automatico è un sottoinsieme dell'intelligenza artificiale che utilizza algoritmi per apprendere automaticamente e migliorare con l'esperienza. Il componente principale del processo di apprendimento automatico è un modello che viene addestrato utilizzando un algoritmo di apprendimento automatico.

  • 00:35:00 La differenza tra un algoritmo e un modello è che un algoritmo mappa tutte le decisioni che il modello deve prendere sulla base di un dato input, mentre un modello utilizzerà un algoritmo di apprendimento automatico per estrarre informazioni utili dall'input e fornire un risultato molto accurato. Abbiamo quindi una variabile predittore, che è qualsiasi caratteristica dei dati che può essere utilizzata per prevedere l'output. Quindi, nello stesso esempio, l'altezza sarà la variabile di risposta. La variabile di risposta è anche nota come variabile di destinazione o variabile di output. Questa è la variabile che stai tentando di prevedere utilizzando le variabili predittore. Pertanto, la variabile di risposta è la funzione o la variabile di output che deve essere prevista utilizzando le variabili predittore. Quindi abbiamo quelli che vengono chiamati i dati di addestramento. Incontrerai spesso i termini dati di "formazione" e "test" nel processo di apprendimento automatico. I dati di addestramento sono i dati utilizzati per creare il modello di machine learning. Quindi, nel processo di apprendimento automatico, quando si caricano i dati nella macchina, questi verranno divisi in due parti. La divisione dei dati in due sottoinsiemi è nota anche come suddivisione dei dati. Prenderai i dati di input, li dividerai in due parti.
  • 00:40:00 La raccolta dei dati è uno dei passaggi che richiedono più tempo nell'apprendimento automatico e se devi raccogliere i dati manualmente, ci vorrà molto di tempo. Ma fortunatamente, ci sono molte risorse online che forniscono set di dati estesi. Tutto quello che devi fare è il web scraping in cui devi solo scaricare i dati. Un sito di cui posso parlarti è Cargill. Quindi, se sei nuovo nell'apprendimento automatico, non preoccuparti della raccolta dei dati e di tutto il resto. Tutto quello che devi fare è andare su siti web come Cargill e scaricare il set di dati.

  • 00:45:00 L'apprendimento supervisionato è una tecnica in cui una macchina viene addestrata utilizzando dati ben etichettati. L'apprendimento supervisionato è simile al modo in cui gli insegnanti aiutano gli studenti a comprendere i concetti matematici.

  • 00:50:00 Nell'apprendimento supervisionato, il set di dati di addestramento contiene informazioni sull'aspetto degli oggetti, come le immagini di Tom e Jerry. Un algoritmo di apprendimento automatico viene addestrato su questo set di dati etichettato per apprendere come identificare e classificare le immagini. Nell'apprendimento non supervisionato, un algoritmo di apprendimento automatico non riceve dati etichettati, ma si addestra invece su dati non etichettati. Nell'apprendimento per rinforzo, un agente viene inserito in un ambiente e impara a comportarsi eseguendo azioni e osservando le ricompense ricevute per queste azioni.

  • 00:55:00 L'apprendimento automatico è costituito da tre tipi principali di apprendimento: apprendimento supervisionato, apprendimento non supervisionato e apprendimento per rinforzo. L'apprendimento supervisionato viene utilizzato per apprendere dati etichettati, l'apprendimento non supervisionato viene utilizzato per apprendere dati non etichettati e l'apprendimento per rinforzo viene utilizzato per apprendere azioni e ricompense. Esistono tre tipi di problemi che possono essere risolti con l'apprendimento automatico: regressione, classificazione e clustering. Esistono molti algoritmi che possono essere utilizzati per risolvere problemi di regressione, classificazione e clustering, ma i più comunemente utilizzati sono Regressione lineare, Regressione logistica, Support Vector Machine e Naive Bayes.


Parte 2

  • 01:00:00 L'intelligenza artificiale può essere utilizzata per risolvere problemi di classificazione, regressione e clustering. Algoritmi di apprendimento supervisionato come la regressione lineare vengono utilizzati per prevedere variabili target come l'indice dei prezzi delle case in base ai dati di input.

  • 01:05:00 La regressione lineare è un algoritmo di apprendimento supervisionato utilizzato per prevedere una variabile dipendente continua, y, in base ai valori della variabile indipendente, x. La regressione lineare inizia costruendo una relazione tra y e x utilizzando il miglior adattamento lineare, quindi calcola la pendenza e lo spostamento y della linea di regressione lineare.

  • 01:10:00 L'istruttore di Edureka Michael Kennedy dimostra la regressione lineare su un set di dati di condizioni meteorologiche registrate in giorni diversi in tutto il mondo. Mostra come importare le librerie richieste e leggere i dati, come tracciare i punti dati e trovare una relazione lineare tra le variabili. Discute anche del messaggio di avviso e spiega che lo scopo principale di questa dimostrazione sono le previsioni del tempo.

  • 01:15:00 Questa lezione spiega come utilizzare la regressione lineare per prevedere la temperatura massima media per un determinato intervallo di temperatura. Il modello viene addestrato suddividendo il set di dati in set di addestramento e test e importando la classe di regressione lineare appropriata. Dopo il tutorial, l'istruttore mostra come calcolare la pendenza e lo spostamento y per la linea corrispondente ai dati.

  • 01:20:00 Spiegazione di come utilizzare l'algoritmo di regressione per prevedere il punteggio percentuale di un set di dati di test. Il video mostra anche come tracciare i risultati e confrontarli con i valori effettivi.

  • 01:25:00 La regressione logistica è una tecnica utilizzata per prevedere la variabile dipendente, y, data la variabile indipendente, x, in modo tale che la variabile dipendente sia un variabile categoriale, ovvero l'output è una variabile categoriale. Il risultato della regressione logistica è sempre categorico e la tecnica di base utilizzata nella regressione logistica è molto simile alla regressione lineare.

  • 01:30:00 La regressione logistica viene utilizzata per prevedere la probabilità che un risultato sia 1 o 0 utilizzando l'equazione Pr(X = 1) = beta0 + beta1*X. La funzione logistica, o curva a S, garantisce il rispetto dell'intervallo tra zero e uno.

  • 01:35:00 L'algoritmo dell'albero decisionale è un algoritmo di apprendimento supervisionato facile da capire. Consiste in un nodo radice (dove si verifica la prima divisione), nodi interni (dove vengono prese le decisioni) e nodi foglia (dove vengono archiviati i risultati). I rami tra i nodi sono rappresentati da frecce e l'algoritmo funziona attraversando i dati attraverso l'albero fino a raggiungere un nodo terminale.

  • 01:40:00 L'algoritmo "ID3" è l'algoritmo utilizzato per generare l'albero decisionale. I passaggi necessari per utilizzare questo algoritmo sono: (1) selezionare l'attributo migliore, (2) assegnare quell'attributo come variabile di decisione per il nodo radice, (3) creare un figlio per ogni valore della variabile di decisione e (4) etichettare la classificazione dei nodi foglia. Se i dati sono classificati correttamente, l'algoritmo si arresta; in caso contrario, l'algoritmo continua a scorrere l'albero, modificando la posizione delle variabili predittive o del nodo radice. L'attributo migliore è quello che separa più efficacemente i dati in classi diverse. L'entropia e il guadagno di informazioni vengono utilizzati per determinare quale variabile separa meglio i dati. La misura più alta del guadagno di informazioni verrà utilizzata per partizionare i dati nel nodo radice.

  • 01:45:00 In questo video tutorial sull'intelligenza artificiale per principianti, impariamo come calcolare il guadagno di informazioni per un nodo padre, un nodo figlio e un diverso tipo di strada. L'entropia per il lato destro viene calcolata e risulta essere zero, il che indica l'assenza di incertezza. Quando la strada è diritta, la velocità del veicolo è elevata, indicando che non vi è incertezza in queste informazioni. Quando la strada è ripida, la velocità del veicolo può essere lenta o elevata, a indicare che le informazioni non sono specifiche per un particolare tipo di strada.

  • 01:50:00 Discussione su come l'entropia viene utilizzata per calcolare il guadagno di informazioni in un albero decisionale. Calcolo dell'entropia per il nodo padre, della media ponderata per i nodi figlio e del guadagno di informazioni per ogni variabile predittore. L'entropia per la variabile del tipo di strada è zero, il che significa che non c'è incertezza nel set di dati. Il guadagno di informazioni per la variabile del tipo di strada è 0,325, il che significa che il set di dati contiene poche informazioni sulla variabile del tipo di strada. Il guadagno di informazioni per la variabile ostacolo è zero, il che significa che la variabile ostacolo non influisce sull'albero decisionale. Il guadagno di informazioni per la variabile del limite di tasso è uno, il che significa che la variabile del limite di tasso ha l'impatto maggiore sull'albero decisionale.

  • 01:55:00 In una foresta casuale, vengono costruiti diversi alberi decisionali, che vengono poi combinati per creare una previsione più precisa e stabile. Il bootstrap viene utilizzato per creare un piccolo set di dati che viene quindi utilizzato per addestrare alberi decisionali. Random Forest è più accurato di Decision Trees nella previsione di nuovi dati perché riduce l'overfitting (memorizzazione dei dati di addestramento).


Parte 3

  • 02:00:00 Questo video spiega come creare un albero decisionale utilizzando una foresta casuale. In primo luogo, vengono selezionate casualmente due o tre variabili da utilizzare in ciascun nodo dell'albero decisionale, quindi vengono calcolati il guadagno di informazioni e l'entropia per ciascuna di esse. Questo processo viene quindi ripetuto per ogni nodo di diramazione successivo, creando un albero decisionale che prevede la classe di output in base alle variabili predittive selezionate. Infine, torniamo al primo passaggio e creiamo un nuovo albero decisionale basato su un sottoinsieme delle variabili originali. Questo processo viene ripetuto finché non vengono creati più alberi decisionali, ognuno dei quali prevede la classe di output in base a diverse variabili predittive. Infine, l'accuratezza del modello viene valutata utilizzando il set di dati out-of-bag.

  • 02:05:00 In questo video, l'istruttore di Edureka Michael Kennedy spiega come funziona Random Forest. Innanzitutto, viene creato un set di dati bootstrap per garantire previsioni accurate. Viene quindi creato un albero decisionale utilizzando un insieme casuale di predittori. Questo processo viene ripetuto centinaia di volte fino alla creazione del modello. L'accuratezza del modello può essere calcolata utilizzando il campionamento fuori dal sacco.

  • 02:10:00 L'algoritmo del vicino più vicino K è un algoritmo di apprendimento supervisionato che classifica un nuovo punto dati in una classe di destinazione o in una classe di output a seconda delle caratteristiche di i suoi punti dati vicini.

  • 02:15:00 L'algoritmo KNN è un algoritmo di apprendimento supervisionato che utilizza i dati per prevedere l'output di nuovi punti dati di input. Si basa sulla somiglianza delle caratteristiche con i punti dati vicini e non è parametrico. L'algoritmo KNN è pigro e può ricordare il training set invece di apprendere la funzione discriminante.

  • 02:20:00 L'istruttore di Edureka Alan C spiega le basi degli algoritmi di classificazione KNN e SVM. Ogni algoritmo ha i suoi punti di forza e SVM è una scelta popolare per la classificazione grazie alla sua capacità di gestire dati non lineari.
  • 02:25:00 Considerando l'uso di vari algoritmi di classificazione utilizzando Python. Innanzitutto, i dati vengono letti e raggruppati in tipi di frutta in base alle loro etichette. Quindi vari algoritmi vengono implementati e testati sui dati. Infine, i risultati vengono mostrati e discussi.

  • 02:30:00 Discutere l'importanza della visualizzazione nell'apprendimento automatico e spiegare l'uso di boxplot, istogrammi e scaler. Discutendo anche dell'importanza di suddividere i dati in set di addestramento e test.

  • 02:35:00 Questo video illustra l'uso della regressione logistica, degli alberi decisionali e delle macchine vettoriali di supporto in un problema di classificazione. Il classificatore di regressione logistica ha fornito un buon risultato sul set di dati di addestramento, ma è stato meno accurato sul set di dati di test. Il classificatore dell'albero decisionale era più accurato sul set di dati di addestramento, ma ha funzionato peggio sul set di dati di test. La macchina del vettore di supporto ha dato buoni risultati sia sui set di dati di addestramento che di test.

  • 02:40:00 L'algoritmo di clustering K-means è un algoritmo di apprendimento automatico non supervisionato utilizzato per raggruppare elementi o punti dati simili in cluster. Viene utilizzato per il marketing mirato, come la promozione di un prodotto specifico a un pubblico specifico.

  • 02:45:00 Il metodo del gomito è un metodo semplice utilizzato per trovare il valore ottimale di k per un particolare problema. Il metodo del gomito inizia calcolando la somma degli errori al quadrato per diversi valori di k e quindi visualizzandoli. All'aumentare di k, l'errore diminuisce, indicando che più cluster determinano una minore distorsione. Il valore ottimale di k si trova nel punto del grafico in cui la diminuzione dell'errore rallenta, formando una forma a "gomito".

  • 02:50:00 Il metodo del gomito è un modo semplice per scegliere il valore K ottimale per l'algoritmo K-mean. Questo metodo inizia calcolando la somma degli errori al quadrato per diversi valori di K e tracciandoli su un grafico. All'aumentare di K, l'errore diminuisce, indicando che più cluster determinano una minore distorsione. Il valore K ottimale per K-medie è nel punto in cui la distorsione diminuisce drasticamente. Questo metodo può essere facilmente implementato utilizzando le funzioni di libreria standard. In questo video, utilizziamo un'immagine di esempio dal set di dati scikit-learn per dimostrare il metodo del gomito.

  • 02:55:00 Questo video spiega come funziona l'algoritmo di clustering delle medie K e come può essere utilizzato per comprimere set di dati di grandi dimensioni fino a un piccolo numero di dati significativi valori. Considera inoltre che l'apprendimento per rinforzo è un diverso tipo di apprendimento automatico che aiuta gli agenti a imparare come raggiungere i propri obiettivi in un ambiente sconosciuto.


Parte 4

  • 03:00:00 Un agente di apprendimento per rinforzo in un videogioco, come Counter Strike, cerca di massimizzare la sua ricompensa intraprendendo l'azione migliore in base alla sua attuale stato e ambiente. Ad esempio, se un agente si avvicina a una tigre, potrebbe abbassare la sua ricompensa prevista per tenere conto della possibilità di essere ucciso. Questi concetti, come azione, stato, ricompensa e gamma, saranno discussi più dettagliatamente nelle prossime diapositive.

  • 03:05:00 In questo video, l'istruttore Edureka Adriano Ferreira discute i concetti di esplorazione e sfruttamento, un approccio matematico per risolvere il processo decisionale di Markov e il più breve problema di percorso. Quindi prosegue mostrando un esempio di come scegliere una strategia per risolvere un problema utilizzando la strategia avida e un esempio di come scegliere una strategia utilizzando la strategia di esplorazione.

  • 03:10:00 L'istruttore di Edureka spiega le basi dell'apprendimento per rinforzo, inclusi i tre metodi principali: basato sulla politica, basato sul valore e basato sull'azione . Quindi dimostra l'algoritmo Q-learning, che è un importante algoritmo di apprendimento per rinforzo. L'obiettivo di Q-learning è trovare lo stato con la ricompensa più alta e la terminologia utilizzata in Q-learning include stato e azione.

  • 03:15:00 Spiegazione delle basi dell'intelligenza artificiale, incluso come funziona e come creare un agente che possa imparare dall'esperienza. Il video spiega come la matrice delle ricompense e la matrice Q uniforme vengono utilizzate per determinare lo stato attuale dell'agente e le ricompense future. Gamma viene utilizzato per controllare l'esplorazione e l'utilizzo dell'agente.

  • 03:20:00 Il video racconta i concetti di base dell'intelligenza artificiale, incluso come la matrice Q di un agente immagazzina la sua memoria e come aggiornarla. Passa quindi a come fare lo stesso in Python usando le librerie NumPy e R.

  • 03:25:00 Il video dimostra come creare un sistema di intelligenza artificiale (AI) insegnando ai principianti come utilizzare il codice per creare una matrice di ricompensa e un matrice Q e impostare il parametro gamma. Il video mostra quindi come addestrare il sistema di intelligenza artificiale eseguendolo per 10.000 iterazioni e come testare il sistema scegliendo uno stato casuale e cercando di raggiungere lo stato target, che è la stanza numero cinque.

  • 03:30:00 L'apprendimento automatico è un campo di studio che aiuta i computer a imparare dai dati. Tuttavia, non è in grado di gestire dati dimensionali elevati. Un altro limite dell'apprendimento automatico sono i crescenti requisiti di potenza di calcolo con l'aumentare del numero di misurazioni.

  • 03:35:00 L'intelligenza artificiale è limitata nella sua capacità di essere utilizzata per il riconoscimento delle immagini perché le immagini contengono molti pixel e hanno molti dati arroganti. L'estrazione delle funzionalità è una parte importante del flusso di lavoro di machine learning perché l'efficacia di un algoritmo dipende dalla profondità con cui il programmatore ha analizzato i dati. Il deep learning imita il modo in cui funziona il nostro cervello e può autoimparare a concentrarsi sulle caratteristiche giuste, richiedendo pochissima guida da parte del programmatore.

  • 03:40:00 Il deep learning è un insieme di tecniche di machine learning che ti consentono di apprendere in modo efficiente le gerarchie di funzionalità nei dati. Il deep learning consiste in una rete neurale di neuroni artificiali che funzionano proprio come il nostro cervello. Il numero di strati e il numero di percettroni in ogni strato dipende completamente dall'attività o dall'applicazione.

  • 03:45:00 Spiegando come il peso viene utilizzato nel calcolo della funzione di attivazione. Questa funzione di attivazione determina quindi quanto di un particolare input (X uno) viene utilizzato per creare un output (uno).

  • 03:50:00 Un percettrone multistrato ha la stessa struttura di un percettrone a strato singolo, ma con uno o più strati nascosti. I pesi sono inizialmente assegnati in modo casuale ed è necessario che i pesi siano corretti per minimizzare l'errore. La propagazione all'indietro è un modo per aggiornare i pesi per ridurre l'errore.

  • 03:55:00 L'istruttore di Edureka Emmanuel spiega al pubblico come calcolare l'output di un modello utilizzando la retropropagazione. Innanzitutto, calcolano un errore che mostra dove il modello è impreciso. Quindi utilizzano la retropropagazione dell'errore per aggiornare i pesi in modo da ridurre al minimo l'errore. Se l'errore rimane alto, smettono di aggiornare i pesi e trovano il minimo di perdita globale, quindi si fermano.


Parte 5

  • 04:00:00 La propagazione all'indietro è una tecnica matematica utilizzata per regolare i pesi della rete per ridurre l'errore nel livello di output. La discesa del gradiente viene utilizzata per ottimizzare le prestazioni di propagazione in avanti della rete. Le reti neurali ricorrenti sono un tipo di reti neurali artificiali che possono essere utilizzate per riconoscere modelli in una sequenza di dati.

  • 04:05:00 Spiega come funzionano le reti neurali profonde e come possono essere utilizzate per prevedere i prezzi delle azioni. Copre le basi delle reti neurali in avanti, dei percettroni multistrato e delle reti neurali ricorrenti.

  • 04:10:00 Descrive i passaggi necessari per addestrare una rete neurale, inclusa la preparazione dei dati, il partizionamento e il ridimensionamento. Viene anche discusso l'uso di segnaposti e inizializzatori.

  • 04:15:00 Vengono discussi i parametri dell'architettura del modello per un sistema di intelligenza artificiale, incluso il numero di neuroni in ogni strato nascosto, la dimensione del bias e il funzione di costo. Spiega quindi come la funzione di attivazione trasforma gli strati nascosti e come l'output viene trasposto e valutato.

  • 04:20:00 L'istruttore Edureka Kirill Eremenko spiega le basi del deep learning, compreso il ruolo delle reti neurali, degli ottimizzatori e degli inizializzatori. Spiega anche come funziona l'addestramento in mini-batch e come vengono utilizzate le epoche per addestrare una rete neurale.

  • 04:25:00 Dimostrazione del deep learning confrontando i valori previsti del modello con gli effettivi obiettivi osservati, che sono memorizzati in y. TensorFlow viene quindi utilizzato per aggiornare i fattori di ponderazione e bias. Il modello viene quindi addestrato sui dati del test e la sua previsione viene confrontata con i valori effettivi. Dopo 10 epoche, l'accuratezza del modello risulta essere molto vicina al valore effettivo.

  • 04:30:00 Il text mining o analisi del testo è il processo di estrazione di informazioni significative dal testo in linguaggio naturale. Il text mining è un vasto campo che utilizza la PNL per eseguire il text mining e l'analisi dei dati di testo. La PNL fa parte del text mining che aiuta le macchine a comprendere i dati come zero e uno. L'elaborazione del linguaggio naturale è ciò che i computer e gli smartphone utilizzano per comprendere la nostra lingua, sia parlata che scritta. Esempi di applicazioni di text mining e di elaborazione del linguaggio naturale includono il rilevamento dello spam, la tipizzazione predittiva e l'analisi del sentiment.

  • 04:35:00 Discute l'importanza della tokenizzazione, dello stemming e della lemmatizzazione nell'elaborazione del linguaggio naturale. Spiega che la tokenizzazione suddivide una frase in parole, lo stemming riduce le parole alla loro forma base e la lemmatizzazione ricollega le parole al loro lemma. Le parole d'arresto sono parole comuni che vengono rimosse per concentrarsi su parole importanti.

  • 04:40:00 Questo tutorial Edureka spiega come eseguire l'elaborazione del linguaggio naturale utilizzando NaiveBayesClassifier, che è una libreria che contiene tutte le funzioni necessarie per eseguire questa operazione . Quindi dimostrano il processo eseguendo un'analisi del sentimento sul set di dati della recensione del film. Il classificatore è stato in grado di individuare quali recensioni erano positive e quali negative.

  • 04:45:00 Il programma Edureka Machine Learning Engineer comprende nove moduli con oltre 200 ore di apprendimento interattivo che coprono la programmazione Python, l'apprendimento automatico, l'elaborazione del linguaggio naturale (NLP ), modellazione grafica, deep learning e Spark. Il curriculum include algoritmi supervisionati e non supervisionati, statistiche e serie temporali, deep learning e Spark. Lo stipendio medio annuo per un ingegnere di machine learning è di oltre $ 134.000.

  • 04:50:00 Viene presentata un'introduzione completa all'intelligenza artificiale, comprese le basi della programmazione, dell'elaborazione dei dati e dell'apprendimento automatico. Dopo aver completato questo modulo introduttivo, lo studente sarà in grado di procedere con corsi aggiuntivi volti ad approfondire la comprensione di questi argomenti.
 

Il corso Introduzione al Deep Learning del MIT è progettato per l'apprendimento rapido e intensivo dei principi fondamentali del deep learning

Il corso Introduzione al Deep Learning del MIT è progettato per fornire un'istruzione rapida e intensiva sui principi fondamentali del deep learning, con applicazioni nella visione artificiale, nell'elaborazione del linguaggio naturale, nella biologia e in altri campi. All'interno del corso, gli studenti acquisiranno una conoscenza di base degli algoritmi di deep learning ed esperienza pratica nella costruzione di reti neurali in TensorFlow. Il programma culmina in un concorso di proposte di progetto, che viene valutato dallo staff e dagli sponsor del settore. Si presuppone che gli studenti abbiano dimestichezza con l'analisi matematica (cioè in grado di fare le derivate) e l'algebra lineare (cioè in grado di moltiplicare matrici), ma tutto il resto verrà spiegato man mano che il corso procede. L'esperienza di lavoro con Python è utile ma non richiesta.



Lezione 1. MIT Introduzione al Deep Learning | 6.S191

In questo video, il MIT Alexander Amini introduce le basi del deep learning con una discussione sul perceptron. Continua mostrando come costruire una rete neurale da zero, semplificando il processo utilizzando una libreria chiamata TensorFlow. Termina il video discutendo su come creare una rete neurale a livello singolo e a due livelli con un livello di output.

  • 00:00:00 In questo corso di introduzione al deep learning di una settimana, gli studenti apprendono le basi del campo e acquisiscono esperienza pratica utilizzando laboratori di software di deep learning. Il corso è falso, ma il video e l'audio sono effettivamente generati utilizzando tecniche di deep learning. Ciò consente all'istruttore di mostrare esempi realistici e di alta qualità di deep learning in azione.

  • 00:05:00 Questo video introduce le basi del deep learning, inclusi la terminologia e i concetti coinvolti. La classe è divisa tra lezioni tecniche e laboratori software, con il progetto finale incentrato su un'idea creativa e innovativa. Il video termina con una breve panoramica degli istruttori del corso e come contattarli in caso di domande.

  • 00:10:00 L'obiettivo principale del deep learning è apprendere le funzionalità dai dati, cosa che viene eseguita addestrando reti neurali profonde utilizzando strati gerarchici di neuroni. Ciò consente un'enorme parallelizzazione, nonché la capacità di rilevare le caratteristiche gerarchiche.

  • 00:15:00 In questa lezione imparerai i concetti tecnici alla base del deep learning, tra cui la funzione di attivazione del sigmoide e la funzione relu. Vedrai anche come le funzioni di attivazione vengono utilizzate nelle moderne reti neurali per introdurre la non linearità. Infine, ti verrà mostrato come utilizzare l'equazione del percettrone per calcolare la combinazione ponderata di punti dati di input.

  • 00:20:00 Alexander Amini introduce le basi del deep learning con una discussione sul perceptron. Continua mostrando come costruire una rete neurale da zero, semplificando il processo utilizzando una libreria chiamata TensorFlow. Termina il video discutendo su come creare una rete neurale a livello singolo e a due livelli con un livello di output.

  • 00:25:00 In questa sezione descrive come funziona il deep learning e come costruire una rete neurale per prevedere se uno studente passerà o fallirà una lezione. La rete non è addestrata correttamente e, di conseguenza, la probabilità di passaggio prevista non è corretta.

  • 00:30:00 In questo video, Alexander Amini discute le basi del deep learning e come ottimizzare una rete neurale utilizzando la discesa del gradiente. Spiega che il deep learning comporta l'addestramento di una rete per migliorare le sue previsioni basate sui dati. L'obiettivo è trovare pesi (w) che riducano al minimo l'errore della rete in media, in tutti i set di dati.

  • 00:35:00 Nell'apprendimento profondo, la propagazione all'indietro è un processo di propagazione dei gradienti fino all'input di una rete neurale per determinare come ogni peso deve cambiare per ridurne la perdita. In pratica, l'utilizzo di tassi di apprendimento che non sono né troppo piccoli né troppo grandi evita i minimi locali e comunque converge verso un ottimo globale.

  • 00:40:00 Alexander Amini spiega come addestrare reti neurali profonde utilizzando la discesa del gradiente, i tassi di apprendimento adattivo e il batch. Discute anche dei pericoli dell'overfitting e di come mitigarlo.

  • 00:45:00 In questa lezione, i punti principali trattati sono stati gli elementi costitutivi fondamentali delle reti neurali, come completare il puzzle e addestrarli e come utilizzare una funzione di perdita. Nella prossima conferenza, Ava parlerà della modellazione di sequenze profonde utilizzando rnn e un nuovo ed entusiasmante tipo di modello chiamato trasformatore.
MIT Introduction to Deep Learning (2022) | 6.S191
MIT Introduction to Deep Learning (2022) | 6.S191
  • 2022.03.11
  • www.youtube.com
MIT Introduction to Deep Learning 6.S191: Lecture 1Foundations of Deep LearningLecturer: Alexander AminiFor all lectures, slides, and lab materials: http://i...
 

MIT 6.S191 (2022): Reti neurali ricorrenti e trasformatori



Lezione 2. MIT 6.S191 (2022): Reti neurali ricorrenti e trasformatori

Questa sezione della conferenza del MIT fornisce un'introduzione alla modellazione sequenziale, spiegando l'importanza di gestire dati sequenziali con esempi come la previsione della traiettoria di una palla. Le reti neurali ricorrenti (RNN) vengono introdotte come mezzo per gestire la modellazione di sequenze, con la lezione che spiega come le RNN utilizzano una memoria interna (o stato) per catturare la storia precedente che informa le previsioni presenti e future. La conferenza discute anche di come gli RNN possono essere srotolati nel tempo per rendere più esplicite le matrici di peso e introduce problemi di progettazione e criteri per la modellazione di sequenze. Il video affronta anche problemi comuni con gli RNN, come il problema del gradiente di fuga, e introduce il concetto di attenzione come una potenziale soluzione che consente al modello di occuparsi delle parti più importanti dell'input senza ricorrenza. La conferenza si conclude con una discussione su come i meccanismi di auto-attenzione possono essere applicati a domini oltre l'elaborazione del linguaggio, come in biologia e visione artificiale.

  • 00:00:00 In questa sezione del video, la lezione introduce il concetto di modellazione sequenziale e la sua importanza nella gestione di attività che coinvolgono dati sequenziali. Il docente inizia con un semplice esempio di previsione della traiettoria di una palla, in cui l'aggiunta dei dati sulla posizione precedente della palla migliora notevolmente la previsione. I dati sequenziali sono tutti intorno a noi in varie forme come audio, testo, segnali ECG e prezzi delle azioni. Il docente spiega quindi la differenza tra modelli feed-forward e modelli di sequenza e fornisce esempi di applicazioni del mondo reale in cui è richiesta la modellazione di sequenza. Per costruire una comprensione fondamentale della modellazione della sequenza, il docente rivisita il concetto di percettrone e dimostra passo dopo passo come modificarlo per gestire i dati sequenziali.

  • 00:05:00 In questa sezione, il video discute il concetto di reti neurali ricorrenti (RNN) e come gestiscono i dati sequenziali. L'uscita di un RNN in una particolare fase temporale dipende non solo dall'ingresso in quella fase temporale, ma anche dalla memoria della fase temporale precedente. Questa memoria cattura la storia precedente di ciò che è accaduto in precedenza nella sequenza e viene trasmessa da ogni fase temporale precedente. Il video spiega come gli RNN utilizzano una memoria interna (o stato) per acquisire questa nozione di memoria e come l'output in un particolare intervallo temporale è una funzione sia dell'input corrente che della memoria passata. Il video descrive anche come questi tipi di neuroni possono essere definiti e rappresentati come una relazione di ricorrenza.

  • 00:10:00 In questa sezione della lezione, l'istruttore spiega il concetto di relazione di ricorrenza nelle reti neurali e come forma l'idea chiave dietro le reti neurali ricorrenti (RNN). L'RNN mantiene uno stato interno, h di t, che viene aggiornato ad ogni passo temporale applicando una relazione di ricorrenza che funziona come una combinazione sia dell'input corrente che dello stato precedente. I parametri di questa funzione sono rappresentati da un insieme di pesi appresi durante l'allenamento. L'RNN prevede l'output dopo aver elaborato tutte le parole e i punti temporali nella sequenza. Il vettore di output, y di t, viene generato facendo passare lo stato interno attraverso una matrice di pesi e applicando una non linearità. La conferenza fornisce una rappresentazione visiva di come il ciclo RNN si alimenta su se stesso e può essere srotolato nel tempo.

  • 00:15:00 In questa sezione, il relatore spiega come un RNN può essere srotolato nel tempo per rendere più esplicite le matrici di peso che vengono calcolate applicate all'input. Le matrici dei pesi vengono riutilizzate in tutte le singole fasi temporali. Il relatore include anche un esempio di come implementare un RNN da zero e definisce la funzione di chiamata, che definisce il passaggio in avanti attraverso il modello RNN. Il relatore sottolinea l'utilità degli RNN in una varietà di applicazioni e motiva una serie di criteri di progettazione concreti da tenere a mente.

  • 00:20:00 In questa sezione, il relatore discute problemi di progettazione e criteri per la modellazione di sequenze, che includono la gestione di sequenze di lunghezza variabile, il monitoraggio delle dipendenze a lungo termine, la conservazione e il ragionamento sull'ordine e la condivisione di parametri tra le sequenze. Il relatore spiega l'importanza degli incorporamenti per rappresentare il linguaggio come vettori numerici che possono essere immessi in una rete neurale, con un esempio che è un incorporamento one-hot in cui i vettori binari indicano l'identità di una parola. Il relatore suggerisce inoltre di utilizzare modelli di apprendimento automatico, come le reti neurali, per apprendere gli incorporamenti. Nel complesso, questi concetti servono come base per le reti neurali ricorrenti e l'emergente architettura del trasformatore, che sarà discussa più avanti nella lezione.

  • 00:25:00 In questa sezione viene introdotto il concetto di incorporamenti appresi, ovvero la mappatura del significato delle parole in una codifica più informativa che consente a parole simili con significati simili di avere incorporamenti simili. Le reti neurali ricorrenti (RNN) sono in grado di gestire sequenze di lunghezze variabili, acquisire e modellare dipendenze a lungo termine e mantenere un senso dell'ordine, rendendole utili per attività di modellazione di sequenze come la previsione della parola successiva in una frase. L'algoritmo di backpropagation attraverso il tempo viene introdotto come mezzo per l'addestramento degli RNN, che comporta errori di backpropagation in ogni fase temporale e l'esecuzione di moltiplicazioni di matrici, con conseguenti potenziali problemi computazionali.

  • 00:30:00 In questa sezione viene discusso il problema dell'esplosione dei gradienti e dei gradienti che svaniscono nei modelli neurali ricorrenti e vengono presentate tre soluzioni per mitigare il problema dei gradienti che svaniscono. Il problema del gradiente di fuga può indurre un modello neurale a dare la priorità alle dipendenze a breve termine rispetto a quelle a lungo termine, portando a previsioni imprecise. Le tre soluzioni discusse sono la scelta di una funzione di attivazione appropriata, l'inizializzazione intelligente dei pesi e l'utilizzo di un'unità ricorrente più complessa come una rete di memoria a lungo termine (LSTM) in grado di controllare selettivamente il flusso di informazioni attraverso le sue varie porte. La rete LSTM utilizza più porte che interagiscono per mantenere le informazioni rilevanti ed eliminare le informazioni irrilevanti.

  • 00:35:00 In questa sezione del video, il docente discute i fondamenti delle reti neurali ricorrenti (RNN) e della loro architettura, inclusa l'importanza delle strutture chiuse e la mitigazione del problema del gradiente in via di estinzione. Forniscono quindi esempi concreti di come possono essere utilizzati gli RNN, inclusa la previsione della nota musicale successiva in una sequenza per generare nuova musica e la classificazione del sentimento dei tweet. Il docente evidenzia anche i limiti degli RNN, come il collo di bottiglia della codifica, l'inefficienza e la potenziale perdita di informazioni nella codifica.

  • 00:40:00 In questa sezione vengono discussi i limiti delle reti neurali ricorrenti (RNN) nella gestione di lunghe sequenze, in particolare il collo di bottiglia causato dalla relazione di ricorrenza. Il concetto di attenzione viene introdotto come potenziale soluzione a questo problema, consentendo al modello di identificare e prestare attenzione alle parti più importanti dell'input. L'attenzione è spiegata come un meccanismo emergente e potente per le moderne reti neurali, in particolare nel contesto dell'architettura del trasformatore. L'intuizione alla base dell'auto-attenzione viene sviluppata considerando la capacità degli esseri umani di identificare parti importanti di un'immagine ed estrarre caratteristiche da quelle regioni con alta attenzione.

  • 00:45:00 In questa sezione viene spiegato il concetto di ricerca e come si collega all'auto-attenzione nelle reti neurali come i trasformatori. L'idea è di occuparsi delle caratteristiche più importanti nella sequenza di input senza ricorrenza, facendo uso di incorporamenti che hanno una qualche nozione di posizione. Il processo prevede l'estrazione della query, della chiave e delle caratteristiche del valore, che sono tre trasformazioni distinte dello stesso incorporamento posizionale. Il meccanismo di attenzione calcola le sovrapposizioni tra la query e la chiave e il valore estratto si basa su questo calcolo, che consente alla rete di identificare e occuparsi delle parti più rilevanti dell'input.

  • 00:50:00 In questa sezione del video, l'istruttore spiega come funziona il meccanismo dell'attenzione nelle reti neurali. Il meccanismo dell'attenzione calcola la ponderazione dell'attenzione da prestare alle diverse aree dell'input. Ciò può essere ottenuto calcolando la somiglianza tra query e vettori chiave utilizzando un prodotto scalare e ridimensionandolo. La funzione softmax viene quindi utilizzata per schiacciare ogni valore in modo che sia compreso tra 0 e 1. La matrice risultante è la ponderazione dell'attenzione, che riflette la relazione tra i componenti di input. Questa matrice di ponderazione viene utilizzata per estrarre caratteristiche con elevata attenzione e più teste di attenzione individuali possono essere utilizzate per prestare attenzione a diversi aspetti dell'input. Questo meccanismo di attenzione è uno strumento potente, come esemplificato dal suo utilizzo nelle architetture dei trasformatori che hanno una varietà di applicazioni, in particolare nell'elaborazione del linguaggio.

  • 00:55:00 In questa sezione, il relatore discute di come i meccanismi di auto-attenzione possono essere applicati a domini oltre l'elaborazione del linguaggio, come in biologia con l'architettura della rete neurale Alpha Fold 2 per la previsione della struttura proteica e nella visione artificiale con Vision Transformers . Il relatore riassume anche la discussione precedente sulle attività di modellazione delle sequenze e su come gli RNN siano potenti per l'elaborazione di dati sequenziali e su come i meccanismi di auto-attenzione possano modellare efficacemente le sequenze senza la necessità di ricorrenza. L'ora rimanente della lezione è dedicata alle sessioni di laboratorio software in cui gli studenti possono scaricare i laboratori dal sito Web del corso ed eseguire i blocchi di codice per completare i laboratori, con orari di ricevimento virtuali e di persona disponibili per l'assistenza.
MIT 6.S191 (2022): Recurrent Neural Networks and Transformers
MIT 6.S191 (2022): Recurrent Neural Networks and Transformers
  • 2022.03.18
  • www.youtube.com
MIT Introduction to Deep Learning 6.S191: Lecture 2Recurrent Neural NetworksLecturer: Ava SoleimanyJanuary 2022For all lectures, slides, and lab materials: h...
 

MIT 6.S191: reti neurali convoluzionali



Lezione 3. MIT 6.S191 (2022): Convolutional Neural Networks

Questo video introduce le reti neurali convoluzionali, un tipo di algoritmo di apprendimento automatico utilizzato per rilevare le caratteristiche nelle immagini. Il video spiega che utilizzando un numero inferiore di funzionalità, la rete può classificare le immagini in modo più accurato. Il video illustra anche come utilizzare un cnn per rilevare e localizzare un numero di oggetti in un'immagine.

  • 00:00:00 In questo video, Alexander Amini discute di come il deep learning abbia rivoluzionato la visione artificiale e le applicazioni e di come un esempio sia il riconoscimento facciale dei dati.

  • 00:05:00 In questa sezione discute di come la visione artificiale viene utilizzata per riconoscere e classificare le immagini. Discute anche su come rilevare le caratteristiche nelle immagini e su come classificare le immagini utilizzando le caratteristiche.

  • 00:10:00 Questa parte illustra come utilizzare le reti neurali convoluzionali per rilevare le caratteristiche nelle immagini. Il video spiega che appiattendo un'immagine, la struttura spaziale viene persa, rendendo più difficile per la rete apprenderne le caratteristiche. Il video spiega anche che utilizzando patch di pesi, la rete può preservare la struttura spaziale e facilitarne l'apprendimento delle caratteristiche.

  • 00:15:00 Le reti neurali convoluzionali sono un tipo di algoritmo di apprendimento automatico utilizzato per rilevare le caratteristiche nelle immagini. L'algoritmo funziona facendo scorrere una piccola patch su un'immagine e rilevando le caratteristiche presenti nella patch. I pesi per la patch vengono quindi determinati addestrando la rete su una serie di esempi.

  • 00:20:00 Le reti neurali convoluzionali sono un tipo di algoritmo di apprendimento automatico che può essere utilizzato per estrarre caratteristiche dalle immagini. L'obiettivo della convoluzione è prendere come input due immagini e produrre una terza immagine che preservi la relazione spaziale tra i pixel.

  • 00:25:00 In questo video, il presentatore descrive come le reti neurali convoluzionali vengono implementate nelle reti neurali e come sono strutturate. Spiega anche come funzionano le tre operazioni principali in una rete neurale convoluzionale: convoluzione, non linearità e raggruppamento.

  • 00:30:00 Questo video introduce le reti neurali convoluzionali, un nodo nella pipeline di machine learning connesso ad altri nodi all'i-esimo output. I livelli convoluzionali sono definiti da parametri che definiscono la disposizione spaziale dell'output di un livello. L'obiettivo di uno strato convoluzionale è apprendere le caratteristiche gerarchiche da uno strato convoluzionale a quello successivo. Questa operazione viene eseguita impilando tre passaggi: estrazione delle funzionalità, downscaling spaziale e pooling massimo, in tandem. Infine, il video mostra il codice per una prima rete neurale convoluzionale end-to-end.

  • 00:35:00 Alexander Amini discute di come le reti neurali convoluzionali possono essere utilizzate per attività di classificazione delle immagini. Spiega che utilizzando un numero maggiore di caratteristiche, l'immagine ridotta di un'auto può essere classificata più accuratamente come un taxi. Discute anche di come un cnn possa essere utilizzato per rilevare e localizzare un numero di oggetti in un'immagine, anche quando si trovano in posizioni diverse nell'immagine.

  • 00:40:00 Il corso MIT 6.S191: Convolutional Neural Networks discute un'euristica per il rilevamento degli oggetti che è molto più lenta e più fragile rispetto ad altri metodi. Il metodo più veloce rcnn, che tenta di apprendere le regioni invece di affidarsi a una semplice euristica, viene proposto come soluzione a questi problemi.

  • 00:45:00 In questo video, Alexander Amini discute le reti neurali convoluzionali, le loro origini e le loro applicazioni. Copre anche l'impatto delle cnn su una vasta gamma di compiti e campi.
MIT 6.S191 (2022): Convolutional Neural Networks
MIT 6.S191 (2022): Convolutional Neural Networks
  • 2022.03.25
  • www.youtube.com
MIT Introduction to Deep Learning 6.S191: Lecture 3Convolutional Neural Networks for Computer VisionLecturer: Alexander AminiJanuary 2022For all lectures, sl...
Motivazione: