Neural networks: cosa consentono le reti neurali artificiali?
Un grande sogno dell’informatica potrebbe presto diventare realtà: creare computer con capacità non solo simili a quelle umane, ma addirittura in grado di superarle. La ricerca sull’intelligenza artificiale ha fatto passi da gigante negli ultimi anni. Le reti neurali artificiali si fondano su una tecnologia volta a insegnare alle macchine a pensare in modo autonomo.
- Siti web in tempo record
- Soluzioni IA per il tuo business
- Risparmio di tempo e risultati eccellenti
Che cos’è una rete neurale?
Le reti neurali sono una branca della ricerca informatica o neuroinformatica. Esistono diversi tipi di reti neurali artificiali, ognuna delle quali offre diverse possibilità di elaborazione delle informazioni.
Una rete neurale (in inglese neural network) è un modello matematico composto da neuroni artificiali di ispirazione alle reti neurali biologiche (quella umana o animale) e viene utilizzate per risolvere problemi ingegneristici di Intelligenza Artificiale legati a diversi ambiti tecnologici come l’informatica, l’elettronica o altre discipline.
Le reti neurali fanno sì che i computer siano in grado di risolvere i problemi in modo indipendente e che migliorino le loro capacità. La necessità di un addestramento iniziale effettuato da persone dipende dal metodo di intelligenza artificiale utilizzato.
Come funziona una rete neurale?
Le reti neurali si ispirano al funzionamento biologico del cervello umano, che elabora informazioni attraverso una rete di neuroni.
Le reti neurali artificiali possono essere descritte come modelli costituiti da almeno due strati, uno strato di ingresso e uno di uscita, e di solito anche da ulteriori strati intermedi (hidden layers). Più complesso è il problema da risolvere con la rete neurale artificiale, più strati sono necessari. Ogni strato della rete contiene un certo numero di neuroni artificiali specializzati.
Elaborazione delle informazioni nella rete neurale
L’elaborazione delle informazioni nella rete neurale segue sempre la stessa procedura: le informazioni sotto forma di modelli o segnali sono trasferite ai neuroni dello strato di ingresso, dove sono elaborate. A ogni neurone è assegnato un peso, in modo che i neuroni ricevano un’importanza diversa. Il peso, insieme a una funzione di trasferimento, determina l’ingresso, dove quindi il neurone è inoltrato.
Nella fase successiva una funzione di attivazione e un valore di soglia calcolano e ponderano il valore di uscita del neurone. A seconda della valutazione delle informazioni e della ponderazione, altri neuroni sono collegati e attivati in misura maggiore o minore.
Per mezzo di questi processi è modellato un algoritmo che produce un risultato per ogni ingresso. A ogni addestramento, la ponderazione e quindi l’algoritmo è modificato in modo che la rete fornisca risultati sempre più precisi e migliori.
Rete neurale: esempio per l’applicazione
Le reti neurali possono essere utilizzate per il riconoscimento delle immagini. A differenza degli esseri umani, un computer non è in grado di riconoscere se un’immagine raffigura un essere umano, una pianta o un oggetto, ma deve esaminare le caratteristiche individuali della figura. Il computer sa quali caratteristiche sono rilevanti grazie all’algoritmo implementato, oppure può scoprirlo da solo attraverso l’analisi dei dati.
In ogni strato della rete il sistema controlla i segnali di ingresso, cioè le immagini, in base a criteri individuali come il colore, gli angoli e le forme. Dopo ogni controllo, il computer può valutare meglio ciò che è rappresentato nell’immagine.
Inizialmente, i risultati saranno relativamente soggetti ad errori. Se la rete neurale riceve un feedback da un addestratore umano ed è in grado di modificare l’algoritmo, si parla di apprendimento automatico. Nel deep learning l’addestramento umano può essere omesso. In questo caso il sistema impara dalla propria esperienza e diventa tanto migliore quanto più materiale visivo ha a disposizione.
Idealmente, il risultato finale è un algoritmo in grado di identificare il contenuto delle immagini senza errori, indipendentemente dal fatto che queste immagini siano in bianco e nero o in una determinata posa o prospettiva.
Tipi di reti neurali
Sono utilizzate diverse strutture di reti neurali a seconda del metodo di apprendimento utilizzato e dello scopo dell’applicazione.
Percettrone
La forma più semplice della rete neurale designava in origine una “rete” costituita da un singolo neurone, alterato da ponderazioni e da un valore di soglia. Nel frattempo il termine “percettrone” è usato anche per indicare il più modello più semplice di reti feed forward.
Reti feed forward
Queste reti neurali artificiali possono condurre le informazioni in una sola direzione di elaborazione. Le reti possono essere monostrato, cioè costituite solo da livelli di ingresso e di uscita, o multistrato con vari strati nascosti.
Reti ricorrenti
Nelle reti ricorrenti i valori di uscita di uno strato di un livello superiore vengono utilizzati come ingresso ad uno strato di livello inferiore. Queste interconnessioni tra strati consentono al sistema di creare una memoria. Le reti ricorrenti sono utilizzate, ad esempio, nel riconoscimento vocale, nella traduzione e nel riconoscimento della grafia.
Reti neurali convoluzionali
Queste reti sono un sottoinsieme delle reti multistrato. Sono costituite da almeno cinque strati. Il riconoscimento dei modelli è eseguito su ogni strato, dove il risultato di un livello è trasferito al livello successivo. Questo tipo di rete neurale è utilizzato per il riconoscimento delle immagini.
Metodo di apprendimento
Affinché le connessioni nelle reti neurali artificiali siano stabilite correttamente per risolvere il problema, le reti devono prima essere addestrate. A tal proposito, si possono distinguere due metodi fondamentali:
Apprendimento supervisionato
Durante l’apprendimento supervisionato è definito un risultato concreto per diverse opzioni di input. Se, ad esempio, le immagini dei gatti devono essere riconosciute come tali dal sistema, le persone controllano il riconoscimento del sistema e danno un feedback su quale immagine è stata riconosciuta correttamente e quale in modo errato. In questo modo si modificano i pesi nella rete e si ottimizza l’algoritmo.
Apprendimento non supervisionato
Nell’apprendimento non supervisionato il risultato dell’attività non è specificato. Il sistema impara esclusivamente sulla base delle informazioni in ingresso. A questo scopo sono utilizzate la regola di apprendimento di Hebb o la teoria della risonanza adattiva.
Aree di applicazione delle reti neurali
Le reti neurali possono essere utilizzate con successo soprattutto se è disponibile una grande quantità di dati da valutare e solo una scarsa conoscenza sistematica della soluzione. I casi di applicazione classici sono il riconoscimento di testo, immagini e voce, casi in cui i computer esaminano i dati per determinate caratteristiche al fine di effettuare un’assegnazione.
Le reti neurali artificiali possono essere utilizzate anche per fare previsioni e simulazioni, ad esempio nelle previsioni del tempo, nella diagnostica medica o nei mercati azionari.
Nell’industria, le reti neurali sono talvolta utilizzate nell’ingegneria dei sistemi di controllo, per monitorare i valori e prendere automaticamente le contromisure in caso di deviazioni, o per fissare autonomamente i valori in base alla valutazione dei dati.
Gli sviluppi nel campo dell’apprendimento non supervisionato delle reti neurali artificiali stanno ampliando notevolmente il campo di applicazione e le prestazioni delle reti. Tra le applicazioni più importanti delle reti neurali di autoapprendimento citiamo gli assistenti vocali come Alexa, Siri e l’assistente Google.
- Conformità al GDPR e hosting sicuro in Europa
- Potenti modelli basati sull'intelligenza artificiale
- Assenza di vendor lock-in grazie all'open source
Storia e prospettiva futura
Negli ultimi dieci anni la conoscenza delle reti neurali si è ampiamente diffusa nell’ambito del dibattito sull’intelligenza artificiale, ma della tecnologia in sé si è parlato già molti decenni prima.
Le considerazioni sulle reti neurali artificiali risalgono infatti ai primi anni '40. Warren McCulloch e Walter Pitts avevano già descritto un modello che collegava le unità elementari e che si basava sulla struttura del cervello umano, in grado in questo modo di calcolare quasi tutte le funzioni aritmetiche. Nel 1949 Donald Hebb ha sviluppato la sua regola di apprendimento, ancora oggi applicata in molte reti neurali.
Nel 1960 è stata sviluppata una rete neurale che ha trovato un’applicazione commerciale a livello mondiale nel filtraggio dell’eco nei telefoni analogici. In seguito, la ricerca in questo settore si è fermata; da un lato, perché gli scienziati hanno concluso che il modello di rete neurale non poteva risolvere problemi importanti; dall’altro, perché l’apprendimento efficace dei sistemi richiedeva grandi quantità di dati digitali che all’epoca non erano disponibili. Solo con l’avvento dei Big Data è tornato l’interesse per l’intelligenza artificiale e per le reti neurali.
Da allora lo sviluppo in questo settore è progredito rapidamente. Per quanto promettenti possano essere i risultati, le reti neurali non sono l’unica tecnologia per implementare l’intelligenza artificiale nei computer, ma solo una possibilità, anche se spesso sono presentate nel dibattito pubblico come l’unica via percorribile.