CHE COS’È UNA RETE NEURALE?
LA DEFINIZIONE PIÙ SEMPLICE DI UNA RETE NEURALE, PIÙ PROPRIAMENTE DEFINITA COME UNA RETE NEURALE “ARTIFICIALE” (ANN), È FORNITA DALL’INVENTORE DI UNO DEI PRIMI NEUROCOMPUTER, IL DR. ROBERT HECHT-NIELSEN. DEFINISCE UNA RETE NEURALE COME:
“… UN SISTEMA DI ELABORAZIONE COSTITUITO DA UNA SERIE DI ELEMENTI DI ELABORAZIONE SEMPLICI E ALTAMENTE INTERCONNESSI, CHE ELABORANO LE INFORMAZIONI IN BASE ALLA LORO RISPOSTA DINAMICA DELLO STATO AGLI INPUT ESTERNI.”
Le ANN sono dispositivi di elaborazione (algoritmi o hardware reale) che sono modellati sulla base della struttura neuronale della corteccia cerebrale dei mammiferi ma con una scala decisamente più piccola. Allo stato attuale una grande ANN potrebbe avere centinaia o migliaia di unità di elaborazione, mentre un cervello mammifero ha miliardi di neuroni. Sebbene in generale i ricercatori dell’ANN non sono interessati a creare reti neurali simili a quelle biologiche, alcuni di loro hanno iniziato a farlo. Ad esempio, i ricercatori hanno simulato con precisione la funzione della retina e modellato piuttosto bene il comportamento dell’’occhio umano.
La matematica alla base nella reti neurali non è alla portata di tutti, questo lo sappiamo bene, tuttavia un utente medio può facilmente acquisire una comprensione operativa di tali strutture.
LE BASI DELLE RETI NEURALI
I neworks neurali sono in genere organizzati in strati. I livelli sono costituiti da un numero di “nodi” interconnessi che contengono una “funzione di attivazione”. I modelli vengono presentati alla rete tramite il “livello di input”, che comunica a uno o più “livelli nascosti” (hidden layers) in cui l’elaborazione effettiva viene eseguita tramite un sistema di “connessioni” ponderate. I livelli nascosti si collegano quindi a un “livello di output” in cui viene emessa la risposta.
SCHEMA DELLA RETE NEURALE
La maggior parte delle ANN contiene una forma di “regola di apprendimento” (detta learning rule) che modifica i pesi delle connessioni in base ai modelli di input con cui è presentata. In un certo senso, le ANN imparano con l’esempio, proprio come la loro controparte biologica.
Un bambino impara a riconoscere i cani da esempi di cani.
LA RETE DELTA
Sebbene esistano molti tipi diversi di regole di apprendimento utilizzate dalle reti neurali, questa dimostrazione riguarda solo una; la regola delta. La regola delta è spesso utilizzata dalla classe più comune di ANN chiamate “reti neurali di backpropagational” (BPNN). Backpropagation è un’abbreviazione per la propagazione all’indietro dell’errore, una specie di sistema reazionato.
Con la regola delta, come con altri tipi di backpropagation, l’ “apprendimento” è un processo supervisionato che si verifica ad ogni ciclo o “epoca” (epoca: cioè ogni volta che alla rete viene presentato un nuovo modello di input) attraverso un flusso di attivazione in avanti verso l’ output, mentre la propagazione dell’errore torna indietro per la regolazione del peso. Con parole più familiari quando a una rete neurale viene inizialmente presentato uno schema, fa una “ipotesi” casuale su ciò quello che potrebbe essere. Quindi valuta la possibile risposta, e ne formula di nuove sempre più attendibili tramite la regolazione adeguata ai suoi pesi di connessione.
Una volta che una rete neurale viene “addestrata” a un livello soddisfacente, può essere utilizzata come strumento analitico su altri dati. L’utente in questo caso non deve fare più niente in quanto la rete neurale si distacca dall’apprendimento e funziona solo in modalità di propagazione diretta. Tuttavia in caso di nuovi input, intensi come nuovi elementi sconosciuti, questi vengono filtrati ed elaborati negli strati intermedi, come se si stesse svolgendo un addestramento nascosto. Tuttavia a questo punto l’output viene mantenuto e non si verifica alcuna backpropagation. Ma l’output di propagazione diretta può essere sottoposto a nuove rielaborazioni ed interpretazioni.
È possibile in alcuni casi che la rete neurale sia addestrata in eccesso, cioè che sia in grado di rispondere ad un solo input, modello molto simile alla memorizzazione automatica. Quando ciò accade, l’apprendimento è sconnesso e si fa riferimento alla rete con il nome di ” grandmothered” usato nel gergo della reti neurali. Nelle applicazioni del mondo reale questa situazione non è molto utile poiché si avrebbe bisogno di una rete ” grandmothered” da utilizzare per ogni diverso input.
IN CHE MODO LE RETI NEURALI DIFFERISCONO DAL CALCOLO CONVENZIONALE?
Per comprendere meglio il calcolo neurale artificiale, è importante sapere innanzitutto come funziona un computer “seriale o parallelo” convenzionale. Un computer seriale ha un processore centrale che può indirizzare la memoria e memorizzare i dati in alcune celle. I calcoli vengono eseguiti dal processore che legge un’istruzione e tutti i dati richiesti dall’istruzione derivanti dagli indirizzi di memoria. L’istruzione viene quindi eseguita e i risultati vengono salvati in un’altra posizione di memoria specificata come richiesto. In un sistema seriale o parallelo i passaggi computazionali sono deterministici, sequenziali e logici e lo stato di una data variabile può essere tracciato da un’operazione all’altra.
Le ANN invece non sono sequenziali o necessariamente deterministiche. Non esistono processori centrali complessi, ma ce ne sono molti semplici che generalmente non fanno altro che prendere la somma ponderata dei loro input da altri processori. Le ANN non eseguono istruzioni programmate; rispondono in parallelo (simulato o reale) al modello di input che gli viene presentato. Non esistono inoltre indirizzi di memoria separati per la memorizzazione dei dati. Al contrario, le informazioni sono contenute nello “stato” generale di attivazione della rete neurale”. La “conoscenza” è quindi rappresentata dalla rete stessa, che è letteralmente più della somma dei suoi singoli componenti.
CONCETTI CHIAVE DELLE DEEP NEURAL NETWORKS
Le reti di apprendimento profondo (deep neural networks) si distinguono dalle reti neurali a strato nascosto più comuni per la loro profondità; vale a dire, il numero di layer di nodi attraverso i quali i dati devono passare in un processo a più fasi di riconoscimento dei pattern.
Le versioni precedenti di reti neurali come i primi percettroni (Nell’apprendimento automatico, il percettrone è un tipo di classificatore binario che mappa i suoi ingressi ) erano superficiali, composte da un livello di input e uno di output e al massimo uno strato nascosto nel mezzo. Più di tre livelli (inclusi input e output) si qualifica come apprendimento “profondo“. Così, “profondo” non è solo una keyword per far sembrare gli algoritmi come se fossero in grado di leggere Emerson o altri filosofi o in grado di trovare band sconosciute. È un termine rigorosamente definito che significa “più di un livello nascosto”.
Nelle deep neural networks, ogni livello di nodi si allena su un insieme distinto di funzionalità basate sull’output del livello precedente. Più avanzi nella rete neurale, più complesse sono le caratteristiche che i i nodi sono in grado di riconoscere, dal momento che aggregano e ricombinano le funzionalità del livello precedente. Una sorta di sistema reazionato clusterizzato.
Questa è nota come gerarchia di funzionalità ed è un modello a complessità crescente e un alto livello di astrazione. Le reti di apprendimento profondo quindi sono in grado di gestire set di dati molto grandi e ad alta dimensione con miliardi di parametri che passano attraverso funzioni non lineari.
Soprattutto, queste reti neurali sono in grado di scoprire strutture latenti all’interno di dati non etichettati, non strutturati, che è la stragrande maggioranza dei dati nel mondo reale. Un’altra parola per dati non strutturati è “media non elaborati”, vale a dire immagini, testi, registrazioni video e audio. Pertanto, uno dei problemi che il deep learning risolve meglio è l’elaborazione e il raggruppamento dei media grezzi e senza etichetta, distinguere cioè somiglianze e anomalie nei dati che nessun essere umano ha organizzato in un database relazionale o a cui non ha mai dato una classificazione..
Ad esempio, l’apprendimento profondo può acquisire un milione di immagini e raggrupparle in base alle loro somiglianze: gatti in un angolo, rompighiaccio in un altro e in un terzo tutte le foto in cui ci sei tu.
La stessa cosa può essere fatto con altri tipi di dati, ad esempio il raggruppamento del testo non elaborato come e-mail, articoli, posts, notizie. Le e-mail con lamentele potrebbero essere raggruppate in un angolo dello spazio vettoriale, mentre i clienti soddisfatti, o messaggi spambot, potrebbero raggrupparsi da altre parti. Questa è la base di vari filtri di messaggistica, ma può essere utilizzata nella gestione delle relazioni con i clienti come con i CRM, che fanno uso di queste tecnologie, o i motori di ricerca come Google, che usano le reti neurali, per comprendere le relazioni tra sinonimi e contenuti.
Lo stesso vale per i messaggi vocali, un analisi approfondita potrebbe catalogarli in qualsiasi modo la rete neurale sia stata istruita per farlo.
Usando le serie storiche, i dati potrebbero raggrupparsi attorno a comportamenti normali e sani o comportamenti anomali e pericolosi. Se i dati delle serie temporali vengono generati da uno smartphone, forniranno informazioni sulla salute e le abitudini degli utenti. Se viene generato da un avvio automatico in una centrale, le reti neurali potrebbero essere utilizzate per evitare guasti catastrofici.
Le reti deep neural networks eseguono l’estrazione automatica delle funzioni senza intervento umano, a differenza della maggior parte degli algoritmi di apprendimento automatico tradizionali. Dato che l’estrazione delle funzionalità è un compito che può richiedere anni a interi team di data scientist, l’apprendimento approfondito è un modo potenziare al massimo piccoli team di data science, che non sono costretti a scalare con tutte le problematiche del caso.
Nel processo, queste reti neurali imparano a riconoscere le correlazioni tra determinate caratteristiche rilevanti e risultati ottimali: tracciano connessioni tra i segnali delle caratteristiche e ciò che tali caratteristiche rappresentano, sia che si tratti di una ricostruzione completa o con dati etichettati.
PER IL MARKETING SI APRONO GRANDI PRATERIE DIGITALI E NON.
I THINK THE BRAIN IS ESSENTIALLY A COMPUTER AND CONSCIOUSNESS IS LIKE A COMPUTER PROGRAM. IT WILL CEASE TO RUN WHEN THE COMPUTER IS TURNED OFF. THEORETICALLY, IT COULD BE RE-CREATED ON A NEURAL NETWORK, BUT THAT WOULD BE VERY DIFFICULT, AS IT WOULD REQUIRE ALL ONE’S MEMORIES.
Stephen Hawking
Salve
Sto testando BERT open source… a dir poco fantastico.
Anche se sono alle prime armi, ma grazie a diverse librerie e la community, posso fare alcune simulazioni.
Vi ringrazio, perché l’idea di iniziare mi è venuta leggendo questo post.
Riccardo St.