Seguici sui social

Recensione del libro: Deep Learning Crash Course: un'introduzione pratica e basata su progetti all'intelligenza artificiale

Book Reviews

Recensione del libro: Deep Learning Crash Course: un'introduzione pratica e basata su progetti all'intelligenza artificiale

mm

Corso intensivo di apprendimento profondo: un'introduzione pratica e basata su progetti all'intelligenza artificiale è scritto da Giovanni Volpe, Benjamin Midtvedt, Jesús Pineda, Henrik Klein Moberg, Harshith Bachimanchi, Joana B. Pereira e Carlo Manzo, un gruppo di ricercatori e docenti con una vasta esperienza che spazia dalla fisica all'apprendimento automatico e alla ricerca applicata all'intelligenza artificiale.

Prima di addentrarmi nel contenuto del libro, vorrei iniziare con una confessione personale, perché ha influenzato il mio modo di viverlo. Questo è il primo libro che abbia mai letto di Nessuna pressa per amido, e quando ho iniziato, non sapevo davvero cosa aspettarmi. Nonostante gestisca un grande sito web incentrato sull'intelligenza artificiale, devo ammettere di essere anche un programmatore pessimo per gli standard dell'intelligenza artificiale moderna. Conosco abbastanza bene le basi di HTML, CSS, JavaScript e PHP, ma quando si tratta di Python, le mie competenze si attestano saldamente nella media. Questo è stato importante, perché Python è il linguaggio utilizzato in tutto il libro e svolge un ruolo centrale in quasi tutti i progetti.

Ciò che ho trovato, invece della frustrazione, è stato qualcosa di molto più prezioso. Questo libro è paziente senza essere semplicistico, profondo senza essere opprimente, e pratico in un modo che pochissimi libri sull'intelligenza artificiale riescono a fare. Non presuppone che tu abbia già familiarità con la cultura, la terminologia o i flussi di lavoro del machine learning. Al contrario, costruisce la fiducia in modo costante, capitolo dopo capitolo, attraverso spiegazioni abbinate direttamente al lavoro pratico.

Una prima impressione che dà il tono

Si tratta di un libro corposo, che conta ben oltre seicento pagine, e sfrutta efficacemente questo spazio. Un dettaglio che mi ha subito colpito è la decisione degli autori di convertire l'intera base di codice da TensorFlow a PyTorch dopo che la prima bozza era già completa. Non è un cambiamento da poco, soprattutto per un libro di queste dimensioni. Segnala qualcosa di importante: questo non è un libro congelato nel tempo o scritto per spuntare caselle. È un libro progettato per rimanere attuale e in linea con il modo in cui il deep learning viene effettivamente praticato oggi.

Fin dall'inizio, il tono è pratico e concreto. Il libro non si apre con una filosofia astratta o una matematica complessa. Si apre con i meccanismi della costruzione di modelli, dell'esecuzione di esperimenti e della comprensione di cosa fa il codice e perché. Questo approccio fa un'enorme differenza, soprattutto per i lettori che comprendono i concetti a un livello avanzato ma hanno difficoltà a tradurli in implementazioni funzionanti.

Imparare costruendo, non memorizzando

Uno degli aspetti più importanti di Deep Learning Crash Course è la sua struttura basata su progetti. Non è un libro che si legge per ore e poi si prova qualcosa in seguito. Si costruisce costantemente. Ogni concetto principale è legato a un progetto concreto, e questi progetti aumentano di complessità man mano che la comprensione aumenta.

Inizi costruendo e allenando il tuo primo reti neurali da zero utilizzando PyTorch. Questi primi capitoli introducono i concetti fondamentali delle reti neurali, inclusi livelli, pesi, funzioni di attivazione, funzioni di perdita e ottimizzazione. È importante sottolineare che questi concetti non vengono trattati come problemi matematici astratti. Vengono presentati come strumenti che risolvono problemi specifici, e l'impatto di ogni scelta progettuale si riflette direttamente nei risultati.

Non scrivendo Python quotidianamente, ho apprezzato l'attenzione con cui gli autori analizzano il codice. Non ci si aspetta mai che si capisca magicamente cosa sta succedendo. Le spiegazioni sono dettagliate, ma rimangono leggibili e si concentrano sull'intuizione tanto quanto sulla correttezza.

Catturare modelli e comprendere i dati

Una volta definiti i fondamenti, il libro passa a catturare tendenze e modelli nei dati. È qui che le reti neurali dense vengono applicate a compiti più realistici come regressione e problemi di classificazione. Imparerai come i modelli si generalizzano, come falliscono e come diagnosticare tali fallimenti.

Questa sezione insegna in modo discreto alcune delle competenze più importanti del mondo reale nell'apprendimento automatico. Argomenti come la convalida, overfitting, l'underfitting e la valutazione delle prestazioni vengono introdotti in modo naturale attraverso la sperimentazione, piuttosto che attraverso la teoria. Imparerai a interpretare le curve di apprendimento, a regolare gli iperparametri e a ragionare sul comportamento del modello, invece di fidarti ciecamente dei risultati.

Per i lettori che hanno interagito con l'intelligenza artificiale solo tramite API o strumenti predefiniti, questa sezione vale da sola il prezzo del libro.

Lavorare con le immagini utilizzando le reti neurali

Una delle sezioni più coinvolgenti del libro si concentra su elaborazione delle immagini e visione computerizzata. Qui è dove reti neurali convoluzionali entrano in gioco. Invece di trattare le CNN come misteriose scatole nere, il libro li scompone in componenti comprensibili.

Imparerai a cosa serve effettivamente la convoluzione, perché è importante raggruppare i livelli e come funziona l'estrazione di feature tra livelli. Ancora più importante, applicherai queste idee a set di dati di immagini reali. I progetti includono classificazione di immagini, trasformazione ed esperimenti visivi creativi come il trasferimento di stile ed effetti simili a DeepDream.

Questa sezione trae grande beneficio dalle illustrazioni del libro. Le spiegazioni visive accompagnano il codice, facilitando il collegamento tra ciò che il modello esegue matematicamente e ciò che produce visivamente. Per chi impara visivamente, questa parte del libro è particolarmente soddisfacente.

Dalla compressione alla generazione

Il libro si espande poi in autoencoder e architetture di codifica-decodifica, incluse le reti U-Net. Questi modelli introducono concetti come la riduzione della dimensionalità, le rappresentazioni latenti e la generazione di output strutturati. Si vede come i modelli possano apprendere rappresentazioni compatte di dati complessi e come tali rappresentazioni possano essere utilizzate per attività come la riduzione del rumore e la segmentazione.

Da lì, l'ambito si amplia nuovamente nella modellazione generativa. Ciò include generative reti contraddittorie e modelli di diffusione, che costituiscono la spina dorsale di molti moderni sistemi di intelligenza artificiale generativa. Questi capitoli non esitano ad affrontare le sfide dell'addestramento dei modelli generativi. Instabilità, problemi di convergenza e valutazione sono tutti discussi apertamente.

Ciò che ho apprezzato di più è che il libro non esagera con questi modelli. Ne mostra sia la potenza che i limiti, il che è una ventata di aria fresca in un settore spesso dominato dall'hype.

Sequenze, linguaggio e attenzione

Un altro punto di forza del libro è la gestione dei dati sequenziali e del linguaggio. Le reti neurali ricorrenti vengono introdotte come trampolino di lancio, aiutando i lettori a comprendere come i modelli gestiscono serie temporali e input ordinati.

Da lì, il libro si sposta sui meccanismi dell'attenzione e sulle architetture dei trasformatori. Questi capitoli forniscono una solida base concettuale per comprendere i modelli linguistici moderni, senza dover essere già esperti in materia. Le spiegazioni si concentrano sul perché l'attenzione sia importante, su come modifichi le dinamiche di apprendimento e su come consenta la scalabilità dei modelli.

Per i lettori che cercano di comprendere a un livello più profondo il funzionamento degli attuali sistemi di intelligenza artificiale, questa sezione collega molti punti.

Grafici, decisioni e apprendimento dall'interazione

I capitoli successivi esplorano reti neurali grafiche, utilizzati per modellare dati relazionali in cui le connessioni sono importanti tanto quanto i singoli valori. Sono inclusi esempi rilevanti per dati scientifici, reti e sistemi strutturati.

Il libro introduce anche l'apprendimento attivo e apprendimento approfondito di rinforzo, dove i modelli apprendono interagendo con gli ambienti e prendendo decisioni. Queste sezioni vanno oltre i set di dati statici e si addentrano nei sistemi dinamici, mostrando come l'apprendimento possa adattarsi in base al feedback e ai risultati.

Alla fine del libro, i lettori sono esposti all'intero ciclo di vita dei sistemi di apprendimento profondo, da importazione dei dati agli agenti decisionali.

Competenze pratiche che vanno oltre il libro

In tutto il libro, l'enfasi è posta sulle abitudini pratiche. Imparerete a strutturare esperimenti, eseguire il debug dei modelli, visualizzare i risultati e pensare criticamente alle prestazioni. Queste sono le competenze più importanti una volta superati i tutorial e passati alle applicazioni reali.

I quaderni e i set di dati inclusi facilitano la sperimentazione, la modifica dei progetti e l'approfondimento delle idee. Questa flessibilità rende il libro prezioso non solo come lettura occasionale, ma anche come riferimento a lungo termine.

Per chi è questo libro

Questo libro è ideale per programmatori, ingegneri, ricercatori e professionisti con una spiccata curiosità tecnica che desiderano comprendere il deep learning attraverso la sua creazione. Non è necessario essere uno sviluppatore Python esperto per iniziare, né avere competenze matematiche avanzate per progredire. Ciò di cui si ha bisogno è curiosità e la volontà di lavorare sui progetti in modo ponderato.

Funziona anche molto bene come guida di riferimento, ed è esattamente così che ho intenzione di usare il libro in futuro. Come persona sempre più concentrata su codifica delle vibrazioni e progettazione di sistemi di alto livello piuttosto che eseguire ogni riga di codice dall'inizio alla fine, considero questo libro come qualcosa a cui tornerò regolarmente per approfondire la mia comprensione concettuale. Le spiegazioni, i diagrammi e le suddivisioni architetturali permettono di comprendere come sono strutturati i modelli, perché vengono scelti determinati approcci e quali compromessi esistono. In questo senso, il libro si rivela efficace non solo come corso passo dopo passo, ma anche come compagno a lungo termine per i lettori che desiderano comprendere cosa fanno i moderni sistemi di intelligenza artificiale sotto il cofano mentre sperimentano, prototipano o ragionano a un livello superiore.

Considerazioni finali

Corsi intensivi di apprendimento profondoe Ha superato le mie aspettative in modo davvero significativo. Non si è limitato a spiegare il deep learning, ma lo ha reso accessibile e realizzabile. Alla fine, mi sono sentito molto più a mio agio nel leggere, modificare e scrivere modelli basati su PyTorch rispetto a quando avevo iniziato.

Questo è un libro che premia l'impegno. Rispetta l'intelligenza del lettore senza presupporre competenze specifiche e offre una delle esperienze di apprendimento più pratiche che abbia mai incontrato nella formazione sull'IA. Per chiunque intenda seriamente passare da osservatore a costruttore di IA, questo libro è vivamente consigliato.

Antoine è un leader visionario e socio fondatore di Unite.AI, spinto da una passione incrollabile per la definizione e la promozione del futuro dell'intelligenza artificiale e della robotica. Imprenditore seriale, ritiene che l'intelligenza artificiale sarà dirompente per la società quanto l'elettricità, e spesso viene colto a delirare sul potenziale delle tecnologie dirompenti e dell'AGI.

Come futurista, si dedica a esplorare come queste innovazioni plasmeranno il nostro mondo. Inoltre, è il fondatore di Titoli.io, una piattaforma focalizzata sugli investimenti in tecnologie all'avanguardia che stanno ridefinendo il futuro e rimodellando interi settori.