Diventeremo “Computer Whisperer”

Reti neurali e intelligenza artificiale

Riconoscimento vocale, traduzioni automatiche in tempo reale, macchine che si guidano da sole: lentamente l’intelligenza artificiale (AI) si sta facendo strada con applicazioni che stanno diventando sempre più comuni nella vita di tutti i giorni. La tecnologia sfruttata per produrre risposte “intelligenti”, adeguate agli stimoli ricevuti, è quella delle reti neurali: modelli matematici che simulano il funzionamento dei neuroni nel nostro cervello.

Nella loro forma più semplice, sono un sistema informatico di machine-learning che, stabilito un insieme di dati d’ingresso (ad es. delle frasi da tradurre) e delle risposte che ci si aspetta che produca (nell’es. le frasi tradotte), è in grado di generare autonomamente degli elementi di connessione intermedi, chiamati neuroni, e delle relazioni che collegano questi ultimi ai dati in ingresso e a quelli in uscita. Fornendo un numero sufficiente di casi-esempio, le reti neurali modificano i pesi da assegnare a ciascuna relazione tra i neuroni, fino a diventare sufficientemente allenate per poter produrre le risposte desiderate anche quando ricevono un input mai avuto prima.

Fino a qualche anno fa si pensava che, affinché  una rete neurale potesse funzionare in modo efficiente, fosse necessario programmare esplicitamente un determinato numero di regole, raggiunto il quale sarebbe stata in grado di lavorare in autonomia. Tuttavia, la pratica ha mostrato che le AI sono in grado di produrre risultati nettamente migliori quando adattano da sole il loro meccanismo di funzionamento (vedi il progetto MarI/O, AI che ha imparato senza alcun indizio a giocare a Super Mario World).

Questo significa che, dopo il codice iniziale che permette alla rete neurale di funzionare, non è più necessaria la scrittura di codice sorgente, bensì la somministrazione di esempi che educhino la macchina a rispondere correttamente nel minor tempo possibile, come se si stesse addestrando un animale. Perciò, alcuni esperti sostengono che stiamo vivendo uno degli ultimi momenti in cui dovremo programmare le macchine scrivendo codice dalla A alla Z, perché tra non molto impareranno a farlo da sole.

Ne consegue il vantaggio di rendere accessibile a tutti la programmazione, non essendo più richiesta la conoscenza di linguaggi specialistici, ma apre anche due grosse questioni. La prima riguarda la necessità di una nuova figura professionale in grado di scegliere gli esempi giusti da sottoporre al machine-learning, compito che potrebbe sembrare banale ma che, attualmente, solo poche centinaia di persone al mondo sono in grado di portare a termine con il grado massimodi efficienza.

La seconda, invece, concerne la possibilità di controllo che abbiamo su questi sistemi. Al momento, infatti, non siamo in grado di seguire e comprendere appieno il “ragionamento” compiuto dalle reti neurali: il loro obiettivo è di decidere autonomamente la propria organizzazione, costruendo dei modelli che risultano complessi ed incomprensibili seguendo i canoni della logica umana, in quanto non possiedono veramente i principi logici come da noi comunemente intesi. Ne è un esempio un recentissimo studio dei ricercatori di Google Brain, che hanno realizzato due reti neurali le quali, dopo essersi create da sole un sistema di cifratura, sono riuscite nel compito di comunicare tra loro senza che una terza rete neurale potesse decifrare i messaggi che si scambiavano. L’aspetto interessante dell’esperimento è che, al termine, i ricercatori hanno osservato che l’algoritmo di criptazione che era stato generato faceva uso di tipologie di calcoli che non erano mai state usate dai sistemi crittografici inventati dagli umani.

Stiamo forse involontariamente realizzando un sistema come lo Skynet di Terminator? E’ troppo presto per facili allarmismi: già gli ingegneri si stanno impegnando per creare sistemi in grado di visualizzare in modo a noi comprensibile cosa succede durante l’elaborazione di una rete neurale e, se anche non dovessero riuscire a portare a termine questo compito, avremo comunque il controllo completo sulle macchine, almeno per il momento. E’ necessario però prendere coscienza di questi aspetti e, forse, cambiare il nostro punto di vista: non dovremo concentrarci su come le macchine elaborano i dati e scelgono un determinato comportamento, ma sul comportamento in sé, come faremmo se avessimo a che fare con un essere umano.

Andrea Riva 5C www.andreariva.tk

Riferimenti e approfondimenti:
Wired: The End of Code: https://goo.gl/Chjqqn
[Video] MarI/O, AI che gioca a Super Mario World: https://youtu.be/qv6UVOQ0F44
TechCrunch: Google’s AI createsitsowninhumanencryption: https://goo.gl/R6kLK7

VN:F [1.9.16_1159]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.16_1159]
Rating: 0 (from 0 votes)

2 Commenti

  1. molto interessante, è sempre più vitale studiare ed imparare e non abbandonarsi alla pigrizia di pensare “tanto ci pensano le macchine”

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)

Rispondi

L'indirizzo email non sarà pubblicato.