Deep Learning e Reti Neurali con Python: il Corso Completo

Apprendi i segreti del Deep Learning e impara a creare le tue Reti Neurali Artificiali con Python, Keras e Tensorflow.

Ratings: 4.60 / 5.00




Description

L'Intelligenza Artificiale sta facendo progressi esponenziali, avanzando come nessuna tecnologia aveva mai fatto prima nella storia dell'uomo, e il merito è di un solo e unico campo: il Deep Learning.

Il Deep Learning è l'insieme di metodi utilizzati per addestrare le Reti Neurali Artificiali, un particolare modello del Machine Learning che hanno rivoluzionato l'intero settore.

Applicazione pratiche di Deep Learning e Reti Neurali Artificiali sono già intorno a noi:

  • Le self-driving cars che cambieranno come mai prima d'ora la mobilità urbana.

  • Gli assistenti virtuali come Alexa di Amazon e Google Home che sono sempre più presenti all'interno delle nostre abitazioni.

  • Sistemi intelligenti come IBM Watson che ogni giorno aiutano medici a fare diagnosi migliori salvando vite umane.

In questo corso esploreremo il funzionamento del Deep Learning e impareremo insieme a creare i nostri modelli di Reti Neurali Artificiali utilizzando Python e Keras su Tensorflow per risolvere problemi differenti, come:

  • Identificare tumori maligni.

  • Riconoscere capi di abbigliamento nelle foto.

  • Classificare recensioni come positive o negative.


Hai già seguito il nostro primo corso sul Machine Learning con Python o hai già esperienza con il Machine Learning ?

Allora sei pronto per addentrarti più in profondità con lo studio del Deep Learning e delle Reti Neurali Artificiali.


Non hai mai avuto a che fare con il Machine Learning prima d'ora ?

Non temere, abbiamo pensato anche a te, all'interno del corso troverai delle sezioni specifiche in cui ti verranno forniti tutti i prerequisiti sul Machine Learning necessari per poterti cimentare con le Reti Neurali Artificiali.


Non sai (ancora) programmare e non conosci il linguaggio Python ? Non preoccuparti, ti insegneremo tutto noi durante il corso ! L'unica cosa di cui hai bisogno per affrontare questo corso è qualche base di matematica da scuola superiore.


Cosa faremo durante il corso ?

Nella prima sezione osserveremo a cosa serve esattamente il Deep Learning e alcune delle sue applicazioni più importanti. Vedremo insieme quali sono i linguaggi più popolari per il Deep Learning e quali sono le librerie per Python che ci permettono di creare Reti Neurali Artificiali.

Dopo questa breve introduzione inizieremo subito a sporcarci le mani, osservando il funzionamento di una rete neurale artificiale per poi crearne una insieme, al fine di riconoscere tumori maligni partendo da informazioni estratte da degli esami radiologici.

Proseguiremo il corso studiando tutte le principali tecniche utilizzate per addestrare una rete neurale artificiale, come:

  • Gradient descent, nelle sue varianti Full batch, Mini Batch e Stochastic.

  • L'utilizzo di Momentum e Nesterov Momentum.

  • AdaGrad.

  • RMSprop.

  • AdaDelta.

  • Adam, Nadam e Adamax


Utilizzeremo le informazioni acquisite per addestrare una rete neurale artificiale in grado di riconoscere calzature, capi di abbigliamento e accessori nelle fotografie, utilizzando il dataset Fashion-MNIST.


Nella sezione seguente introdurremo il problema dell'overfitting nelle reti neurali artificiali e vedremo come contrastarlo con tecniche generiche come regolarizzazione L1 e L2 e specifiche per le reti neurali come il Dropout. Qui sfrutteremo il dataset delle recensioni di film dell'Internet Movie Database (IMDB) per creare una rete neurale in grado di comprendere in maniera autonoma se una recensione è positiva o negativa.


Il processo di addestramento di una Rete Neurale Artificiale può essere molto dispendioso, in termini di tempo e risorse di calcolo, per questo abbiamo creato una sezione apposita per mostrarti come velocizzare il processo sfruttando la parallelizzazione delle GPUs e servizi in Cloud come Google Colaboratory e Amazon AWS.

Proseguiremo il corso vendendo insieme una tipologia di reti neurali artificiali che hanno totalmente rivoluzionato il settore della Computer Vision, rendendo obsolete tutte le tecniche usate in precedenza, ovvero le Reti Neurali Convoluzionali.


In seguito vedremo un'altra tipologia di reti neurali utilissima  se il nostri dati sono una sequenza, come testi, audio, video e serie storiche, cioè le Reti Neurali Ricorrenti nelle varianti Vanilla Recurrent Neural Network, Long short-term memory (LSTM) e Gated Recurrent Unit (GRU). Inoltre vedremo come creare rappresentazioni vettoriali di testi utilizzando il Word Embedding.


Nell'ultima sezione pratica combineremo strati convoluzionali e ricorrenti per creare una Convolutional Long Short-Term Memory Network.


Al termine del corso ti verranno forniti alcuni consigli su come proseguire la tua avventura nel campo del Deep Learning, sia sotto un punto di vista pratico che teorico.


Artificial Intelligence, Machine Learning e Deep Learning sono in continua evoluzione, quindi dopo l'ultima sezione non considerare questo corso concluso, perché verrà aggiornato costantemente con nuovi contenuti. Ad ogni nuovo aggiornamento riceverai una notifica tramite email.


I contenuti in programma per il prossimo aggiornamento sono:


  • Eseguire predizioni su serie storiche utilizzando le reti neurali ricorrenti.

  • Tecniche di dataset augmentation e generatori di immagini


What You Will Learn!

  • Comprendere il funzionamento delle Reti Neurali Artificiali
  • Comprendere i vantaggi delle Reti Neurali Artificiali Profonde
  • Distinguere i diversi tipi di algoritmi di ottimizzazione
  • Programmare una Rete Neurale Artificiale con Keras su Tensorflow
  • Addestrare una Rete Neurale Artificiale per il riconoscimento di oggetti
  • Addestrare una Rete Neurale Artificiale per la classificazione di testi
  • Addestrare una Rete Neurale Artificiale Profonda utilizzando la GPU
  • Addestrare una Rete Neurale Artificiale Profonda nel Cloud
  • Creare Reti Neurali Convoluzionali per problemi di Computer Vision
  • Creare Reti Neurali Ricorrenti (LSTM e GRU) per problemi di Natural Language Processing
  • Utilizzare il Word Embedding per creare una rappresentazione vettoriale dei testi
  • Analizzare un dataset utilizzando Pandas
  • Lavorare con iPython e Jupyter Notebook

Who Should Attend!

  • Programmatori e sviluppatori che vogliono trovare lavoro nei settori di deep learning e intelligenza artificiale
  • Imprenditori e startupper che vogliono fondare una nuova azienda tecnologica nel campo dell'intelligenza artificiale