Algoritmi di Deep Learning e network neurali

Il Deep Learning rappresenta un segmento del Machine Learning all’interno del quale è possibile racchiudere gli algoritmi di Intelligenza Artificiale progettati sia a livello strutturale che funzionale per replicare le caratteristiche del cervello umano e non solo. L’obiettivo di un approccio basato sul Deep Learning è quello di creare dei network neurali attraverso cui le macchine possano apprendere dati, anche preelaborati perifericamente tramite edge computing in un contesto Cloud based, sfruttando l’azione di algoritmi concepiti per offrire una rappresentazione dei dati stessi. Viene così superato il modello in cui la finalità degli algoritmi è tradizionalmente ed esclusivamente quella di eseguire dei task.

Neural network e layer di apprendimento

Nel caso dei network neurali artificiali l’apprendimento non è soltanto automatico ma anche profondo, gerarchico e adattivo, ciò è possibile grazie a un’architettura multilivello dove il passaggio di informazioni tra i layer consente di simulare la capacità di astrazione delle reti neurali biologiche, un processo con il quale le macchine possono elaborare formule e individuare simboli che permettano loro di risolvere problematiche complesse. Se un algoritmo pensato per l’esecuzione di un determinato task risponde a un comando specifico, un algoritmo di Deep Learning fornisce invece una rappresentazione della realtà con cui definire dei pattern che consentano di attivare comportamenti differenti in base agli input provenienti dal contesto di riferimento e alle sue caratteristiche.

La capacità di astrazione maturata tramite l’accesso ai Big Data libera gli sviluppatori dall’esigenza di fornire un indirizzo per le dinamiche di Deep Learning, rendendo l’apprendimento quanto più autonomo possibile.

I dati all’origine possono essere etichettati fornendo un riferimento alla loro natura (apprendimento supervisionato) o si può adottare un modello (non supervisionato) in cui gli algoritmi vengono alimentati tramite intput, lasciando l'onere della classificazione al sistema. In entrambi i casi l’obbiettivo è quello di massimizzare le performance delle sessioni di training incentrate sul principio del trial-and-error. In un network neurale il passaggio di dati tra i layer può coinvolgere infatti anche le informazioni meno accurate, per questo motivo diventa essenziale l’intervento degli algoritmi per la backpropagation che, in presenza di un errore, ne rimuovano l’origine risalendo tutti i livelli che hanno portato alla sua generazione.

Deep Learning e Visual Computing

Per capire l’importanza di questo approccio è possibile fare riferimento al Visual Computing, dove il Deep Learning opera attraverso l’acquisizione, l’analisi e la sintesi delle immagini fino a permettere l’identificazione di un determinato oggetto, anche in presenza di tutte le possibili varianti che esso potrebbe assumere nella realtà. Cavalier King e Rottweiler sono creature morfologicamente lontanissime, un algoritmo di Deep Learning ha quindi il compito di fornire sia i dati necessari ad apprenderne la comunità di classe (mammifero) e di specie (cane), che per rilevare le rispettive razze di appartenenza.

L’applicazione del Deep Learning al visual computing può essere utile per svolgere compiti apparentemente semplici, ma estremamente ripetitivi e dispendiosi quando effettuati manualmente, come la produzione automatica di didascalie a descrizione delle immagini. L’utilità di tali procedure diventa però ancora più evidente in ambiti come la diagnostica in ambito sanitario, dove il riconoscimento degli elementi presenti all’interno di un’immagine può assistere l’utilizzatore rendendo più tempestiva e accurata l’identificazione di eventuali problematiche.

Deep Learning e applicazioni per il business

Attualmente l’utilizzo del Deep Learning in ambito industriale ha assunto un ruolo rilevante per diversi comparti. Un primo esempio, riferito a un settore in cui diverse iniziative in merito hanno portato ad applicazioni commerciali, può essere quello dell’Automotive sia per i sistemi di Active Drive Assistant che per le applicazioni destinate alle Self Driving Car, anche in questi casi infatti è necessario simulare il comportamento umano prevedendo tutte le variabili che potrebbero influenzarlo determinando scelte e reazioni.

È interessante notare come proprio nell’Automotive sia possibile rilevare la compartecipazione di molteplici algoritmi per il Deep Learnig. Il già citato Visual Computing offre il necessario supporto per l'analisi del contesto in cui si muovono i veicoli anche in caso di visibilità limitata, per l’individuazione degli ostacoli, per il riconoscimento della cartellonistica anche in condizioni di scarsa leggibilità, per l’adattamento dello stile di guida alle caratteristiche del manto stradale e per la scelta dei percorsi migliori sulla base delle condizioni del traffico. D’altra parte l’assistenza al conduttore si estende fino alla comprensione del linguaggio naturale, un altro prodotto del Deep Learning che consente di implementare interfacce vocali attraverso le quali interagire non soltanto con il veicolo ma anche con tutti i dispositivi a corredo eventualmente connessi quest’ultimo.

Ovviamente, maggiore è la quantità di dati a disposizione tanto più precisa e rapida sarà l’azione degli algoritmi di Deep Learning. In precedenza si è fatto riferimento alle immagini ma un discorso non dissimile può essere effettuato per quanto riguarda i testi, grazie ad algoritmi per la Text Recognition che alimentano modelli di training destinati a migliorare le procedure di Text Automation. In questo caso infatti la robotizzazione evolve ben oltre la sola stesura di testi corretti dal punto di vista sintattico e più estesamente grammaticale, il Deep Learning permette infatti di rendere gli elaborati prodotti dalle macchine semanticamente coerenti e di riprodurre gli stili di scrittura umani in modo adattivo. Vengono così definiti dei pattern in grado di generare output testuali differenti a seconda della destinazione d’uso, dalla messaggistica alle comunicazioni aziendali, dalla manualistica al giornalismo fino alla novellistica.

Un altro comparto in cui il Deep Learning potrebbe trovare e trova applicazione è quello del Finance, si tratta infatti di un settore per sua natura fortemente Data Driven dove il trattamento computationally intensive dei Big Data è ormai adottato diffusamente per l’automatizzazione del trading. In linea generale è possibile sottolineare come i dati quotidianamente prodotti dai mercati, e il loro storico pregresso, consentano di:

  • implementare network neurali che sviluppino modelli previsionali quantitativi per il forecasting;
  • sviluppare e migliorare algoritmi per la pattern recognition che individuino e siano in grado di replicare schemi comportalmentali dei decision makers;
  • processare serie temporali e feed allo scopo di rilevare tempestivamente o anticipare i trend in grado di indirizzare gli investitori;
  • incrementare l'efficacia delle soluzioni per la Cybersecurity e la fraud detection;
  • semplificare lo sviluppo di applicazioni per il monitoraggio che a loro volta alimentino network neurali in grado di definire strategie per il trading.

Attualmente è possibile osservare un notevole incremento nel numero delle organizzazioni che impiegano il Deep Learning per iniziative legate al contenimento del rischio. A tal proposito un riferimento immediato può essere fornito dal settore assicurativo con l’esempio di una società come AXA che, attraverso tale modalità di apprendimento, ha potuto prevedere il verificarsi degli incidenti stradali con un’accuratezza superiore del 78% rispetto agli strumenti di analisi tradizionali. I risultati ottenuti hanno quindi permesso di ottimizzare le tariffe assicurative sulla base di criteri specifici per la classificazione dell’utenza.