Negli ultimi anni, il Deep Learning e le Reti Neurali Artificiali sono sempre più utilizzate grazie alla crescente popolarità del machine learning e dell’analisi dei dati.
Gli ambiti di utilizzo sono sempre più variegati, per esempio visione artificiale, processamento del linguaggio naturale, riconoscimento vocale, guida autonoma.
L’avanzamento di queste tecniche sta permettendo di delegare alle macchine lavori che fino a pochi anni fa erano esclusivamente umani. Ma come è possibile insegnare ad un computer a svolgere un compito in maniera flessibile, o meglio “umana”?
L’invenzione delle Reti Neurali Artificiali non è recente. La prima persona ad avanzare l’idea fu Frank Rosenblatt che, nel 1958, creò il percettrone, la rete neurale più semplice che si possa concepire: un solo neurone che, dato una set di input, genera un output dicotomico (acceso o spento) allo stesso modo con cui un neurone all’interno del nostro cervello dopo aver ricevuto uno stimolo può produrre un segnale elettrico o rimanere inattivo.
Essendo limitato ad un output “ON/OFF”, è ovvio che un singolo neurone non possa svolgere operazioni complesse. La cosa più affascinante del nostro cervello è che, sommando le minuscole capacità di ogni singolo neurone, si ottiene una potenzialità pressoché illimitata.
Si stima che il cervello umano sia composto da circa 100 miliardi di neuroni: ad ogni settore del cervello è associato un ruolo, ossia interpretare un tipo di informazione. L’output dell’elaborazione verrà poi comunicato ad un’altra sezione e così via fino ad avere ottenuto un’informazione di alto livello.
Per esempio, quando osserviamo un oggetto la nostra retina riceve degli input. Questo segnale, attraverso il nervo ottico, viene trasmesso alla corteccia visiva che è suddivisa in sei diversi strati, ordinati per complessità di elaborazione dell’informazione. Ognuno di questi è composto da neuroni che rispondono ad elementi diversi dell’immagine, come linee, angoli e forme. Dall’unione delle informazioni elaborate, la mente è in grado di identificare il contenuto dell’immagine.
Simulando il cervello umano, l’evoluzione del percettrone fu chiamata Percettrone Multi Strato (MLP), composto da una rete interconnessa di neuroni, suddivisa in strati, ognuno dei quali elabora gli input e comunica il proprio output allo strato successivo, estrapolando informazioni sempre più raffinate fino ad ottenere l’output desiderato: la comprensione dell’input.
Maggiore è il numero di neuroni, maggiore sarà la flessibilità della rete, ma allo stesso tempo maggiore è la quantità di dati necessari per insegnare alla rete a generare l’output corretto e la potenza di calcolo utilizzata durante il processo di apprendimento. Insomma, più è complessa la struttura ed il compito da svolgere, maggiore sarà la preparazione necessaria per svolgerlo in maniera corretta, esattamente come nel mondo “naturale”.
Con il rapidissimo avanzamento della ricerca stanno nascendo architetture di rete sempre più articolate, performanti ed accurate, in grado di adempiere task di complessità maggiore; ma il funzionamento alla base rimane ispirato al modo con cui il nostro cervello interpreta i segnali che riceve dal mondo esterno.
L’intelligenza artificiale unisce Neuroscienze, Matematica, Statistica ed altre discipline per cercare di simulare il funzionamento della nostra parte più complessa che utilizziamo ogni singolo istante, senza nemmeno rendercene conto. Siamo certi che negli anni a venire avrà un impatto enorme all’interno del mercato portando soluzioni innovative a problemi attualmente inaffrontabili. Ovviamente siamo ancora molto lontani da un’intelligenza artificiale che possa raggiungere le capacità dell’intelligenza naturale. Non c’è nulla di cui preoccuparsi, il nostro Terminator è ancora solamente in alpha.