Le reti neurali artificiali
di Alberto Monte
- Materie coinvolte: Fisica
1. Introduzione e terminologia
Le reti neurali artificiali (artificial neural networks o, più semplicemente, neural networks) sono modelli computazionali basati sul funzionamento delle reti neurali biologiche. Nello specifico, le reti neurali artificiali sono in grado di migliorare le loro prestazioni con l’esperienza, attraverso un processo che, come vedremo in seguito, prende il nome di “addestramento della rete”. Vengono impiegate nel campo dell’apprendimento automatico (o machine learning), una delle branche più importanti dell’intelligenza artificiale, e in particolare nel campo dell’apprendimento profondo, o deep learning, che a sua volta è una branca dell’apprendimento automatico. In termini semplici, possiamo dire che le reti neurali artificiali utilizzate nell’apprendimento profondo sono le più sofisticate e complesse, così come sono complessi i compiti che svolgono.
La relazione gerarchica che intercorre tra intelligenza artificiale, apprendimento automatico e apprendimento profondo è schematizzata nella Figura 1.
2. L’analogia tra reti neurali biologiche e artificiali
Le reti neurali artificiali mirano a “simulare” le modalità di funzionamento e apprendimento delle reti neurali biologiche del nostro cervello, in cui lavora una fitta “rete” composta da miliardi di neuroni [Figura 2].
In particolare, i neuroni sono cellule specializzate nel raccogliere, elaborare e trasferire impulsi nervosi; tra i neuroni, inoltre, esistono delle connessioni, dette sinapsi, che permettono la propagazione dei segnali nella rete.
Una rete neurale artificiale è un modello estremamente semplificato del nostro cervello. Si compone di più “strati”: uno con gli input che vengono forniti (che possiamo pensare all’equivalente degli impulsi elettrici nelle reti biologiche), altri strati (detti hidden layers) interconnessi tra loro e contenenti ciascuno una serie di celle di calcolo dette “neuroni artificiali” (l’analogo dei neuroni biologici) e uno strato finale di neuroni che forniscono l’output della rete. In questo modello, le connessioni vengono rappresentate con delle frecce (e possono essere pensate come l’analogo delle sinapsi): in particolare, gli input sono connessi ai neuroni del primo strato, i neuroni del primo strato a quelli del secondo e così via fino ai neuroni di output. Graficamente, si ottiene una costruzione come quella mostrata in Figura 3.
3. Il modello matematico
- La prima cosa da fare è assegnare a ogni freccia presente nella rete un certo peso w (in linea di principio, ogni freccia può avere un peso diverso).
- Gli input che vengono forniti hanno un valore numerico, così come gli output, e il valore numerico di ogni input che arriva a un dato neurone è “pesato” dal valore w associato alla connessione corrispondente.
- Per attivare un neurone e ottenere da esso un output, che passerà ai neuroni dello strato successivo in qualità di nuovo input, si utilizza una funzione f con precise caratteristiche matematiche, detta “funzione di attivazione”.
- Per avere un’idea più chiara di come un neurone viene attivato, consideriamo un caso specifico. Facendo riferimento alla Figura 3, vediamo come funziona l’attivazione del primo neurone del primo strato, ovvero h1(1). In particolare, esso riceverà n input dallo strato di input, ognuno con un certo peso, dopodiché verrà attivato dalla funzione di attivazione e ritornerà un certo output, che indichiamo con y1(1). Si ha: dove, per esempio, w1(1) è il peso associato alla freccia che connette x1 a h1(1), w1(1) è il peso associato alla freccia che connette x2 a h1(1) e così via. La funzione di attivazione per un dato neurone, dunque, dipende dalla somma pesata dei suoi input.
- Analogamente, vengono attivati gli altri neuroni del primo strato. Alla fine, sempre riferendosi alla Figura 3, si ottengono m output che passano, attraverso le connessioni, al secondo strato. A loro volta, con un meccanismo identico, si attivano i neuroni del secondo strato, poi quelli del terzo e così via.
- In questo modo, l’informazione fornita dagli input iniziali si propaga nella rete e viene processata, fino alla restituzione dell’output finale, che dà informazioni in merito al problema che si vuole risolvere.
Per esempio, supponendo di avere a disposizione un set di fotografie di galassie, si può costruire una rete neurale artificiale che sappia dire se in una fotografia è presente una galassia ellittica o una galassia a spirale [Figura 4]. In questo caso, alla fine avremo un singolo output, che avrà valore 0 oppure 1, dove 0 sta per “galassia ellittica” e 1 per “galassia a spirale”.
Figura 4. Sinistra: la galassia ellittica ESO 325-G004 (NASA). Destra: galassia a spirale M51 (NASA).
4. L’apprendimento delle reti
Nell’apprendimento supervisionato si usa un set di dati detto “set di addestramento” – o training set – dicendo alla rete qual è l’output corretto. In altri termini, si fornisce alla rete un set di coppie input-output note; attraverso un algoritmo, la rete riesce a discernere un “nesso” tra i vari componenti del set, regolando i pesi di conseguenza. Una volta regolati i pesi delle connessioni, la rete è addestrata per risolvere problemi analoghi, senza conoscere in partenza la risposta corretta.
5. Le reti neurali artificiali in fisica
- analisi dei dati: molto spesso, in vari ambiti della fisica moderna, i ricercatori si trovano ad avere a che fare con grandi moli di dati, e le reti neurali sono utili per identificare modelli o pattern impliciti in essi;
- sistemi complessi: le reti neurali possono essere utilizzate per prevedere il comportamento di sistemi complessi, come per esempio la dinamica dei fluidi;
- classificazione di immagini astrofisiche: nel campo dell’astrofisica, le reti neurali sono utili ai ricercatori per analizzare le immagini che ci arrivano dai telescopi, in particolare nella classificazione e nell’identificazione di oggetti celesti.
- classificazione di immagini mediche: le reti neurali trovano impiego nel campo della fisica medica, in particolare in quello della diagnostica che fa uso di immagini, come per esempio la tomografia a raggi X e a emissione di positroni o la risonanza magnetica, aiutando nell’identificazione di tumori o malformazioni.
Referenze
Attività per la classe
Al giorno d’oggi, l’intelligenza artificiale – che è diventata quasi indispensabile per il progresso scientifico ed è entrata nella nostra vita quotidiana – pone molte questioni etiche in quanto può anche essere utilizzata per scopi malevoli o finire per violare alcuni diritti fondamentali, come quello della privacy.
L’attività vuole stimolare la discussione in classe in merito all’utilizzo dell’intelligenza artificiale al di fuori degli scopi scientifici e può svolgersi come segue:
- i ragazzi si dividono in gruppi;
- a ognuno dei gruppi viene assegnato uno dei temi proposti in seguito;
- il gruppo approfondisce il tema, si confronta, individua ed esprime opinioni e/o argomentazioni a favore o a sfavore (20-25 min);
- ogni gruppo presenta il tema che ha approfondito e quello che è emerso dal dibattito al resto della classe (5-7 min per gruppo);
- alla fine, i ragazzi possono esprimersi singolarmente rispondendo a queste domande. È cambiata la tua idea in merito all’intelligenza artificiale dopo aver approfondito questi temi? In che modo e perché?
Vengono proposti seguenti temi di discussione:
- La questione del bias algoritmico (con particolare riferimento agli algoritmi usati nel campo di selezione del personale e della giustizia penale).
- Impatto ambientale dell’intelligenza artificiale.
- Hacking e sicurezza informatica.
- Privacy e sorveglianza.