Deep learning: cos'è e in quali casi si usa l'apprendimento profondo | ZeroUno

Deep learning: cos’è e in quali casi si usa l’apprendimento profondo

pittogramma Zerouno

Guida

Deep learning: cos’è e in quali casi si usa l’apprendimento profondo

Nella ricerca di metodi per creare sistemi in grado di attuare comportamenti intelligenti simili a quelli di umani e animali, si è posta l’attenzione sull’apprendimento automatico. E cercando di riprodurre i meccanismi del cervello si è giunti allo sviluppo di reti neurali artificiali profonde, che hanno reso possibile la nascita del deep learning

28 Set 2021

di Riccardo Cervelli

Secondo diversi autorevoli esperti di IT, il deep learning (DL) rappresenta la versione più emblematica di quanto sia riuscita ad avanzare negli ultimi anni la disciplina informatica dell’intelligenza artificiale (IA o AI). Del resto, è sufficiente rendersi conto di come al deep learning (letteralmente: apprendimento profondo) siano dedicati sempre più corsi universitari (non solo di ingegneria, ma anche di materie economiche, sociali e umanistiche), libri, offerte tecnologiche ad hoc da parte di vendor IT, cloud service provider e comunità open source.

Cos’è il deep learning (apprendimento profondo)

Il DL sfrutta architetture e modelli matematici che permettono di replicare il funzionamento del cervello umano. Nell’AI l’insieme di queste architetture e modelli matematici (algoritmi) prendono il nome di reti neurali multistrato. L’aggettivo “profondo” del DL deriva dalla grande quantità (da decine a milioni) di “strati” di neuroni artificiali.

WHITEPAPER
Logistica 4.0: scopri come il tuo magazzino diventa più intelligente e sicuro con AI4Stock

Come funziona il deep learning

Come già accennato, il DL si basa sull’utilizzo di software (in qualche caso anche hardware, come i processori NPU, o neural processing unit, o TPU, tensor processing unit) che imitano il funzionamento delle reti neurali biologiche presenti nel cervello umano e animale. Nelle reti neurali artificiali multistrato (o multi-livello), ogni strato è costituito da un ingresso (input), uno strato nascosto (hidden) in cui avviene l’elaborazione del dati, e uno strato di uscita (output). Ciascun neurone presente in ogni strato costituisce un nodo computazionale dotato di connessioni (sinapsi) verso altri neuroni, nonché di pesi (o parametri) attribuiti alle singole connessioni nel corso dell’addestramento iniziale e di quello continuo (continuous learning).

Per sviluppare le reti neurali artificiali, si utilizzano gli stessi linguaggi di programmazione (come C++, Python, Java e Javascript, etc.) usati per codificare le applicazioni tradizionali. Ma mentre con i software tradizionali sono gli sviluppatori a dire ai programmi quali dati utilizzare (fra tipologie di solito limitate in termini di formati e fonti) e quali regole di elaborazione seguire, nel DL le reti neurali sono concepite per imparare come comportarsi direttamente dai dati. Per questo, le soluzioni di DL hanno bisogno di almeno tre ingredienti fondamentali: algoritmi di apprendimento automatico dai dati, moltissimi dati (o dataset, big data, etc.) per l’addestramento (fino ad ottenere l’atteso livello di correttezza delle risposte per il più elevato numero di dati di ingresso) e molto potenza di calcolo e memoria (storage).

Come le reti neurali biologiche, vale ancora la pena di ricordare, anche le reti neurali artificiali sono di tipologie molto diverse fra loro. Le principali differenziazioni dipendono dal tipo di architettura e dal metodo di apprendimento, anche se spesso questi aspetti si possono trovare miscelati in modo fantasioso per affrontare use case specifici e multidisciplinari. Anche i modelli matematici utilizzati differiscono caso per caso, ma nell’armamentario dello sviluppatore di soluzioni di DL non possono mancare conoscenze approfondite dell’analisi (calcolo integrale e differenziale), del calcolo matriciale, della statistica e della probabilità.

Cosa è possibile fare con il deep learning?

Le tecnologie di deep learning, almeno per ora, non sono in massima parte alternative ai software tradizionali, così come non lo sono nemmeno rispetto a molte altre applicazioni di AI o ML non neurali, meno “profonde” ma molto efficienti nei loro ambiti (si pensi, per esempio, ai sistemi esperti). Per contro, avendo come obiettivo quello di comportarsi in modo simile – anche se per compiti specifici – al cervello umano e animale, le soluzioni di DL possono affrontare scenari molto complessi, in cui i dati in ingresso sono tantissimi, di natura molto eterogenea (spesso sconosciuta), con elevati “rumori di fondo” (dati che non interessano, spesso errati), e in cui le variabili (parametri o pesi) vanno calcolate con modelli matematici diversi la cui scelta e applicazione non può sempre attendere l’intervento manuale umano.

Come dall’intelligenza umana e animale, non è possibile attendersi sempre risultati sicuri al 100%. Ma questa limitata incertezza, nonché il fatto che non è possibile sapere con quali procedimenti il DL è arrivato a determinati risultati (di qui l’appellativo ,spesso utilizzato, di “scatole nere”) sono resi accettabili dai vantaggi di poter affrontare casi d’uso complessi, e spesso critici, che l’uomo non affronta solo con la logica (deduzione e induzione), ma anche con l’intuizione, le credenze profonde, gli “apriori”, l’esperienza, le emozioni stesse.

Esempi di utilizzo del deep learning

Natural language processing

Il NLP (elaborazione del linguaggio naturale) il campo su cui si è più sviluppata inizialmente l’AI. Con l’avvento del DL questo campo ha potuto fare enormi passi avanti, acquisendo capacità di traduzione multilinguistica senza passare dall’inglese, di produrre testi scritti e parlato non più basati su frasi fatte da scegliere e completare, ma generati automaticamente parola per parola in modo creativo, basandosi sull’esperienza e sulla probabilità.

Computer vision

La visione artificiale è sicuramente il campo del DL in cui si è già stata raggiunta stabilità ad altissimi livelli, al punto da rendere possibile anche la guida autonoma. L’autonomous driving viene ritenuta una palestra utilissima per la creazione e l’addestramento di sistemi di computer vision poiché l’ontologia (oggetti che possono e devono riconosciuti: in questo caso strade, segnaletica, persone, altri veicoli, luminosità etc.) è limitata. Questo consente di concentrarsi su aspetti diversi dalla capacità di riconoscere molteplici oggetti diversi, quanto sull’affidabilità del riconoscimento di quelli veramente importanti e sull’elaborazione delle decisioni e delle azioni giuste da intraprendere in tempo reale.

Robotica

La creazione di robot sempre più autonomi e versatili è resa possibile dal deep learning in quanto è possibile dotare questi sistemi di una intelligenza multiforme che include il NLP non solo passivo ma anche generativo, il riconoscimento delle immagini (e quindi quello di oggetti o impianti in produzione, permettendo anche l’identificazione di quelli difettosi; persone; animali; ambienti, etc.), l’elaborazione sensoriale tattile e olfattiva, il processing di serie storiche per effettuare predizioni o pianificazioni, la capacità di compiere le azioni necessarie per affrontare vincoli temporali e/o recuperare energia, e così via.

Raccomandazioni

Lo scenario dell’utilizzo del DL per produrre raccomandazioni è molto vasto e abbraccia molteplici settori della vita e dell’economia. Con le reti neurali, in particolare quelle che sfruttano componenti di memoria, è possibile creare soluzioni di DL che consentono, per esempio, di analizzare i curricula e compiere scelte di assunzione tenendo conto di un gran numero di fattori (passati, attuali e futuri), oppure suggerire l’acquisto di nuovi prodotti “intuendo” propensioni del cliente che non sono rilevabili da parte di software di analytics più tradizionali. Lo stesso si può dire per la sottoscrizione di polizze assicurative, piani pensionistici, operazioni di Borsa.

Che differenza c’è tra deep learning e machine learning?

Il DL è una versione (un subset) del machine learning (ML), che significa apprendimento automatico, ossia la capacità di sistemi di AI di imparare da soli dai dati senza essere specificatamente programmati. Il deep learning differisce dal machine learning solo perché l’apprendimento automatico avviene all’interno di reti neurali profonde che si ispirano al sistema nervoso degli uomini e degli animali. Non tutto il ML è DL. Per contro chi sviluppa tecnologie di deep learning di fatto deve conoscere e implementare tecniche di machine learning.

Riccardo Cervelli

Giornalista

Nato nel 1960, giornalista freelance divulgatore tecnico-scientifico, nell’ambito dell’Ict tratta soprattutto di temi legati alle infrastrutture (server, storage, networking), ai sistemi operativi commerciali e open source, alla cybersecurity e alla Unified Communications and Collaboration e all’Internet of Things.

Articolo 1 di 4