Cos’è una rete neurale artificiale?
Una Rete Neurale Artificiale (in inglese artificial neural network, abbreviato in ANN) è un modello matematico composto da “neuroni artificiali”, che si ispira ad una rete neurale presente in molti organismi viventi pluricellulari.
La rete neurale è una rete composta da più neuroni, ogni neurone è composti da una parte centrale, il nucleo, e due parti periferiche, l’assone e i dendriti. Le parti periferiche servono al neurone per creare relazioni “network” con altri neuroni.
La combinazione di più neuroni viene detta “rete neurale”.
Le ANN sono modelli matematici definiti da molte semplici unità di elaborazione (neuroni), connesse tra loro (sinapsi); le modificazioni delle sinapsi determinano la capacità della rete di svolgere una computazione specifica (apprendimento).
Identificando sottoinsiemi di neuroni come input (direttamente influenzati dall’ambiente esterno) e come output della rete, questa può realizzare specifici insiemi di corrispondenze input-output (regole) attraverso una procedura di apprendimento.
I termini usati suggeriscono che in questo tipo di reti le proprietà dei nodi (neuroni) e dei link (sinapsi) sono definite in analogia alle loro controparti biologiche.
Di fatto le reti neurali si sono evolute nel tempo in modo sempre più indipendente dalla metafora biologica, e sono diventate strumenti standard usati in problemi di statistica multivariata, di riconoscimento di pattern e di machine learning in generale.
I Neuroni che costituiscono una ANN sono suddivisi in tre macro categorie: livello di ingresso (Input Layer); livello di uscita (Output Layer); livello nascosto (Hidden Layer). Ognuna di queste unità svolge un compito molto semplice: attivarsi nel caso in cui la quantità totale di segnale che riceve supera la soglia di attivazione. In questo caso emette a sua volta un segnale attraverso dei canali di comunicazione fino a raggiungere le altre unità cui è connessa.
La funzione di trasferimento del segnale è ottenuto attraverso un processo di apprendimento basato su dati empirici. Questo processo può essere supervisionato, non supervisionato o per rinforzo.
Nel processo supervisionato la rete utilizza un insieme di dati di addestramento grazie ai quali riesce a produrre i legami che legano questi dati e sviluppare un modello “generale”. Questo modello verrà successivamente utilizzato per risolvere problemi dello stesso tipo.
Nel processo di apprendimento non supervisionato, il sistema fa riferimento ad algoritmi che tentano di raggruppare i dati di ingresso per tipologia, individuando cluster rappresentativi dei dati stessi facendo uso tipicamente di metodi topologici o probabilistici.
Nel processo per rinforzo un algoritmo si prefigge di individuare un modus operandi a partire da un processo di osservazione dell’ambiente esterno. In questo processo è l’ambiente stesso a guidare l’algoritmo nel processo di apprendimento.