Blog.

Udacity, Intro to TensorFlow for deep Learning | Corso Gratuito


Autore
Andrea Provino
Data
Tempo di lettura
5 minuti
Categoria
AI

udacity-machine-learning-udacity-intro-tensorflow-deep-learning-italiano-corso-gratuito-deep-learning-intelligenza-artificiale

Udacity è un’organizzazione educativa che offre corsi online, molti dei quali a pagamento. Quello di oggi è però gratuito: un’introduzione a tensorflow for deep learning.

L’obiettivo del corso è fornire un approccio pratico al deep learning, con un metodo studiato apposta per gli sviluppatori.

Hai capito ben! Un corso introduttivo al deep learning completamente gratuito su una piattaforma esteticamente ineccepibile e soprattutto funzionale.

Intendiamoci, Udacity non versa un centesimo, ma francamente a me interessa maggiormente farti conoscere questa risorsa preziosa: è un trampolino di lancio per la tua carriera, per il nostro futuro!

Basta indugiare, andiamo alla scoperta di Intro to TensorFlow for Deep Learning

Cos’è TensorFlow?

TensorFlow, abbreviato in TF, è una potente libreria open source per la creazione di modelli di machine learning in ambiti di ricerca, e sviluppo prodotti.

Il principio che sta alla base del suo funzionamento è relativamente banale: definiamo con Python un grafo computazionale da eseguire; quindi TensorFlow esegue il grafo attraverso un codice altamente ottimizzato in C++.

Il grafo può poi essere suddiviso in chunk eseguibili parallelamente su multiple CPU o GPU, parola d’ordine: ottimizzazione.

Ciliegina sulla torta, TensorFlow supporta distributed computing permettendoci di gestire reti neurali colossali su giganteschi dataset di training dividendo il costo computazionale su molteplici server.

TensorFlow è in grado di gestire neural network con milioni di parametri su training set da miliardi di istanze con milioni di features.

Grandi numeri, smisurata potenza, ottimi risultati.

Questo perché TensorFlow è stato progettato da Google avendo ben chiaro l’obiettivo finale: realizzare una libreria versatile, flessibile, scalabile, pulita e ben documentata che potesse funzionare tanto in ambito di ricerca quanto in ambiente di produzione (production-ready).

TensorFlow Advantages and Characteristics

A rendere immediata la sua diffusione hanno contribuito diversi fattori.

Vediamo i principali.

  • Cross-platform, TensorFlow lavora bene su Windows, macOS, Linux, Android e iOS.
  • API, è presente una API chiamata TF.Learn compatibile con Scikit-Learn
  • Compatibilità, molte high-level APIs sono state costruite sopra TensorFlow, una di queste Keras è ora ufficialmente integrata
  • autodiff, automatic differentiating un metodo built-in usato per calcolare automaticamente i gradienti delle funzioni definite, attraverso una moltitudine di nodi ottimizzati per trovare il parametro che minimizza la cost function
  • TensorBoard, una dashboard web che permette di monitorare il processo di training in real-time: computational graph, learning curves e molto altro.

Intro to TensorFlow for Deep Learning

Gestita in larga misura da Google, questa libreria è ormai giunta alla versione 2.0 che porta con sé molte novità e funzionalità.

All’interno del corso di Udacity, sviluppato in collaborazione con il team TF, impareremo a creare da zero dei classificatori d’immagine e sperimenteremo altri modelli.

Non finisce qui.

L’obiettivo è anche quello di sviluppare applicazioni compatibili con piattaforme cloud, mobile, e web-oriented in modo da raggiungere una discreta autonomia e diventare capaci di creare un vero prodotto AI da zero.

Struttura corso

Qui iniziano i dubbi e le perplessità.

Il sito di Udacity relativo al corso riporta la bellezza di 14 moduli.

Una volta iscritto però sono apparentemente 9 i moduli davvero presenti:

  1. Welcome to the Course, 30 minuti di noiosi convenevoli
  2. Introduction to Machine Learning, nuovi punti di vista ben accetti.
  3. Your First Model – Fashion MNIST, ahimé il MNIST. Ricordati di ometterlo dal tuo curriculum.
  4. Introduction to CNNs, 2h di modulo per un’infarinatura generale sulle Convolutional Neural Network. Giusto qualche layer particolare, come il Max Pooling, ma poco approfondimento
  5. Going Further With CNNs, una visione approfondita (ma non troppo) sulle Convolutional Neural Network con un progetto pratico, sui cani e fiori… Ancora una volta banale, non ci piace… per iniziare però è ottimo!
  6. Transfer Learning, utile per capire le dinamiche e logiche di funzionamento di una tecnica molto usata, e giusto una citazione di 2 minuti sul MobileNet. Poi ancora cani e gatti, e fiori
  7. Saving and Loading Models, nulla di trascendentale e comunque all’interno della piattaforma di Google Colab
  8. Time Series Forecasting, un modulo contenente 31 sezioni che, ammetto, devo ancora esplorare. Sembrano promettenti! Inoltre sono curate da Aurélien Géron, autore francese di ” Hands-on Machine Learning with Scikit-Learn, Keras and TensorFlow ” libro must have
  9. Introduction to TensorFlow Lite, un video di pochi minuti inteso come congiunzione con un altro corso gratuito di Udacity basato su TensorFlow Lite, una versione progettata per dispositvi mobili.

Conclusione

Premessa, non posso sbilanciarmi a livello contenutistico.

Non ho fatto il corso, e devo aspettare per poter anche solo accennare a qualche vaga recensione.

L’obiettivo di questo post è quindi quello di fornirti una visione d’insieme sul corso e al contempo un’opinione in più che mai guasta.

Il fatto che si tratti di una risorsa gratuita è per me il valore più alto.

È vero, il corso non è una mappa del tesoro: una volta terminato mentiresti se ti definissi machine learning engineer o cose simili.

Considerando la sua natura, di carattere introduttivo, è a mio avviso un buon punto d’inizio per futuri approfondimenti.

Qualcosa da esaminare, magari in un weekend piovoso.

Un caldo abbraccio, Andrea.

P. S. Ho deciso di dare il benvenuto ai nuovi iscritti all’email list! In questo post tutto l’affetto va a Daniele, e Alberto che ci saluta dalla calda Sardegna!

E te, vuoi essere il prossimo nome della lista?

Taggeddeep learningmachine learningteoria


Ultimi post

Patricia Merkle Trie

Il Practical Algorithm To Retrieve Information Coded In Alphanumeric Merkle Trie, o Patricia Merkle Trie è una struttura dati chiave-valore usatada Ethereum e particolarmente efficiente per il salvataggio e la verifica dell’integrità dell’informazione. In questo post ne studieremo le caratteristiche. Prima di procedere, ci conviene ripassare l’introduzione al Merkle Tree nella quale abbiamo chiarito il […]

Andrea Provino
ethereum-patricia-merkle-tree
Tree Data Structure: cos’è un Merkle Tree

Un Merkle Tree è una struttura dati efficiente per verificare che un dato appartenga a un insieme esteso di elementi. È comunemente impiegato nelle Peer to Peer network in cui la generazione efficiente di prove (proof) contribuisce alla scalabilità della rete. Capire i vantaggi di questa struttura ci tornerà utile nel nostro percorso di esplorazione […]

Andrea Provino
merkle-tree-cover
UTXO: come funziona il modello Unspent Transaction Outputs

Per tenere traccia dei bilanci utente, la blockchain di Bitcoin sfrutta un modello di contabilità definito UTXO o Unspent Transaction Outputs. In questo articolo ne esaminiamo le caratteristiche. Ogni blockchain è dotata di un sistema di contabilità, un meccanismo attraverso cui tenere traccia dei bilanci di ciascun utente. I due grandi modelli di riferimento nel […]

Andrea Provino
bitcoin-utxo
Cos’è Ethereum

Possiamo definire Ethereum come una macchina a stati distribuita che traccia le transizioni di un archivio dati general-purpose (i.e. una memoria in grado di registrare qualsiasi dato esprimibile come coppia di chiave e valore o key-value) all’interno della Ethereum Blockchain. È arrivato il momento di esplorare uno dei progetti tecnologici più innovativi e interessanti degli […]

Andrea Provino
ethereum