IA e Diagnosi - di.unito.itbotta/didattica/LezioneDiagnosi.pdf · If siccità and luglio then...

23
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

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