Nota del redattore: Una delle tecnologie centrali dell’intelligenza artificiale sono le reti neurali. In questa intervista, Tam Nguyen, professore di informatica all’Università di Dayton, spiega come funzionano le reti neurali, programmi in cui una serie di algoritmi cerca di simulare il cervello umano.
Quali sono alcuni esempi di reti neurali che sono familiari alla maggior parte delle persone?
Ci sono molte applicazioni di reti neurali. Un esempio comune è la capacità della fotocamera del tuo smartphone di riconoscere i volti.
Le auto senza conducente sono dotate di telecamere multiple che cercano di riconoscere altri veicoli, segnali stradali e pedoni utilizzando reti neurali, e girano o regolano la loro velocità di conseguenza.
Le reti neurali sono anche dietro i suggerimenti di testo che si vedono mentre si scrivono testi o e-mail, e persino negli strumenti di traduzione disponibili online.
La rete deve avere una conoscenza preliminare di qualcosa per essere in grado di classificarla o riconoscerla?
Sì, ecco perché c’è bisogno di usare grandi dati nell’addestramento delle reti neurali. Funzionano perché vengono addestrate su grandi quantità di dati per poi riconoscere, classificare e predire le cose.
Nell’esempio delle auto senza conducente, avrebbe bisogno di guardare milioni di immagini e video di tutte le cose sulla strada e farsi dire cos’è ciascuna di queste cose. Quando clicchi sulle immagini delle strisce pedonali per dimostrare che non sei un robot mentre navighi su internet, può anche essere usato per aiutare ad addestrare una rete neurale. Solo dopo aver visto milioni di strisce pedonali, da tutte le diverse angolazioni e condizioni di luce, un’auto a guida autonoma sarebbe in grado di riconoscerle quando sta guidando nella vita reale.
Le reti neurali più complicate sono effettivamente in grado di insegnare se stesse. Nel video linkato qui sotto, alla rete viene dato il compito di andare dal punto A al punto B, e si può vedere che prova ogni sorta di cose per cercare di portare il modello alla fine del percorso, fino a trovare quella che fa il lavoro migliore.
Alcune reti neurali possono lavorare insieme per creare qualcosa di nuovo. In questo esempio, le reti creano volti virtuali che non appartengono a persone reali quando si aggiorna lo schermo. Una rete fa un tentativo di creare un volto, e l’altra cerca di giudicare se è reale o falso. Vanno avanti e indietro finché la seconda non riesce a dire che il volto creato dalla prima è falso.
Anche gli esseri umani approfittano dei big data. Una persona percepisce circa 30 fotogrammi o immagini al secondo, il che significa 1.800 immagini al minuto, e oltre 600 milioni di immagini all’anno. Ecco perché dovremmo dare alle reti neurali un’opportunità simile di avere i big data per l’allenamento.
Come funziona una rete neurale di base?
Una rete neurale è una rete di neuroni artificiali programmati nel software. Cerca di simulare il cervello umano, quindi ha molti strati di “neuroni” proprio come i neuroni nel nostro cervello. Il primo strato di neuroni riceve input come immagini, video, suono, testo, ecc. Questi dati di input passano attraverso tutti gli strati, mentre l’output di uno strato viene alimentato nello strato successivo.
Prendiamo l’esempio di una rete neurale addestrata a riconoscere cani e gatti. Il primo strato di neuroni suddividerà questa immagine in aree chiare e scure. Questi dati saranno inseriti nello strato successivo per riconoscere i bordi. Lo strato successivo cercherà poi di riconoscere le forme formate dalla combinazione dei bordi. I dati passerebbero attraverso diversi strati in modo simile per riconoscere infine se l’immagine che gli hai mostrato è un cane o un gatto secondo i dati su cui è stato addestrato.
Queste reti possono essere incredibilmente complesse e consistono di milioni di parametri per classificare e riconoscere l’input che riceve.
Perché vediamo così tante applicazioni di reti neurali ora?
In realtà le reti neurali sono state inventate molto tempo fa, nel 1943, quando Warren McCulloch e Walter Pitts crearono un modello computazionale per le reti neurali basato su algoritmi. Poi l’idea è andata in un lungo letargo perché non esistevano ancora le immense risorse computazionali necessarie per costruire reti neurali.
Di recente, l’idea è tornata alla grande, grazie a risorse computazionali avanzate come le unità di elaborazione grafica (GPU). Si tratta di chip che sono stati utilizzati per l’elaborazione della grafica nei videogiochi, ma si è scoperto che sono eccellenti anche per sgranocchiare i dati necessari per eseguire le reti neurali. Ecco perché ora vediamo la proliferazione delle reti neurali.