JavaRush /Java Blog /Random-IT /Reti neurali: la culla della futura intelligenza artifici...

Reti neurali: la culla della futura intelligenza artificiale o solo un'altra tendenza tecnologica?

Pubblicato nel gruppo Random-IT
Nei materiali su JavaRush abbiamo già toccato il tema dell'intelligenza artificiale (AI), dell'apprendimento automatico e di altre tecnologie legate all'intelligenza artificiale in un modo o nell'altro. In particolare, abbiamo già parlato di come l'intelligenza artificiale è legata alla programmazione in Java , discusso di miti e storie dell'orrore sull'intelligenza artificiale e in numerosi articoli abbiamo menzionato le tecnologie chiave utilizzate in quest'area. Reti neurali: la culla della futura intelligenza artificiale o solo un'altra tendenza tecnologica?  -1Pertanto, abbiamo deciso che ora è il momento giusto per approfondire ulteriormente il campo dell'intelligenza artificiale e dare uno sguardo più da vicino alla tecnologia che effettivamente è alla base dell'intelligenza artificiale moderna e dell'apprendimento automatico: le reti neurali. Vale a dire: come è nato originariamente il concetto di reti neurali e come questa tecnologia è stata trasformata fino allo stato attuale, in che modo le reti neurali artificiali differiscono dai neuroni del cervello umano, se sanno davvero come apprendere e di cosa sono realmente capaci oggi. Reti neurali: la culla della futura intelligenza artificiale o solo un'altra tendenza tecnologica?  - 2

Reti neurali artificiali e cervello umano. Stesso?

Inizialmente, le reti neurali dei computer ricevettero questo nome perché il principio della loro progettazione ricorda il sistema dei neuroni nel cervello umano. Pertanto, il cervello umano medio comprende più di 100 milioni di minuscole cellule chiamate neuroni. In realtà, nessuno sa esattamente quante di queste cellule potrebbero effettivamente esserci nel cervello umano - le stime vanno da 50 a 500 miliardi. Ogni neurone è costituito da un corpo cellulare con molti cosiddetti dendriti (input cellulari - trasmettono informazioni alla cellula ) e un assone (output cellulare - trasmette informazioni dalla cellula). I neuroni sono così piccoli che in un’area di un millimetro quadrato possono essere collocate circa un centinaio di queste cellule. All'interno di un computer, l'equivalente di un neurone sono minuscoli dispositivi di commutazione chiamati transistor. Gli ultimi microprocessori moderni (computer a chip singolo) contengono più di 30 miliardi di transistor. Anche il primo microprocessore Pentium, creato circa 20 anni fa, aveva circa 50 milioni di transistor racchiusi in un circuito integrato con un'area di soli 25 mm. In effetti, dicono gli esperti, è qui che finisce la connessione tra i processori dei computer e i neuroni nel cervello umano, perché altrimenti sono molto diversi tra loro e funzionano in modo completamente diverso. I transistor dei computer sono collegati in circuiti in serie relativamente semplici, ciascuno dei quali può essere collegato ad altri due o tre, mentre i neuroni nel cervello sono strettamente collegati in complessi modi paralleli. Pertanto, gli scienziati hanno calcolato che ogni neurone può essere collegato a più di 10mila dei suoi vicini.

Cos’è una rete neurale artificiale?

Pertanto, la differenza strutturale più significativa tra computer e neuroni nel cervello è il modo in cui funzionano. L’idea di base alla base delle reti neurali è simulare, o, se si vuole, modellare, in forma semplificata, il funzionamento di molti neuroni interconnessi nel cervello. Questo è ciò che consente a una rete neurale di fare cose che i normali microprocessori non possono fare, vale a dire apprendere, riconoscere modelli e prendere decisioni in base a un principio simile al cervello umano. Tuttavia, è importante sottolineare che al momento le reti neurali sono una semplice emulazione software del lavoro dei neuroni nel cervello. Reti neurali: la culla della futura intelligenza artificiale o solo un'altra tendenza tecnologica?  - 3Una tipica rete neurale contiene da diverse decine a centinaia, migliaia o addirittura milioni di neuroni artificiali, chiamati unità, disposti in diversi strati. Alcune di queste unità, chiamate unità di input, hanno il compito di ricevere varie forme di informazioni dal mondo esterno, che la rete neurale cercherà poi di apprendere, ricordare ed elaborare in altri modi. Altre unità, chiamate unità di output, situate sul lato opposto della rete, sono responsabili di come la rete interagisce con queste informazioni. Tra questi due strati ci sono altre unità che eseguono i calcoli e costituiscono la maggior parte della rete neurale. La maggior parte delle reti neurali sono interconnesse, il che significa che ogni unità è connessa ad altre unità in strati su entrambi i lati. Le connessioni tra le unità sono rappresentate da un numero chiamato peso. Il peso in una rete neurale può essere positivo (se un'unità ne attiva un'altra) o negativo (se un'unità ne sopprime o ne indebolisce un'altra). Maggiore è il peso, maggiore è l'influenza di un'unità sull'altra. Una semplice rete neurale progettata per risolvere problemi semplici può includere solo tre strati base, come mostrato nell'immagine. Tuttavia, tra i livelli di input e di output possono esserci numerosi livelli diversi che svolgono funzioni diverse. Le reti neurali con strutture più complesse (rispetto all'illustrazione sopra) sono chiamate reti neurali profonde e vengono solitamente utilizzate per risolvere problemi complessi. In teoria, l’uso della struttura profonda consente a una rete neurale di mappare qualsiasi tipo di dato di input su qualsiasi tipo di dato di output, rendendola così capace di risolvere qualsiasi problema. Tuttavia, per questo, la rete neurale richiederà un “addestramento” serio e lungo, che consiste nell’elaborare milioni e persino miliardi di esempi di informazioni con cui la rete deve lavorare. Reti neurali: la culla della futura intelligenza artificiale o solo un'altra tendenza tecnologica?  - 4

Reti neurali: un po' di storia

Bene, abbiamo chiarito le spiegazioni di base di cosa siano essenzialmente le reti neurali, ora possiamo fare un passo indietro sulla teoria e parlare della storia di questa tecnologia e di quando è apparsa. Ciò potrebbe sorprendere molti, ma le reti neurali sono apparse nella scienza più di 70 anni fa. Il concetto fu proposto per la prima volta nel 1944 da Warren McCullough e Walter Pitts, due ricercatori dell’Università di Chicago che si trasferirono al Massachusetts Institute of Technology nel 1952, dove fondarono il primo gruppo di ricerca sulle scienze cognitive. Le reti neurali sono state in realtà un’importante area di ricerca sia nelle neuroscienze che nell’informatica fino al 1969. Cioè, questa tecnologia, che è alla base dei moderni sistemi di intelligenza artificiale, è già stata, in termini moderni, in voga per più di un intero decennio, dalla metà degli anni Cinquanta alla fine degli anni Sessanta. Si ritiene che il "killer" di questo clamore sia stato un libro scritto da due scienziati informatici - Marvin Minsky e Seymour Papert - che nel loro lavoro hanno rivelato tutti i limiti delle reti neurali. Il fatto è che le prime reti neurali avevano solo uno o due strati addestrabili. Minsky e Papert hanno dimostrato che reti così semplici sono matematicamente incapaci di modellare fenomeni complessi del mondo reale. Di conseguenza, l'interesse per le reti neurali come tecnologia è andato perduto per molti anni: negli anni Settanta e nella prima metà degli anni Ottanta è stata prestata loro oggettivamente poca attenzione. L'interesse si rinnovò solo nel 1986, con la pubblicazione di un articolo che introduceva il concetto di backpropagation, un metodo pratico per addestrare le reti neurali profonde. Grazie alla backpropagation, le reti neurali profonde sono diventate più facili dal punto di vista computazionale, ma richiedevano comunque enormi risorse di calcolo per funzionare. E la ricerca negli anni ’90 e 2000 ha spesso dimostrato che le reti neurali complesse non producevano i risultati desiderati in termini di efficienza. Di conseguenza, le reti neurali abbandonarono per un po’ l’ondata di hype e ritornarono solo nella seconda decade degli anni 2000, in gran parte a causa della maggiore potenza di calcolo dei chip grafici, che consentono alle reti neurali profonde di funzionare in modo più efficiente di prima. Il fenomeno di tale ciclicità nella scienza nel suo insieme è ben spiegatoTomaso Poggio, professore al Massachusetts Institute of Technology: “C’è una spiegazione per cui le idee nella scienza si diffondono più o meno allo stesso modo dei virus. Ad esempio, esistono cinque o sei ceppi principali del virus dell’influenza e ciascuno di essi si ripresenta circa una volta ogni 25 anni. Le persone si infettano, sviluppano l’immunità e sono protette dalle infezioni per i successivi 25 anni. E poi arriva una nuova generazione e viene nuovamente infettata dallo stesso ceppo del virus. Nella scienza, le persone si innamorano delle idee e lavorano su di esse fino all'esaurimento, tanto da sviluppare un'immunità sotto forma di stanchezza delle idee. E poi l’idea ritorna con un’altra generazione di scienziati”. Dato che le reti neurali e le tecnologie di intelligenza artificiale sono ancora una tecnologia abbastanza nuova e sottosviluppata, è possibile che l’hype attorno ad esse comincerà presto a scemare di nuovo, per poi ritornare di nuovo tra un paio di decenni. Reti neurali: la culla della futura intelligenza artificiale o solo un'altra tendenza tecnologica?  - 5

Come apprendono le reti neurali?

Tipicamente, le informazioni passano attraverso una rete neurale in due modi. Quando la rete sta appena imparando o sta già correndo dopo l'addestramento, i modelli di informazione entrano attraverso le unità di input, che lanciano strati di unità nascoste, che a loro volta entrano nelle unità di output. Questa struttura complessiva è chiamata rete feedforward. Non tutte le unità funzionano contemporaneamente. Ogni unità riceve i dati in arrivo dalle unità a sinistra e li moltiplica per il peso delle connessioni che attraversa. Ogni unità somma in questo modo tutti i dati che riceve e, nel tipo di rete più semplice, se la somma supera una certa soglia, l'unità attiva le altre unità a cui è collegata (quelle a destra). Uno dei punti chiave che consente a qualsiasi rete neurale di apprendere è il feedback. Proprio come un bambino ha bisogno di essere cresciuto da un adulto che gli dica cosa è bene e cosa è male, le reti neurali hanno bisogno di feedback e guida. Usano un approccio per l'addestramento chiamato backpropagation . In questo metodo, la rete confronta l'output che produce con l'output che dovrebbe produrre e utilizza la differenza tra questi due fattori per modificare il peso delle connessioni tra le unità della rete, dalle unità di output, attraverso le unità intermedie alle unità di input - cioè, viceversa. Nel corso del tempo, la backpropagation costringe la rete ad apprendere, riducendo la differenza tra l’output effettivo e quello stimato fino al punto in cui corrispondono esattamente. Reti neurali: la culla della futura intelligenza artificiale o solo un'altra tendenza tecnologica?  - 6

Come funzionano le reti neurali e dove vengono utilizzate?

Infine, diamo un’occhiata a un esempio di come funziona una rete neurale di questo tipo. Una volta che la rete neurale ha abbastanza esempi di dati su cui addestrarsi, raggiunge un punto in cui l'utente può fornirle dati completamente nuovi che la rete non ha mai elaborato prima e ottenere da essi il risultato desiderato. Ad esempio, supponiamo che tu alleni la tua rete neurale a rilevare un'arma quando appare da qualche parte nel campo visivo di una telecamera di sicurezza. Addestri la rete mostrandole centinaia, migliaia e decine di migliaia di immagini di diversi tipi di armi, come pistole e fucili. Ad un certo punto, carichi l'immagine di un nuovo tipo di arma che non le è mai stata mostrata prima, ad esempio una pistola. Di conseguenza, la rete identifica con successo questo oggetto come un'arma in base a una serie di criteri di base, come la forma generale, la presenza di un'impugnatura e di un calcio, la presenza di un grilletto e così via. Cioè, la rete neurale determina l’arma nell’immagine in base a una serie di modelli “appresi”. Allo stesso tempo, ciò non significa ovviamente che la rete neurale possa visualizzare nuovi dati e prendere una decisione autonomamente, come fanno le persone. Riceve tutte le informazioni sotto forma di codice binario e ciascuna delle unità di input (informazioni nella rete) può trovarsi solo in due posizioni: accesa o spenta. Di conseguenza, se, utilizzando lo stesso esempio, si addestra una rete neurale a trovare armi, l’informazione passerà attraverso una serie di unità di input che rispondono a domande di base “sì/no”. Ad esempio: l'oggetto ha un trigger?; c'è una museruola?; l'oggetto è fatto di metallo?; la sua forma corrisponde a quella di una pistola? Di conseguenza, per una pistola, la risposta della rete sarebbe: "sì, sì, sì, no" o "1110" in codice binario. Naturalmente, in un sistema reale ci sarebbero molte più domande del genere, ma l'essenza rimane la stessa: la rete neurale riceve i dati sotto forma di codice binario e con il suo aiuto impara a distinguere le informazioni necessarie da quelle non necessarie. Ora, conoscendo il meccanismo di base della rete neurale, è facile immaginare come questa tecnologia venga utilizzata oggi per risolvere una serie di problemi. Ad esempio, un classico esempio è l'uso delle reti neurali per prevenire le frodi bancarie, quando il sistema impara a trovare e bloccare immediatamente in modo indipendente quei trasferimenti che per un motivo o per l'altro sembrano sospetti. O, ad esempio, l'uso di reti neurali per il pilota automatico di base di automobili o aeroplani: quando le unità di input ricevono informazioni da diversi sistemi di controllo e le unità di output adattano la modalità di pilotaggio in base a una determinata rotta.

conclusioni

Ora vedete che una rete neurale è una tecnologia relativamente semplice, nel complesso, che fa davvero avanzare i computer e i sistemi informatici, avvicinandoli alle persone. D’altro canto è anche ovvio che le reti neurali non sono ancora così complesse ed efficienti come il cervello umano. Quindi siamo grati che siamo tutti nati con una rete neurale avanzata incorporata direttamente nel nostro cervello e utilizziamo questa ricchezza naturale più spesso, ad esempio, per l'apprendimento e l'auto-miglioramento.
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION