Cerca in News Spazio

lunedì 7 gennaio 2019

Intelligenza Artificiale #05, imitare il cervello umano, le Reti Neurali Artificiali


NEWS SPAZIO :- Torniamo a parlare di Intelligenza Artificiale (IA), una delle tecnologie più dirompenti e che più di tutte promettono di cambiare la nostra vita. Abbiamo iniziato già da qualche tempo una nuova sezione del blog in cui approfondiamo quest'area di indagine


E' importante farci un'idea delle sue potenzialità, il fine ultimo di questa serie di articoli è quello di stimolare i lettori, creare uno strato di cultura che possa darci un'idea quanto meno su come provare a cavalcare questa innovazione, questo fenomeno che assume sempre più carattere globale e necessita di altrettante strategie globali per essere affrontato.

E' un po' che in questo blog si affrontano discussioni su argomenti di innovazione che impattano sulle nostre vite


Oggi continuiamo l'esplorazione di quell'area di studio che in IA viene denominata approccio connessionista, che si rifà più di tute alle scoperte delle neuroscienze. Abbiamo visto il neurone biologico, il suo modello artificiale e adesso vediamo di farci un'idea sui sistemi basati su tali elementi, quei sistemi che si chiamano Reti Neurali Artificiali.



Dunque, una rete neurale (artificiale) è un software (un programma per computer) che realizza un modello di calcolo in cui vi sono molte piccole unità di elaborazione, simili a quelle che ho presentato nel precedente post,

(Credit Sergio Sestili)

organizzate in strati ed opportunamente collegate tra loro.

Gli stessi McCulloch e Pitts dimostrarono che utilizzando sistemi basati sul loro modello di neurone era possibile realizzare tutte le funzioni fondamentali della logica booleana AND, OR, NOT (disciplina alla base dei moderni calcolatori elettronici - e non solo!).

Vediamolo con un piccolo esempio: proviamo a costruire una rete neurale per calcolare la funzione AND con 2 ingressi.
Innanzi tutto che cos'è la funzione AND? Si tratta di una funzione booleana (cioè che può avere solamente due valori, zero e uno). In particolare la funzione AND assume valore 1 solamente se tutti i suoi input hanno valore 1, altrimenti il suo valore è 0.
In altre parole, AND esprime il concetto del verificarsi contemporaneamente di tutte le condizioni. Possiamo vederla anche così, nel caso di 2 ingressi

(Credit Sergio Sestili)

questa schematizzazione si chiama Tavola di Verità di una funzione e ne rappresenta in maniera compatta ed elegante tutti i possibili valori di input (x1 e x2) insieme ai corrispondenti valori di output (x1 AND x2).

Bene, a questo punto costruiamo la nostra rete neurale, che in questo caso è costituita da un solo neurone artificiale con 2 ingressi, impostando pesi e valore di soglia per calcolare la funzione AND. Eccola

(Credit Sergio Sestili)

Entrambi i pesi hanno valore 1, quindi la loro SOMMA pesata è data semplicemente da X1 + X2.

La soglia è impostata al valore 1 in modo che venga superata solamente se entrambi gli ingressi hanno valore 1. Basta infatti che almeno uno di essi sia a 0 che la loro SOMMA non riesce ad essere maggiore del valore di soglia. Perciò l'impulso in output ad 1 viene sparato solamente

se x1=1 e se x2=1

E' un esempio molto semplice di come utilizzare questo tipo di computazione. E' un tipo di calcolo differente dalla programmazione "tradizionale", in cui è l'essere umano - il programmatore! - che  scrive un programma in cui dettaglia ogni passo che la macchina deve eseguire.

In un approccio basato sulle reti neurali l'obiettivo generale, dopo aver identificato l'architettura della rete ed impostato alcuni parametri generali, è individuare i giusti valori per tutti i pesi al fine di risolvere correttamente il compito dato. Tenete bene a mente questa cosa.

Come ho accennato in cima al post, sistemi basati su reti neurali per risolvere problemi complessi hanno bisogno di molti, moltissimi neuroni collegati tra loro. Centinaia, migliaia di neuroni con centinaia, migliaia, decine di migliaia di collegamenti tra loro.
Intravedete la complessità di dover trovare i valori giusti per tutti i pesi in modo che, ad esempio, una rete neurale possa riconoscere un'immagine? Certamente non è un compito che può essere svolto manualmente. Ed infatti...

Torniamo al neurone di McCullock e Pitts. Il passo successivo venne rappresentato dal Perceptron (Italianizzato in Percettrone) che si deve allo psicologo Americano Frank Rosenblatt, un altro nome storico in IA, e che risale al 1957. Si differenzia dal predecessore per alcuni aspetti cruciali e ne costituisce un'importante evoluzione, anche a costo di distanziarsi dal riferimento biologico di partenza. Tra questi il fatto che i pesi possono assumere valori sia positivi che negativi, i pesi la soglia possono avere valori differenti tra loro, la funzione di OUTPUT può variare tra -1 e +1, ecc. ecc.

Ma uno degli aspetti più importanti che caratterizzano il Perceptron è che viene introdotta una Regola di Apprendimento, un metodo cioè per calcolare automaticamente i valori dei pesi e non doverli impostare manualmente, così come avveniva con il neurone di McCullock e Pitts.
In tal modo la rete neurale è in grado di imparare i valori dei pesi che le consentono di risolvere il compito assegnato.

Si tratta di un punto fondamentale per tutta la ricerca in IA, dotare le macchine di capacità di Apprendimento Automatico, o Machine Learning, la cui più attuale espressione, forse la più diffusa ai nostri giorni,  è indicata come Deep Learning. Ne parleremo più diffusamente in seguito.

Il Perceptron ebbe molto successo nella comunità scientifica e fu tutto un fiorire di progetti. Ma negli anni '70 del secolo scorso, un altro grande nome in IA, Marvin Minsky e Seymour S. Papert pubblicarono "Perceptrons: An Introduction to Computational Geometry".

Il testo divenne un lavoro fondamentale nel campo dell'analisi delle reti neurali ed evidenziò i molti limiti delle reti con 2 strati basate sul Perceptron.
La ricerca nel campo delle reti neurali ne ricevette un duro colpo che ne decretò praticamente la scomparsa.

Almeno fino alla metà degli agli anni '80, quando venne riscoperto l'algoritmo di Backpropagation, che divenne di primaria importanza per il rifiorire della ricerca sulle reti neurali.
Si tratta di un potente metodo per modificare i pesi di tutta una rete neurale a più strati in modo da diminuire progressivamente il suo errore di calcolo per giungere alla fine ad avere una rete in grado di svolgere con successo il proprio compito. Per anni è stato il fondamento dei sistemi di questo tipo. E lo è ancora oggi.

Gettiamo un po' di luce, semplificando il più possibile, giusto per capirne il funzionamento. Non è difficile, promesso!
Prendiamo come riferimento la seguente rete neurale, composta da 3 strati di neuroni, come quella che avete qui sotto


(Credit Sergio Sestili)

Intanto conosciamola meglio. Partendo da sinistra e procedendo verso destra abbiamo il 1° strato di ingresso X in cui si presentano alla rete i valori in input (INPUT layer). Segue uno strato nascosto, cioè non accessibile dall'esterno, in cui ogni neurone è collegato con (prende input da) ogni neurone dello strato di input (HIDDEN layer). Infine abbiamo lo strato di uscita in cui anche qui ogni cellula è collegata a tutte le cellule dello strato precedente, i cui assoni costituiscono l'output Y della rete (OUTPUT layer).

Questa è la struttura, l'architettura, di una classica rete neurale che potevate incontrare alla fine degli anni '80, ed ovviamente anche adesso.

Il numero di cellule che formano i vari strati, così come la scelta della particolare funzione di attivazione di ogni cellula (tipicamente tutti i neuroni di uno strato hanno la stessa) sono elementi importanti che l'esperto umano di reti neurali deve stabilire con cura, sulla base delle caratteristiche del particolare problema da risolvere e della propria esperienza.

Per adesso mi fermo qui, abbiamo messo tanta carne al fuoco. Continueremo il viaggio nel prossimo post ed approfondiremo questo affascinante argomento. Per prima cosa vedremo proprio cosa farci di una rete neurale a 3 strati come quella che avete qui sopra. Per adesso, stay tuned!

(Parte 4 - Parte 5 - Parte 6)

4 commenti:

  1. Quali sono le idee sbagliate più diffuse che le persone hanno sull’intelligenza artificiale?

    https://it.quora.com/Quali-sono-le-idee-sbagliate-pi%C3%B9-diffuse-che-le-persone-hanno-sull%E2%80%99intelligenza-artificiale/answer/Tommaso-Tosi?fbclid=IwAR3jDUUKLxvMPbzdfnwQl-xGZZP___ExiTL0bzFvaqsWfGSR8tbdOniV9vE

    RispondiElimina
  2. Linee guida Ue su intelligenza artificiale, l'uomo al centro
    Avanti con l'intelligenza artificiale, ma con al centro l'uomo e il suo controllo per poter garantire la fiducia necessaria al suo funzionamento. E' l'approccio europeo alla nuova tecnologia che sta già rivoluzionando tutti i settori e di cui la Commissione Ue ha presentato oggi le sue linee guida etiche.

    l'intelligenza artificiale dovrà lavorare a favore del benessere sociale e ambientale, aumentando la sostenibilità ecologica. "Una persona deve sempre sapere quando si trova di fronte a una macchina e non a un essere umano", ha spiegato la commissaria Ue, Maryia Gabriel.

    L'Ue punterà a costruire una coalizione a livello internazionale per far applicare questi principi di sviluppo all'intelligenza artificiale anche a livello globale, a partire dai partner che condividono già questo approccio tra cui Canada, Giappone e Singapore.

    http://www.ansa.it/europa/notizie/rubriche/altrenews/2019/04/08/linee-guida-ue-su-intelligenza-artificiale-luomo-al-centro-_74bf076e-bb0a-45ea-a7f2-043efdb39b59.html

    RispondiElimina
  3. L'intelligenza artificiale entra nella pubblicità
    Intanto si prepara alla politica

    Dopo il giornalismo, l'intelligenza artificiale si prepara a entrare nella pubblicità, confezionando gli slogan più persuasivi attingendo da gigantesche banche dati; intanto studia per scrivere discorsi politici. E' lo scenario presentato oggi a Napoli da Joseph Sassoon, docente di Brand storytelling all'Università di Pavia, nell'incontro dedicato al tema del suo libro "Storytelling e Intelligenza Artificiale" (Edizioni Franco Angeli 2019).

    "Il Brand storytelling è la disciplina che studia il discorso della pubblicità, ma che oggi sta abbracciando molte altre dimensioni, come la politica", ha detto all'ANSA il ricercatore, che oggi affronta il tema nell'incontro organizzato nell'ambito del ciclo di seminari #BitGeneration organizzati dal programma Societing4.0 Talk dell'Università Federico II di Napoli.

    "Lo storytelling è tutto ciò che riguarda il racconto di storie ed è importante in molti settori diversi dalla pubblicità, come la politica e il giornalismo. La novità è nel fatto che l'intelligenza artificiale si sta impadronendo dei segreti dello storytelling". Un cambiamento che per Sasson segna "un passaggio epocale" e non tarderà ad arrivare. Per questo fin da adesso, ha concluso, bisogna prepararsi al cambiamento con regole etiche.

    URL: http://www.ansa.it/canale_scienza_tecnica/notizie/tecnologie/2019/04/15/lintelligenza-artificiale-entra-nella-pubblicita-_9638e75a-7713-49ef-b709-23d93aa9511f.html

    RispondiElimina
  4. Decoder traduce in parole i segnali del cervello
    Primo passo per aiutare chi non può parlare

    Un decoder basato sull'intelligenza artificiale traduce in parole l'attività del cervello. E' il primo passo verso future interfacce cervello-macchina che restituiscano la capacità di parlare a chi non può più farlo a causa di incidenti o malattie come Parkinson e Sla. Descritto sulla rivista Nature, il dispositivo è stato sviluppato dal gruppo dell'università della California a San Francisco coordinato da Gopala Anumanchipalli.

    "Questa ricerca è una dimostrazione che in futuro saremo in grado creare strumenti che tradurranno il pensiero in 'azioni' come la parola", ha detto all'ANSA Carlo Miniussi, direttore del Centro Mente Cervello (Cimec), dell'Università di Trento a Rovereto. Il risultato, "in linea con altri simili ottenuti anche in Italia, mostra - ha aggiunto - che ci sono delle chiare prospettive per la costruzione di 'neuro-protesi' che possono migliorare la nostra esistenza, non solo quando siamo affetti da una patologia che compromette la nostra capacità di parlare, ma anche per controllare arti robotici".

    Il dispositivo riproduce virtualmente gli organi coinvolti nel linguaggio, come labbra, mandibola, lingua, e laringe. Per metterlo a punto i ricercatori hanno registrato l'attività delle aree della corteccia del cervello di cinque volontari che parlavano ad alta voce. Quindi hanno analizzato i segnali cerebrali che controllano i movimenti degli organi coinvolti nel linguaggio e il sistema basato sull'intelligenza artificiale li ha convertiti in suoni e parole grazie a un sintetizzatore. Nei test il sistema è riuscito ad articolare 101 frasi e i volontari che le ascoltavano sono riusciti a identificarle e a trascriverle.

    http://www.ansa.it/canale_scienza_tecnica/notizie/biotech/2019/04/24/decoder-traduce-in-parole-i-segnali-del-cervello_0ca2f17b-a99c-4050-bd4b-bb5fa0ab9bcc.html

    RispondiElimina

Chiunque può liberamente commentare e condividere il proprio pensiero. La sola condizione è voler contribuire alla discussione con un approccio costruttivo e rispettoso verso tutti. Evitate di andare off-topic e niente pubblicità, grazie.