IA e Diagnosi - di.unito.itbotta/didattica/LezioneDiagnosi.pdf · If siccità and luglio then...
Transcript of IA e Diagnosi - di.unito.itbotta/didattica/LezioneDiagnosi.pdf · If siccità and luglio then...
1
Tecniche di Intelligenza Artificiale e Diagnosi basato su modello
P.Torasso, Dipartimento di informatica – Università di Torino
IA e Diagnosi
• Tecniche di intelligenza artificiale applicate al settore della diagnosi da fine anni 70
• Molti sistemi esperti in campo diagnostico• Principali domini: tecnico e medico• Applicazioni industriali per apparati complessi
nella seconda metà degli anni 80• Power systems, telecomunicazioni, apparati
meccanici, apparati elettronici
2
IA e Diagnosi
• Perché approccio a sistema esperto non è più largamente diffuso?
• Basato su conoscenza derivata da esperti umani• La conoscenza può divenire obsoleta (nuovi apparati,
nuove tecnologie, reti di telecomunicazioni sempre piùgrandi)
• Costoso acquisire conoscenza da esperti e mantenerla• Formalismo molto utilizzato: regole di produzione• Meccanismi inferenziali molto efficienti• Tipici sistemi con molte centinaia di regole• Come si scrive la conoscenza nelle regole?
IA e Diagnosi
• Tipicamente if sintomi then diagnosi (CF)
• In realtà in molti casi heuristic classification (Clancey 1985)
Dati grezzi
Stati qualitativi
Qualitativeabstraction
General Diagnostic Hypotheses
Specific Diagnostic Hypotheses
HeuristicMatch
Refinement
3
Model Based Diagnosis
• Non si basa su esperienza dell’esperto (regole sintomi guasto)
• Modello qualitativo e discreto del sistema• In altre comunità (controllisti) modelli numerici
(equazioni differenziali)• Perché modello?• Stesso modello serve a compiti (task) diversi:
predizione, diagnosi, monitoraggio• Distinzione tra modello e meccanismi inferenziali
Component Model Based Diagnosis
• Si descrivono i componenti del sistema• Quali sono i modi comportamentali del componente
(OK e guasti possibili)• Quali sono input e output dei componenti• Come sono collegati i componenti• Modello (logico) che lega input, modi comportamentali,
stati interni con output• Modello di un sistema specifico può essere ottenuto
istanziando i modelli presi da una libreria (riduce sforzo sviluppo KB)
4
Model Based Diagnosis (II)• Esempio full adder
• ANDGATE(A1) XORGATE(X1) ORGATE(O1)• ANDGATE (A2) XORGATE(X2)• Connect(O_A1, IN1_O1) Connect(O_X1, IN1_A2) ……
A1
X1A2
X2
O1O_A1
Model Based Diagnosis (III)Modello porta AND
• ANDGATE(X) and OK(X) and IN1(X,0) and IN2(X,Y) OUT(X, 0)• ANDGATE(X) and OK(X) and IN1(X,Y) and IN2(X,0) OUT(X, 0)• ANDGATE(X) and OK(X) and IN1(X,1) and IN2(X,1) OUT(X, 1)• ANDGATE(X) and Sa0(X) and IN1(X,Y) and IN2(X,Z) OUT(X, 0)• ANDGATE(X) and Sa1(X) and IN1(X,Y) and IN2(X,Z) OUT(X, 1)
Istanziato su A1 diventa• A1(OK) and A(0) and B(*) O_A1(0)• A1(OK) and A(*) and B(0) O_A1(0)• A1(OK) and A(1) and B(1) O_A1(1)• A1(Sa0) and A(*) and B(*) O_A1(0)• A1(Sa1) and A(*) and B(*) O_A1(1)
5
Model Based Diagnosis (III)
Diversi usi del modello:• predizione. Noti gli input ed assumendo modi
comportamentali si predicono gli output• fault detection: predire valori supponendo che tutti
componenti siano OK e verificare concordanza con valori output osservati. Se c’è discrepanza allora fault. Discrepanza può essere vista come allarme
• fault localization. In caso di fault individuare quali componenti sono potenzialmente guasti
• fault identification. Individuare per ciascun componente il suo modo comportamentale
Model Based Diagnosis (IV)
• Problema (caso) diagnostico <INPUTS, OBS>• Diagnosi CONSISTENCY-BASED
una assegnazione H di un modo comportamentale a ciascun componente in modo che
DT ∪ INPUTS ∪ OBS ∪ H |/- ⊥si assumono guasti i componenti in modo da non avere contraddizione tra quanto predetto ed osservato
Caratterizzazione CONSISTENCY-BASED pone requisiti deboli sul modello
6
Model Based Diagnosis (V)
• Problema (caso) diagnostico <INPUTS, OBS>• Diagnosi ABDUTTIVA
una assegnazione H di un modo comportamentale a ciascun componente in modo che
DT ∪ INPUTS ∪ H |- OBSsi assumono guasti i componenti in modo da derivare le osservazioni tenendo conto di input e teoria dominio
Caratterizzazione abduttiva pone requisiti su modello del dominio
Modello completo (corretto + guasti)
Model Based Diagnosis (VI)
• Non esiste in genere una sola diagnosi• Diagnosi ABDUTTIVA più forte di diagnosi
CONSISTENCY based• Una diagnosi abduttiva è anche una diagnosi
consistency based ma non necessariamente il viceversa
• Possibile graduare scelta tra abduttiva e consistency sulla base della conoscenza disponibile
• Console, Torasso: Computational Intelligence 1991
7
Model Based Diagnosis (VII)
• ESEMPIO su Full adder(0)
(1)
(0)
(1)
(1)
A1
X1A2
X2
O1
• A1(sa1) and A2(OK) and O1(OK) and X1(OK) and X2(OK)• A1(OK) and A2(sa1) and O1(OK) and X1(OK) and X2(OK)• A1(OK) and A2(OK) and O1(sa1) and X1(OK) and X2(OK)• A1(sa1) and A2(sa0) and O1(OK) and X1(OK) and X2(OK)• A1(sa1) and A2(sa1) and O1(OK) and X1(OK) and X2(OK)• …
Model Based Diagnosis (VIII)
GOOD News:• Possibilità di diagnosticare guasti multipli• Possibilità di trattare mascheramento di guasti• Possibilità di suggerire quali misure aggiuntive sono utili
per discriminare tra diagnosi alternative• Possibilità di definire criteri per diagnosi preferite
(minimum cardinality, rank, …)BAD News• Diagnosi model based è NP-Hard• Le diagnosi possono essere in numero esponenziale
rispetto al numero di componenti• Le diagnosi preferite possono essere in numero
esponenziale
8
Algoritmi per calcolo diagnosi model based (I)
Per MBD consistency basedATMS per calcolo dei minimal conflicts • Motore inferenziale GDE e successori• Prediction: fare predizioni sulle osservazioni sulla base di delle
osservazioni e modi dei componenti• Conflict recognition: Riconoscere discrepanze tra predizioni ed
osservazioni e costruire un insieme di conflitti (insieme di modi comportamentali dei componenti che non possono valere contemporaneamente)
• Candidate generation. Identificare gli assegnamenti di modi a tutti i componenti in modo che non ci siano conflitti. Si devono cercare i conflitti minimali
Livingstone (NASA)
Algoritmi per calcolo diagnosi model based (II)
Meccanismi ad hoc per Abduzione Poole Comput.Int, 1989, Console Torasso Theseider J. Logic Comp 91
Si parte da obs = {obs1, obs2, obsn}• Si cercano le spiegazioni dirette che derivano obsi
• Se spiegazione coinvolge input verificare verità di input• Se spiegazione coinvolge assegnazione modo comportamentale a
componente assumere se non c’è conflitto con assegnazione precedente
• Se spiegazione coinvolge stato interno S, cercare spiegazioni di S Possibilità di uso euristiche e precompilazioni per velocizzare la ricerca Console, Torasso, IEEE Trans SMC, 1992
9
Algoritmi per calcolo diagnosi model based (III)
Metodi simbolici come Ordered Binary Decision Diagrams aiutano nella diagnosi
• Possono codificare la domain theory• Rappresentano in modo compatto anche un grande numero
di diagnosiA DI-UniTo sviluppati metodi per • Codifica ragionevole del dominio• Calcolare le diagnosi (tutte, permette di fare misure
aggiuntive e di raffinare la diagnosi)• Calcolare le diagnosi preferiteIn molti casi metodi polinomiali nella dimensione dell’
OBDD che rappresenta Domain Theory
Modelli causali
In regole di produzione (formalismi logici) nessun vincolo sul tipo di relazione
If foglie secche and luglio then siccitàIf siccità and luglio then disturbi circolatori persone anzianeSe in WM si ha foglie secche e luglio si inferisce disturbi
circolatori persone anzianeSituazione migliora di poco se si aggiungono probabilità Data mining può dare regole (associazioni) del genereIf foglie secche and luglio then disturbi circolatori persone
anzianeIf disturbi circolatori persone anziane and luglio then foglie
secche
10
Modelli causali
• Basare rappresentazione su nozione di causalità causa - effetto
• Causalità stabilisce direzionalità nelle regole• La parte fondamentale diventa la struttura del modello
Siccità
Dist. Circ.P.A.Foglie secche
Luglio
Modelli causali
Limitativo considerare un solo tipo di entità• Causa primaria• Causa secondaria (concause)• Dati contestuali• Effetti diretti• Effetti indirettiChi fornisce nozione di causalità ?
Non facile definire causalità in sistemi fisiciF = m a oppure a = F/mLavori di De Kleer, Iwasaki, Kuipers fine anni 80
11
Modelli causali
La struttura causale non bastaCome si scrivono relazioni causali?Che interpretazione semantica hanno?
CAUSA(A, B) riscritta come A B
ma A B equivalente a not B not ACAUSA( not B, notA) è accettabile ?
Causalità fortemente legata a tempoL’inizio dell’effetto non può precedere inizio della causa(normalmente accettata)
Modelli causali
Diverse forme di ragionamento.Predizione. Da cause ad effetti• Facile se si sa occorrenza delle cause e verità dei dati
contestuali• Ragionamento ipotetico se si non si sa occorrenza della
cause
Diagnosi/Abduzione. Da effetti a cause• Forme di ragionamento non monotono• Ricerca delle cause• Ricerca delle cause prime• Richiede completezza nelle cause
12
Modelli causali
Diagnosi/Abduzione. Laoi(yes) owli(on)Laoi(yes) and Spig(irreg) acre(delayed)
LaoiLack of oil
OwliOil warning light
AcreAcceleration response
Spig Spark ignition
Modelli causali • Se si osserva {acre(delayed)} si ha
D = Laoi(yes) and Spig(irreg) • Se si osserva {Owli(yes)}
D1 = Laoi(yes) and Spig(irreg) D2 = Laoi(yes) and Spig(normal) D1 e D2 not evidentially supported Forse diagnosi parziale laoi(yes)
• Se si osserva { Owli(yes), acre(delayed) }D = Laoi(yes) and Spig(irreg)
• Se si osserva { Owli(off), acre(delayed) } nessuna soluzione• Se si osserva { Owli(off)} non si sa cosa fare
(nessuna spiegazione nella toeria del dominio)
13
Modelli causali
• Completare le causeaggiungere causa sconosciuta (leaking node)
• Completare i valori delle variabili Introdurre unknown mode nei componenti
• Completare la relazione causale con condizioni non espresse introdurre α , Torasso et al IJCAI 89
• Completare il mapping tra tutte le combinazioni delle cause con i valori degli effettinecessario in reti bayesiane, non in logica Portinale, Torasso LNAI 1321,1997
System Influence GraphDAG G è automaticamente estratto da teoria dominio DT
variabile N è genitore di variabile M iff:
∃ϕ∈DT: ϕ ≡ N(v) ∧ ψ → M(u)
Esempio:
A1(ok) ∧ In1A1(1) ∧ In2A1(1) → OutA1(1)
A1 In1A1 In2A1
OutA1
14
System Influence diagram full adder
A B
Rete multiple connected
O_X1 C’
O_A2 S
O_A1
C
A1
O1
A2
X2
X1
Reti causali probabilistiche
La probabilità ti da una mano !!Causa(Girare chiave di accensione, motore acceso)
ma non elimina necessità di conoscenzaCausa(Girare chiave di accensione and serbatoio pieno and batteria carica,
motore acceso)
Non riduce la regola a deterministica ma Probabilità può essere fornita in modo più efficace quando la struttura di base è definita
Tutte le interazioni tra variabili causanti devono essere specificate (trade off tra conoscenza e facilità di uso)
Noisy orNoisy max
15
Reti causali probabilistiche
LaoiLack of oil
OwliOil warning light
AcreAcceleration response
Spig Spark ignition
P[laoi=yes]=0.4 P[laoi=no]=0.6 P[spig=irreg]=0.1 P[spig=norm]=0.9 P[owli=on|laoi=yes]=1 P[owli=on|laoi=no]=0 P[owli=off|laoi=yes]=0 P[owli=off|laoi=no]=1
P[acre=delayed|laoi=no,spig=norm]=0 P[acre=norm|laoi=no,spig=norm]=1 P[acre=delayed|laoi=no,spig=irreg]=0.6 P[acre=norm|laoi=no,spig=irreg]=0.4 P[acre=delayed|laoi=yes,spig=norm]=0.8 P[acre=norm|laoi=yes,spig=norm]=0.2 P[acre=delayed|laoi=yes,spig=irreg]=1 P[acre(norm|laoi=yes),spig=irreg]=0
Osservabilità
• Dati che sono noti o potenzialmente conoscibili al momento della diagnosi
• In modelli esiste un legame tra variabili di stato del sistema (non direttamente osservabili) e variabili osservabili
• In genere legame non biunivoco• Importante distinzione tra dati di input e output• In generale si vorrebbero osservare i dati di input al
sistema per poter fare predizioni • Tipicamente si osservano anche output di sistema• In molti casi non si osservano stati intermedi (nodi
intermedi in modelli causali o BN)
16
Osservabilità e numero di diagnosi• Scarsa osservabilità incremento numero di diagnosi
Tipico avere decine di migliaia di diagnosi
• Osservazione di situazioni di normalità suggerisce comportamento OK del sistema (non garantisce OK in presenza di guasti multipli con mascheramento dei sintomi)
• Il silenzio è eloquente (mancanza di messaggi di allarmi indica comportamento OK)
Osservabilità (I)
A B
O_X1 C’
O_A2 S
O_A1
C
A1
O1
A2
X2
X1
17
Osservabilità (II) evidentially supported
A B
O_X1 C’
O_A2 S
O_A1
C
A1
O1
A2
X2
X1
Osservabilità (II) interdipendenza
A B
O_X1 C’
O_A2 S
O_A1
C
A1
O1
A2
X2
X1
18
Osservabilità III (indipendenza, partizionamento)
A B
O_X1 C’
O_A2 S
O_A1
C
A1
O1
A2
X2
X1
Osservabilità: misure aggiuntive
• Dato un insieme di diagnosi, MBD suggerisce quale misura addizionale effettuare.
• Basato su concetto di information gain.• Uso di probabilità grossolane ( ε > 0) sui guasti è
sufficiente• De Kleer, AI, 1990 • Possibile estensione anche alle diagnosi abduttive• Console Torasso Avignon 90
19
Osservabilità (IV) discriminazione con misure aggiuntive
A B
O_X1 C’
O_A2 S
O_A1
C
A1
O1
A2
X2
X1
Osservabilità: test vector• In molti campi si fa diagnosi usando molte coppie
<system input, system output>• I guasti non rilevabili con un input si possono manifestare
con un altro• Diagnosi globale ottenuta intersecando insieme di diagnosi
per ogni coppia <input output> • Test vector permette di avere discreta discriminabilità
senza richiedere misure aggiuntive• Ipotesi di base: una volta occorso un guasto , nulla di
nuovo accade• Problema: non ci può accontentare di calcolare ad ogni
passo solo le diagnosi preferite (rischio di perdere diagnosi)
20
Osservabilità: test vector
Time A B C’ C S A1 A2 X1 X2 O1
1 0 1 1 1 0 ok ok ok ok ok
ok ok sa1 ok ok
sa1 ok ok ok ok
2 0 1 0 1 1 ok ok ok ok ok
3 0 0 0 1 0 ok ok sa1 ok ok
Discriminabilità
Date due diagnosi globali D e D’, queste sono non discriminabili sse
Per tutti le possibili istanzioni INPUTS di INPUT si ha che PredOBS (DT ∪ INPUTS ∪ D) =
PredOBS (DT ∪ INPUTS ∪ D’)
Ovviamente dipende da quali dati sono osservabili e dalla granularità della osservazione.
21
DiagnosticabilitàDiagnosticabilità : essere in gradi di discriminare tra
classi di assegnamenti ai componenti• Capacità di discriminare tra situazione con almeno
un fault e situazioni nominali (detectability)• Capacità di discriminare tra situazioni dove
componente C è guasto e situazioni dove C è OK• Capacità di discriminare tra guasti diversi della
stessa componente C• Capacità di discriminare tra qualunque coppia di
assegnamenti.
Analisi di Diagnosticabilità
• Analisi in fase di progetto del sistema• Stabilisce quali comportamenti sono discriminabili.• Utile per sensor placement• Utile per capire se si possono riconoscere situazioni
critiche• Se molte diagnosi non sono discriminabili, si sa a priori
che si avrà proliferazione di diagnosi quando si risolve un caso.
• Poco potere informativo, pesante la computazione
22
Preferred DiagnosesMINIMAL CARDINALITY
Prefer diagnoses that have the smallest number of faulty components.
Diagnosis D = (C1(bm1), …, Cn(bmn)) is better than or equal to
D’ = (C1(bm’ 1), …, Cn(bm’n))
if:
bmi≠OK ⇒ bm’i ≠OK, i=1, …, n
Preferred Diagnoses in Probabilistic networks
1. The Maximum A Posteriori Interpretation (MAPI):
MAPI(E) = arg maxP(Hi |E)
usually called MPE Most probable explanation
sometimes only for evidentially supported causes
2. The Maximum Likelihood Interpretation (MLI):
MLI(E) = arg maxP(E|Hi)
3. The Probable Hypotheses Interpretation (PHI): PHI (E,σ) = {C : C is a toplevel C and P(C| E) ≥ σ where σ is a threshold for inclusion of atoplevel event
23
MINIMAL RANK
Prefer diagnoses with the smallest rank.
A rank r approximates the probability of a diagnosisaccording to the formula (Goldszmidt and Pearl, 1992):
Pr(D) ≈ εr
where ε is some very small quantity.
Assume that for each Ci∈COMPS, for each bmj∈DOM(Ci) an integer quantity ri,j (rank) is defined.Then D = (C1(bm1), …, Cn(bmn)) is better than or equal to D’ = (C1(bm’ 1), …, Cn(bm’n)) if:
Σri,j ≤ Σ r’i,j
Preferred Diagnoses