Il Deep Learning è una tecnologia estremamente potente che si è sviluppata nel corso degli ultimi dieci anni. Si tratta di un ramo del Machine Learning e dell’Intelligenza Artificiale nel quale i dati vengono analizzati in una sequenza gerarchica, partendo da caratteristiche e schemi più semplici, per ottenere un’analisi completa. Grazie a questa caratteristica, i modelli di Deep Learning quali le Reti Neurali Artificiali sono particolarmente adatti a elaborare le immagini.
Perché è utile il Deep Learning
Perché vogliamo rivolgerci all’Intelligenza Artificiale per classificare le immagini? Oltre a rendere più semplice il nostro lavoro, automatizzando le parti più noiose, siamo ormai arrivati a un punto in cui l’IA ha superato anche le capacità umane.

Il grafico qui sopra è stato prodotto da un’importante rivista di settore e ci mostra come ormai da qualche anno la baseline umana del 94,9% è stata abbondantemente superata. Le analisi sono state svolte sul dataset ImageNET, un dataset di Google contenente diversi milioni di immagini appartenenti a migliaia di classi. Questo ovviamente non vuol dire che possiamo eliminare gli umani dal ciclo, ma in futuro sarà sempre meno necessario il loro intervento e basterà la supervisione, per controllare e correggere i rari casi di errore della macchina.
Deep Learning vs Machine Learning
Ma perché si parla di Deep Learning e come si distingue dal Machine Learning? Il termine deep nasce dalla struttura dei modelli stessi, che sono formati da diversi strati in successione e quindi risultano più grandi o “profondi” rispetto a quelli del Machine Learning classico.

Questi modelli si dividono in due sezioni principali: la prima è quella che viene chiamata feature extraction, dove si cerca di estrapolare le informazioni importanti, che verranno poi usate nella seconda per definire il contenuto (classification). Una delle principali differenze rispetto al Machine Learning classico consiste nel fatto che i dati non devono essere preparati a mano da una persona; questo riduce drasticamente i problemi legati al bias o all’errore umano. La parte di feature extraction è quella che si occupa di questa elaborazione.
Ma come fa un modello a processare dati complessi come le immagini? Permettetemi di introdurvi i segreti dietro al Deep Learning.
La matematica del Deep Learning
Il Deep Learning sfrutta principalmente due tecniche che prendono spunto dagli studi fatti sulla corteccia visiva e cercano di simulare quello che succede nel cervello umano. Noi infatti quando guardiamo un’immagine o qualcosa nella vita reale analizziamo, in maniera inconscia o meno, dettagli sempre più minuziosi che ci permettono di capire di che oggetto si tratta o riconoscere persone specifiche.
Alla stessa maniera la Convoluzione e il Pooling cercano, rispettivamente, di definire l’importanza dei vari pixel dell’immagine e selezionano solo quelli considerati più rilevanti.

Selezionando i pixel più importanti, il Pooling permette anche di ridurre la dimensionalità dei dati, alleggerendo i calcoli da eseguire e velocizzando le analisi.
Come si apprendono i dati col Deep Learning?
Finora abbiamo parlato dell’architettura generale di una Convolutional Neural Network, ma non è finita qui. Il modello all’inizio non ha ancora i parametri corretti, per cui se lo usassimo subito sbaglierebbe un numero piuttosto elevato di predizioni.
Per migliorare le performance bisogna addestrare il modello fornendogli immagini e label, la classe assegnata all’immagine, e correggendolo quando sbaglia. In genere l’addestramento richiede alcune ore per completarsi, poiché bisogna fornire più volte le stesse immagini, al fine di migliorare le performance a ogni iterazione. Il termine che identifica questo processo è Gradient Descent, perché l’errore si riduce gradualmente ogni volta.
C’è la possibilità di ridurre il tempo impiegato tramite acceleratori hardware come le GPU (Graphical Processing Unit). Questi dispositivi sono in grado di parallelizzare i calcoli, impiegando così appena una frazione del tempo che impiega invece una CPU (Central Processing Unit), ma sono anche piuttosto costosi.
Insomma, per quanto il Deep Learning sia una tecnologia estremamente utile e potente, non è facile da utilizzare, sono richieste diverse competenze specifiche, oltre che una certa mole di dati, tempo e risorse non facili da ottenere.
Le soluzioni di Blue BI per il riconoscimento delle immagini
Oltre a grandi competenze nel settore, Blue BI ha sviluppato una pipeline di lavoro che permette di riconoscere il contenuto delle immagini, ma è anche in grado di cercare prodotti simili a quello analizzato all’interno di un database, in maniera rapida ed efficiente. Se siete interessati a questa tecnologia, potreste essere interessati anche alla nostra soluzione Next Level Showroom!