Intelligenza artificiale - Reti neurali
Ancora un'altra area di ricerca nell'IA, le reti neurali, è ispirata dalla rete neurale naturale del sistema nervoso umano.
Cosa sono le reti neurali artificiali (ANN)?
L'inventore del primo neurocomputer, il dottor Robert Hecht-Nielsen, definisce una rete neurale come -
"... un sistema di elaborazione composto da una serie di elementi di elaborazione semplici e altamente interconnessi, che elaborano le informazioni in base alla loro risposta dinamica dello stato a input esterni."
Struttura di base delle ANN
L'idea di ANNs si basa sulla convinzione che il funzionamento del cervello umano effettuando le giuste connessioni, possa essere imitato usando silicio e fili come viventi neurons e dendrites.
Il cervello umano è composto da 86 miliardi di cellule nervose chiamate neurons. Sono collegati ad altre migliaia di celle da Axons.Gli stimoli dall'ambiente esterno o gli input dagli organi sensoriali sono accettati dai dendriti. Questi input creano impulsi elettrici, che viaggiano rapidamente attraverso la rete neurale. Un neurone può quindi inviare il messaggio ad un altro neurone per gestire il problema o non inviarlo in avanti.
Le ANN sono composte da più file nodes, che imitano il biologico neuronsdel cervello umano. I neuroni sono collegati da collegamenti e interagiscono tra loro. I nodi possono prendere dati di input ed eseguire semplici operazioni sui dati. Il risultato di queste operazioni viene trasmesso ad altri neuroni. L'output in ogni nodo è chiamato proprioactivation o node value.
Ogni collegamento è associato a weight.Le ANN sono in grado di apprendere, cosa che avviene alterando i valori di peso. La figura seguente mostra una semplice ANN -
Tipi di reti neurali artificiali
Esistono due topologie di reti neurali artificiali: FeedForward e Feedback.
FeedForward ANN
In questa ANN, il flusso di informazioni è unidirezionale. Un'unità invia informazioni ad un'altra unità da cui non riceve alcuna informazione. Non ci sono cicli di feedback. Sono utilizzati nella generazione / riconoscimento / classificazione dei modelli. Hanno ingressi e uscite fissi.
FeedBack ANN
Qui sono consentiti i cicli di feedback. Sono usati nelle memorie indirizzabili del contenuto.
Funzionamento delle ANN
Nei diagrammi topologici mostrati, ogni freccia rappresenta una connessione tra due neuroni e indica il percorso per il flusso di informazioni. Ogni connessione ha un peso, un numero intero che controlla il segnale tra i due neuroni.
Se la rete genera un output "buono o desiderato", non è necessario regolare i pesi. Tuttavia, se la rete genera un output "scarso o indesiderato" o un errore, il sistema altera i pesi per migliorare i risultati successivi.
Apprendimento automatico nelle ANN
Le ANN sono in grado di apprendere e hanno bisogno di essere addestrate. Esistono diverse strategie di apprendimento:
Supervised Learning- Coinvolge un insegnante che è studioso della stessa ANN. Ad esempio, l'insegnante fornisce alcuni dati di esempio di cui l'insegnante conosce già le risposte.
Ad esempio, riconoscimento di pattern. La ANN escogita ipotesi mentre riconosce. Quindi l'insegnante fornisce alla ANN con le risposte. La rete quindi confronta le ipotesi con le risposte "corrette" dell'insegnante e apporta le modifiche in base agli errori.
Unsupervised Learning- È richiesto quando non esiste un set di dati di esempio con risposte note. Ad esempio, la ricerca di uno schema nascosto. In questo caso, il raggruppamento, ovvero la divisione di un insieme di elementi in gruppi secondo un modello sconosciuto, viene effettuato sulla base dei set di dati esistenti presenti.
Reinforcement Learning- Questa strategia si basa sull'osservazione. La ANN prende una decisione osservando il suo ambiente. Se l'osservazione è negativa, la rete regola i suoi pesi per poter prendere una decisione richiesta diversa la volta successiva.
Algoritmo di propagazione posteriore
È l'algoritmo di addestramento o apprendimento. Impara con l'esempio. Se si sottopone all'algoritmo l'esempio di ciò che si desidera che la rete faccia, cambia i pesi della rete in modo che possa produrre l'output desiderato per un particolare input al termine dell'addestramento.
Le reti di Back Propagation sono ideali per semplici attività di riconoscimento di pattern e mappatura.
Reti bayesiane (BN)
Queste sono le strutture grafiche utilizzate per rappresentare la relazione probabilistica tra un insieme di variabili casuali. Vengono chiamate anche reti bayesianeBelief Networks o Bayes Nets. Motivo di BN sul dominio incerto.
In queste reti, ogni nodo rappresenta una variabile casuale con proposizioni specifiche. Ad esempio, in un dominio di diagnosi medica, il nodo Cancro rappresenta la proposizione che un paziente abbia il cancro.
I bordi che collegano i nodi rappresentano le dipendenze probabilistiche tra quelle variabili casuali. Se su due nodi, uno sta influenzando l'altro, devono essere collegati direttamente nelle direzioni dell'effetto. La forza della relazione tra le variabili è quantificata dalla probabilità associata a ciascun nodo.
C'è un unico vincolo sugli archi in un BN che non puoi restituire a un nodo semplicemente seguendo gli archi diretti. Quindi i BN sono chiamati grafici aciclici diretti (DAG).
I BN sono in grado di gestire variabili multivalore contemporaneamente. Le variabili BN sono composte da due dimensioni:
- Gamma di preposizioni
- Probabilità assegnata a ciascuna delle preposizioni.
Considera un insieme finito X = {X 1 , X 2 ,…, X n } di variabili casuali discrete, dove ogni variabile X i può assumere valori da un insieme finito, indicato con Val (X i ). Se esiste un collegamento diretto dalla variabile X i alla variabile X j , la variabile X i sarà una madre della variabile X j che mostra le dipendenze dirette tra le variabili.
La struttura di BN è ideale per combinare conoscenze pregresse e dati osservati. BN può essere utilizzato per apprendere le relazioni causali e comprendere vari domini problematici e per prevedere eventi futuri, anche in caso di dati mancanti.
Costruire una rete bayesiana
Un ingegnere della conoscenza può costruire una rete bayesiana. Ci sono una serie di passaggi che l'ingegnere della conoscenza deve compiere durante la sua costruzione.
Example problem- Cancro ai polmoni. Un paziente ha sofferto di mancanza di respiro. Va dal dottore, sospettando di avere un cancro ai polmoni. Il medico sa che, a parte il cancro ai polmoni, ci sono varie altre possibili malattie che il paziente potrebbe avere come la tubercolosi e la bronchite.
Gather Relevant Information of Problem
- Il paziente è un fumatore? Se sì, allora alte probabilità di cancro e bronchite.
- Il paziente è esposto all'inquinamento atmosferico? Se sì, che tipo di inquinamento atmosferico?
- Fare una radiografia positiva ai raggi X indicherebbe la tubercolosi o il cancro ai polmoni.
Identify Interesting Variables
L'ingegnere della conoscenza cerca di rispondere alle domande:
- Quali nodi rappresentare?
- Quali valori possono assumere? In quale stato possono essere?
Per ora consideriamo i nodi, con solo valori discreti. La variabile deve assumere esattamente uno di questi valori alla volta.
Common types of discrete nodes are -
Boolean nodes - Rappresentano proposizioni, assumendo valori binari VERO (T) e FALSO (F).
Ordered values- Un nodo Inquinamento potrebbe rappresentare e assumere valori da {basso, medio, alto} che descrivono il grado di esposizione di un paziente all'inquinamento.
Integral values- Un nodo denominato Età potrebbe rappresentare l'età del paziente con valori possibili da 1 a 120. Anche in questa fase iniziale, vengono effettuate scelte di modellazione.
Possibili nodi e valori per l'esempio di cancro ai polmoni -
Nome nodo | genere | Valore | Creazione di nodi |
---|---|---|---|
Inquinamento | Binario | {BASSO, ALTO, MEDIO} | |
Fumatore | Booleano | {VERO, VERO} | |
Cancro ai polmoni | Booleano | {VERO, VERO} | |
Raggi X | Binario | {Positivo negativo} |
Create Arcs between Nodes
La topologia della rete dovrebbe catturare le relazioni qualitative tra le variabili.
Ad esempio, cosa causa un cancro ai polmoni in un paziente? - Inquinamento e fumo. Quindi aggiungere gli archi dal nodo Inquinamento e dal nodo Smoker al nodo Lung-Cancer.
Allo stesso modo, se il paziente ha un cancro ai polmoni, il risultato dei raggi X sarà positivo. Quindi aggiungi archi dal nodo Cancro polmonare al nodo X-Ray.
Specify Topology
Convenzionalmente, i BN sono disposti in modo che gli archi puntino dall'alto verso il basso. L'insieme dei nodi padre di un nodo X è dato da Parents (X).
Il nodo Lung-Cancer ha due genitori (ragioni o cause): Inquinamento e Smoker , mentre il nodo Smoker è unancestordel nodo X-Ray . Allo stesso modo, X-Ray è un figlio (conseguenza o effetti) del nodo Lung-Cancer esuccessordi nodi Smoker e Pollution.
Conditional Probabilities
Ora quantifica le relazioni tra i nodi connessi: questo viene fatto specificando una distribuzione di probabilità condizionale per ogni nodo. Poiché qui vengono considerate solo variabili discrete, questo assume la forma di aConditional Probability Table (CPT).
Innanzitutto, per ogni nodo dobbiamo esaminare tutte le possibili combinazioni di valori di quei nodi padre. Ciascuna di queste combinazioni è chiamatainstantiationdel set genitore. Per ogni distinta istanziazione dei valori del nodo genitore, dobbiamo specificare la probabilità che il figlio prenderà.
Ad esempio, i genitori del nodo Cancro al polmone sono Inquinamento e Fumo. Prendono i possibili valori = {(H, T), (H, F), (L, T), (L, F)}. Il CPT specifica la probabilità di cancro per ciascuno di questi casi come <0,05, 0,02, 0,03, 0,001> rispettivamente.
Ogni nodo avrà probabilità condizionata associata come segue:
Applicazioni delle reti neurali
Possono svolgere compiti facili per un essere umano ma difficili per una macchina -
Aerospace - Velivoli con pilota automatico, rilevamento dei guasti degli aerei.
Automotive - Sistemi di guida automobilistica.
Military - Orientamento e governo dell'arma, tracciamento del bersaglio, discriminazione degli oggetti, riconoscimento facciale, identificazione di segnali / immagini.
Electronics - Previsione della sequenza di codice, layout del chip IC, analisi dei guasti del chip, visione artificiale, sintesi vocale.
Financial - Valutazione immobiliare, consulente di prestito, screening ipotecario, rating di obbligazioni societarie, programma di scambio di portafoglio, analisi finanziaria aziendale, previsione del valore della valuta, lettori di documenti, valutatori di domande di credito.
Industrial - Controllo del processo di produzione, progettazione e analisi del prodotto, sistemi di ispezione della qualità, analisi della qualità della saldatura, previsione della qualità della carta, analisi della progettazione del prodotto chimico, modellazione dinamica dei sistemi di processo chimico, analisi della manutenzione della macchina, offerta di progetti, pianificazione e gestione.
Medical - Analisi delle cellule tumorali, analisi EEG ed ECG, progettazione protesica, ottimizzazione del tempo di trapianto.
Speech - Riconoscimento vocale, classificazione vocale, conversione da testo a voce.
Telecommunications - Compressione di immagini e dati, servizi di informazione automatizzati, traduzione della lingua parlata in tempo reale.
Transportation - Diagnosi del sistema frenante del camion, programmazione dei veicoli, sistemi di routing.
Software - Pattern Recognition nel riconoscimento facciale, riconoscimento ottico dei caratteri, ecc.
Time Series Prediction - Le ANN sono utilizzate per fare previsioni su stock e calamità naturali.
Signal Processing - Le reti neurali possono essere addestrate per elaborare un segnale audio e filtrarlo adeguatamente negli apparecchi acustici.
Control - Le ANN sono spesso utilizzate per prendere decisioni di guida dei veicoli fisici.
Anomaly Detection - Poiché le ANN sono esperte nel riconoscere i modelli, possono anche essere addestrate a generare un output quando si verifica qualcosa di insolito che non si adatta al modello.