Apprendimento automatico e Reti Neurali - pagina 8

 

Verso la singolarità - Neuroscience Inspiring AI




Verso la singolarità - Neuroscience Inspiring AI

Questo video discute il potenziale dell'intelligenza artificiale per raggiungere un punto di intelligenza generale e le varie sfide che dovranno essere superate lungo il percorso.
Discute anche del potenziale per i robot da considerare come una specie e dei vantaggi e degli svantaggi di questo approccio.

  • 00:00:00 Il cervello è un organo complesso che è responsabile di molti compiti diversi. Recenti ricerche hanno dimostrato che il cervello è anche in grado di eseguire compiti semplici che una volta erano ritenuti difficili per gli esseri umani. Ciò suggerisce che il cervello non è solo un intelletto, ma contiene anche una grande quantità di complessità computazionale.

  • 00:05:00 L'autore discute la difficoltà di comprendere il cervello a livello di sistemi e come gli scienziati stanno usando il pesce zebra per capire come avviene il normale sviluppo del cervello. Continua dicendo che l'intelligenza artificiale alla fine sarà in grado di crescere in modo più organico, sulla base di ciò che apprendiamo su come funziona il cervello.

  • 00:10:00 Il cervello è molto diverso da un computer, per come è strutturato. Un computer fondamentalmente ha la CPU separata dalla memoria e collegando la CPU con la memoria, hai questa cosa chiamata bus, il bus di memoria. E il bus di memoria funziona continuamente a tempo pieno quando un computer è acceso. Ed è in realtà un collo di bottiglia. Quindi la CPU può essere molto potente e la memoria può essere enorme, ma
    sei limitato alla quantità di informazioni che puoi trasferire tra i due. E questo è un fattore molto limitante nella potenza complessiva del computer standard. Al contrario, il cervello lavora massicciamente in modo massicciamente parallelo, ogni singolo neurone fa sempre il meglio che può. Anche l'attuale migliore intelligenza artificiale che abbiamo è ancora molto, molto diversa dal cervello. È... si potrebbe dire che è ispirato dal cervello, ma non copia il cervello. Nel cervello ci sono enormi quantità di connessioni di feedback. Quindi ovviamente, quando elaboriamo l'input sensoriale, e questo arriva nelle regioni superiori del cervello, e viene ulteriormente elaborato e astratto dall'input originale che vediamo. Ma c'è anche un'enorme quantità di feedback che arriva da quelle regioni superiori alle aree percettive. E questo feedback dirige dove guardiamo e

  • 00:15:00 Il video discute il concetto di intelligenza artificiale, discutendo i pro ei contro di averla nel mondo. Continua affermando che l'intelligenza artificiale è un approccio promettente, ma che richiederà un salto tecnologico per ottenere precisione e affidabilità.

  • 00:20:00 Il video discute i progressi delle neuroscienze che vengono utilizzati per ispirare l'intelligenza artificiale e come questo stia aiutando a creare robot intelligenti quanto gli umani. Tuttavia, la tecnologia ha ancora molta strada da fare prima di poter essere ampiamente implementata.

  • 00:25:00 L'intelligenza artificiale sta svolgendo un ruolo importante nello sviluppo di robot sociali in grado di comprendere, comportarsi e comunicare con le persone nella loro vita quotidiana. Il mondo è attualmente progettato per gli esseri umani, quindi progettare robot che hanno una forma umanoide o una comprensione di come funziona il mondo umano rende più facile per questi robot integrarsi nella società, ma anche creare valore e benefici senza dover ristrutturare edifici o compiti o il modo in cui il mondo è progettato per accogliere quell'umano.

  • 00:30:00 Il video discute di come le neuroscienze stiano ispirando progressi nell'intelligenza artificiale, tra cui il deep learning e la cognizione incorporata. La cognizione incarnata è l'opposto dell'idea di Cartesio che "penso, quindi sono". La robotica alla fine si integrerà più strettamente con la società e l'intelligenza artificiale diventerà uno "strumento molto utile" per la scienza.

  • 00:35:00 Il video discute l'idea di "intelligenza artificiale generale" o AGI, che è la capacità di una macchina di raggiungere il livello di intelligenza di un essere umano adulto competente. Mentre la validità del "test di Turing" - un esame che misura se una macchina può ingannare qualcuno facendogli credere che sia un essere umano - è ancora controversa, la maggior parte dei ricercatori ritiene che sia necessario che le macchine raggiungano questo livello di intelligenza.

  • 00:40:00 Il video discute il potenziale dell'intelligenza artificiale di permeare sempre più parti della nostra vita e l'importanza di gestire l'IA con attenzione in modo che non inizi a prendere decisioni da sola. Suggerisce che l'intelligenza artificiale alla fine diventerà un'utilità pubblica e discute i modi in cui le persone possono avere questa discussione alla radio e al video.

  • 00:45:00 L'autore sostiene che i governi devono essere proattivi nell'investire nell'intelligenza artificiale e nella robotica, poiché si tratta di un investimento enorme e potrebbe avere grandi risultati per la società. Tuttavia, se non eseguiti correttamente, i robot potrebbero portare a una disoccupazione di massa. Osserva inoltre che la società dovrà adattarsi alla prossima rivoluzione della robotica, poiché i lavori attualmente svolti dagli esseri umani saranno sostituiti dalle macchine.

  • 00:50:00 L'autore discute il potenziale dell'intelligenza generale artificiale e la singolarità, che è il punto in cui l'intelligenza delle macchine supera l'intelligenza umana. Sottolineano che sebbene questa tecnologia sia ancora in qualche modo speculativa, è probabile che accada nei prossimi 200 anni. Mentre molte persone possono essere scettiche, quelli che sanno concordano sul fatto che questo è sicuramente qualcosa che accadrà.

  • 00:55:00 Questo video discute il potenziale dell'intelligenza artificiale per raggiungere un punto di intelligenza generale e le varie sfide che dovranno essere superate lungo il percorso. Discute anche del potenziale per i robot da considerare come una specie e dei vantaggi e degli svantaggi di questo approccio.

  • 01:00:00 Il relatore fornisce una panoramica dei potenziali rischi e benefici associati ai progressi dell'intelligenza artificiale e discute una situazione ipotetica in cui un'IA diventa canaglia e spazza via l'umanità. La maggior parte dei ricercatori del settore non si preoccupa di questo tipo di minaccia, concentrandosi invece sui potenziali benefici dell'intelligenza artificiale.
Toward Singularity - Neuroscience Inspiring AI
Toward Singularity - Neuroscience Inspiring AI
  • 2023.01.08
  • www.youtube.com
Toward Singularity takes a look at how neuroscience is inspiring the development of artificial intelligence. Our amazing brain, one of the most complicated s...
 

Stanford CS230: Apprendimento approfondito | Autunno 2018 | Lezione 1 - Introduzione alla classe e logistica, Andrew Ng




Stanford CS230: Apprendimento approfondito | Autunno 2018 | Lezione 1 - Introduzione alla classe e logistica, Andrew Ng

Andrew Ng, l'istruttore del corso CS230 Deep Learning di Stanford, introduce il corso e spiega il formato della classe capovolta. Sottolinea l'improvvisa popolarità del deep learning a causa dell'aumento dei record digitali, consentendo sistemi di deep learning più efficaci. Gli obiettivi primari del corso sono che gli studenti diventino esperti in algoritmi di deep learning e capiscano come applicarli per risolvere problemi del mondo reale. Ng sottolinea l'importanza della conoscenza pratica nella costruzione di sistemi di apprendimento automatico efficienti ed efficaci e spera di insegnare e derivare sistematicamente algoritmi di apprendimento automatico implementandoli in modo efficace con i processi giusti. Il corso coprirà le reti neurali di convoluzione e i modelli di sequenza attraverso video su Coursera e compiti di programmazione su notebook Jupyter.

La prima lezione del corso CS230 Deep Learning di Stanford introduce la varietà di applicazioni del mondo reale che verranno sviluppate attraverso compiti di programmazione e progetti degli studenti, che possono essere personalizzati e progettati per soddisfare gli interessi di uno studente. Esempi di progetti studenteschi passati vanno dalla previsione del prezzo delle biciclette al rilevamento del segnale del terremoto. Il progetto finale è enfatizzato come l'aspetto più importante del corso e il tutoraggio personalizzato è disponibile attraverso il team di AT e gli istruttori. Viene discussa anche la logistica del corso, inclusa la formazione di team per progetti di gruppo, la risposta a quiz su Coursera e la combinazione del corso con altre classi.

  • 00:00:00 In questa sezione, Andrew Ng, l'istruttore del CS230 di Stanford, introduce il corso e spiega il formato della classe capovolta. In questa classe, gli studenti guarderanno i contenuti di deeplearning.ai su Coursera a casa e parteciperanno a discussioni più approfondite durante l'aula e gli orari delle sezioni di discussione. Ng presenta il team di insegnanti, composto dai co-istruttori Kian Katanforosh, il co-creatore della specializzazione Deep Learning, Swati Dubei, il coordinatore della classe, Younes Mourri, consulente del corso e capo dell'AT, e Aarti Bagul e Abhijeet, co-responsabili TA. Ng spiega l'improvvisa popolarità del deep learning, affermando che la digitalizzazione della società ha portato a un aumento della raccolta di dati, offrendo agli studenti l'opportunità di costruire sistemi di deep learning più efficaci che mai.

  • 00:05:00 In questa sezione, Andrew Ng spiega che l'aumento dei record digitali ha portato a un'impennata dei dati, ma i tradizionali algoritmi di apprendimento automatico si stabilizzano anche se alimentati con più dati. Tuttavia, man mano che le reti neurali diventano più grandi, le loro prestazioni continuano a migliorare sempre di più, fino a un limite teorico chiamato tasso di errore di base. Con l'avvento del GPU Computing e dei servizi cloud, l'accesso a una potenza di calcolo sufficientemente ampia ha consentito a più persone di addestrare reti neurali sufficientemente grandi per ottenere livelli elevati di precisione in molte applicazioni. Sebbene il deep learning sia solo uno strumento tra i tanti nell'IA, è diventato così popolare perché offre costantemente ottimi risultati.

  • 00:10:00 In questa sezione, il docente spiega che ci sono una varietà di strumenti e tecnologie che i ricercatori utilizzano nell'IA oltre all'apprendimento profondo, come gli algoritmi di pianificazione e la rappresentazione della conoscenza. Tuttavia, il deep learning è decollato in modo incredibilmente rapido negli ultimi anni grazie all'uso di enormi set di dati e potenza di calcolo, nonché all'innovazione algoritmica e ai massicci investimenti. Gli obiettivi primari di CS230 sono che gli studenti diventino esperti in algoritmi di deep learning e capiscano come applicarli per risolvere problemi del mondo reale. Il docente, che ha esperienza pratica alla guida di team di intelligenza artificiale di successo presso Google, Baidu e Landing AI, sottolinea anche l'importanza di apprendere gli aspetti pratici del know-how dell'apprendimento automatico, che secondo lui potrebbero non essere trattati in altri corsi accademici.

  • 00:15:00 In questa sezione, Andrew Ng parla dell'importanza della conoscenza pratica nel prendere decisioni efficienti ed efficaci quando si costruisce un sistema di machine learning. Sottolinea la differenza tra un grande ingegnere del software e uno junior in termini di decisioni di giudizio di alto livello e astrazioni architettoniche. Allo stesso modo, sottolinea l'importanza di sapere quando raccogliere più dati o cercare iperparametri nei sistemi di deep learning per prendere decisioni migliori che possono aumentare l'efficienza del team da 2 a 10 volte. Mira a trasmettere questa conoscenza pratica agli studenti del corso attraverso l'insegnamento sistematico e raccomanda anche il suo libro, Machine Learning Yearning, per gli studenti con un po' di esperienza nell'apprendimento automatico.

  • 00:20:00 In questa sezione, Andrew Ng discute una bozza del suo nuovo libro intitolato "Machine Learning Yearning", che secondo lui è un tentativo di raccogliere i migliori principi per creare una disciplina ingegneristica sistematica dall'apprendimento automatico. Ng spiega anche il formato della classe capovolta del corso in cui gli studenti guardano video e completano i quiz online nel loro tempo libero e partecipano a sessioni settimanali per interazioni e discussioni più approfondite con gli assistenti tecnici, Kian e se stesso. Continua parlando dell'importanza dell'intelligenza artificiale e dell'apprendimento automatico, affermando che crede che trasformerà ogni settore proprio come l'elettricità ha trasformato diversi campi oltre un secolo fa.

  • 00:25:00 In questa sezione del video, Andrew Ng, l'istruttore del corso CS230 Deep Learning di Stanford, esprime la speranza che gli studenti utilizzino le loro nuove capacità di deep learning per trasformare le industrie al di fuori del settore tecnologico tradizionale, come l'assistenza sanitaria, ingegneria civile e cosmologia. Condivide una preziosa lezione appresa studiando l'ascesa di Internet, ovvero che la creazione di un sito Web non trasforma un'attività fisica in un'azienda Internet; piuttosto, è l'organizzazione del team e l'incorporazione di pratiche specifiche di Internet, come i test A/B pervasivi, che definiscono veramente un'azienda di Internet.

  • 00:30:00 In questa sezione della trascrizione, Andrew Ng discute le differenze tra le aziende tradizionali e le aziende di Internet e AI. Spiega che le società di Internet e di intelligenza artificiale tendono a ridurre il potere decisionale agli ingegneri o agli ingegneri e ai product manager perché queste persone sono le più vicine alla tecnologia, agli algoritmi e agli utenti. Ng menziona anche l'importanza di organizzare i team per fare le cose che il moderno machine learning e il deep learning consentono. Inoltre, Ng descrive come le aziende di intelligenza artificiale tendono a organizzare i dati in modo diverso e si specializzano nell'individuare opportunità di automazione. Infine, osserva che l'ascesa dell'apprendimento automatico ha creato nuovi ruoli come ingegnere dell'apprendimento automatico e scienziato ricercatore dell'apprendimento automatico delle risorse.

  • 00:35:00 In questa sezione, Andrew Ng sottolinea l'importanza di un'efficace organizzazione del team nell'era dell'IA per svolgere un lavoro più prezioso. Fa un'analogia con il modo in cui il mondo dell'ingegneria del software ha dovuto sviluppare lo sviluppo Agile, i processi Scrum e la revisione del codice per creare team di intelligenza artificiale industriale ad alte prestazioni che creassero software in modo efficace. Ng spera di insegnare e derivare sistematicamente algoritmi di apprendimento automatico e di implementarli in modo efficace con i processi giusti. Infine, Ng guida le persone che aspirano a imparare l'apprendimento automatico su quali lezioni seguire per raggiungere i propri obiettivi.

  • 00:40:00 In questa sezione, Andrew Ng discute le differenze tra CS229, CS229A e CS230. CS229 è la più matematica di queste classi, incentrata sulle derivazioni matematiche degli algoritmi. CS229A è l'apprendimento automatico applicato, che dedica più tempo agli aspetti pratici ed è la rampa più semplice per l'apprendimento automatico, mentre CS230 è una via di mezzo, più matematico di CS229A ma meno matematico di CS229. La cosa unica di CS230 è che si concentra sull'apprendimento profondo, che è il sottoinsieme più difficile dell'apprendimento automatico. Andrew Ng stabilisce aspettative accurate desiderando dedicare più tempo all'insegnamento del know-how pratico dell'applicazione di questi algoritmi, piuttosto che concentrarsi esclusivamente sulla matematica.

  • 00:45:00 In questa sezione, Andrew Ng introduce il concetto di intelligenza artificiale e apprendimento automatico che scompaiono sullo sfondo e diventano uno strumento magico che possiamo usare senza pensare agli algoritmi di apprendimento che lo rendono possibile. Discute l'importanza dell'apprendimento automatico nella sanità, nella produzione, nell'agricoltura e nell'istruzione, dove è possibile ottenere tutoraggio e feedback precisi sulla codifica dei compiti a casa utilizzando algoritmi di apprendimento. Il formato del corso di CS230 prevede la visione di video deeplearning.ai su Coursera con lezioni aggiuntive di Kian a Stanford per una conoscenza e una pratica più approfondite. La classe è strutturata in cinque corsi che insegnano agli studenti i neuroni, i livelli, la costruzione di reti, la messa a punto delle reti e le applicazioni industriali dell'IA.

  • 00:50:00 In questa sezione, Andrew Ng introduce gli argomenti trattati nel corso e la struttura del programma. Il corso è diviso in due parti che si concentrano sulle reti neurali di convoluzione per immagini e video e sui modelli di sequenza, comprese le reti neurali ricorrenti per l'elaborazione del linguaggio naturale e il riconoscimento vocale. Ogni modulo includerà video su Coursera, quiz e compiti di programmazione su Jupyter Notebook. La partecipazione è del due percento del voto finale, dell'otto percento per i quiz, del 25 percento per i compiti di programmazione e una parte significativa per un progetto finale.

  • 00:55:00 In questa sezione, Andrew Ng spiega i compiti di programmazione che gli studenti svolgeranno durante il corso. Gli studenti tradurranno le immagini del linguaggio dei segni in numeri, diventeranno un ingegnere di Deep Learning per una Happy House e creeranno una rete utilizzando l'algoritmo di rilevamento degli oggetti YOLOv2. Lavoreranno sull'ottimizzazione della previsione di tiro di un portiere, rileveranno le auto durante la guida autonoma, eseguiranno il riconoscimento facciale e il trasferimento di stile e creeranno un modello di sequenza per generare musica jazz e poesia shakespeariana. Il docente fornisce agli studenti collegamenti a documenti correlati per ciascuno dei progetti.

  • 01:00:00 In questa sezione, il relatore discute la varietà di applicazioni che verranno sviluppate nel corso attraverso compiti di programmazione, nonché l'opportunità per gli studenti di scegliere i propri progetti durante il corso. Vengono forniti esempi di progetti studenteschi passati, tra cui la colorazione di immagini in bianco e nero, la previsione del prezzo delle biciclette e il rilevamento del segnale dei precursori dei terremoti. Gli studenti sono incoraggiati a costruire ed essere orgogliosi dei loro progetti, poiché il progetto finale è l'aspetto più importante del corso. Il corso viene applicato, con un po' di matematica coinvolta, e il tutoraggio personalizzato è disponibile tramite il team di AT e gli istruttori.

  • 01:05:00 In questa sezione, l'istruttore spiega i dettagli logistici del corso, incluso come creare account Coursera, quali compiti completare e come formare i team per il progetto del corso. I team di progetto saranno composti da uno a tre studenti, con eccezioni per progetti impegnativi. Gli studenti possono combinare il progetto con altre classi purché ne discutano con l'istruttore e i quiz possono essere ripetuti su Coursera con l'ultimo quiz inviato considerato per la classe CS230.
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 1 - Class Introduction & Logistics, Andrew Ng
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 1 - Class Introduction & Logistics, Andrew Ng
  • 2019.03.21
  • www.youtube.com
For more information about Stanford's Artificial Intelligence professional and graduate programs visit: https://stanford.io/3eJW8yTAndrew Ng is an Adjunct Pr...
 

Lezione 2 - L'intuizione dell'apprendimento profondo



Stanford CS230: Apprendimento approfondito | Autunno 2018 | Lezione 2 - L'intuizione dell'apprendimento profondo

La prima parte della lezione si concentra su varie applicazioni del deep learning, tra cui la classificazione delle immagini, il riconoscimento facciale e il trasferimento dello stile delle immagini. L'istruttore spiega l'importanza di vari fattori come la dimensione del set di dati, la risoluzione dell'immagine e la funzione di perdita nello sviluppo di un modello di deep learning. Viene anche discusso il concetto di codifica delle immagini utilizzando reti profonde per creare rappresentazioni utili, con enfasi sulla funzione di perdita di triplette utilizzata nel riconoscimento facciale. Inoltre, il docente spiega il clustering utilizzando l'algoritmo K-Means per la classificazione delle immagini e l'estrazione di stile e contenuto dalle immagini. Nel complesso, la sezione introduce gli studenti alle varie tecniche e considerazioni coinvolte nello sviluppo di modelli di deep learning di successo.

La seconda parte del video copre una varietà di argomenti di deep learning, come la generazione di immagini, il riconoscimento vocale e il rilevamento di oggetti. Il relatore sottolinea l'importanza di consultare esperti quando si incontrano problemi e gli elementi critici di un progetto di deep learning di successo: una pipeline strategica di acquisizione dati e ricerca di architetture e messa a punto di iperparametri. Il video illustra anche diverse funzioni di perdita utilizzate nel deep learning, inclusa la funzione di perdita di rilevamento degli oggetti, che include una radice quadrata per penalizzare gli errori su scatole più piccole in modo più pesante rispetto a scatole più grandi. Il video si conclude con un riepilogo dei moduli e degli incarichi imminenti, comprese le sessioni obbligatorie di tutoraggio del progetto TA e le sezioni TA del venerdì incentrate sul trasferimento dello stile neurale e sulla compilazione di un modulo AWS per potenziali crediti GPU.

  • 00:00:00 In questa sezione della conferenza, l'obiettivo è fornire un modo sistematico di pensare a progetti legati al deep learning. Ciò implica prendere decisioni su come raccogliere ed etichettare i dati, scegliere l'architettura e progettare una funzione di perdita adeguata per l'ottimizzazione. Un modello può essere definito come un'architettura più parametri, dove l'architettura è il design scelto per il modello ei parametri sono i numeri che fanno sì che la funzione prenda input e li converta in output. La funzione di perdita viene utilizzata per confrontare l'output con la verità fondamentale e il gradiente della funzione di perdita viene calcolato per aggiornare i parametri per migliorare il riconoscimento. Molte cose possono cambiare nel contesto del deep learning, inclusi input, output, architettura, funzione di perdita, funzioni di attivazione, ciclo di ottimizzazione e iperparametri. La regressione logistica è la prima architettura discussa e un'immagine può essere rappresentata come una matrice 3D nell'informatica.

  • 00:05:00 In questa sezione del video, l'istruttore discute la struttura di base di una rete neurale per la classificazione delle immagini dei gatti e come può essere modificata per classificare più animali attraverso l'uso della regressione multilogistica. Viene sottolineata l'importanza di etichettare correttamente i dati e viene introdotto il concetto di codifica one-hot, con lo svantaggio di poter classificare solo le immagini con un animale menzionato. Viene anche menzionato l'uso di Softmax come funzione di attivazione per la codifica multi-hot e viene spiegata la notazione utilizzata nel corso per i livelli e gli indici dei neuroni.

  • 00:10:00 In questa sezione, il docente spiega come il deep learning estrae le informazioni da ogni livello in una rete e come queste vengono utilizzate per la codifica dei dati di input. Usa esempi di riconoscimento facciale e classificazione delle immagini per creare intuizioni attorno ad applicazioni concrete del deep learning. Il docente discute anche la stima del numero di immagini necessarie per un dato problema e suggerisce che dovrebbe basarsi sulla complessità del compito piuttosto che sul numero di parametri nella rete.

  • 00:15:00 In questa sezione, l'istruttore discute come determinare la quantità di dati necessari per un progetto di deep learning, nonché come suddividere i dati in set di addestramento, convalida e test. L'istruttore spiega che la quantità di dati necessari dipende dalla complessità dell'attività e dal fatto che il progetto preveda immagini di interni o esterni. Un set di dati bilanciato è importante anche per addestrare correttamente la rete. Viene discussa anche la risoluzione dell'immagine, con l'obiettivo di ottenere buone prestazioni riducendo al minimo la complessità computazionale. L'istruttore suggerisce di confrontare le prestazioni umane a diverse risoluzioni per determinare la risoluzione minima necessaria. Alla fine, una risoluzione di 64 per 64 per tre è stata ritenuta sufficiente per l'immagine di esempio utilizzata.

  • 00:20:00 In questa sezione, il docente discute un problema di classificazione delle immagini di base in cui il compito è rilevare se un'immagine è stata scattata durante il giorno o di notte. L'output del modello dovrebbe essere un'etichetta per l'immagine, dove Y è uguale a zero per il giorno e Y è uguale a uno per la notte. L'architettura consigliata per questa attività è una rete superficiale completamente connessa o convoluzionale. La funzione di perdita da utilizzare è la log-verosimiglianza, che è più facile da ottimizzare rispetto ad altre funzioni di perdita per problemi di classificazione. Il docente applica quindi questo concetto di base a uno scenario del mondo reale in cui l'obiettivo è utilizzare la verifica facciale per convalidare le carte d'identità degli studenti in strutture come la palestra. Il set di dati richiesto per questo problema sarebbe una raccolta di immagini da confrontare con le immagini acquisite dalla fotocamera durante lo scorrimento dell'ID.

  • 00:25:00 In questo estratto di una conferenza sul deep learning, il relatore discute l'idea di utilizzare il riconoscimento facciale come mezzo per verificare l'identità dei frequentatori di palestra. L'oratore suggerisce che per addestrare il sistema, la scuola avrebbe bisogno delle foto di ogni studente, etichettate con i loro nomi, così come più foto di ogni studente per l'input del modello. Parlando di risoluzione, il relatore suggerisce che sia necessaria una risoluzione maggiore (circa 400 per 400) per rilevare meglio dettagli come la distanza tra gli occhi o la dimensione del naso. Infine, il relatore osserva che i semplici confronti della distanza tra i pixel per determinare se due immagini rappresentano la stessa persona non funzioneranno a causa delle variazioni di illuminazione o di altri fattori come il trucco o i peli del viso.

  • 00:30:00 In questa sezione della lezione, l'istruttore discute il processo di codifica delle immagini utilizzando una rete profonda per creare utili rappresentazioni di immagini. L'obiettivo è creare un vettore che rappresenti le caratteristiche chiave di un'immagine, come la distanza tra i tratti del viso, il colore e i capelli. Questi vettori vengono utilizzati per confrontare immagini diverse dello stesso soggetto e determinare una corrispondenza. L'istruttore spiega il processo di minimizzazione della distanza tra l'ancora e le immagini positive, massimizzando al contempo la distanza tra l'ancora e l'immagine negativa, al fine di generare un'utile funzione di perdita per la rete profonda. La funzione di perdita è fondamentale per addestrare la rete a riconoscere caratteristiche specifiche e fare previsioni accurate.

  • 00:35:00 In questa sezione, l'istruttore discute la funzione di perdita di triplette utilizzata nel riconoscimento facciale. La perdita è calcolata come la distanza L2 tra i vettori di codifica di A e P sottratta dalla distanza L2 tra i vettori di codifica di A e N. L'obiettivo è massimizzare la distanza tra i vettori di codifica di A e N, minimizzando la differenza tra A e P. La vera funzione di perdita contiene alfa, che ha un ruolo specifico oltre a prevenire la perdita negativa. L'istruttore spiega che l'utilizzo di alfa nella funzione di perdita aggiunge peso ad alcune parti della funzione di perdita. L'obiettivo è trovare una codifica che rappresenti le caratteristiche del viso e l'algoritmo di ottimizzazione mira a ridurre al minimo la funzione di perdita dopo più passaggi.

  • 00:40:00 In questa sezione, il docente spiega l'uso di un termine alfa nella funzione di perdita di una rete. Questo termine alfa è noto come Margine e il suo scopo è penalizzare un peso elevato e stabilizzare la rete sugli zeri. Tuttavia, non influisce sulla pendenza o sul peso. Lo scopo di questo termine alfa è spingere la rete ad apprendere qualcosa di significativo invece di apprendere una funzione nulla. Il docente discute anche la differenza tra verifica facciale e riconoscimento facciale e suggerisce che l'aggiunta di un elemento di rilevamento alla pipeline può migliorare il riconoscimento facciale. È possibile utilizzare un algoritmo K-Nearest Neighbors per confrontare i vettori dei volti immessi con i vettori in un database per identificare gli individui.

  • 00:45:00 In questa sezione, l'istruttore spiega il clustering, in particolare l'algoritmo K-Means e come viene utilizzato nella classificazione delle immagini. Spiega come l'algoritmo prende tutti i vettori in un database e li raggruppa in gruppi che si assomigliano. Questo può essere utilizzato per separare le immagini di persone diverse in cartelle separate su un telefono, ad esempio. Discute anche i modi per definire il parametro K nell'algoritmo e come possono essere utilizzati metodi diversi. L'istruttore discute anche della generazione artistica, che implica la generazione di un'immagine che è il contenuto di un'immagine ma è dipinta nello stile di un'altra, utilizzando i dati in quello stile. L'istruttore utilizza il Museo del Louvre come esempio di immagine di contenuto e un dipinto di Claude Monet come immagine di stile.

  • 00:50:00 In questa sezione, il relatore discute come estrarre stile e contenuto dalle immagini utilizzando tecniche di deep learning. Spiegano che mentre un metodo consiste nell'addestrare una rete per apprendere uno stile specifico, il metodo preferito è invece apprendere un'immagine. Ciò comporta la fornitura di un'immagine del contenuto e l'estrazione di informazioni sul suo contenuto utilizzando una rete neurale addestrata per il riconoscimento dell'immagine. Per estrarre le informazioni sullo stile, il relatore introduce l'uso della matrice Gram e spiega che lo stile è un'informazione non localizzata. Combinando il contenuto estratto e lo stile, è possibile generare un'immagine con lo stile di una data immagine preservandone il contenuto. L'oratore sottolinea che questa tecnica comporta la retropropagazione fino all'immagine e non solo l'apprendimento dei parametri di una rete.

  • 00:55:00 In questa sezione, l'istruttore discute la funzione di perdita per l'estrazione dello stile utilizzando il metodo della matrice Gram e come viene calcolata utilizzando la distanza L2 tra lo stile dell'immagine dello stile e lo stile generato, nonché tra il contenuto del immagine del contenuto e contenuto generato. L'istruttore sottolinea che ImageNet viene utilizzato in questo processo non per la classificazione, ma per utilizzare parametri pre-addestrati per la rete. L'obiettivo è addestrare l'immagine utilizzando il rumore bianco e il contenuto G e lo stile G vengono estratti da esso facendolo scorrere attraverso la rete e calcolando i derivati della funzione di perdita per risalire ai pixel dell'immagine.

  • 01:00:00 In questa sezione, il relatore discute il processo di addestramento di una rete per generare un'immagine basata sul contenuto e sulle immagini di stile. Sebbene questa rete abbia la flessibilità di lavorare con qualsiasi stile e contenuto, richiede un nuovo ciclo di formazione ogni volta che viene generata un'immagine. La rete è addestrata su milioni di immagini e non ha bisogno di essere addestrata specificamente sulle immagini di Monet. La funzione di perdita per questa rete deriva dal contenuto e dalle immagini di stile, dove la linea di base deve iniziare con il rumore bianco. L'oratore passa quindi a discutere un'applicazione del rilevamento delle parole trigger, che richiede un sacco di clip audio di 10 secondi che includono una parola positiva come "attiva" e parole negative come "cucina" e "leone".

  • 01:05:00 In questa sezione, il video illustra il processo di selezione del miglior schema di etichettatura per il riconoscimento vocale. Il relatore spiega che è necessario consultare un esperto di riconoscimento vocale per determinare la migliore frequenza di campionamento da utilizzare per l'elaborazione del parlato e offre un esempio di uno schema di etichettatura debole che rende difficile rilevare la parola chiave in una frase pronunciata. Il relatore mostra un diverso schema di etichettatura che rende più facile per il modello rilevare la parola trigger, ma osserva che è ancora importante considerare problemi come lo squilibrio nel set di dati e la necessità di una funzione sigmoidea ad ogni passo temporale per produrre zero o uno.

  • 01:10:00 In questa sezione del video, il relatore discute le due cose fondamentali per costruire un progetto di deep learning di successo. Il primo è disporre di una pipeline di acquisizione dati strategica. Un modo per farlo è raccogliere registrazioni audio di 10 secondi contenenti parole positive e negative con vari accenti da tutto il campus utilizzando i telefoni. Il secondo elemento critico è la ricerca dell'architettura e l'ottimizzazione degli iperparametri. L'oratore racconta una storia di come ha utilizzato una trasformata di Fourier all'inizio per estrarre caratteristiche dal parlato e poi ha parlato con esperti e ha apportato modifiche alla rete in base ai loro consigli. Sottolinea che trovare l'architettura giusta è un processo complicato, ma a cui non bisogna rinunciare e che dovrebbero essere consultati esperti.

  • 01:15:00 In questa sezione, il relatore discute un problema di riconoscimento vocale e come ha lottato per adattare una rete neurale ai dati finché non ha trovato un esperto di riconoscimento vocale che lo ha consigliato sull'uso corretto degli iperparametri della trasformata di Fourier, riducendo il dimensione della rete e utilizzando una convoluzione per ridurre il numero di passaggi temporali, nonché espandere l'output. Sottolinea l'importanza di chiedere consiglio agli esperti e di non arrendersi quando si incontrano problemi durante un progetto. L'oratore menziona quindi brevemente un altro modo per risolvere il rilevamento degli accordi utilizzando l'algoritmo di perdita di triplette e codificando il parlato audio in un certo vettore per confrontare la distanza tra quei vettori. Infine, discute una bellissima funzione di perdita che corrisponde al rilevamento di oggetti e viene utilizzata in una rete chiamata YOLO, in cui la perdita confronta x, y, larghezza e altezza dei riquadri di delimitazione.

  • 01:20:00 In questa sezione del video, il relatore discute la funzione di perdita di rilevamento degli oggetti nel deep learning e perché include una radice quadrata. La funzione di perdita include diversi termini che mirano a minimizzare la distanza tra il vero riquadro di delimitazione e il riquadro di delimitazione previsto, oltre a identificare la classe di oggetti all'interno del riquadro. La radice quadrata è inclusa per penalizzare gli errori su scatole più piccole più pesantemente che su scatole più grandi. Il video si conclude con un riepilogo dei moduli e degli incarichi imminenti, delle sessioni obbligatorie di tutoraggio del progetto TA e delle sezioni TA del venerdì incentrate sul trasferimento dello stile neurale e sulla compilazione di un modulo AWS per potenziali crediti GPU.
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 2 - Deep Learning Intuition
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 2 - Deep Learning Intuition
  • 2019.03.21
  • www.youtube.com
Andrew Ng, Adjunct Professor & Kian Katanforoosh, Lecturer - Stanford Universityhttps://stanford.io/3eJW8yTAndrew NgAdjunct Professor, Computer ScienceKian K...
 

Lezione 3 - Progetti di Deep Learning a ciclo completo



Stanford CS230: Apprendimento approfondito | Autunno 2018 | Lezione 3 - Progetti di Deep Learning a ciclo completo

In questa lezione sui progetti di deep learning a ciclo completo, l'istruttore sottolinea l'importanza di considerare tutti gli aspetti della creazione di un'applicazione di machine learning di successo, tra cui la selezione dei problemi, la raccolta dei dati, la progettazione del modello, il test, l'implementazione e la manutenzione. Attraverso l'esempio della costruzione di un dispositivo ad attivazione vocale, l'istruttore discute i componenti chiave coinvolti nei progetti di deep learning e incoraggia gli studenti a concentrarsi su progetti fattibili con potenziale impatto positivo e contributi unici nei rispettivi campi. L'istruttore sottolinea inoltre l'importanza di raccogliere rapidamente dati, prendere appunti durante tutto il processo e iterare durante lo sviluppo, discutendo anche approcci specifici all'attivazione vocale e al rilevamento dell'attività vocale.

La seconda parte della lezione si concentra sull'importanza del monitoraggio e della manutenzione nei progetti di machine learning, in particolare sulla necessità di monitorare e aggiornare continuamente i modelli per garantire che funzionino bene nel mondo reale. Il docente affronta il problema della modifica dei dati, che può causare la perdita di accuratezza dei modelli di apprendimento automatico, e sottolinea la necessità di monitoraggio costante, raccolta dei dati e riprogettazione del modello per garantire che i modelli continuino a funzionare in modo efficace. La conferenza discute anche l'impatto dell'utilizzo di un sistema non ML rispetto a una rete neurale addestrata in un sistema di rilevamento dell'attività vocale e suggerisce che le regole codificate a mano sono generalmente più robuste alla modifica dei dati. Il docente conclude sulla necessità di prestare molta attenzione alla riservatezza dei dati e di ottenere il consenso dell'utente durante la raccolta dei dati per la riqualificazione dei modelli.

  • 00:00:00 In questa sezione del video, l'istruttore introduce l'idea di progetti di deep learning a ciclo completo spiegando i passaggi coinvolti nella creazione di un'applicazione di machine learning di successo oltre alla semplice creazione di un modello di rete neurale. Usa l'esempio della creazione di un dispositivo ad attivazione vocale e spiega che il primo passo è selezionare un problema, come l'utilizzo dell'apprendimento supervisionato per creare l'applicazione. Cita anche l'imminente progetto su cui lavoreranno gli studenti che prevede l'implementazione di un dispositivo ad attivazione vocale come problema risolto più avanti nel trimestre.

  • 00:05:00 In questa sezione della conferenza, il relatore discute i componenti chiave coinvolti nella costruzione di un dispositivo ad attivazione vocale utilizzando il deep learning, che include un algoritmo di apprendimento che rileva parole trigger come "Alexa", "OK Google" "Ehi Siri" o "Attiva". Il relatore delinea i passaggi importanti nella creazione di un prodotto di machine learning, iniziando con la selezione di un problema, l'ottenimento di dati etichettati, la progettazione di un modello, il test su un set di test, la distribuzione e la manutenzione del sistema. Il relatore sottolinea che l'addestramento di un modello è spesso un processo iterativo e che la creazione di un ottimo modello implica concentrarsi sul passaggio uno, sei e sette, oltre al nucleo dell'apprendimento automatico.

  • 00:10:00 In questa sezione della conferenza, il relatore discute le proprietà di un buon progetto di deep learning candidato. Usa l'esempio di un dispositivo ad attivazione vocale e parla di come dispositivi come Echo e Google Home, che hanno il potenziale per essere attivati dalla voce, siano difficili da configurare a causa della necessità di configurarli per il Wi-Fi. Fornisce una soluzione a questo problema attraverso un dispositivo integrato che può essere venduto ai produttori di lampade che include un microfono incorporato e può essere attivato e disattivato tramite un semplice comando vocale alla lampada stessa. Il relatore afferma che questo progetto richiede la creazione di un algoritmo di apprendimento che possa essere eseguito su un dispositivo integrato e rilevare la parola sveglia per accendere e spegnere la lampada. Suggerisce inoltre di dare nomi a questi dispositivi per evitare ambiguità. L'oratore indica che mentre non stava lavorando a questo progetto, potrebbe essere un prodotto ragionevole da perseguire per le startup.

  • 00:15:00 In questa sezione del video, il presentatore chiede al pubblico quali sono le proprietà che di solito cercano quando selezionano un'idea per un progetto di deep learning. Quindi procede a condividere il proprio elenco di cinque punti chiave da considerare durante il brainstorming delle idee di progetto. L'inizio del segmento è distratto da alcune difficoltà tecniche con un sistema di risposta, ma alla fine il presentatore entra nell'argomento in questione, incoraggiando il pubblico a riflettere sulle proprie idee e priorità.

  • 00:20:00 In questa sezione del video, il professor Ng condivide i suoi cinque punti elenco su come scegliere un progetto di deep learning. Consiglia agli studenti di scegliere qualcosa a cui sono veramente interessati e di considerare la disponibilità dei dati. Inoltre, dovrebbero sfruttare la loro conoscenza del dominio per applicare tecniche di apprendimento automatico ad aspetti unici dei loro campi, dando un contributo unico. Inoltre, incoraggia la scelta di un progetto che possa avere un impatto positivo e fornire utilità alle persone senza necessariamente concentrarsi sul denaro. Infine, sottolinea che la fattibilità è un fattore cruciale nella valutazione della fattibilità di qualsiasi progetto o idea di machine learning. Il Prof. Ng fornisce anche un esempio di medici e studenti di radiologia interessati all'apprendimento profondo, ricordando loro che sfruttare le loro conoscenze di dominio nella radiologia sanitaria potrebbe creare contributi più unici rispetto al semplice partire da zero.

  • 00:25:00 In questa sezione, l'istruttore discute l'importanza di scegliere un progetto fattibile e ottenere dati per addestrare l'algoritmo di deep learning. Propone uno scenario in cui gli studenti devono addestrare un algoritmo di deep learning per rilevare determinate frasi per un progetto di avvio e li invita a stimare il numero di giorni necessari per la raccolta dei dati utilizzando il metodo della sequenza di Fibonacci. Agli studenti viene anche chiesto di descrivere come farebbero a raccogliere i dati richiesti. Si incontrano difficoltà tecniche con il portatile del relatore e si suggerisce di utilizzare il browser Firefox come alternativa.

  • 00:30:00 In questa sezione del video, l'istruttore chiede agli studenti di discutere tra loro in piccoli gruppi e trovare la migliore strategia per raccogliere dati e decidere quanti giorni dedicare alla raccolta dati. Suggerisce di considerare quanto tempo impiegheranno per addestrare il loro primo modello e quanto tempo vogliono dedicare alla raccolta dei dati. L'istruttore avverte che se sono necessari uno o due giorni per addestrare il primo modello, potrebbero voler dedicare meno tempo alla raccolta dei dati. Consiglia agli studenti di parlare con i loro partner di progetto per elaborare un piano per la raccolta dei dati.

  • 00:35:00 In questa sezione, l'istruttore discute l'importanza di raccogliere dati per testare il funzionamento dell'algoritmo prima di raccogliere il set di dati successivo mentre lavora a progetti di Machine Learning. L'istruttore suggerisce di passare 1-2 giorni a raccogliere dati e procurarsi un microfono economico per raccogliere dati andando in giro per il campus di Stanford o con gli amici e facendogli dire parole chiave diverse. Osserva che è difficile sapere cosa sarà difficile o facile del problema durante la creazione di un nuovo sistema di Machine Learning. Pertanto, è essenziale iniziare con un rudimentale algoritmo di apprendimento per iniziare.

  • 00:40:00 In questa sezione, il relatore parla dell'importanza di raccogliere rapidamente dati e iterare durante lo sviluppo di Machine Learning. Sconsiglia di dedicare troppo tempo alla raccolta dei dati e suggerisce di iniziare prima con un set di dati più piccolo per capire cosa è necessario. È fondamentale tenere note chiare sugli esperimenti effettuati e sui dettagli di ciascun modello in modo che i ricercatori possano fare riferimento a esperimenti precedenti anziché eseguirli di nuovo. Inoltre, consiglia di eseguire una ricerca bibliografica per vedere quali algoritmi vengono utilizzati da altri in un campo specifico, ma avverte che la letteratura potrebbe essere immatura in alcune aree.

  • 00:45:00 In questa sezione, il docente discute l'importanza di prendere buoni appunti durante tutto il processo di deep learning, dalla raccolta dei dati e dalla progettazione del modello alla distribuzione. Utilizza l'esempio dell'implementazione di un sistema di riconoscimento vocale su dispositivi edge (come altoparlanti intelligenti) per sottolineare le sfide dell'esecuzione di una grande rete neurale su processori a basso consumo con budget computazionali e di potenza limitati. A
    affrontare questa sfida, viene utilizzato un algoritmo più semplice per rilevare se qualcuno sta parlando prima di passare la clip audio alla rete neurale più grande per la classificazione. Questo algoritmo più semplice è noto come rilevamento dell'attività vocale (VAD) ed è un componente standard in molti sistemi di riconoscimento vocale, compresi quelli utilizzati nei cellulari.

  • 00:50:00 In questa sezione della conferenza, il professore pone la questione se utilizzare un sistema di rilevamento dell'attività vocale non basato sull'apprendimento automatico o addestrare una piccola rete neurale per riconoscere il linguaggio umano per un progetto. Osserva che una piccola rete neurale potrebbe essere gestita con un budget computazionale basso e suggerisce che è più facile rilevare se qualcuno sta parlando piuttosto che riconoscere le parole che ha detto. Gli studenti della classe hanno opinioni diverse, con alcuni che sostengono che l'opzione uno è facile da eseguire il debug e semplice, mentre l'opzione due è migliore per rilevare il rumore di cose come cani che abbaiano o persone che sussurrano.

  • 00:55:00 In questa sezione, il docente discute due opzioni per implementare l'attivazione vocale, che è un problema che si verifica con gli altoparlanti intelligenti quando c'è rumore di fondo. L'opzione uno è una soluzione semplice e veloce che può essere implementata in 10 minuti e comporta il filtraggio del rumore di fondo con poche righe di codice. L'opzione due è più complicata e richiede la costruzione di una grande rete neurale per gestire ambienti rumorosi. Mentre l'opzione due potrebbe essere necessaria per le grandi aziende di altoparlanti intelligenti, i piccoli team di startup possono trarre vantaggio dall'iniziare con l'opzione uno e investire nell'opzione due solo quando diventa necessario. Il docente evidenzia anche il problema delle modifiche dei dati durante la spedizione di un prodotto e offre idee pratiche su come risolverlo.

  • 01:00:00 In questa sezione, il relatore discute una debolezza pratica dell'apprendimento automatico che viene spesso ignorata nel mondo accademico: il problema della modifica dei dati. Quando i modelli di machine learning vengono addestrati su un set di dati specifico, potrebbero non funzionare bene quando i dati cambiano, ad esempio nuove classi di utenti con accenti, rumori di sottofondo diversi o nuovi eventi come uno scandalo presidenziale. Gli esempi forniti includono la ricerca sul Web, le auto a guida autonoma e le ispezioni di fabbrica. Questo problema evidenzia la necessità di monitoraggio continuo, raccolta di dati e riprogettazione del modello per garantire che le piattaforme di machine learning continuino a funzionare nel mondo reale.

  • 01:05:00 In questa sezione, la classe discute quale sistema sarebbe più robusto per VAD, rilevamento dell'attività vocale, tra un approccio non basato sull'apprendimento automatico e una rete neurale addestrata. La maggioranza della classe ha votato per un sistema non ML. Tuttavia, si scopre che l'addestramento di una piccola rete neurale sul discorso con accento americano rende più probabile che la rete neurale rilevi certe idiosincrasie dell'accento americano, rendendola meno robusta nel rilevare il discorso con accento britannico. La classe conclude che se una regola codificata a mano può funzionare abbastanza bene, è generalmente più affidabile spostare i dati e spesso generalizzerà meglio, sebbene gli algoritmi di apprendimento automatico siano necessari quando non esiste una tale regola.

  • 01:10:00 In questa sezione, il docente discute l'idea che avere meno parametri in un modello può portare a una migliore generalizzazione, come supportato da una rigorosa teoria dell'apprendimento. Pone quindi la domanda su quale tipo di implementazione, cloud o edge, renda più semplice la manutenzione del modello, dato che il mondo è in continua evoluzione e potrebbero essere necessari aggiornamenti. Dopo aver concesso al pubblico il tempo di inserire le proprie risposte, la maggioranza ha risposto che le implementazioni cloud semplificano la manutenzione grazie alla possibilità di inviare aggiornamenti e ricevere tutti i dati elaborati in un'unica posizione centrale, anche se con problemi di privacy e sicurezza degli utenti.

  • 01:15:00 In questa sezione, il relatore discute di come il monitoraggio e la manutenzione siano considerazioni importanti nell'implementazione di progetti di machine learning. Sottolineano che è essenziale monitorare le prestazioni e il feedback del modello e affrontare eventuali modifiche necessarie per migliorarne l'accuratezza o per riaddestrare il modello se necessario. Suggeriscono inoltre che le aziende stiano istituendo processi di garanzia della qualità utilizzando test statistici per garantire che il modello continui a funzionare anche in caso di aggiornamenti o modifiche. Inoltre, sottolineano l'importanza di rispettare la privacy degli utenti e ottenere il consenso degli utenti durante la raccolta dei dati da utilizzare per il feedback e la riqualificazione del modello
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 3 - Full-Cycle Deep Learning Projects
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 3 - Full-Cycle Deep Learning Projects
  • 2019.03.21
  • www.youtube.com
Andrew Ng, Adjunct Professor & Kian Katanforoosh, Lecturer - Stanford Universityhttps://stanford.io/3eJW8yTAndrew NgAdjunct Professor, Computer ScienceKian K...
 

Lezione 4 - Adversarial Attacks / GANs




Stanford CS230: Apprendimento approfondito | Autunno 2018 | Lezione 4 - Adversarial Attacks / GANs

Questa lezione introduce il concetto di esempi contraddittori, che sono input che sono stati leggermente modificati per ingannare una rete neurale pre-addestrata. La conferenza spiega le basi teoriche di come funzionano questi attacchi e discute le applicazioni dannose dell'utilizzo di esempi contraddittori nel deep learning. La lezione introduce anche le Generative Adversarial Networks (GAN) come un modo per addestrare un modello in grado di generare immagini che sembrano reali, e la lezione discute la funzione di costo per il generatore in un modello GAN. La lezione si conclude spiegando il grafico logaritmico dell'output di D quando viene fornito un esempio generato.

La conferenza copre vari argomenti relativi alle reti generative avversarie (GAN), inclusi suggerimenti e trucchi per addestrare i GAN e le loro applicazioni nella traduzione da immagine a immagine e reti generative avversarie non accoppiate utilizzando l'architettura CycleGAN. Viene discussa anche la valutazione dei GAN, con metodi come l'annotazione umana, le reti di classificazione e il punteggio di inizio e la distanza di inizio di Frechet che sono metodi popolari per verificare il realismo delle immagini generate.

  • 00:00:00 In questa sezione, l'istruttore introduce il concetto di attacchi contraddittori alle reti neurali e stabilisce l'obiettivo di trovare un'immagine di input che non sia un'iguana, ma sia classificata come iguana da una rete pre-addestrata. L'istruttore spiega che le reti neurali hanno punti ciechi che le rendono vulnerabili a questi attacchi e discute le basi teoriche di come funzionano questi attacchi. L'istruttore sottolinea che questo argomento è più teorico ed elenca le letture consigliate per una maggiore comprensione.

  • 00:05:00 In questa sezione, il relatore discute il processo di generazione di esempi contraddittori utilizzando una funzione di perdita che minimizza la differenza tra output atteso e non atteso. La funzione di perdita può essere L1, L2 o entropia incrociata, a seconda di quale funziona meglio nella pratica. L'immagine viene quindi ottimizzata in modo iterativo utilizzando la discesa del gradiente fino a quando non viene classificata come output desiderato. Tuttavia, l'immagine risultante potrebbe non sembrare necessariamente l'output desiderato a causa del vasto spazio di possibili immagini di input che la rete può vedere, che è considerevolmente più grande dello spazio delle immagini del mondo reale.

  • 00:10:00 In questa sezione, il docente discute le applicazioni dannose di esempi contraddittori nell'apprendimento profondo, in cui gli aggressori possono utilizzare questi esempi per ingannare le reti neurali e interpretare erroneamente gli input. Ad esempio, un utente malintenzionato potrebbe utilizzare un esempio contraddittorio per far apparire un'immagine del proprio volto come quella di qualcun altro, violare i CAPTCHA o aggirare gli algoritmi che rilevano contenuti violenti sui social media. Il docente spiega quindi come limitare il problema di ottimizzazione può rendere più pericolosi gli esempi contraddittori, in cui un'immagine che agli umani sembra un gatto potrebbe essere interpretata come un'iguana da una rete neurale, il che ha implicazioni per le auto a guida autonoma e altre situazioni del mondo reale applicazioni. Infine, viene discussa l'immagine iniziale utilizzata per il problema di ottimizzazione, con il docente che suggerisce che iniziare con l'immagine dell'oggetto target potrebbe essere la strategia più efficiente.

  • 00:15:00 In questa sezione, il relatore discute l'uso dell'errore RMSE come funzione di perdita e come potrebbe non essere un modo accurato per valutare se un essere umano vede o meno due immagini come simili. Affrontano anche la sfida di creare una funzione di perdita complessa che prenda un gruppo di gatti e metta una distanza minima tra loro. L'oratore passa quindi a parlare di esempi contraddittori e di come lo spazio delle immagini che sembrano reali per gli umani sia in realtà più grande dello spazio delle immagini reali. Il relatore prosegue spiegando gli attacchi non mirati e mirati e come la conoscenza dell'aggressore sia un fattore importante quando si considerano diversi tipi di attacchi.

  • 00:20:00 In questa sezione della conferenza, il professore discute i modi per attaccare un modello a scatola nera per attacchi contraddittori. Un'idea è usare il gradiente numerico per stimare come cambia la perdita quando un'immagine è leggermente perturbata. Un altro concetto è la trasferibilità, in cui un esempio contraddittorio creato per un modello può ingannare anche un altro modello simile. Il professore menziona potenziali difese come la creazione di un modello di "Rete di sicurezza" per filtrare esempi contraddittori e l'assemblaggio di più reti con diverse funzioni di perdita. Un altro approccio consiste nell'esercitarsi su esempi contraddittori insieme a esempi normali, ma questo può essere costoso e potrebbe non essere necessariamente generalizzato ad altri esempi contraddittori.

  • 00:25:00 In questa sezione, il docente discute la complessità dell'utilizzo di esempi contraddittori nell'ottimizzazione della discesa del gradiente. Il processo prevede la propagazione di x attraverso la rete per calcolare il primo termine, la generazione di un esempio contraddittorio con il processo di ottimizzazione, il calcolo del secondo termine inoltrando la propagazione dell'esempio contraddittorio e quindi l'utilizzo della retropropagazione per aggiornare i pesi della rete. La tecnica dell'accoppiamento logit è anche brevemente menzionata come un altro metodo per l'addestramento in contraddittorio. Vengono inoltre sollevate prospettive teoriche sulla vulnerabilità delle reti neurali agli esempi contraddittori, con l'argomento chiave che le parti lineari delle reti, piuttosto che le elevate non linearità e l'overfitting, sono la causa dell'esistenza di esempi contraddittori.

  • 00:30:00 In questa sezione, l'oratore discute il concetto di esempi contraddittori e come modificare un input in modo tale da cambiare radicalmente l'output della rete rimanendo vicino all'input originale. L'oratore usa la derivata di y-hat rispetto a x e definisce il valore di perturbazione, epsilon, e mostra che aggiungendo epsilon*w-transpose a x, possiamo spostare x di un po', il che aiuta a cambiare l'output di conseguenza . Il relatore sottolinea che il termine w*w-transpose è sempre positivo, e possiamo fare questo piccolo cambiamento cambiando epsilon in un piccolo valore.

  • 00:35:00 In questa sezione, il docente discute un esempio di come creare un attacco contraddittorio calcolando una leggera modifica a x, chiamata x-star, che spinge y-hat, l'output della rete neurale, da -4 a 0,5. Il docente nota che se W è grande, x-star sarà diverso da x, e se si usa il segno di W invece di W, il risultato spingerà sempre il termine x verso il lato positivo. Inoltre, all'aumentare della dimensione di x, aumenta l'impatto del segno epsilon positivo di W.

  • 00:40:00 In questa sezione, il relatore discute un metodo chiamato Fast Gradient Sign Method, che è un modo generale per generare esempi contraddittori. Questo metodo linearizza la funzione di costo in prossimità dei parametri e viene utilizzato per spingere le immagini dei pixel in una direzione che avrà un impatto significativo sull'output. Il relatore spiega che questo metodo funziona sia per le reti neurali lineari che per quelle più profonde, poiché la ricerca si concentra sulla linearizzazione dei comportamenti di queste reti. Inoltre, il relatore discute come viene utilizzata la regola della catena per calcolare la derivata della funzione di perdita e l'importanza di avere un gradiente elevato per addestrare i parametri di un neurone.

  • 00:45:00 In questa sezione del video, viene introdotto il concetto di reti generative avversarie (GAN) come un modo per addestrare un modello in grado di generare immagini che sembrano reali, anche se non sono mai esistite prima. L'obiettivo è che la rete comprenda le caratteristiche salienti di un set di dati e impari a generare nuove immagini che corrispondano alla distribuzione del mondo reale. Un gioco minimax viene giocato tra due reti: un generatore e un discriminatore. Il generatore inizia emettendo un'immagine casuale e utilizza il feedback del discriminatore per apprendere come generare immagini più realistiche. I GAN sono difficili da addestrare, ma l'obiettivo è che il generatore impari a imitare la distribuzione delle immagini nel mondo reale con meno parametri rispetto alla quantità di dati disponibili.

  • 00:50:00 In questa sezione, l'istruttore introduce il concetto di Generative Adversarial Networks (GAN) e come possono essere addestrati attraverso la backpropagation. Il GAN è costituito da un generatore e un discriminatore, con il discriminatore che cerca di identificare se un'immagine è reale o falsa. Il generatore quindi genera immagini false e cerca di indurre il discriminatore a pensare che siano reali. Il discriminatore viene addestrato utilizzando l'entropia incrociata binaria, con immagini reali etichettate come uno e immagini generate etichettate come zero. La funzione di perdita per il discriminatore è JD, che ha due termini: uno che etichetta correttamente i dati reali come uno, e l'altro è l'entropia incrociata binaria.

  • 00:55:00 In questa sezione, gli istruttori parlano della funzione di costo per il generatore in un modello GAN. L'obiettivo è che il generatore crei campioni realistici che ingannino il discriminatore e la funzione di costo dovrebbe riflettere questo. Tuttavia, poiché si tratta di un gioco, sia D che G devono migliorare insieme fino a raggiungere un equilibrio. La funzione di costo per il generatore afferma che il discriminatore dovrebbe classificare le immagini generate come "una" e ciò si ottiene invertendo il segno del gradiente. Gli istruttori discutono anche il grafico logaritmico dell'output di D quando viene fornito un esempio generato.

  • 01:00:00 In questa sezione, l'istruttore discute il problema con la funzione di costo del generatore e come va all'infinito negativo, il che fa sì che il gradiente sia molto grande quando si avvicina a uno. Invece, suggerisce di utilizzare una funzione di costo non saturante che ha un gradiente maggiore quando è più vicina allo zero e converte la funzione di costo corrente in questa funzione di costo non saturante usando un trucco matematico. La funzione di costo non saturante ha un gradiente elevato all'inizio quando il discriminatore è migliore del generatore, che è dove di solito sono all'inizio dell'addestramento.

  • 01:05:00 In questa sezione, il relatore discute suggerimenti e trucchi per l'addestramento dei GAN, inclusa la modifica della funzione di costo, l'aggiornamento del discriminatore più del generatore e l'utilizzo di Virtual BatchNorm. L'oratore mostra anche esempi di risultati GAN impressionanti, incluso l'utilizzo di un generatore per creare volti con un codice randomizzato e l'esecuzione di operazioni lineari nello spazio latente dei codici per avere un impatto diretto sullo spazio dell'immagine. Inoltre, il relatore dimostra come i GAN possono essere utilizzati nella traduzione da immagine a immagine per generare immagini satellitari basate su immagini di mappe e convertire tra diversi oggetti come zebre e cavalli o mele e arance.

  • 01:10:00 In questa sezione, l'istruttore discute l'uso di reti di contraddittori generativi non accoppiati nella conversione di cavalli in zebre e viceversa. L'architettura utilizzata si chiama CycleGAN, che prevede due generatori e due discriminatori. I generatori sono addestrati a trasformare un'immagine dal dominio di origine al dominio di destinazione e quindi di nuovo al dominio di origine. Questo è importante per far rispettare il vincolo che il cavallo dovrebbe essere lo stesso cavallo di una zebra e viceversa. Le funzioni di perdita utilizzate includono le classiche funzioni di costo viste in precedenza e termini aggiuntivi che assicurano la corrispondenza tra le immagini originali e quelle generate.

  • 01:15:00 In questa sezione del video, i relatori discutono di varie applicazioni dei GAN, tra cui l'uso dei costi del ciclo per migliorare le funzioni di perdita per i GAN condizionali, la capacità di generare immagini basate su bordi o immagini a bassa risoluzione e la potenziale per i GAN da utilizzare in set di dati medici che preservano la privacy e produzione personalizzata di oggetti come ossa e sostituti dentali. I relatori evidenziano anche le divertenti applicazioni che sono state create, come la conversione del ramen in faccia e schiena e la generazione di gatti in base ai bordi.

  • 01:20:00 In questa sezione, il docente discute la valutazione dei GAN e come verificare se le immagini generate sono realistiche o meno. Un metodo è l'annotazione umana, in cui viene creato un software e agli utenti viene chiesto di indicare quali immagini sono false e quali sono reali. Un altro metodo consiste nell'utilizzare una rete di classificazione come la rete Inception per valutare le immagini. Il docente cita anche l'Inception score e la Frechet Inception Distance come metodi popolari per valutare i GAN. Infine, il docente ricorda agli studenti i prossimi quiz e il compito di programmazione e consiglia loro di rivedere i video BatchNorm.
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 4 - Adversarial Attacks / GANs
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 4 - Adversarial Attacks / GANs
  • 2019.03.21
  • www.youtube.com
Andrew Ng, Adjunct Professor & Kian Katanforoosh, Lecturer - Stanford Universityhttp://onlinehub.stanford.edu/Andrew NgAdjunct Professor, Computer ScienceKia...
 

Lezione 5 - AI + Sanità




Stanford CS230: Apprendimento approfondito | Autunno 2018 | Lezione 5 - AI + Sanità

La conferenza fornisce una panoramica delle applicazioni AI nel settore sanitario in questa conferenza. Analizza i tipi di domande a cui l'IA può rispondere, come descrittive, diagnostiche, predittive e prescrittive. L'autore presenta quindi tre casi di studio del suo laboratorio che dimostrano l'applicazione dell'IA a diversi problemi sanitari. Un esempio è il rilevamento di gravi aritmie cardiache, che gli esperti potrebbero aver diagnosticato erroneamente ma potrebbero essere rilevate da una macchina. Un altro esempio è l'utilizzo di reti neurali convoluzionali per identificare le anomalie degli esami RM del ginocchio, identificando specificamente la probabilità di una lesione del LCA e di una lesione del menisco. Infine, il relatore discute le questioni relative alla distribuzione dei dati e all'aumento dei dati nell'IA sanitaria.

La seconda parte copre vari argomenti relativi all'implementazione del deep learning nelle applicazioni sanitarie. Viene discussa l'importanza dell'aumento dei dati, come dimostrato dalla soluzione di un'azienda ai problemi di riconoscimento vocale nelle auto a guida autonoma causati da persone che parlano con l'assistente virtuale guardando indietro. Vengono discussi anche gli iperparametri coinvolti nel trasferimento dell'apprendimento per le applicazioni sanitarie, come decidere quanti livelli aggiungere e quali bloccare. La lezione passa quindi all'analisi delle immagini, in cui viene evidenziata l'importanza di aggiungere confini ai set di dati etichettati. Vengono discussi i vantaggi e le differenze tra il rilevamento di oggetti e la segmentazione nell'analisi delle immagini mediche e viene introdotto l'argomento della classificazione binaria per le immagini mediche etichettate con zero o uno. La conferenza si conclude discutendo l'importanza dei dati nel deep learning e le prossime valutazioni per il corso.

  • 00:00:00 In questa sezione del video la conferenza fornisce una panoramica delle applicazioni dell'IA nel settore sanitario. Analizza i tipi di domande a cui l'IA può rispondere, come descrittive, diagnostiche, predittive e prescrittive. Discute anche del cambio di paradigma del deep learning e del potenziale dell'IA per automatizzare il lavoro dell'ingegnere dell'apprendimento automatico. Rajpurkar presenta quindi tre casi di studio del suo laboratorio che dimostrano l'applicazione dell'IA a diversi problemi sanitari.

  • 00:05:00 In questa sezione, il relatore discute il problema del rilevamento delle aritmie mediante imaging medico. Le aritmie sono un problema significativo che colpisce milioni di individui e rilevarle attraverso i test ECG può essere difficile a causa delle sottili differenze tra i ritmi cardiaci. Il relatore sottolinea la quantità di dati generati in due settimane dal monitoraggio dei pazienti utilizzando dispositivi recenti, come lo Zio Patch, che possono rendere necessaria l'interpretazione automatizzata. Tuttavia, il rilevamento delle aritmie utilizzando metodi automatizzati comporta sfide come la disponibilità limitata di diversi elettrodi e le sottili differenze tra i ritmi cardiaci. Per superare queste sfide, il relatore propone di utilizzare il deep learning, che può cambiare gli approcci tradizionali per caratterizzare l'ingegneria e la classificazione.

  • 00:10:00 In questa sezione, il relatore discute l'utilizzo di una rete neurale profonda con un'architettura di rete neurale convoluzionale 1D che è profonda 34 strati, per mappare i ritmi cardiaci (etichettati A, B e C) dall'input all'output. La rete utilizzata era una rete residua con scorciatoie che aiutano a ridurre al minimo la distanza dal segnale di errore a ciascuno dei livelli ed è stata combinata con un database più grande che era 600 volte più grande del precedente set di dati più grande. Questo nuovo database consente all'algoritmo di superare i cardiologi nella precisione e nel richiamo delle metriche F1, con l'errore più grande che è stato distinguere due ritmi che sembrano molto simili ma non hanno differenze nel trattamento e persino trovare un errore di costo che gli esperti hanno mancato.

  • 00:15:00 In questa sezione, il docente discute l'uso dell'automazione nel settore sanitario e come il deep learning e l'apprendimento automatico consentono il monitoraggio continuo del paziente, l'avanzamento della comprensione scientifica dei fattori di rischio e le potenziali scoperte mediche. Un esempio è il rilevamento di gravi aritmie cardiache, che gli esperti potrebbero aver diagnosticato erroneamente, ma potrebbero essere rilevate da una macchina. Il docente discute anche il rilevamento della polmonite con i raggi X del torace, sottolineando l'utilità del rilevamento automatico, specialmente nei bambini in cui la polmonite ha un carico globale elevato.

  • 00:20:00 In questa sezione, il relatore discute l'uso di una rete neurale convoluzionale 2D che è stata pre-addestrata su ImageNet per acquisire un'immagine di input della radiografia del torace di un paziente e produrre un'etichetta binaria che indica la presenza o l'assenza di polmonite. Il set di dati utilizzato era un ampio set di dati di 100.000 radiografie del torace rilasciate dal NIH, con ciascuna radiografia annotata con un massimo di 14 diverse patologie. È stata effettuata una valutazione per determinare se il modello fosse migliore dei radiologi o alla pari con loro valutando se fossero d'accordo con altri esperti allo stesso modo. Il punteggio F1 è stato calcolato una volta per ciascun esperto e per il modello ed è stato dimostrato che il modello ha ottenuto risultati migliori rispetto al radiologo medio in questo compito. I risultati sono stati anche migliori del precedente stato dell'arte su tutte le 14 patologie.

  • 00:25:00 In questa sezione, il relatore discute le sfide della diagnosi dei pazienti senza accesso alle loro storie cliniche e come gli algoritmi di deep learning possono essere addestrati sui referti radiologici che hanno accesso a maggiori informazioni. L'obiettivo è identificare potenziali patologie da una serie di sintomi osservati sulla radiografia del torace di un nuovo paziente. L'interpretazione del modello è essenziale per informare i medici sul processo decisionale dell'algoritmo e utilizzano mappe di attivazione di classe per generare mappe di calore che evidenziano aree di un'immagine con patologie. L'approccio può migliorare l'assistenza sanitaria dando la priorità al flusso di lavoro, soprattutto nel mondo sviluppato, e aumentare le competenze di imaging medico a livello globale, dove due terzi della popolazione non ha accesso alla diagnostica.

  • 00:30:00 In questa sezione, il docente dimostra un'app prototipo che consente agli utenti di caricare immagini a raggi X, che il modello quindi diagnostica. Il modello è addestrato su 14 patologie ed è in grado di identificare la cardiomegalia, l'ingrossamento del cuore. Il docente è entusiasta della capacità dell'algoritmo di generalizzare a popolazioni oltre a quelle su cui è stato addestrato, come dimostrato dalla diagnosi riuscita di un'immagine scaricata da Internet. Inoltre, il docente discute un caso di studio sulle immagini RM del ginocchio, in cui l'obiettivo era identificare le anomalie del ginocchio. Il problema 3D consente di visualizzare il ginocchio da diverse angolazioni, il che è essenziale per i radiologi nella diagnosi.

  • 00:35:00 In questa sezione, il relatore discute l'utilizzo di reti neurali convoluzionali per identificare anomalie dagli esami RM del ginocchio, identificando in particolare la probabilità di una lesione del LCA e di una lesione del menisco. L'oratore ha addestrato nove reti convoluzionali per ogni coppia vista-patologia e poi le ha combinate usando la regressione logistica. Hanno testato il modello su 120 esami e hanno scoperto che funzionava bene nell'identificare le anomalie. Il relatore discute anche dell'importanza di poter generalizzare i modelli per lavorare con set di dati di diverse istituzioni e paesi. Viene anche menzionata la questione dei modelli che collaborano con esperti in diversi campi, come i radiologi, per migliorare le prestazioni.

  • 00:40:00 In questa sezione della conferenza, il relatore discute uno studio sull'efficacia dei radiologi che utilizzano un modello AI per rilevare le lesioni del LCA. Lo studio ha rilevato che l'utilizzo del modello insieme ai radiologi ha aumentato le prestazioni e la specificità del rilevamento della rottura del LCA. Tuttavia, sorge la preoccupazione del pregiudizio dell'automazione e l'oratore affronta potenziali soluzioni, come il superamento di esami con risposte capovolte per avvisare i radiologi se si affidano troppo al modello. Il relatore condivide anche due opportunità per gli studenti di essere coinvolti con l'IA e l'assistenza sanitaria, incluso il lavoro con il set di dati MURA e la partecipazione all'AI for Healthcare Bootcamp.

  • 00:45:00 In questa sezione, il relatore discute le applicazioni e il potenziale compenso per gli esperti medici nello sviluppo e nell'implementazione di modelli di intelligenza artificiale nel settore sanitario. Mentre c'è molto lavoro da fare sull'argomento, non esiste una soluzione diretta alle preoccupazioni etiche che circondano il potenziale impatto sui mezzi di sussistenza dei professionisti medici. Il relatore affronta anche una domanda sui limiti dei modelli di intelligenza artificiale nel rilevare determinate patologie e sull'importanza di trasmettere queste limitazioni agli utenti. La sezione si conclude con un caso di studio sull'utilizzo del deep learning per segmentare le immagini microscopiche delle cellule della pelle per rilevare le malattie.

  • 00:50:00 In questa sezione, il relatore discute la segmentazione delle immagini mediche e la divisione del set di dati in set di addestramento, sviluppo e test. Le immagini sono binarie segmentate in pixel che corrispondono a cella o nessuna cella. Al pubblico viene chiesto di discutere e fornire strategie per dividere i dati da tre diversi microscopi: A, B e C, con i dati divisi come 50% per A, 25% per B e 25% per C. Il consenso è di dividere i dati in 95-5 per train e dev-test, con immagini C nei set di sviluppo e test e immagini C incluse anche nel 90% dei dati di addestramento.

  • 00:55:00 In questa sezione, il relatore discute le questioni relative alla distribuzione dei dati e all'aumento dei dati nell'IA sanitaria. Sottolinea l'importanza di garantire che la distribuzione dei dati di addestramento corrisponda a quella dell'applicazione del mondo reale e suggerisce tecniche di aumento come rotazione, zoom, sfocatura e simmetria. L'oratore avverte anche dei casi in cui l'aumento dei dati può danneggiare piuttosto che aiutare il modello, come nel riconoscimento dei caratteri in cui i capovolgimenti di simmetria possono portare a un'etichettatura errata.

  • 01:00:00 In questa sezione viene discussa l'importanza dell'aumento dei dati con un esempio di un'azienda che lavora su auto a guida autonoma e assistenti virtuali nelle auto. Hanno notato che il sistema di riconoscimento vocale non funzionava bene quando l'auto andava in retromarcia e hanno scoperto che le persone stavano parlando con l'assistente virtuale con la mano sul sedile del passeggero guardando indietro. Utilizzando l'aumento intelligente dei dati, sono stati in grado di modificare le voci dei dati in modo che sembrassero utilizzate da qualcuno che stava parlando con il retro dell'auto, il che ha risolto il problema. Inoltre, vengono discussi argomenti come gli iperparametri coinvolti nel transfer learning.

  • 01:05:00 In questa sezione, il relatore discute gli iperparametri coinvolti nel trasferimento dell'apprendimento per le applicazioni sanitarie che utilizzano il deep learning. Si concentrano su iperparametri come il numero di livelli, la dimensione dei livelli aggiunti e la decisione di quali livelli bloccare durante l'addestramento. Il relatore spiega come scegliere quali livelli mantenere da una rete pre-addestrata e quanti livelli aggiungere per creare una nuova rete per la segmentazione. Inoltre, discutono che è importante decidere quanti livelli pre-addestrati congelare durante il riaddestramento per un piccolo set di dati.

  • 01:10:00 In questa sezione, l'istruttore mostra un'immagine di un output prodotto da un algoritmo, che non corrisponde a ciò che il medico desidera. L'immagine ha cellule che non possono essere separate, rendendo difficile per il medico interpretarla. La soluzione a questo problema consiste nell'aggiungere confini al set di dati etichettato. I dataset possono essere rietichettati, tenendo conto della presenza di confini. Quando il modello continua a non funzionare bene, la ponderazione della funzione di perdita viene regolata, il che significa che il modello viene addestrato per concentrarsi sui limiti. I coefficienti possono essere attribuiti a ciascun valore nella funzione di perdita per indicare al modello come procedere nel caso in cui manchi i limiti. La rietichettatura del set di dati può essere eseguita manualmente dove si disegnano le linee e l'area all'interno delle linee verrà trattata come la cella e il confine verrà trattato come la linea.

  • 01:15:00 In questa sezione, la conferenza discute i vantaggi e le differenze tra il rilevamento di oggetti e la segmentazione nell'analisi delle immagini mediche. Sebbene il rilevamento degli oggetti possa funzionare meglio per un'analisi più rapida, la segmentazione è più precisa nella separazione delle celle. La conferenza passa quindi a discutere la classificazione binaria per le immagini mediche etichettate con zero o uno, che indicano la presenza o l'assenza di cellule tumorali. Il relatore consiglia di utilizzare i valori del gradiente per interpretare la previsione della rete dopo aver raggiunto un tasso di precisione del 99%. Viene quindi chiesto se sia possibile per una rete ottenere una precisione maggiore rispetto a un medico, a cui la risposta è sì a causa delle differenze di esperienza e percezione.

  • 01:20:00 In questa sezione, gli istruttori discutono dell'errore di base e delle prestazioni a livello umano nei modelli di intelligenza artificiale sanitaria. Dicono che l'accuratezza di un gruppo di medici che ha etichettato il set di dati deve essere presa in considerazione, poiché potrebbe superare quella di un singolo medico. Viene discussa anche la pipeline per la guida autonoma e si suggerisce che isolare ogni componente e controllarne le prestazioni possa aiutare a identificare dove si trova il problema. Inoltre, vengono discussi i vantaggi di un approccio a pipeline, incluso il fatto che la raccolta dei dati può essere più facile da ottenere per ogni singola fase che per l'intero sistema end-to-end.

  • 01:25:00 In questa sezione, l'istruttore discute l'importanza dei dati nel deep learning e come la scelta del problema su cui lavorare può dipendere da quali dati sono facilmente accessibili. Quindi introduce l'argomento delle reti neurali convoluzionali e afferma che i prossimi moduli si concentreranno fortemente sull'analisi delle immagini. L'istruttore ricorda agli studenti il prossimo quiz, i compiti di programmazione e il semestre intermedio, che copriranno tutto fino ai video della settimana in corso.
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 5 - AI + Healthcare
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 5 - AI + Healthcare
  • 2019.03.21
  • www.youtube.com
Andrew Ng, Adjunct Professor & Kian Katanforoosh, Lecturer - Stanford Universityhttp://onlinehub.stanford.edu/Andrew NgAdjunct Professor, Computer ScienceKia...
 

Lezione 6 - Strategia del progetto Deep Learning




Stanford CS230: Apprendimento approfondito | Autunno 2018 | Lezione 6 - Strategia del progetto Deep Learning

In questo video, il relatore discute l'importanza di scegliere una buona metrica per misurare il successo di un progetto di machine learning. La metrica scelta dovrebbe riflettere il problema in questione e il risultato desiderato. Il relatore fornisce esempi di accuratezza, precisione, richiamo e punteggio F1 e spiega quando ciascuno dovrebbe essere utilizzato. Discutono anche della differenza tra il set di convalida e il set di test e spiegano perché è importante utilizzarli entrambi. Inoltre, il relatore sottolinea la necessità di un modello di base come punto di confronto per misurare l'efficacia dell'algoritmo di apprendimento. Infine, il relatore rivolge alcune domande del pubblico sulla scelta della soglia per la classificazione binaria e su come affrontare lo squilibrio di classe.

  • 00:00:00 In questa sezione, l'istruttore introduce uno scenario progettuale di creazione di un sistema di riconoscimento vocale per rilevare una frase specifica, "Robert turn on", che può essere utilizzata per accendere una lampada tramite comando vocale. L'obiettivo è costruire un algoritmo di apprendimento in grado di riconoscere questa frase e accendere la lampada quando viene pronunciata. L'istruttore sottolinea l'importanza di essere strategicamente sofisticati nel decidere cosa fare dopo in un progetto di apprendimento automatico per renderlo più efficiente e portarlo avanti rapidamente. La lezione sarà interattiva e gli studenti sono incoraggiati a sedersi con qualcuno con cui non lavorano tradizionalmente.

  • 00:05:00 In questa sezione, l'istruttore chiede al pubblico di immaginarsi come CEO di una startup con il compito di costruire un algoritmo di apprendimento per rilevare una frase specifica. Sottolinea l'importanza di leggere la letteratura esistente prima di intraprendere un nuovo progetto e fornisce suggerimenti su come leggere in modo efficiente i documenti di ricerca. Consiglia al pubblico di scorrere più documenti a livello superficiale prima di decidere quale leggere in modo più dettagliato. Avverte inoltre che non tutti i documenti hanno senso o sono importanti, e quindi è essenziale filtrare le informazioni irrilevanti.

  • 00:10:00 In questa sezione della conferenza, viene sottolineata l'importanza di parlare con esperti e contattare autori di articoli quando si cerca di comprendere un particolare argomento. Il relatore discute anche il processo di raccolta dei set di dati di formazione, sviluppo e test appropriati per un progetto di deep learning. Suggeriscono di registrare le persone che pronunciano la frase specifica da rilevare, come "Robert turn on", e di utilizzare tecniche di aumento dei dati per ridurre la varianza nell'algoritmo di apprendimento. Il relatore sottolinea l'importanza di convalidare la necessità di aumentare i dati prima di investire tempo e sforzi in esso.

  • 00:15:00 In questa sezione, il relatore discute un esempio di problema relativo ai compiti a casa che prevede la creazione di un sistema di rilevamento delle parole chiave. Il sistema è progettato per rilevare quando qualcuno dice una frase specifica, come "Robert accendi", e quindi attivare un'azione, come accendere una lampada. Per raccogliere i dati necessari, il relatore suggerisce di raccogliere 100 clip audio di 10 secondi ciascuna, di cui 25 per il set di sviluppo e 0 per il set di test. Spiega che questo processo potrebbe essere eseguito rapidamente, stimando che una persona potrebbe essere registrata ogni minuto o due in un'area affollata come la mensa di Stanford.

  • 00:20:00 In questa sezione del video, il docente spiega come trasformare un problema di rilevamento audio in un problema di classificazione binaria per l'apprendimento supervisionato. Suggeriscono di ritagliare clip audio di tre secondi da una clip di dieci secondi, con etichette di destinazione diverse per ogni clip. Questo metodo può produrre migliaia di esempi di addestramento. Il docente riconosce che esistono altri metodi per elaborare i dati di sequenza, ma questo è un modo per farlo. Rispondono anche alle domande del pubblico sugli obiettivi sparsi e sulla scelta di clip di tre secondi. Infine, discutono di uno scenario in cui l'accuratezza è elevata, ma l'algoritmo non rileva alcuna istanza della frase in questione.

  • 00:25:00 In questa sezione, il relatore discute uno scenario in cui un algoritmo di apprendimento fornisce una precisione del 95% ma nessun rilevamento. Suggeriscono che un modo per migliorare l'algoritmo è specificare un set di sviluppo e valutare metriche più vicine all'obiettivo effettivo. Questo può essere fatto ricampionando training e dev set per renderli più proporzionati in termini di esempi positivi e negativi o dando maggior peso agli esempi positivi. Un altro approccio potrebbe essere quello di cambiare le etichette target in un gruppo di etichette, che potrebbe essere un metodo rapido e sporco ma non matematicamente rigoroso. Il relatore affronta anche una domanda su come riequilibrare i set di dati durante la distribuzione e fa riferimento alla necessità di adeguarsi al pregiudizio che potrebbe essere introdotto.

  • 00:30:00 In questa sezione, il relatore discute la strategia per costruire algoritmi di apprendimento e sottolinea che può sembrare più un debug che uno sviluppo. Il flusso di lavoro in genere comporta la risoluzione di un problema e quindi l'incontro con uno nuovo da risolvere. Ad esempio, se l'algoritmo è overfitting, è necessaria l'analisi degli errori e se ne possono aggiungere altri per bilanciare il set di dati. Tuttavia, il modo semplice di riequilibrare può comportare l'eliminazione di molti esempi negativi, il che avrebbe potuto essere utile per l'algoritmo di apprendimento. Il relatore ha anche menzionato le metriche per misurare l'efficienza di un sistema, come la possibilità di svegliarsi o accendere la lampada e la casualità che si accenda da sola.

  • 00:35:00 In questa sezione, il relatore discute l'aumento dei dati per l'audio e suggerisce tre possibili modi per raccogliere dati sul rumore di fondo per rendere un sistema più robusto. Il primo metodo prevede la raccolta di campioni audio di suoni di sottofondo all'interno delle case delle persone con il loro permesso da aggiungere alle clip audio per simulare come suonerebbe a casa dell'utente. Il secondo metodo prevede il download di clip audio di 10 ore di pioggia o auto da contenuti online con licenza Creative Commons, mentre la terza opzione consiste nell'utilizzare Amazon Mechanical Turk per convincere persone da tutto il mondo a fornire campioni audio.

  • 00:40:00 In questa sezione del video, l'oratore chiede al pubblico di stimare quanto tempo ci vorrebbe per raccogliere 10 ore di dati audio in varie località intorno a Stanford attraverso diversi meccanismi. L'oratore suggerisce che la raccolta di dati in parallelo avendo più amici con laptop può essere eseguita rapidamente, mentre il download di clip online potrebbe essere più difficile in quanto le clip potrebbero ripetersi e quindi non contribuire alla diversità dei dati. L'oratore sottolinea l'importanza di eseguire tali esercizi per raccogliere idee in modo efficiente e determinare quanto tempo e impegno richiederanno.

  • 00:45:00 In questa sezione, l'istruttore spiega l'importanza di essere efficienti e di fare scelte basate su idee raccolte e stime di tempo per costruire un sistema di rilevamento delle parole trigger decente. Il consiglio dato è di costruire rapidamente qualcosa di "sporco" e successivamente sviluppare set di dati per migliorare ulteriormente il sistema. L'istruttore sottolinea che la differenza tra il successo/insuccesso di un'azienda si riduce in ultima analisi all'efficienza e allo sfruttamento ottimale del periodo di tempo stabilito. Infine, l'istruttore incoraggia gli studenti a compilare un sondaggio anonimo per contribuire a migliorare il corso .
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 6 - Deep Learning Project Strategy
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 6 - Deep Learning Project Strategy
  • 2019.04.03
  • www.youtube.com
Andrew Ng, Adjunct Professor & Kian Katanforoosh, Lecturer - Stanford Universityhttp://onlinehub.stanford.edu/Andrew NgAdjunct Professor, Computer ScienceKia...
 

Lezione 7 - Interpretabilità delle Reti Neurali




Stanford CS230: Apprendimento approfondito | Autunno 2018 | Lezione 7 - Interpretabilità delle Reti Neurali

In questa lezione, il docente introduce diversi metodi per interpretare e visualizzare le reti neurali, come mappe di salienza, sensibilità all'occlusione e mappe di attivazione di classe. Le mappe di attivazione della classe vengono utilizzate per interpretare i livelli intermedi di una rete neurale mappando l'output nello spazio di input per visualizzare quali parti dell'input sono state più discriminanti nel processo decisionale. Il professore discute anche il raggruppamento medio globale come un modo per mantenere le informazioni spaziali in una rete neurale convoluzionale e la deconvoluzione come un modo per sovracampionare l'altezza e la larghezza delle immagini per compiti come la segmentazione delle immagini. Inoltre, la conferenza esplora il presupposto dell'ortogonalità nei filtri convoluzionali e come la convoluzione sub-pixel può essere utilizzata per la ricostruzione nelle applicazioni di visualizzazione.

La conferenza copre vari metodi per interpretare e visualizzare le reti neurali, tra cui la convoluzione sub-pixel, la deconvoluzione 2D, l'upsampling, l'unpooling e l'uso di strumenti come il toolbox DeepViz e l'algoritmo Deep Dream. Il relatore spiega come visualizzare i filtri nel primo strato di una rete può facilitare l'interpretazione, ma man mano che andiamo più in profondità, la rete diventa più difficile da capire. Esaminando le attivazioni in diversi strati, il relatore mostra come alcuni neuroni rispondono a caratteristiche specifiche. Sebbene esistano limitazioni nell'interpretazione delle reti neurali, le tecniche di visualizzazione possono fornire approfondimenti e potenziali applicazioni come la segmentazione, la ricostruzione e la generazione di reti contraddittorie.

  • 00:00:00 In questa sezione, il relatore introduce l'idea di interpretare le reti neurali, invece di usare solo prove ed errori per migliorarle. Continuano introducendo tre metodi per interpretare le reti neurali: mappe di salienza, sensibilità all'occlusione e mappe di attivazione delle classi. Questi metodi aiutano a comprendere il processo decisionale della rete mappando lo spazio di input per verificare quale parte dell'input era discriminante per un determinato output. Il relatore prosegue poi spiegando come approfondiranno ulteriormente i livelli intermedi e come utilizzeranno metodi come la visualizzazione del modello di classe di ascesa del gradiente, la ricerca di set di dati e la deconvoluzione per comprendere meglio la rete. L'obiettivo è fornire un metodo scientifico per migliorare le reti neurali anziché affidarsi solo a tentativi ed errori.

  • 00:05:00 In questa sezione, il docente discute l'interpretabilità delle reti neurali e l'uso delle mappe di salienza per visualizzare ciò che la rete sta guardando. Spiegano che invece di utilizzare le probabilità del livello softmax, è meglio utilizzare i punteggi pre-softmax per identificare quali pixel hanno la maggiore influenza sull'output generale della rete. Il docente introduce anche la sensibilità all'occlusione come metodo per una visualizzazione più precisa. Ciò comporta l'inserimento di un quadrato grigio sul cane nell'immagine di input e la sua propagazione attraverso la rete più volte per creare una mappa di probabilità della classe cane, in cui la confidenza della rete è indicata da colori diversi. Spostando il quadrato grigio, la mappa mostra quali regioni dell'immagine di input sono più cruciali per la rete per classificarlo come cane.

  • 00:10:00 In questa sezione, il docente discute tre diversi metodi per interpretare e comprendere le reti neurali. Il primo metodo prevede l'occlusione di parti dell'immagine per vedere dove sta guardando la rete e su cosa si sta concentrando. Il docente dimostra questo metodo con immagini di cani e sedie, mostrando come la confidenza della rete cambia a seconda di quale parte dell'immagine è occlusa. Il secondo metodo è la sensibilità all'occlusione, in cui la fiducia della rete aumenta effettivamente quando vengono rimosse alcune parti dell'immagine. Il terzo metodo sono le mappe di attivazione delle classi, che dimostrano la capacità di una rete di localizzare gli oggetti nelle immagini anche se addestrate solo su etichette a livello di immagine. Il docente spiega che questa capacità di localizzazione è cruciale per attività come il rilevamento di oggetti ed è spesso sviluppata attraverso la formazione sulle attività di classificazione.

  • 00:15:00 In questa sezione, l'istruttore dimostra come utilizzare il raggruppamento medio globale invece di appiattito più completamente connesso in una rete neurale convoluzionale (CNN) per mantenere le informazioni spaziali, utili per visualizzare ciò che la rete sta guardando. Dopo aver ottenuto un volume con sei mappe di caratteristiche, viene applicato il raggruppamento medio globale per convertirlo in un vettore di sei valori, che vengono quindi inseriti in uno strato completamente connesso con attivazione softmax per ottenere le probabilità. Osservando i pesi del livello completamente connesso, è possibile capire quanto ciascuna mappa delle caratteristiche contribuisce all'output e una somma ponderata di tutte queste mappe delle caratteristiche può rivelare ciò che la rete sta guardando nell'immagine di input.

  • 00:20:00 In questa sezione, il relatore discute le mappe di attivazione della classe e come dipendono dalla classe analizzata nella rete neurale. Esaminando i bordi tra la prima attivazione e lo strato precedente, il relatore spiega che i pesi saranno diversi a seconda della classe analizzata. Sommando insieme tutte le mappe delle caratteristiche, si ottengono risultati diversi. L'oratore discute poi come le mappe di attivazione delle classi possono essere visualizzate con una rete modificando gli ultimi livelli e come ciò richieda una messa a punto. L'oratore discute anche di come il processo di pooling medio globale, che implica una normalizzazione di 116, non uccida le informazioni spaziali perché le mappe delle caratteristiche sono note e quindi possono essere mappate esattamente.

  • 00:25:00 In questa sezione, il relatore spiega come funzionano le mappe di attivazione delle classi per interpretare i livelli intermedi di una rete neurale. Questo metodo associa l'output allo spazio di input, consentendo agli utenti di visualizzare quali parti dell'input sono state più discriminanti nel processo decisionale. Attraverso l'ascesa del gradiente, un processo iterativo che massimizza il punteggio dell'output desiderato, il relatore fornisce una dimostrazione di come utilizzare questo metodo per trovare l'immagine che rappresenta l'aspetto di un cane secondo la rete. Il relatore afferma che mentre questo metodo è un modo efficace per interpretare i dati delle immagini, altri metodi come i modelli di attenzione vengono utilizzati per interpretare i dati non delle immagini.

  • 00:30:00 In questa sezione della lezione, il professore discute diverse tecniche per visualizzare ciò che vede una rete neurale. Mostra esempi di come spingere determinati valori di pixel può portare a un punteggio più alto per una particolare classe e come la regolarizzazione, come L2 o la sfocatura gaussiana, può migliorare la qualità delle visualizzazioni. Il professore introduce anche l'idea della visualizzazione del modello di classe, in cui una funzione obiettivo viene utilizzata per massimizzare il punteggio di una particolare classe e come può essere utilizzata per convalidare che la rete sta guardando la cosa giusta. Inoltre, il professore parla di come la ricerca di set di dati può essere utilizzata per capire cosa sta pensando una particolare attivazione nel mezzo della rete, selezionando una mappa delle caratteristiche ed eseguendo molti dati attraverso la rete per vedere quali punti dati hanno il massima attivazione di quella mappa caratteristica.

  • 00:35:00 In questa sezione, il docente spiega come diverse mappe di caratteristiche in una rete neurale convoluzionale vengono attivate da diverse parti di un'immagine. Il docente presenta esempi di una mappa delle caratteristiche che rileva le magliette e un'altra che rileva i bordi. Il docente spiega quindi che le attivazioni di un'immagine nella rete vedono solo una sottoparte dell'immagine di input e, man mano che la rete si approfondisce, l'attivazione di ogni livello guarda una parte più ampia dell'immagine. Il docente spiega anche come le reti di deconvoluzione possono essere utilizzate per produrre immagini basate su un input di codice e come questo metodo può essere più pratico rispetto all'utilizzo di uno strato completamente connesso con molti neuroni.

  • 00:40:00 In questa sezione, il relatore spiega l'uso della deconvoluzione nelle reti neurali. La deconvoluzione può sovracampionare l'altezza e la larghezza delle immagini, rendendola utile per attività come la segmentazione delle immagini. Il relatore discute anche il metodo di salita del gradiente e come ricostruire le attivazioni nello spazio di input attraverso unpooling, un-ReLU e deconvoluzione. Il relatore procede quindi a definire la deconvoluzione come un'operazione matematica vettoriale di matrice e fornisce un esempio di convoluzione 1D con riempimento.

  • 00:45:00 In questa sezione della lezione, il professore discute l'operazione matematica tra una matrice e un vettore. Fornisce un esempio di uno strato convoluzionale con un filtro che ha una dimensione di quattro e un passo di due. La dimensione dell'output viene calcolata utilizzando una formula, che è nx-f+2p/stride. Spiega quindi come definire questa convoluzione come un'operazione matematica tra una matrice e un vettore, scrivendo un sistema di equazioni e trovando la forma della matrice. La matrice risultante viene riempita secondo il sistema di equazioni e il vettore delle attivazioni viene moltiplicato per la matrice.

  • 00:50:00 In questa sezione della lezione, l'istruttore spiega come l'operazione di convoluzione può essere rappresentata come una semplice matrice moltiplicata per un vettore. La matrice è costituita da pesi e la loro collocazione nella matrice è dettata dalla falcata e dalla dimensione della finestra. Inquadrando la convoluzione come un'operazione di matrice, possiamo quindi invertire la matrice per eseguire la deconvoluzione e ricostruire l'input originale. Tuttavia, questo approccio presuppone che la matrice dei pesi sia invertibile e ortogonale, il che non è sempre vero nella pratica. L'assunzione di ortogonalità è utile nei casi in cui il filtro convoluzionale è un rilevatore di bordi.

  • 00:55:00 In questa sezione della lezione, il professore introduce un metodo per generare X da Y partendo dal presupposto che la ricostruzione sarà utile anche se non è sempre vera. Dimostrano il processo utilizzando illustrazioni e un codice Menti, mostrando come una convoluzione sub-pixel può essere utilizzata per eseguire la stessa operazione con un colpo che va da sinistra a destra invece che dall'alto verso il basso. La tecnica prevede il ritaglio e il riempimento dell'input per ottenere l'output desiderato. Il professore osserva che questo tipo di convoluzione viene spesso utilizzato per la ricostruzione nelle applicazioni di visualizzazione.

  • 01:00:00 In questa sezione, il docente spiega il concetto di convoluzione sub-pixel, che prevede l'inserimento di zeri in un vettore Y per consentire un calcolo più efficiente della deconvoluzione. Capovolgendo i pesi, dividendo la falcata per due e inserendo zeri, il processo di deconvoluzione diventa essenzialmente equivalente alla convoluzione. Questo processo può essere esteso alla convoluzione bidimensionale e nel complesso fornisce una migliore comprensione dell'operazione matematica tra una matrice e un vettore per la convoluzione.

  • 01:05:00 In questa sezione, il relatore approfondisce l'interpretazione della deconvoluzione 2D. L'intenzione alla base della deconvoluzione è ottenere un input cinque per cinque, che è la x ricostruita. Per fare ciò, l'oratore dimostra che un filtro di dimensioni due per due viene applicato agli input che si propagano in avanti con passo uguale a due in uno strato conv. Quindi, viene applicata la tecnica della deconvoluzione per ottenere l'immagine ricostruita. La conferenza spiega che il processo di deconvoluzione implica prendere il filtro e moltiplicare tutti i pesi per y11, spostandolo di un passo di uno e ripetendo lo stesso processo per tutte le voci. Il relatore conclude osservando che il processo è alquanto complicato; tuttavia, non c'è motivo di preoccuparsi se il concetto di deconvoluzione non è ben compreso.

  • 01:10:00 In questa sezione della lezione, il professore spiega visivamente il processo di sovracampionamento di un'immagine. Spiega che per ricostruire un'immagine, se possibile, dovrebbero essere utilizzati i pesi del ConvNet. Quindi mostra una rappresentazione visiva del processo di sovracampionamento a partire da un'immagine 4x4, inserendo zeri e riempiendola in un'immagine 9x9 prima di utilizzare un filtro per eseguire la convoluzione sull'immagine ed eseguire la convoluzione mentre procede. Discute anche brevemente su come annullare il pool e unReLU, affermando che il pool massimo non è matematicamente invertibile, ma il processo può essere approssimato tramite opzioni di diffusione e memorizzazione nella cache per i valori massimi.

  • 01:15:00 In questa sezione viene spiegato il concetto di unpooling e maxpooling nelle reti neurali, insieme all'uso di switch e filtri per ricostruire l'input originale. Viene discussa anche la funzione di attivazione ReLU e viene introdotto il concetto di ReLU all'indietro. L'uso di ReLU DeconvNet è spiegato come un metodo per la ricostruzione imparziale che non dipende dalla propagazione in avanti. L'approccio è descritto come un hack e non è sempre scientificamente praticabile, ma è utile per visualizzare e interpretare la rete neurale.

  • 01:20:00 In questa sezione della lezione, il relatore spiega come visualizzare e comprendere cosa sta accadendo all'interno delle reti neurali scoprendo a cosa corrisponde ogni attivazione. La tecnica di visualizzazione prevede la scelta di un'attivazione, la ricerca dell'attivazione massima, l'azzeramento di tutte le altre e quindi la ricostruzione dell'immagine. L'oratore discute di come i filtri nel primo strato della rete possano essere interpretati a causa del fatto che i pesi moltiplicano direttamente i pixel. Tuttavia, man mano che ci addentriamo nella rete, i filtri diventano più difficili da interpretare. Il relatore prosegue anche spiegando come più andiamo in profondità, maggiore è la complessità che vediamo e fornisce esempi di diversi filtri e dei tipi di immagini che li attivano.

  • 01:25:00 In questa sezione della conferenza, il relatore dimostra l'uso del toolbox DeepViz per studiare l'interpretabilità delle reti neurali. Esaminando le attivazioni dei neuroni in diversi strati di una rete convoluzionale, il relatore mostra come alcuni neuroni si attivano in risposta a caratteristiche specifiche, come volti o rughe. Il relatore menziona anche l'uso facoltativo della tecnica Deep Dream per generare immagini impostando il gradiente in modo che sia uguale alle attivazioni di un livello specifico, consentendo un'ulteriore esplorazione del comportamento della rete neurale.

  • 01:30:00 In questa sezione, il relatore dimostra l'algoritmo Deep Dream, che genera immagini propagando all'indietro le attivazioni di una rete neurale al livello di input e aggiornando i pixel. Il risultato è una varietà di immagini surreali con animali e altri oggetti trasformati insieme. Il relatore discute anche dei limiti dell'interpretazione delle reti neurali e dei modi in cui le tecniche di visualizzazione, come le mappe di attivazione delle classi e le deconvoluzioni, possono essere utilizzate per capire come la rete vede il mondo e rilevare i neuroni morti. Inoltre, il relatore evidenzia le potenziali applicazioni di queste visualizzazioni, tra cui la segmentazione, la ricostruzione e la generazione di reti contraddittorie.
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 7 - Interpretability of Neural Network
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 7 - Interpretability of Neural Network
  • 2019.04.03
  • www.youtube.com
Andrew Ng, Adjunct Professor & Kian Katanforoosh, Lecturer - Stanford Universityhttp://onlinehub.stanford.edu/Andrew NgAdjunct Professor, Computer ScienceKia...
 

Lezione 8 - Consigli di carriera / Lettura di documenti di ricerca




Stanford CS230: Apprendimento approfondito | Autunno 2018 | Lezione 8 - Consigli di carriera / Lettura di documenti di ricerca

In questa conferenza, il professor Andrew Ng fornisce consigli su come leggere in modo efficiente i documenti di ricerca e tenere il passo con il campo in rapida evoluzione del deep learning. Sottolinea l'importanza di riassumere il lavoro nelle sezioni introduttive e conclusive, oltre a prestare attenzione alle figure e alle tabelle. Ng condivide anche consigli sulla carriera, raccomandando che i candidati al lavoro abbiano una conoscenza ampia e approfondita in più aree di intelligenza artificiale e apprendimento automatico e di concentrarsi sul lavoro con individui piuttosto che con grandi marchi al fine di massimizzare le opportunità di crescita. Suggerisce coerenza nella lettura di documenti e nello sviluppo di competenze sia orizzontali che verticali attraverso corsi e progetti per una solida base nell'apprendimento automatico.

  • 00:00:00 In questa sezione della conferenza, il relatore condivide consigli su come leggere in modo efficiente i documenti di ricerca, in particolare nel campo in rapida evoluzione del deep learning. Suggerisce di compilare un elenco di documenti e risorse, inclusi documenti di ricerca pubblicati su arXiv, post medi e post occasionali su GitHub. Quindi consiglia di sfogliare i fogli e di comprenderli rapidamente, saltando i documenti che non hanno senso o non sono utili. Suggerisce di dedicare più tempo agli articoli seminali e di utilizzare le citazioni per trovare ulteriori articoli sull'argomento.

  • 00:05:00 In questa sezione, il docente fornisce linee guida per la lettura di documenti di ricerca al fine di aumentare la propria comprensione di un particolare argomento. Suggerisce che leggere da 15 a 20 articoli fornirà una comprensione di base di un'area, mentre leggere da 50 a 100 articoli porterà a un'ottima comprensione. Inoltre, fornisce consigli su come leggere un documento, suggerendo di eseguire più passaggi attraverso il documento, concentrandosi sulla lettura del titolo, dell'abstract e delle figure durante il primo passaggio. Il docente sottolinea l'importanza di riassumere il lavoro nelle sezioni introduttive e conclusive, poiché spesso sono queste le aree in cui gli autori sostengono chiaramente il significato del loro lavoro.

  • 00:10:00 In questa sezione della conferenza, il relatore fornisce consigli su come leggere in modo efficiente i documenti di ricerca. Suggerisce di iniziare con l'abstract, l'introduzione e la conclusione del documento per avere una chiara comprensione di cosa si tratta. Consiglia inoltre di sfogliare la relativa sezione del lavoro, che spesso può essere difficile da capire se non si ha già familiarità con la letteratura. Il relatore consiglia di leggere l'intero documento ma saltando le parti che non hanno senso, poiché non è raro che i documenti includano sezioni non importanti. Infine, offre ai lettori una serie di domande a cui cercare di rispondere per consolidare la loro comprensione dell'articolo, compreso ciò che gli autori stavano cercando di realizzare e quali elementi chiave possono essere applicati.

  • 00:15:00 In questa sezione della lezione, il professore incoraggia gli studenti a leggere documenti di ricerca e consiglia di iniziare con il testo inglese prima di approfondire la matematica. Assegna un documento intitolato "Reti neurali convoluzionali densamente connesse" e suggerisce che gli studenti si prendano sette minuti per leggerlo prima di discuterne con i loro compagni di classe. Osserva inoltre che con la pratica, gli studenti possono leggere e comprendere più velocemente i documenti di ricerca, compresa la comprensione dei formati comuni utilizzati per descrivere l'architettura di rete. Il professore sottolinea che si può imparare più velocemente concentrandosi sui concetti principali presentati nelle figure e nelle tabelle del paper.

  • 00:20:00 In questa sezione, il professor Andrew Ng fornisce consigli su come tenere il passo e comprendere la ricerca sul deep learning. Suggerisce di fare ricerche sul web e cercare post di blog su documenti importanti, controllare Twitter e ML Subreddit e seguire ricercatori che condividono spesso articoli online. Ng consiglia inoltre di formare una comunità con colleghi o compagni di classe per condividere documenti interessanti e per derivare nuovamente la matematica da note dettagliate per comprendere a fondo l'algoritmo. Ng sottolinea che il tempo speso per ogni articolo può variare a seconda del livello di esperienza e della difficoltà, ma dedicare più tempo può portare a una comprensione più ricca dei concetti di deep learning.

  • 00:25:00 In questa sezione, l'istruttore consiglia agli studenti di derivare da zero gli algoritmi di apprendimento automatico per garantire una comprensione approfondita, in quanto consente la capacità di generalizzare e derivare nuovi algoritmi. Raccomanda inoltre la ripetizione distanziata rispetto allo stipare quando si tratta di apprendimento e incoraggia gli studenti a formare gruppi di lettura e collaborare con i colleghi per continuare ad apprendere e navigare in una carriera nell'apprendimento automatico. Sottolinea l'apprendimento costante rispetto a un'attività intensa e fornisce suggerimenti su come affrontare la navigazione professionale.

  • 00:30:00 In questa sezione della conferenza, il relatore discute su come ottenere un lavoro o partecipare a un programma di dottorato nel campo dell'apprendimento automatico e sottolinea l'importanza di svolgere un lavoro importante. I reclutatori cercano competenze tecniche, capacità di programmazione ed esperienza lavorativa significativa nell'apprendimento automatico. Anche la capacità di continuare ad apprendere nuove competenze e rimanere aggiornati sulla rapida evoluzione del settore è molto apprezzata. Gli ingegneri di successo dell'intelligenza artificiale e dell'apprendimento automatico sono coloro che hanno appreso le diverse aree dell'apprendimento automatico e hanno sperimentato il lavoro con tali aree, portando a una forte comprensione di come applicare gli algoritmi di apprendimento automatico in vari contesti.

  • 00:35:00 In questa sezione, il docente discute le abilità "a forma di T" che sono desiderabili nei candidati di lavoro, il che significa avere un'ampia comprensione di molteplici aree di intelligenza artificiale e apprendimento automatico, pur avendo una profonda comprensione in almeno uno specifico la zona. Sottolinea l'importanza di avere esperienza pratica, come lavorare su progetti significativi, contribuire all'open source o fare ricerche per convincere i reclutatori delle capacità del candidato. Il docente mette in guardia dal prendere troppe lezioni senza acquisire esperienza pratica, tentare di saltare troppo in profondità troppo velocemente o fare troppi piccoli progetti con poca profondità.

  • 00:40:00 In questa sezione della conferenza, il professor Ng fornisce consigli su come costruire una solida base nell'apprendimento automatico raccomandando la costruzione di pezzi orizzontali e verticali. Osserva che il completamento di 10 piccoli progetti potrebbe non impressionare i reclutatori tanto quanto uno o due grandi progetti. Per costruire il pezzo orizzontale, che consiste in competenze fondamentali nell'intelligenza artificiale e nell'apprendimento automatico, consiglia di seguire corsi, leggere documenti di ricerca e unirsi a una comunità. Per costruire il pezzo verticale, che implica la realizzazione di progetti più rilevanti e profondi, Ng consiglia di lavorare su cose rilevanti per l'apprendimento automatico o l'intelligenza artificiale per aiutare a far crescere una carriera in questi campi. Continua sottolineando l'importanza di divertirsi e prendersi delle pause, poiché spesso non c'è ricompensa a breve termine per il lavoro di deep learning a parte la soddisfazione personale.

  • 00:45:00 In questa sezione, il docente discute di come la coerenza sia fondamentale per migliorare nel campo del deep learning. Leggere costantemente due giornali alla settimana per un anno porterà ad aver letto 100 giornali e contribuirà al proprio miglioramento nel campo. Inoltre, le persone e i progetti fantastici sono i maggiori predittori di successo e avere amici intimi che lavorano sodo, leggono molti giornali e si preoccupano del proprio lavoro può influenzare qualcuno a fare lo stesso. Nella scelta di un lavoro, si consiglia di concentrarsi sulla squadra e di interagire con un gruppo di 10-30 persone che possono costruire la propria carriera e migliorare le competenze.

  • 00:50:00 In questa sezione, il relatore fornisce consigli di carriera per gli appassionati di deep learning, esortandoli a concentrarsi sulle persone in un'azienda anziché sul suo marchio. Il relatore sottolinea che il proprio manager e il gruppo principale con cui interagiscono li influenzeranno maggiormente, considerando il loro livello di duro lavoro e la volontà di insegnare, rendendo la valutazione personale e le connessioni con le persone più importanti del marchio dell'azienda. Vengono valutati gli scenari di esempio forniti, come una grande azienda che invia offerte di lavoro a un piccolo team di intelligenza artificiale, con l'attenzione rivolta agli individui e al modo in cui influenza la propria crescita. La modalità fallimentare di ignorare le persone a favore del marchio aziendale è evidenziata con un esempio personale di uno studente la cui carriera si è stabilizzata dopo aver accettato un'offerta di lavoro con pagamento back-end basato su Java da una nota azienda, piuttosto che concentrarsi sul lavoro con persone specifiche su una piccola squadra.

  • 00:55:00 In questa sezione, Andrew Ng consiglia cautela quando si considerano programmi di rotazione che in teoria suonano bene ma potrebbero non fornire una direzione chiara o un'opportunità di crescita all'interno di un'azienda. Suggerisce di cercare opportunità per lavorare con team più piccoli e meno conosciuti che potrebbero svolgere un lavoro importante nell'apprendimento automatico, piuttosto che inseguire i grandi marchi. Sottolinea l'importanza di dare la priorità alle esperienze di apprendimento e di svolgere un lavoro di grande impatto piuttosto che concentrarsi esclusivamente su marchi prestigiosi del settore.

  • 01:00:00 In questa sezione del video, l'oratore fornisce consigli professionali a coloro che sono nelle prime fasi della loro carriera. Si consiglia di entrare a far parte di un team con un ottimo gruppo di compagni di squadra e svolgere un lavoro significativo che aiuti altre persone. Tuttavia, consiglia di non lavorare per aziende che producono prodotti nocivi come le sigarette. Crede che ci sia molto lavoro importante da fare in vari settori e che il mondo abbia bisogno di persone che lavorino su cose diverse. Suggerisce che la prossima ondata di apprendimento automatico non è solo per le aziende tecnologiche, ma anche per guardare a tutti i settori tradizionali che non hanno la tecnologia implementata.
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 8 - Career Advice / Reading Research Papers
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 8 - Career Advice / Reading Research Papers
  • 2019.04.03
  • www.youtube.com
Andrew Ng, Adjunct Professor & Kian Katanforoosh, Lecturer - Stanford Universityhttp://onlinehub.stanford.edu/Andrew NgAdjunct Professor, Computer ScienceKia...
 

Lezione 9 - Deep Reinforcement Learning




Stanford CS230: Apprendimento approfondito | Autunno 2018 | Lezione 9 - Deep Reinforcement Learning

La lezione introduce l'apprendimento per rinforzo profondo, che combina l'apprendimento profondo e l'apprendimento per rinforzo. L'apprendimento per rinforzo viene utilizzato per prendere buone sequenze di decisioni in situazioni con etichette ritardate e viene applicato in diversi campi come robotica, giochi e pubblicità. L'apprendimento per rinforzo profondo sostituisce la tabella Q con una funzione Q che è una rete neurale. Il docente discute le sfide dell'applicazione dell'apprendimento per rinforzo profondo, ma descrive una tecnica per creare un valore target per i punteggi Q basati sull'equazione di Bellman per addestrare la rete. La conferenza discute anche l'importanza della riproduzione dell'esperienza nell'addestramento dell'apprendimento per rinforzo profondo e il compromesso tra sfruttamento ed esplorazione negli algoritmi RL. Viene discussa anche l'applicazione pratica dell'apprendimento per rinforzo profondo al gioco Breakout.

La conferenza discute vari argomenti relativi all'apprendimento per rinforzo profondo (DRL). Viene discusso il compromesso esplorazione-sfruttamento in DRL e viene proposta una soluzione che utilizza un iperparametro che decide la probabilità di esplorazione. Viene esplorata l'importanza della conoscenza umana nel DRL e come può aumentare i processi decisionali algoritmici. La conferenza copre anche i gradienti delle politiche, i diversi metodi per la loro attuazione e la prevenzione dell'overfitting. Inoltre, vengono evidenziate le sfide in ambienti con ricompense sparse e viene discussa brevemente una soluzione tratta da un recente documento intitolato "Unificazione dei metas basati sul conteggio per l'esplorazione". Infine, la conferenza menziona brevemente i documenti YOLO e YOLO v2 di Redmon et al. per quanto riguarda il rilevamento di oggetti.

  • 00:00:00 In questa sezione, il relatore introduce l'idea dell'apprendimento per rinforzo profondo che è la combinazione dell'apprendimento profondo e di un'altra area dell'intelligenza artificiale che è l'apprendimento per rinforzo. Il relatore spiega che le reti neurali profonde sono ottime nell'approssimazione di funzioni e possono essere applicate a molti campi diversi che richiedono approssimatori di funzioni e l'apprendimento per rinforzo è uno di questi esempi. L'oratore motiva l'idea dell'apprendimento per rinforzo con esempi come AlphaGo e il documento DeepMind di Google in cui hanno utilizzato il deep learning per addestrare un agente a superare le prestazioni a livello umano in vari giochi, principalmente giochi Atari. Il relatore spiega anche che l'apprendimento per rinforzo è importante perché consente agli agenti di avere una strategia a lungo termine in giochi complessi come Go, che è molto più grande di una scacchiera.

  • 00:05:00 In questa sezione del video, il professore sfida gli studenti a considerare come costruire un agente che possa imparare a vincere al gioco del Go utilizzando il deep learning. Un possibile set di dati sarebbe un accoppiamento input-output del tabellone di gioco e una probabilità di vittoria per quella posizione, ma questo è difficile perché è difficile rappresentare la probabilità di vincere in una data posizione del tabellone. Un'altra opzione sarebbe guardare le mosse dei giocatori professionisti e registrarle come input e output di dati, costruendo un set di dati delle mosse che i giocatori professionisti hanno fatto in passato. Tuttavia, questo è anche difficile perché ci sono troppi stati nel gioco per una rappresentazione accurata, ed è probabile che la verità fondamentale sia sbagliata poiché diversi giocatori professionisti hanno strategie diverse. C'è anche il rischio che l'algoritmo non si generalizzi perché è una questione di strategia piuttosto che di semplice riconoscimento di pattern.

  • 00:10:00 In questa sezione, il docente introduce l'apprendimento per rinforzo (RL), che è un metodo per imparare automaticamente a prendere buone sequenze di decisioni. RL viene utilizzato in situazioni in cui sono presenti etichette ritardate, come una probabilità di vittoria in una partita. RL è applicato in vari campi come robotica, giochi e pubblicità. Per illustrare come funziona RL, il docente introduce un gioco con cinque stati e spiega come viene definito il rendimento a lungo termine in questo gioco. L'obiettivo del gioco è massimizzare la ricompensa a lungo termine spostandosi attraverso gli stati e prendendo decisioni in base alle ricompense disponibili.

  • 00:15:00 In questa sezione vengono discussi il concetto di rendimento a lungo termine e l'uso del rendimento scontato per il Q-learning nell'apprendimento per rinforzo. Il rendimento scontato tiene conto dell'importanza del tempo nel processo decisionale e aiuta a mitigare il problema della convergenza che potrebbe verificarsi con un rendimento non scontato. L'obiettivo del Q-learning è apprendere l'azione ottimale in ogni stato memorizzando una matrice della tabella Q che rappresenta il punteggio per ogni azione in ogni stato. Utilizzando i punteggi della tabella Q, un agente può determinare il valore massimo e l'azione corrispondente in un determinato stato per prendere decisioni rapidamente. È stato anche spiegato il processo di costruzione di una tabella Q attraverso un diagramma ad albero.

  • 00:20:00 In questa sezione, il professore spiega l'algoritmo iterativo del Q-learning, utilizzando una matrice che indica l'azione da intraprendere in ogni stato. Per calcolare la ricompensa scontata a lungo termine per ogni stato, usano l'equazione di Bellman, che consiste nella ricompensa immediata più lo sconto moltiplicato per la massima ricompensa futura possibile. L'algoritmo iterativo dovrebbe convergere ad un certo punto e la funzione Q dovrebbe seguire l'equazione ottimale di Bellman. Il professore sottolinea l'importanza dell'equazione di Bellman nella comprensione del Q-learning.

  • 00:25:00 In questa sezione, l'oratore parla del vocabolario dell'apprendimento per rinforzo che include l'ambiente, l'agente, lo stato, l'azione, la politica, la ricompensa, il rendimento totale, il fattore di sconto, la tabella Q e l'equazione di Bellman. La Q-table è la matrice delle voci che rappresentano quanto è buono intraprendere l'azione A nello stato S, e la politica è la funzione decisionale che ci dice qual è la migliore strategia da applicare in uno stato. Il numero di stati può essere troppo grande, rendendo impraticabile la soluzione Q-table. Il deep learning entra nell'apprendimento per rinforzo sostituendo la tabella Q con una funzione Q che è una rete neurale. Tuttavia, i cambiamenti dinamici nei punteggi Q rendono la formazione della rete diversa da un classico ambiente di apprendimento supervisionato.

  • 00:30:00 In questa sezione della lezione, il professore discute le sfide che sorgono quando si applica l'apprendimento profondo per rinforzo, in quanto differisce in modo significativo dall'apprendimento supervisionato. Uno dei problemi principali è la mancanza di etichette, poiché i punteggi Q sono dinamici e in continua evoluzione. Per risolvere questo problema, il professore descrive una tecnica per creare un valore obiettivo o un'etichetta per i punteggi Q basati sull'equazione di Bellman. Usando questo proxy come etichetta, la rete può essere addestrata per avvicinarsi alla funzione Q ottimale attraverso aggiornamenti iterativi che si spera portino alla convergenza.

  • 00:35:00 In questa sezione viene discusso il concetto dell'equazione di Bellman e il suo utilizzo nella backpropagation nell'apprendimento per rinforzo profondo. L'equazione di Bellman viene utilizzata per calcolare valori che sono più vicini ai valori ottimali che si sta cercando di ottenere in termini di ricompense. La funzione Q viene generata e confrontata con l'equazione di Bellman per determinare la migliore funzione Q. Tuttavia, esiste un potenziale di divergenza nell'algoritmo e la convergenza dell'algoritmo è dimostrata in un articolo di Francisco Melo. L'implementazione dell'algoritmo DQN è spiegata tramite pseudocodice che comporta l'inizializzazione dei parametri della rete Q, il looping sugli episodi, il calcolo del valore target attraverso l'equazione di Bellman e la backpropagation utilizzando una rete Q target fissa.

  • 00:40:00 In questa sezione, il video illustra l'applicazione pratica di un Deep Q-Network al gioco Breakout. L'obiettivo di Breakout è distruggere tutti i mattoni senza lasciare che la palla superi la linea di fondo. Dopo essersi allenato usando il Q-learning, l'agente ha escogitato un trucco per finire velocemente il gioco scavando un tunnel per raggiungere l'altro lato dei mattoni. La rete ha capito questa strategia da sola senza la supervisione umana. L'input del Q-network è una rappresentazione delle caratteristiche che include la posizione della pallina, della paletta e dei mattoncini. Tuttavia, per ottenere l'intera informazione è necessario utilizzare i pixel. L'output della rete è costituito da tre valori Q che rappresentano l'azione di andare a sinistra, andare a destra o rimanere inattivi in uno stato specifico.

  • 00:45:00 In questa sezione, il relatore discute varie tecniche di preelaborazione per aiutare a configurare l'architettura di rete Q profonda per l'apprendimento per rinforzo profondo, in particolare nel lavorare con le immagini. La prima tecnica prevede l'acquisizione di fotogrammi successivi per fornire informazioni aggiuntive alla rete, mentre altre tecniche di preelaborazione includono la riduzione delle dimensioni degli input, la conversione in scala di grigi per la compressione dell'immagine e la rimozione di pixel non importanti come i punteggi in alcuni giochi. L'oratore avverte dei pericoli di perdere informazioni importanti durante la riduzione in scala di grigi e spiega in dettaglio l'architettura della rete Q profonda, affermando che le reti neurali convoluzionali vengono utilizzate a causa dell'input costituito da immagini. Infine, l'oratore spiega la necessità di tenere traccia di uno stato terminale per garantire la corretta terminazione del loop, che è importante per la funzione y.

  • 00:50:00 In questa sezione, il docente spiega l'importanza della riproduzione dell'esperienza nell'apprendimento per rinforzo, che consente di allenarsi sulle esperienze passate piuttosto che solo su ciò che viene attualmente esplorato. Poiché l'apprendimento per rinforzo si allena solo su ciò che esplora, potrebbe non imbattersi mai più in determinate transizioni di stato, rendendo le esperienze passate preziose per l'addestramento. La riproduzione dell'esperienza crea una memoria di riproduzione in cui è possibile archiviare le esperienze passate e, durante l'addestramento, l'algoritmo può campionare dalla memoria di riproduzione oltre a esplorare nuove transizioni di stato. Ciò consente di utilizzare più volte le esperienze passate nella formazione, il che può essere cruciale per l'apprendimento di punti dati importanti.

  • 00:55:00 In questa sezione della conferenza, il relatore discute i vantaggi della ripetizione dell'esperienza nell'apprendimento per rinforzo profondo. In primo luogo, consente di utilizzare i dati più volte, anziché solo una volta, il che migliora l'efficienza dei dati. In secondo luogo, la riproduzione dell'esperienza decorrela le esperienze, impedendo alla rete di essere prevenuta nel predire ripetutamente un'azione. Infine, consente di scambiare il calcolo e la memoria con l'esplorazione, il che è costoso. L'oratore parla anche del compromesso tra sfruttamento ed esplorazione nell'algoritmo RL e suggerisce un modo per incentivare l'esplorazione non intraprendendo sempre l'azione migliore.

  • 01:00:00 In questa sezione, l'istruttore e gli studenti discutono il problema del compromesso esplorazione-sfruttamento nell'apprendimento per rinforzo e offrono una soluzione utilizzando un iperparametro che decide con quale probabilità l'agente dovrebbe esplorare invece di sfruttare. Spiegano perché l'esplorazione è cruciale e aggiungono righe allo pseudocodice per l'esplorazione avida di epsilon nella memoria di riproduzione. Sottolineano che il vantaggio principale dell'utilizzo del deep learning nell'apprendimento per rinforzo è la sua capacità di approssimare bene le funzioni. Infine, toccano brevemente il tema della conoscenza umana nell'apprendimento per rinforzo e perché è essenziale valutare le prestazioni dell'algoritmo.

  • 01:05:00 In questa sezione della conferenza, il professore spiega come la conoscenza umana gioca un ruolo significativo nel Deep Reinforcement Learning (DRL). Gli esseri umani possono interpretare in modo efficiente e istintivo segnali contestuali, ad esempio gli esseri umani sanno che una chiave apre una porta e che la comprensione può aumentare significativamente il processo decisionale algoritmico. La difficoltà sta nell'addestrare algoritmi con informazioni contestuali limitate, come il gioco notoriamente impegnativo Montezuma's Revenge, un'impresa che DeepMind ha ottenuto implementando la ricerca sugli alberi e algoritmi di deep learning. La conferenza tocca brevemente il gioco Alpha Go e come la ricerca combinata sugli alberi e le reti di valore possono migliorare i processi decisionali algoritmici.

  • 01:10:00 In questa sezione, il docente introduce i gradienti di policy, che è una classe di algoritmi completamente diversa da DQN che ottimizza per mappare direttamente dallo stato all'azione (policy). Il docente spiega che nei gradienti di politica, l'attenzione è sulla politica stessa, piuttosto che sul valore Q, e che la rete di politica viene aggiornata utilizzando il gradiente della politica, al contrario dell'aggiornamento della funzione Q in DQN. Attraverso vari video, il docente spiega i diversi metodi del gradiente di policy come Proximal Policy Optimization (PPO) e Competitive Self-Play, ed evidenzia i punti tecnici sull'overfitting all'agente effettivo di fronte a te, suggerendo la necessità di alternare tra diverse versioni del agente per evitare l'overfitting. Infine, il docente spiega in che modo il meta-apprendimento si allena su una distribuzione di compiti simili per consentire l'apprendimento di compiti specifici con passaggi di gradiente minimi.

  • 01:15:00 In questa sezione della conferenza, il relatore discute il dilemma esplorazione-sfruttamento e come può essere una sfida, soprattutto quando la ricompensa è scarsa. Parla di un recente documento intitolato "Unificazione dei metas basati sul conteggio per l'esplorazione" che introduce l'idea di tenere i conti su quante volte uno stato è stato visitato e di dare una ricompensa intrinseca all'agente per visitare gli stati con meno conteggi. Questo incoraggia l'agente a esplorare e guardare di più, portandolo a scoprire diverse stanze del gioco. L'oratore discute anche brevemente l'apprendimento dell'imitazione e come può aiutare quando definire i premi è difficile.

  • 01:20:00 In questa sezione, il relatore menziona brevemente che hanno coperto i documenti YOLO e YOLO v2 di Redmon et al. per quanto riguarda il rilevamento di oggetti. Non vengono fornite ulteriori informazioni.
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 9 - Deep Reinforcement Learning
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 9 - Deep Reinforcement Learning
  • 2019.04.03
  • www.youtube.com
Andrew Ng, Adjunct Professor & Kian Katanforoosh, Lecturer - Stanford Universityhttp://onlinehub.stanford.edu/Andrew NgAdjunct Professor, Computer ScienceKia...
Motivazione: