Ricerca nel sito web

Corso sulle reti neurali convoluzionali DeepLearning.AI (riesame)


Andrew Ng è famoso per il suo corso di machine learning a Stanford fornito su Coursera.

Nel 2017, ha pubblicato un corso in cinque parti sul deep learning anche su Coursera intitolato "Deep Learning Specialization" che includeva un modulo sul deep learning per la visione artificiale intitolato "Convolutional Neural Networks ."

Questo corso fornisce un'eccellente introduzione ai metodi di deep learning per le applicazioni di visione artificiale per quei professionisti che hanno già familiarità con le basi del deep learning. Non si concentra troppo sulla matematica e non include alcun codice. È invece progettato per sviluppare intuizioni per le principali tecniche utilizzate sul campo.

In questo post scoprirai un'analisi e una revisione del corso sulle reti neurali convoluzionali tenuto da Andrew Ng sull'apprendimento profondo per la visione artificiale.

Dopo aver letto questo post, saprai:

  • Il corso è in realtà un sottocorso di un corso più ampio sul deep learning fornito da deeplearning.ai.
  • Il corso non è gratuito e richiede abbonamento e iscrizione a Coursera, sebbene tutti i video siano disponibili gratuitamente su YouTube.
  • Il corso fornisce un'eccellente introduzione al deep learning per la visione artificiale per gli sviluppatori che hanno familiarità con le nozioni di base del deep learning.

Avvia il tuo progetto con il mio nuovo libro Deep Learning for Computer Vision, che include tutorial passo passo e i file codice sorgente Python per tutti gli esempi.

Cominciamo.

Panoramica

Questo tutorial è diviso in cinque parti; sono:

  1. Panoramica sulla specializzazione del deep learning
  2. Analisi del corso sulle reti neurali convoluzionali
  3. Video del corso su YouTube
  4. Discussione e revisione

Panoramica sulla specializzazione del deep learning

Andrew Ng è un ricercatore di machine learning famoso per aver reso pubblicamente disponibile il suo corso di machine learning a Stanford e successivamente adattato ai medici di medicina generale e reso disponibile su Coursera.

È anche cofondatore di Coursera ed ex direttore di Google Brain e capo scienziato presso Baidu.

Nel 2017 ha lanciato un nuovo sito web chiamato deeplearning.ai che fornisce formazione sul deep learning per medici generici (ad esempio sviluppatori) con corsi disponibili tramite la sua piattaforma Coursera (che richiede un abbonamento).

Il corso completo è suddiviso in cinque sottocorsi; sono:

  • Corso 1: Reti neurali e Deep Learning
  • Corso 2: Miglioramento delle reti neurali profonde
  • Corso 3: Strutturare progetti di machine learning
  • Corso 4: Reti neurali convoluzionali (il nostro focus)
  • Corso 5: Modelli di sequenza

I corsi sono in formato video tutorial e sono presentati da Andrew con lo stesso stile pratico del suo famoso corso di Machine Learning.

Il corso è progettato per sviluppatori principianti nel campo del deep learning.

Analisi del corso sulle reti neurali convoluzionali

Da segnalare il sottocorso sul deep learning per la visione artificiale, intitolato "Reti neurali convoluzionali".

Questo corso è progettato per insegnare agli sviluppatori come funzionano le reti neurali convoluzionali e come utilizzarle per attività standard di visione artificiale.

Questo corso ti insegnerà come costruire reti neurali convoluzionali e applicarle ai dati di immagine. Grazie al deep learning, la visione artificiale funziona molto meglio rispetto a soli due anni fa, e ciò sta consentendo numerose interessanti applicazioni che vanno dalla guida autonoma sicura, al riconoscimento accurato dei volti, alla lettura automatica delle immagini radiologiche.

— A proposito di questo corso, Coursera.

È diviso in quattro settimane; sono:

  • Settimana 1: Fondamenti delle reti neurali convoluzionali
  • Settimana 2: Modelli convoluzionali profondi: casi di studio
  • Settimana 3: rilevamento di oggetti
  • Settimana 4: Applicazioni speciali: riconoscimento facciale e trasferimento dello stile neurale

Ogni settimana è divisa in 10-12 argomenti, ciascuno trattato in un breve video della durata da pochi minuti a non più di circa 15 minuti.

La maggior parte degli argomenti sono presentati in modo pratico con pochissima matematica. I pochi calcoli inclusi si concentrano su argomenti come il calcolo delle funzioni di perdita o il calcolo del numero di parametri (pesi) nel modello.

Oltre alla mancanza di matematica, il corso non presenta codice e si concentra invece sull'aiutare lo spettatore a sviluppare un'intuizione per le tecniche discusse.

Settimana 1. La prima settimana è dedicata all'introduzione della principale tipologia di rete neurale utilizzata per problemi di visione artificiale: la rete neurale convoluzionale o CNN. Gli argomenti si concentrano su come funzionano i livelli convoluzionali, i filtri, il riempimento, gli stride e il relativo livello di pooling.

Settimana 2. La seconda settimana si concentra su importanti traguardi nello sviluppo di modelli CNN efficaci, come LeNet per il riconoscimento delle cifre e una suite di modelli sviluppati per ImageNet, come AlexNet, ResNet e Inception. Man mano che viene discussa ogni tappa fondamentale, l'innovazione della progettazione del modello viene descritta in modo da spiegare perché il modello è efficace e come la tecnica può essere utilizzata più in generale. La settimana si conclude con la preparazione dei dati, compreso l'aumento dei dati e il trasferimento dell'apprendimento.

Settimana 3. La terza settimana si concentra sul rilevamento degli oggetti, introducendo i problemi più semplici di classificazione delle immagini, localizzazione delle immagini e rilevamento dei punti di riferimento. Queste sono le "killer-app" del deep learning per la visione artificiale e le importanti sotto-tecniche del metodo YOLO vengono introdotte passo dopo passo e integrate in un sistema di lavoro completo.

Settimana 4. Infine, l'ultima settimana si conclude con il rilevamento e il riconoscimento dei volti, sviluppando le tecniche necessarie per un tale sistema, incluso l'apprendimento one-shot, le reti siamesi e un'adeguata funzione di perdita. La settimana è divisa in due parti e la seconda parte si concentra sul trasferimento dello stile neurale, una tecnica che, sebbene sia puramente estetica, è molto divertente.

Video del corso su YouTube

Di seguito viene fornita la suddivisione completa degli argomenti del corso.

  • Settimana 1: Fondamenti delle reti neurali convoluzionali

    • Visione artificiale
    • Esempio di rilevamento dei bordi
    • Maggiore rilevamento dei bordi
    • Imbottitura
    • Convoluzioni striate
    • Convoluzioni sul volume
    • Uno strato di una rete convoluzionale
    • Esempio di rete convoluzionale semplice
    • Livelli di raggruppamento
    • Esempio della CNN
    • Perché le convoluzioni?
    • Intervista a Yann LeCun
  • Settimana 2: Modelli convoluzionali profondi: casi di studio

    • Perché guardare i casi di studio?
    • Reti classiche
    • ResNets
    • Perché ResNet funziona
    • Reti in reti e convoluzioni 1×1
    • Motivazione della rete iniziale
    • Rete di inizio
    • Utilizzo dell'implementazione open source
    • Trasferire l'apprendimento
    • Aumento dei dati
    • Stato della visione artificiale
  • Settimana 3: rilevamento oggetti

    • Localizzazione degli oggetti
    • Rilevamento dei punti di riferimento
    • Rilevamento oggetti
    • Implementazione convoluzionale di finestre scorrevoli
    • Previsioni del riquadro di delimitazione
    • Intersezione sull'unione
    • Soppressione non massima
    • Scatole di ancoraggio
    • Algoritmo YOLO
    • (Facoltativo) Proposte regionali
  • Settimana 4: Applicazioni speciali: riconoscimento facciale e trasferimento dello stile neurale

    • Cos'è il riconoscimento facciale?
    • Apprendimento in un colpo solo
    • Rete siamese
    • Perdita di triplette
    • Verifica del volto e classificazione binaria
    • Cos'è il trasferimento dello stile neurale?
    • Che cosa sono i deep learning ConvNet?
    • Funzione di costo
    • Funzione di costo del contenuto
    • Funzione Costo Stile
    • Generalizzazioni 1D e 3D

Gentilmente, i video di questo corso sono stati resi disponibili anche tramite YouTube.

È disponibile anche una playlist YouTube del corso, anche se alcuni video della Settimana 3 sono fuori servizio:

  • Reti Neurali Convoluzionali (Corso 4 della Specializzazione Deep Learning), PlayList YouTube.

I video hanno una convenzione di denominazione C4WnLnn, dove Wn si riferisce al numero della settimana (1-4) e Lnn si riferisce al numero della lezione (es. da 01 a 12). Prendi nota dell'ordine dei video nella Settimana 3; potrebbe essere necessario spostarsi manualmente nella playlist.

Dalla playlist mancano due video; sono:

  • Settimana 3: previsioni del riquadro di delimitazione
  • Intervista a Yann LeCun

Tieni presente che la settimana 1 include un'intervista video con Yann LeCun, l'inventore delle reti neurali convoluzionali. Questo fa parte di una serie di video intitolata "Heroes of Deep Learning Interviews" disponibile anche su YouTube.

  • Interviste sugli eroi del deep learning, playlist di YouTube.

Puoi facilmente guardare tutti i video in poche ore.

Discussione e revisione

Ho guardato tutti i video tramite YouTube (a doppia velocità) e ho preso appunti approfonditi.

È un ottimo corso e penso che svolga un ottimo lavoro nello sviluppo di intuizioni per gli argomenti trattati, tra cui CNN, modelli cardine, rilevamento di oggetti, riconoscimento facciale e trasferimento di stile.

L'introduzione agli strati convoluzionali e agli argomenti correlati al riempimento, al passo, ecc. è forse una delle presentazioni più pulite che abbia mai visto. Ho trovato molto chiare anche le settimane 2 e 3 sui modelli CNN fondamentali e sul rilevamento degli oggetti. La settimana 4 è andata bene, è iniziata bene, ma è diventata molto confusa quando ci siamo tuffati nel trasferimento dello stile neurale.

Se hai già familiarità con le nozioni di base delle CNN, come lo sono molti professionisti del deep learning, allora consiglierei di concentrarti sulla settimana 3 e sulla settimana 4. La settimana 3 è particolarmente interessante, poiché approfondisce gli elementi della killer-app di rilevamento di oggetti e metodo YOLO impegnativo per affrontarlo.

YOLO è un argomento importante da trattare, ma avrebbe potuto essere semplificato se l'attenzione si fosse concentrata su un metodo più semplice (più facile da implementare) come Fast o Faster R-CNN.

Mi sono ritrovato a guardare quasi ogni minuto del corso, saltando solo alcune delle confuse descrizioni matematiche. In effetti, approfondire le spiegazioni delle funzioni di perdita è stata forse la parte meno interessante e forse non richiesta del corso.

Non ho mai trovato il video un mezzo efficace per insegnare la matematica. Deve essere affrontato lentamente, con equazioni chiare (LaTeX), spiegazioni e codice funzionante.

Se sei nuovo al deep learning per la visione artificiale ma hai familiarità con le basi del deep learning, allora ti consiglio il corso, in particolare la visione dei video. Puoi completarli facilmente in una o due sedute.

Ulteriori letture

Questa sezione fornisce più risorse sull'argomento se desideri approfondire.

  • Specializzazione nel deep learning, deeplearning.ai.
  • Reti Neurali Convoluzionali, Specializzazione nel Deep Learning, Coursera.
  • Reti Neurali Convoluzionali (Corso 4 della Specializzazione Deep Learning), PlayList YouTube.
  • Interviste sugli eroi del deep learning, playlist di YouTube.

Riepilogo

In questo post hai scoperto un'analisi e una revisione del corso sulle reti neurali convoluzionali tenuto da Andrew Ng sull'apprendimento profondo per la visione artificiale.

Nello specifico, hai imparato:

  • Il corso è in realtà un sottocorso di un corso più ampio sul deep learning fornito da deeplearning.ai.
  • Il corso non è gratuito e richiede abbonamento e iscrizione a Coursera, sebbene tutti i video siano disponibili gratuitamente su YouTube.
  • Il corso fornisce un'eccellente introduzione al deep learning per la visione artificiale per gli sviluppatori che hanno familiarità con le nozioni di base del deep learning.

Hai qualche domanda?
Poni le tue domande nei commenti qui sotto e farò del mio meglio per rispondere.

Articoli correlati