Le reti neurali artificiali

di Alberto Monte
  • Materie coinvolte: Fisica

Le reti neurali artificiali sono modelli computazionali di apprendimento automatico ispirati al funzionamento del cervello umano. Oltre a trovare applicazioni in molte discipline – tra cui anche la fisica – sono ormai onnipresenti nella nostra quotidianità: per esempio, riconoscono le “mail indesiderate” e le collocano nella cartella “spam”, oppure ci consigliano canzoni, video e film sulla base dei nostri interessi. Ciò è possibile perché le reti neurali artificiali sono in grado di “apprendere dall’esperienza”

 

1. Introduzione e terminologia

L’intelligenza artificiale è una disciplina che si pone l’obiettivo di sviluppare tecniche e sistemi informatici “intelligenti”, in grado di simulare il comportamento e il pensiero degli esseri umani. Negli ultimi decenni, l’intelligenza artificiale è andata incontro a uno sviluppo rapido e sorprendente, basti pensare ai tanti video virali in cui si vedono robot con sembianze umane che interagiscono, parlano o preparano un caffè. L’intelligenza artificiale affascina e spaventa a un tempo: al giorno d’oggi, il tema è al centro di molti dibattiti tecnici, divulgativi, speculativi e anche etici. Si tratta di una disciplina estremamente vasta, che si compone di vari sottoinsiemi e trova applicazioni in moltissimi campi, come per esempio la fisica, la biologia, la medicina, il marketing, la finanza, l’innovazione tecnologica…

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.
grafico

Figura 1. Relazione gerarchica tra intelligenza artificiale, apprendimento automatico (machine learning) e apprendimento profondo (deep learning). L’apprendimento profondo è una branca dell’apprendimento automatico che a sua volta è una branca dell’intelligenza artificiale. Le reti neurali artificiali vengono utilizzate nel campo dell’apprendimento automatico e dell’apprendimento profondo.

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.

sinapsi

Figura 2. Illustrazione artistica dei neuroni del cervello umano.

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.

sinapsi

Figura 3. Rappresentazione di una possibile architettura di una rete neurale artificiale. Nel caso specifico mostrato in figura, sono presenti: uno strato con n input, tre strati di neuroni artificiali (detti anche hidden layers), ognuno con m neuroni, e uno strato con i output. In particolare, il pedice dei neuroni indica il numero che occupano nel loro strato, mentre l’apice tra parentesi indica lo strato di appartenenza.

3. Il modello matematico

Una volta stabilita la struttura della rete neurale artificiale, per “simulare” la ricezione e l’elaborazione delle informazioni serve il linguaggio matematico. In particolare, vogliamo che l’informazione data dagli input arrivi ai neuroni del primo strato, che in qualche modo devono “attivarsi”, elaborarla e passarla ai neuroni successivi, che a loro volta devono attivarsi e così via. Ciò avviene attraverso numeri e funzioni matematiche.
  • 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:
    equazione
    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.
Le reti neurali artificiali possono essere impiegate per molti scopi, come per esempio la classificazione delle immagini, il riconoscimento facciale o vocale, la formulazione di previsioni su un certo fenomeno, il riconoscimento di schemi o modelli a partire da un set di dati.

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”.
spazio
stella

Figura 4. Sinistra: la galassia ellittica ESO 325-G004 (NASA). Destra: galassia a spirale M51 (NASA).

4. L’apprendimento delle reti

Nel modello matematico devono esserci delle variabili che possono essere “aggiustate” in modo che la rete “impari” a risolvere un dato problema: queste variabili sono proprio i pesi delle connessioni. Vi sono diversi tipi di apprendimento, ma qui spiegheremo brevemente solo il caso più semplice: l’apprendimento supervisionato.

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

Le reti neurali artificiali vengono impiegate in moltissimi campi di ricerca, e la fisica non fa eccezione, tanto che può essere considerata una delle “discipline trainanti” nello sviluppo di tecniche avanzate di machine learning e deep learning. Alcune applicazioni sono:

  • 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

Il progresso scientifico ha conseguenze evidenti sulla società e spesso, nell’arco della Storia, tali conseguenze hanno suscitato grandi dibattiti di carattere etico: un esempio eclatante è il caso della bomba atomica, progettata a partire dalle ricerche di fisica nucleare.

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:

  1. La questione del bias algoritmico (con particolare riferimento agli algoritmi usati nel campo di selezione del personale e della giustizia penale).

  2. Impatto ambientale dell’intelligenza artificiale.

  3. Hacking e sicurezza informatica.

  4. Privacy e sorveglianza.