• Non ci sono risultati.

L’Intelligenza artificiale

2.3 Le principali tecniche di intelligenza artificiale

Una delle applicazioni di maggior successo delle tecniche di intelligenza artificiale è costituita dai “sistemi esperti” o “sistemi basati sulla conoscenza”, che racchiudono le conoscenze su settori specializzati come la medicina, l’ingegneria, l’economia, ecc. Le parti principali di un sistema esperto sono la base di conoscenza e il motore inferenziale; la base di conoscenza consiste in genere in fatti e regole del calcolo dei predicati riguardanti l’argomento

21 Bilotta (1999, p. 11) ricorda che “dal 1980 in poi un nuovo indirizzo di ricerca compare all’interno

45 da trattare; il motore inferenziale consiste in tutti i processi che manipolano la base di conoscenza per dedurre l’informazione richiesta all’utente. Nella costruzione di un “sistema esperto” un “ingegnere della conoscenza” lavora con esperti del campo di applicazione al fine di rappresentare le conoscenze specifiche in una forma che possa essere introdotta nella base di conoscenza. Il processo di costruzione del sistema viene iterato di solito attraverso molti cicli; a ogni iterazione un prototipo viene esaminato per vedere se esso effettua inferenze analoghe a quelle dell’esperto[Nilsson, 2002].

Sistemi di questo tipo possono essere adottati, per esempio, da una banca per valutare le richieste di prestiti. Una delle principali difficoltà di applicazione delle tecniche di intelligenza artificiale è rappresentata dalla rappresentazione della “conoscenza comune”; è quindi molto difficile costruire “macchine dotate di senso comune”, che potrebbero trovare in concreto moltissime applicazioni nella vita di tutti i giorni. La conoscenza comune potrebbe anche consentire di aumentare la performance dei sistemi esperti ed è essenziale per costruire macchine in grado di comprendere il linguaggio naturale. I ricercatori di intelligenza artificiale hanno affrontato il problema di rappresentare la conoscenza comune per diversi aspetti: descrizione delle proprietà dei materiali, dimensione spaziale, proprietà fisiche degli oggetti, processi ed eventi fisici, rappresentazione del tempo. Le entità che costituiscono i domini, relativi sia al senso comune che alla conoscenza esperta, possono essere organizzate in strutture gerarchiche che consentono di guidare e semplificare il ragionamento. Le conoscenze possono essere codificate in reti semantiche o in strutture di dati chiamati “frame”; le reti semantiche sono strutture di grafi che codificano la conoscenza tassonomica relativa agli oggetti e alle loro proprietà; un frame ha un nome e un insieme di coppie attributo-valore.

Gli agenti hanno spesso soltanto informazioni incerte sul loro compito e sul loro ambiente; risulta molto utile quindi nella realizzazione fare riferimento anche alla teoria della probabilità ed all’inferenza probabilistica, in particolar modo alle reti Bayesiane: grafi i cui nodi sono etichettati con variabili casuali. Gli schemi d’inferenza tipici delle reti bayesiane sono l’inferenza casuale (top-down), l’inferenza diagnostica (bottom-up), e l’inferenza volta a fornire spiegazioni alternative. L’inferenza bayesiana si basa sulla regola di Bayes, secondo cui la probabilità di validità di un modello teorico sulla base degli ultimi risultati disponibili è uguale al rapporto fra la probabilità di ottenere questi risultati nell’ipotesi che il modello sia corretto e la probabilità di ottenere gli stessi risultati indipendentemente dalla validità del modello, moltiplicato per la probabilità di validità del modello valutata prima di ottenere gli ultimi risultati (probabilità a priori).

L’approccio bayesiano fornisce anche un contesto per la progettazione di sistemi di apprendimento artificiali. Secondo la regola di Bayes, P(M/D) = P(D/M)*P(M)/P(D), vale a dire: la probabilità di validità di un modello teorico sulla base degli ultimi risultati disponibili è uguale al rapporto fra la probabilità di ottenere questi risultati nell’ipotesi che il modello sia corretto e la probabilità di ottenere gli stessi risultati indipendentemente dalla validità del modello, moltiplicato per la probabilità di validità del modello valutata prima di ottenere gli ultimi risultati. Secondo una interpretazione logica della nozione bayesiana di probabilità, sviluppata dal fisico e statistico americano Richard Cox (Teorema di Cox), la regola di Bayes consente di variare il grado di fiducia in un certo modello o ipotesi, utilizzando le probabilità come misure del grado di fiducia. La probabilità della validità di un certo modello prima degli ultimi risultati, rappresenta quindi una misura del grado di fiducia nel modello prima delle ultime informazioni, mentre la probabilità a posteriori rappresenta una misura del grado di fiducia nello stesso modello dopo le ultime informazioni. L’interpretazione logica proposta da Cox, della probabilità Bayesiana è considerata da Jaynes l’estensione naturale della logica aristotelica (in cui le affermazioni possono essere soltanto vere o false) ai ragionamenti in presenza di incertezza; un’altra interpretazione della probabilità bayesiana è quella soggettivista [Jaynes, 2003].

46 Nel contesto bayesiano il processo di apprendimento automatico inizia con l’individuazione di tutte le possibili spiegazioni plausibili dei dati, assegnando a ciascuna di esse una probabilità “a priori”. Quindi, dopo avere osservato dei dati, si valuta la probabilità di ottenerli alla luce di ognuna delle possibili spiegazioni prima individuate. Moltiplicando questa probabilità per la probabilità “a priori”, e normalizzando i risultati dividendo per la probabilità di ottenere comunque gli stessi dati, si ottiene una stima delle probabilità “a posteriori” che ciascuna delle possibili spiegazioni sia corretta sulla base dei dati osservati. Per comparare la plausibilità di due possibili spiegazioni (M1 ed M2) è sufficiente comparare P(M1)*P(D/M1) e

P(M2)*P(D/M2), considerato che il fattore di normalizzazione, vale a dire la probabilità di

ottenere comunque i dati osservati, è identico per tutte le possibili spiegazioni. Questo risultato ha implicazioni importanti per i processi di apprendimento automatico; se l’obiettivo è di progettare un agente razionale ideale, esso deve essere in grado di apprendere utilizzando le regole del calcolo probabilistico. In pratica, per molti problemi concreti l’applicazione della regola di Bayes è di solito difficilmente praticabile poiché comporta delle procedure di sommatoria o di integrazione con riferimento a un numero molto elevato di possibili spiegazioni. Questi difficili problemi computazionali possono essere evitati utilizzando delle metodologie bayesiane approssimate, come, per esempio, l’approssimazione di Laplace, la catena di Markov, o il metodo Monte Carlo.

La teoria delle decisioni bayesiana si occupa del problema di come prendere decisioni ottimali, vale a dire decisioni o azioni che minimizzano la perdita attesa. L’inferenza bayesiana è un tipo di inferenza statistica in cui le osservazioni sono utilizzate per aggiornare la probabilità che una certa ipotesi sia vera, o anche per formulare nuove ipotesi. L’inferenza Bayesiana comporta la raccolta di informazioni che possono corroborare o smentire una data ipotesi esplicativa; man mano che l’evidenza si accumula, il grado di fiducia in ciascuna spiegazione cambia, fino a diventare di solito molto alta o molto bassa. I proponenti dell’inferenza bayesiana sostengono che essa può essere utilizzata per discriminare fra ipotesi contrastanti: le ipotesi con un grado di credibilità molto elevato dovrebbero essere accettate come vere, e quelle con un grado di credibilità molto basso dovrebbero essere rigettate perché false. I critici obiettano tuttavia che questo metodo inferenziale può essere distorto dalle opinioni iniziali da cui parte il processo di progressiva verifica. L’inferenza bayesiana di solito deriva da probabilità soggettive e in generale non pretende di offrire una metodologia induttiva oggettiva; tuttavia alcuni statistici bayesiani ritengono che le probabilità possano avere una base oggettiva, e che quindi i processi induttivi di apprendimento possano avere carattere di oggettività. L’inferenza bayesiana è utilizzata per calcolare le probabilità per i processi decisionali in condizioni d’incertezza; oltre alle probabilità può essere comunque utile una funzione di perdita per stimare le conseguenze di eventuali errori decisionali; quindi le probabilità rappresentano la possibilità di sbagliare, mentre una funzione di perdita misura le conseguenze degli errori. Le applicazioni concretamente più rilevanti dell’inferenza bayesiana hanno da sempre riguardato l’affidabilità dei risultati delle analisi mediche, la valutazione complessiva delle prove nelle controversie giudiziarie, la ricerca di sottomarini sperduti, ecc.

Particolarmente interessanti appaiono le applicazioni dell’inferenza bayesiana nel campo dell’intelligenza artificiale e dei sistemi esperti. Le tecniche di inferenza bayesiana hanno avuto un ruolo importante nelle tecniche di riconoscimento computerizzato sin dalla fine degli anni cinquanta. Le metodiche d’inferenza bayesiane sono state anche utilizzate per sviluppare degli algoritmi in grado di identificare i messaggi di posta elettronica indesiderati inviati in grandi quantità (spam). DSPAM, Bogofilter, SpamAssassin, InBoxer e Monzilla sono filtri anti-spam che utilizzano metodiche d’inferenza bayesiana.

Il teorema di Bayes è comunemente attribuito al reverendo Thomas Bayes (1701-1761), che nel suo testamento lasciò cento sterline a Richard Price. Price scoprì fra le carte di Bayes due saggi non pubblicati e li inviò alla Royal Society, che li pubblicò. Questi saggi non ricevettero tuttavia molta attenzione, fino a quando lo stesso teorema non fu scoperto in modo indipendente

47 dal grande matematico francese Laplace. I matematici inglesi allora rapidamente riscoprirono i lavori di Bayes. Secondo Stephen Stigler, un grande storico della statistica, il teorema di Bayes sarebbe stato scoperto in realtà da Nicholas Saunderson, un matematico cieco sin dal primo anno di vita, che fu professore di matematica nell’Università di Cambridge, su presentazione di Isaac Newton.

Gli eccezionali progressi dei computer, e le limitazioni dei metodi statistici tradizionali, sono alcune delle ragioni della ripresa di popolarità dell’approccio Bayesiano; secondo i sostenitori di questo approccio, esso dà risposte che sono più facili da comprendere e stimola i ricercatori a esplicitare le distorsioni nascoste nelle analisi degli approcci “frequentisti” ancora dominanti. I critici, dal canto loro, temono che le analisi bayesiane, partendo da valutazioni aprioristiche, possano condurre a stime meno obiettive dei risultati sperimentali.

Il teorema di Bayes indica come modificare le precedenti valutazioni sulla base di nuova evidenza. Il dibattito tra bayesiani e “frequentisti” riflette due diversi approcci verso la ricerca scientifica. L’approccio bayesiano è più adatto ai ricercatori che cercano di utilizzare tutte le informazioni disponibili per ottenere rapidamente dei progressi; essi tendono ad essere aggressivi e ottimisti nelle loro ipotesi; gli statistici frequentisti sono più cauti; essi mirano a conclusioni universalmente accettabili, in grado di far fronte alle obiezioni dei critici. I bayesiani considerano non soltanto ciò che dicono i dati, ma anche le conoscenze acquisite; la visione bayesiana di probabilità è collegata al grado di fiducia; essa è una misura della plausibilità di un evento in una situazione di conoscenza incompleta.

Le reti bayesiane sono utilizzate in diverse applicazioni dei sistemi esperti come ad esempio PATHFINDER, un sistema esperto che assiste i patologi per le diagnosi di malattie ai linfonodi. Nilsson illustra il problema dell’apprendimento di reti bayesiane, che consiste nel trovare una rete che corrisponde al meglio (secondo un dato criterio di valutazione) a un insieme di addestramento di dati, e l’utilizzazione delle inferenze probabilistiche mediante reti bayesiane per decidere le azioni di un agente, ottimali rispetto a un dato criterio di valutazione. Quest’analisi rappresenta una generalizzazione del ciclo percezione/pianificazione/azione in condizioni di certezza. La fase di pianificazione calcola la migliore azione successiva, la fase di azione esegue l’azione, la fase di percezione cerca di capire la situazione ambientale risultante per il ciclo successivo. L’obiettivo può essere configurato in termini di “ricompense” e “penalità” in corrispondenza dell’utilità di diversi stati ambientali. Nell’ipotesi di certezza, l’agente è in grado di determinare accuratamente il suo stato attuale attraverso la percezione, e può prevedere esattamente gli effetti di tutte le sue azioni.

Questo approccio può essere giustificato ritenendo che anche se le azioni non hanno sempre gli effetti previsti, e anche se le percezioni non sono a volte corrette, i sensori avrebbero tenuto informato l’agente sul suo progredire, e la pianificazione ripetuta avrebbe riorientato l’agente verso l’obiettivo. Utilizzando le reti bayesiane, l’agente conosce le probabilità di trovarsi nei diversi stadi, e le probabilità associate a diverse possibili conseguenze delle sue azioni. In genere i calcoli necessari per trattare gran parte dei problemi concreti mediante reti bayesiane richiedono elevatissime potenzialità computazionali, e quindi spesso si è costretti a introdurre delle approssimazioni.

Secondo Nilsson, tecniche diverse di intelligenza artificiale possono essere integrate in architetture di agenti intelligenti. Uno dei primi sistemi integrati per un agente intelligente è stata una raccolta di programmi per computer e hardware specifico nota come “Shakey il robot”, l’hardware consisteva in una piattaforma mobile, delle dimensioni di un piccolo frigorifero, con sensori sensibili al contatto, una telecamera e un telemetro ottico, tutti controllati da un computer con un collegamento radio/video a due vie. La piattaforma mobile era in grado di girare intorno in un ambiente fatto di grandi scatole in stanze separate da pareti e collegate da porte; Shakey era in grado di spingere le scatole da un punto all’altro. Shakey fu il primo robot mobile in grado di ragionare sulle sue azioni, frutto di ricerche nel campo della robotica, della visione computerizzata, e dell’elaborazione del linguaggio naturale. Fu sviluppato fra il 1966 e il 1972

48 presso il laboratorio di Intelligenza Artificiale di SRI international (Stanford Research Institute fino al 1970), un’organizzazione “non profit”, che svolge ricerche per conto di enti pubblici e imprese private. Il gruppo di ricerca era diretto da Charles Rosen, e ne faceva parte fra gli altri, anche Nils Nilsson; il linguaggio di programmazione utilizzato era il LISP22

La conoscenza comune, che è la principale carenza che limita le applicazioni di Intelligenza Artificiale dovrebbe essere codificata negli agenti intelligenti per consentire ad essi di svolgere tanti compiti di routine che le persone trovano facili ma che sono in genere impossibili per gli agenti artificiali. Quest’obiettivo è stato perseguito da “Cyc”23, un progetto di intelligenza artificiale che cerca di assemblare in un database la conoscenza comune per consentire agli agenti di ragionare il più possibile come persone. Il progetto iniziò nel 1984 presso la Microelectronics and Computer Technology Corporation (MCC)24. La speranza è che, raggiunto un certo stadio critico, il sistema sarà in grado di apprendere maggiori conoscenze, leggendo testi, conversando con le persone, e venendo istruito.

Nilsson infine, ritiene che le persone apprendono molte delle conoscenze che utilizzano con un processo di “bootstrapping” dalla conoscenza ottenuta in precedenza, prima come bambini, da tendenze innate, in seguito, man mano che attraversano i diversi stadi piagetiani, da abilità e concetti acquisiti in precedenza, e poi da adulti, attraverso la pratica, la lettura e la comunicazione. Ma sembra, per adesso, che la quantità di conoscenza che sarà richiesta dagli agenti di intelligenza artificiale per esibire una intelligenza di livello umano sia così grande, che sarà necessario un simile processo di bootstrapping ancora da scoprire [Nilsson, 2002].