--- --- title: 9 – INDIVIDUAZIONE GUASTI CON IDENTIFICAZIONE DI PROCESSO tags: Misure info: dal video 08-10 minuto INIZIO fino al video 13-10 minuto FINE description: Blocco slide 9 --- --- # INDIVIDUAZIONE GUASTI CON IDENTIFICAZIONE DI PROCESSO ## Identificazione Identificare un sistema vuol dire avere a disposizione la possibilità di inserire un ingresso nel sistema, quindi variare gli ingressi, e misurare le uscite. Variando gli ingressi variano le uscite e analizzandoli insieme si vuole capire il modello che ha generato tale uscite partendo da determinati ingressi. ![](https://i.imgur.com/Zy3YUu8.png) Ci sono identificazioni **black-box** e **grey-box**, in quest'ultima oltre a dare ingressi e misurare uscite (come le black-box) abbiamo anche una struttura del modello (di questo ci manca la conoscenza dei parametri). Ad esempio, un drone è caratterizzato da un modello di equazioni differenziali noti ma alcuni parametri non li conosco (gray-box). Le tecniche che, nota la struttura, mi identificano i parametri sono note come **tecniche di stima parametrica**. Nella pratica i white-box non esistono, almeno che non è stato progettato da noi da 0 perché non conosciamo tutti i parametri. ### Partiamo dalla grey-box #### Introduzione - Il modello matematico di un processo descrive le relazioni che legano i segnali di ingresso $u(k)$ con i segnali di uscita $y(k)$ e sono fondamentali nella diagnosi dei guasti basata su modello. - In molti casi, tuttavia, un modello matematico del processo non esiste affatto, oppure alcuni parametri del modello non sono noti con certezza. - Le tecniche di identificazione del processo ci vengono in aiuto, e possono essere applicate in entrambi i casi, ovvero - per stimare parametri del modello e migliorare la conoscenza dello stesso (grey box) - per avere una conoscenza di uno o più parametri del processo quando di esso non è disponibile un modello matematico (black box) - L’obiettivo di questa lezione è quello di fornire una panoramica delle più importanti tecniche di identificazione, con particolare attenzione ai processi lineari - Si noti che - le tecniche di identificazione richiedono che il segnale di ingresso vari sempre nel tempo (forzamento stocastico, periodico o segnali di test) - il segnale di ingresso può essere “naturale” (e.g. attuatori, robotica mobile, ecc.) oppure "artificiale" e realizzato appositamente per l’identificazione Quando faccio una stima paramerica, la feature da generare può essere direttamente il parametro che stimo. (La massa del mio aereoplano è 10 tonnellate. La stimo online e vedo che inizia a calare e vuol dire ad esempio che ho un foro sul serbatoio e perdo carburante) Quando faccio stima parametrica so il modello del processo. Se, ad esempio, è tempo invariante, vado a generare gli ingressi e vado a misurare le corrispettive uscite per stimare i parametri del modello. #### Panoramica dei più importanti metodi di identificazione ![](https://i.imgur.com/3yRoyEU.png) Noi partiamo dalla parte sinistra. Riepilogando noi possiamo analizzare sia nel tempo continuo con Laplace, sia nel tempo discreto con la trasformata Z. Nel tempo discreto la $f(kT)$ mi rappresenta la funzione campionata uniformemente ogni istante di tempo di campionamento $T$. ![](https://i.imgur.com/RkmLn0Q.png) Nella pratica spesso invece che usare la trasformata Z si utilizza direttamente l'operatore ritardo, $z^{-n}f(k) \rightarrow f(k-n)$, per questo motivo si può non passare per la trasformata Z. Se $b_0 = 0$ allora la $y(k)$ non dipende da $u(k)$, per questo, nella trattazione di ARX e ARMAX (vediamo dopo) si parte da $u(k-1)$. La trattazione si farà con la trasformata Z (ricordare la proprietà che lega la trasformata Z a quella di Laplace). Il $k$ è l'istante di campionamento. Nella formula c'è $(u(k-1))$ perchè l'ingresso non modifica mai direttamente l'uscita, ma lo fa dopo un certo ritardo. $W(z)$ è la funzione di trasferimento del rumore. $G(z)$ è il sistema che voglio identificare. k è l'istante di campionamento. $\xi(k)$ è il rumore. Usiamo $u(k-1)$ perché l'ingresso non modifica istantaneamente l'uscita. ![](https://i.imgur.com/62ZognA.jpg) - Nei modelli d'errore di uscita si ha $W(z)=1$. L'errore si mappa solo su un distrubo in uscita. - Nei modelli d'errore di ingresso, l'errore si somma direttamente all'ingresso. ![](https://i.imgur.com/CN9jsZn.jpg) Noi utilizziamo i modelli ad errore di equazione e ci sono 2 tipi: - ARX (Auto Regressive Exogenous): Nel tempo: $y(k) = a_1y(k-1)+ a_2y(k-2) + ... + a_{na}y(k-na) + b_1u(k-1)+ b_2u(k-2) + ... + b_{nb}u(k-nb)+ \xi(k)$ In termini di funzione di trasferimento: $y(k)-a_1y(k-1) - ... - a_{na} y(k-na) = b_1 u(k-1) + ... + b_{nb} u(k-nb)$ Ora applico $Z$ (trasformata Z): $A(z) = 1-a_1z^{-1}-...-a_{na}z^{-na}$ e $B(z) = b_1z^{-1}+...+b_{nb}z^{-nb}$ e infine riscrivo l'equazione in termini di funzione di trasferimento $A(z)y(k) = B(z)u(k)+\xi(k)$ che sarebbe $y(k) = \frac{B(z)}{A(z)}u(k) + \frac{1}{A(z)} \xi (k)$ Che vuol dire l'ultima equazione? L'errore di equazione ARX significa dire che la $W(z)= \frac{1}{A(z)}$ e $G(z)=\frac{B(z)}{A(z)}$ <!-- ![](https://i.imgur.com/08cYxRm.jpg) --> nel esempio il prof ha considerato z , ma per essere corretti all'ultima formula ci doveva essere $(z-1)$ facendo correttamente i calcoli. - ARMAX: Auto Regressive Moing Average Exogeonous $y(k)=-a_1y(k-1)-...-a_{na}y(k-na)+b_1u(k-1)+...+b_{nb}u(k-nb)+\xi(k)+c_1\xi(k-1)+...+c_{nc}\xi(k-nc)$ Ho lo stesso $A(z)$ e $B(z)$ di prima ma si aggiunge $C(z) = 1+c_1z^{-1} + ... +c_{nc} z^{nc}$ <!--- ![](https://i.imgur.com/9tuquSE.jpg) ---> Il rumore non è il rumore bianco (come su ARX) ma è rumore colorato che è una media mobile del rumore che viene sommato e pesato ciascuno con il proprio coefficiente. Scriviamo il sistema come $A(z)y(k)-B(z)u(k) = C(z)\xi(k)$ -> torniamo alla notazione iniziale -> $y(k) = \frac{B(z)}{A(z)}u(k)+\frac{C(z)}{A(z)}\xi(k)$ dove $G(z)$ è il primo addendo e $W(z)$ è il secondo. Genericamente, possiamo modellare un sistema su cui agisce del rumore in questo modo. $G(z)$ ingloba i parametri del sistema e il rumore ce lo posso avere in ingresso, in uscita o in tutto il processo. Possono, dunque, avere modelli di errore in ingresso, uscita e ad errore di equazione. È importante ricordare la forma nel tempo dei modelli ARX. La usiamo per fare la stima parametrica. ARX e ARMAX sono equazioni alle differenze lineari. ARMAX è tempo invariante perchè i parametri $a_i , b_i, c_i$ sono costanti. ### Minimi quadrati (tecnica di stima parametrica) Partiamo da un modello ARX. Il sistema esatto è (comunque il rumore $\xi(k)$ non si conosce): ARX: $y(k) + a_1y(k-1) + ... + a_{n_a}y(k-n_a) = b_1u(k-d-1)+ ... + b_{n_b}u(k-d-n_b)+ \xi(k)$ assumo gli indici $n=n_a=n_b=m$. Inoltre, considerando $u(k-d-1)$ sto dicendo che l'ingresso attuale modifica l'uscita futura. $y(k) + a_1y(k-1)+ ... + a_{m}y(k-m) = b_1u(k-d-1)+ ... + b_{m}u(k-d-m)+ \xi(k)$ È caratterizzato da parametri esatti e ha un errore che nel migliore dei casi è un rumore bianco. Il nostro modello che tende al sistema: (Il cappello nei coefficienti vuol dire che sono stimati) $y(k)+\hat a_1y(k-1)+ ... + \hat a_my(k-m) = \hat b_1u(k-d-1)+ ... + \hat b_mu(k-d-m)+e(k)$ Nel caso migliore $e(k)$ tende a $\xi(k)$, nel caso classico $e(k)$ contiene $\xi(k)$ più tutta l'incertezza dei parametri (idealmente voglio che i parametri con il cappello tendano ai parametri senza cappello del modello esatto). ![](https://i.imgur.com/JKR2G08.jpg) L'ingresso $u(k)$ transiterà in $G(z^{-1})$, darà un'uscita su cui incide il rumore. $u(z)$ moltiplica $\hat B(z^{-1})$ mentre $y(k)$ moltiplica $\hat A(z^{-1})$ e poi tra i due viene fatta la differenza e quello che ottengo è l'errore. Voglio poter aggiornare i valori di $\hat A(z^{-1})$ e $\hat B(z^{-1})$. Quando si lavora nel dominio nel tempo si lavora con $z^{-1}$ (dove $z^{-1}$ è l'operatore ritardo) mentre quando si usa la Trasformata z si lascia $z$. L'operatore di ritardo genera dal punto di vista aritmetico lo stesso effetto della trasformata quindi si può usare $z^{-1}$ $G(z^{-1})$ è una funzione di ritardi che moltiplicata per l'ingresso mi dà l'uscita dove la rappresentazione tra ingresso e uscita è quella definita nell'equazione alle differenze della ARX. Dire che $G(z^{-1})$ moltiplica $u(k)$ significa dire che lo faccio passare all'interno di un sistema il cui effetto netto sarà ritardare ingressi e uscite secondo le modalità descritte dalla ARX ##### Predizione a un passo Adesso vediamo come utilizzare la tecnica dei minimi quadrati e per farlo faccio la predizione a un passo. $\hat{y}(k)= -\hat a_1y(k-1)-\dots-\hat a_my(k-m)+\hat b_1u(k-d-1)+\dots+\hat b_mu(k-d-m)$ Non includendo l'errore, sto facendo una stima dell'uscita attuale sulla base degli ingressi e delle uscite che conoscevo all'istante precedente e dei parametri che devo stimare (è definita come $\hat{y}(k | k-1)$, sono all'istante $k$, ho tutto lo storico fino a $k-1$), non sto utilizzando $k$. Posso riscrivere in maniera compatta $\hat{y}(k | k-1)= \vec \psi^T(k) \hat {\vec \theta}(k)$ ![](https://i.imgur.com/HgB30gp.png) Il vettore dei dati $\vec\psi^T(k)$ contiene tutti gli ingressi (con segno negativo) e tutte le uscite (con segno positivo) fino all'istante in cui sto misurando. Il vettore dei parametri $\theta(k)$ contiene tutti i parametri. L'errore che vado a misurare è pari a: $y(k)-\hat y(k|k-1) \circeq e(k)$ che posso riscrivere come $y(k)- \vec \psi^T(k)\hat{\vec \theta}=e(k)$ Devo stimare $2m$ parametri ma ho 1 equazione che ho preso all'istante $k$. Per riuscire a stimare tutti i parametri, devo prendere una finestra temporale e fare un numero $N$ di acquisizioni e istante per istante scrivo un'equazione che considera gli istanti precedenti. Ottengo un'equazione vettoriale. In questo modo, posso selezionare io il numero di equazioni che voglio andare a risolvere. Devo misurare $y(k)- \vec \psi^T(k)\hat{\vec \theta}=e(k)$ per $k \in [m+d, m+d+N]_{N \geq 2m }$ questa equazione è di tipo vettoriale, dove ogni riga è calcolata in un istante diverso ![](https://i.imgur.com/KdZY2oK.png) In questo modo ho esteso il numero di righe per avere più equazioni per poter stimare i $2m$ parametri con $N$ equazioni. **Voglio trovare i parametri che mi minimizzano l'errore quadratico ($e^T(m+d+N)e(m+d+N)$)** Devo trovare $\vec\theta$ tale che minimizza $V=\vec e^T(m+d+N) \cdot \vec e(m+d+N) = [\vec{y}^T-{\hat{\vec\theta}}^T\vec\psi^T]\cdot[\vec{y}-\vec{\psi}\hat{\vec \theta}]$ Per semplicità, abbiamo omesso gli argomenti $(m+d+N)$ nell'uguaglianza finale. $V$ è il quadrato dell'errore, la somma delle componenti al quadrato. <!---![](https://i.imgur.com/ZX5cMRq.jpg)---> ![](https://i.imgur.com/gEplBl6.jpg) Per minimizzare si pone la derivata uguale a zero sulla derivata non è l'obiettivo della lezione fare tutti i passaggi vuole far capire la logica che c'è La pseudo inversa è la forma generale con cui si può scrivere l'inversa di una matrice non quadrata. Se la matrice non è quadrata l'inversione deve essere fatta secondo una ragione, la pseudoinversa è l'inversa di una matrice tale per cui che si fa la risoluzione del problema lineare associato si ottengono i valori con l'errore quadratitico più piccolo, si usa l'errore quadratico perchè spesso i sistemi considerati sono elettro-meccanici e questo è una stima dell'energia quindi ridurlo vuol dire cercare una soluzione a energia minore (errore quadratico minore). All'algoritmo bisogna dire chi sono i parametri da ottimizzare, la matrice dei dati $\psi$ con tutte le acquisizioni di ingresso/uscita fatte. - questa soluzione si calcola **offline**: è in forma chiusa e quindi non è un algoritmo ricorsivo da fare online. Fatta l'acquisizione, si mettono i dati nell'algoritmo e questo restituisce $\hat A$ e $\hat B$ che minimizzano l'errore, e poi si confrontano con i loro valori di comportamento nominale - la soluzione non c'è sempre, dipende dall'inversa di $\psi \psi^T$. $\psi$ è data dalle righe che contengono al loro interno i dati, quindi ogni riga della matrice contiene le uscite e gli ingressi a un dato istante. Se l'ingresso è costante le righe sono tutte uguali quindi sono linearmente dipendenti e moltiplicato per il trasposto il determinante è uguale a 0. Per avere soluzione devo avere **$Det(\psi \psi^T) \neq 0$**. Ecco perché volevamo gli ingressi che variavano nel tempo. Se l'ingresso varia poco le righe sono simili (non sono uguali perchè c'è rumore) e il determinante è vicino allo 0 (badly scaled) e la stima dei parametri è affetta da molta incertezza - I gradi di libertà dei progettisti sono la scelta dei campioni $N$ e gli ingressi per sollecitare il sistema. - L'**errore di equazione è linearmente dipendente dai parametri** ![](https://i.imgur.com/yAVz2lx.png) ##### Minimi quadrati basati su errore di uscita ![](https://i.imgur.com/T0pGKRI.png) Se considero l'**errore di uscita questo è nonlinearmente dipendente dai parametri**. L'errore è dato dall'uscita del processo (che è sensorizzata) meno l'uscita del modello $y_M(\hat \theta,z)$. I parametri non sono linearmente correlati perchè non c'è somma ma un rapporto quindi non posso usare la tecnica di prima per stimare i parametri perchè non si può esplicitare la parte lineare. Questa tecnica si usa in forma ricorsiva (non si possono prendere tutti i dati e ottenere una risposta in forma chiusa), istante per istante si deve fare ottimizzazione. - la stima su errori di uscita è più accurata di quella basata su errori di equazione ma è mediamente più onerosa perchè bisogna lavorare online risolvendo un programma ricorsivo ###### Minimi quadrati ricorsivi È una variante dei minimi quadrati. Ogni volta con la pseudo inversa mi devo portare dietro tutte le misure di uscite e di ingressi dall'istante $k+d$ a $k+d+N$ e ogni volta che ho una nuova misura scarto una di quelle più vecchie per far spazio. Questo procedimento porta dietro molti dati e occupa molta memoria. Per questo posso fare una forma ricorsiva che è più onerosa come tempo di calcolo ma a livello di memoria richiede meno informazioni perchè la stima nuova dei parametri si basa sulla stima del passo precedente ($2N$ valori) + qualcosa che dipende da $y(k+1)$ - la stima dell'istante precedente della y ($\hat y$). Quindi, la stima attuale si basa sulla stima al passo precedente. Ogni volta si calcola l'aggiornamento rispetto al passo precendente più il processo di innovazione, ovvero si corregge la stima andando a pesare l'errore tra l'uscita che ho attualmente e l'uscita che avrei attualmente predetta dalla stima del modello (la nuova misura meno la predizione). Servono meno dati perchè basta portarsi dietro l'uscita all'istante precedente. ![](https://i.imgur.com/np0GbgW.png) La matrice P è la matrice di covarianza dei parametri. Inizialmente, i parametri sono settati a 0 e la coviarianza è altissima perchè dopo il primo passo i parametri varieranno tanto. Dal secondo step in poi il punto 2 non si ripete più perchè P poi si aggiorna da sola e tende a convergere verso un valore costante piccolo (perchè dopo molte iterazioni il parametro tende al valore vero, e più tende al valore vero più la varianza del parametro tende a diminuire). Concretamente la matrice di covarianza dice all'algoritmo che se faccio una buona stima di un parametro voglio che il parametro varii poco, se ho una brutta stima posso accettare grandi correzioni. #### Identificazione mediante stima parametrica : ELS ![](https://i.imgur.com/xRnTPtP.png) <span style="color: green">Riguardo la slide sopra, ha detto che, al fine dell'esame, dobbiamo sapere che, oltre a scegliere il tipo di rappresentazione (ARX, ARMAX, ecc) , possiamo scegliere anche la tipologia di errore di uscita e di ingresso che vogliamo avere, quindi ha detto che interessa che abbiamo capito questo concetto. </span> #### Identificazione mediante stima parametrica: Processi non stazionari Le tecniche viste fino adesso sono buone se il sistema ha un comportamento lineare o non lineare debole (è lineare per un po'). Approssimando linearmente all'inizio l'errore è poco poi aumenta. ![](https://i.imgur.com/Sazi85C.jpg) - Per molti processi i parametri che ne descrivono il comportamento non sono costanti nel tempo, i.e. il sistema varia nel tempo le sue caratteristiche dinamiche. - Un tipico esempio è il caso di sistemi nonlineari per i quali è stata eseguita la linearizzazione attorno ad un punto di lavoro per piccole variazioni: - se il punto di lavoro del sistema cambia, allora la dinamica non lineare emerge; - se il comportamento non lineare è debole e il punto di lavoro cambia lentamente, allora il sistema può essere approssimato come un sistema lineare con parametri varianti nel tempo (**Linear Parameter Varying**); - se il comportamento non lineare è forte allora l’identificazione parametrica (anche per parametri variabili nel tempo) non porta a buoni risultati. - Le tecniche di stima parametrica per processi non stazionari sono molteplici: quella presentata in questa lezione è basata sui minimi quadrati ricorsivi. Nei metodi visti precedentemente si è sempre supposto che i parametri del processo da identificare fossero costanti e, pertanto, sia i segnali misurati (u(k) e y(k)), sia l’errore e(k) sono stati pesati in egual misura al variare dell’istante k. Affinché una stima (ricorsiva) sia in grado di seguire un cambiamento lento nel tempo dei parametri, è necessario che le misure recenti siano pesate in maniera maggiore rispetto alle misure passate, ovvero l’algoritmo deve avere una **fading memory**. Utilizzo un peso variabile che pesa le ultime misure a seconda che il sistema abbia un comportamento non lineare più/meno costante. Se i parametri variano velocemente uso un fattore di oblio più piccolo, tale da modificare i parametri nel tempo. ![](https://i.imgur.com/UMER8KC.png) <span style="color: green"> Sembra che lui vuole solo il concetto non le formule (non lo ha detto esplicitamente). </span> Se la struttura che cattura la dinamica del sistema è altamente non lineare è opportuno utilizzare algoritmi di intelligenza artificiale (reti neurali). #### Esempio sistemi non lineari statici Si può utilizzare il metodo dei minimi quadrati per analizzare un sistema non lineare ma statico: ![](https://i.imgur.com/H5eJBdu.png) ### Identificazione mediante Reti neurali - Le reti neurali artificiali rappresentano un utile strumento per identificare processi nonlineari: non richiedono una specifica conoscenza della struttura del processo e quindi sono ampiamente applicabili. - Lo studio delle reti neurali nasce da un tentativo di comprendere le funzionalità del cervello e di definire una forma artificiale di calcolo che tenti di riprodurne le operazioni. - Essenzialmente le reti neurali costituiscono un approccio di tipo “bottom up” all’intelligenza artificiale: - una rete è formata dalla connessione di singoli elementi di elaborazione (Neuroni); - questi elementi sono poi connessi insieme in un modo ben strutturato e l’intensità e la natura di ogni connessione determina le caratteristiche operazionali complessive dell’intera rete. - I parametri adattabili di una rete neurale sono tipicamente sconosciuti, pertanto essi devono essere “addestrati” tramite il processamento dei segnali di ingresso e uscita. ![](https://i.imgur.com/QQD8lNm.png) Le reti neurali possono essere utilizzate per : - identificazione; - segmentazione (clustering); - classificazione **In diagnosi si utilizza l'identificazione per fare rilevamento guasti, e si usa apprendimento supervisionato per la classificazione.** - Per problemi di identificazione generali, i metodi di interesse sono quelli che non richiedono una conoscenza specifica della struttura del processo e che abbiano un campo di applicazione molto ampio. - Una ANN esegue una mappatura dei segnali di input su quelli di output attraverso l'interconnessione dei neuroni all'interno della rete. - Di solito i parametri della ANN sono sconosciuti, questi devono essere “addestrati” o “adattati” o “appresi” da opportuni pattern di dati ingresso-uscita: - questo è un tipico problema di identificazione; - se i segnali di ingresso e uscita si presentano raggruppati nei rispettivi spazi si ha un problema di pattern recognition. - Negli ultimi anni l’interesse per le reti neurali è considerevolmente aumentato e ciò è dovuto in parte ai sostanziali passi in avanti fatti dalla ricerca per quanto riguarda le tipologie di reti e le loro caratteristiche operazionali, ed in parte all’aumentata potenza dell’hardware dei computer che sono attualmente disponibili per implementare le reti. - Si definisce calcolo neurale lo studio di reti formate da nodi adattabili che, attraverso un processo di apprendimento da esempi del task da compiere, immagazzina conoscenza e la rende disponibile per l’uso. #### proprietà reti neurali - **Non linearità**: La rete è costituita dall'interconnessione di neuroni con funzione di attivazione non lineare, quindi è intrinsecamente non lineare. - **Mappatura input-output**: Un paradigma di addestramento consiste nel modificare i pesi sinaptici fornendo un set di pattern o esempi di apprendimento. Ad ogni input corrisponde un target e la rete evolve modificando i pesi nella direzione che minimizza l'errore. ![](https://i.imgur.com/8hTkX6D.png) - **Adattività**: La ANN ha la capacità di adattare i propri pesi ai cambiamenti dell'ambiente circostante. Una rete addestrata per uno specifico scopo può essere addestrata nuovamente nel caso in cui le condizioni operative varino. Si possono anche avere delle ANN dinamiche (per applicazioni non stazionarie). - **Tolleranza ai guasti**: Una ANN implementata in forma hardware può essere “tollerante ai guasti”, in effetti le sue performance decadono lentamente sotto avverse condizioni operative. Per esempio, in caso di malfunzionamento di uno o piu neuroni (o connessioni), l'elevata complessità strutturale permetterebbe la redistribuzione del carico di lavoro sull'intera rete. #### Pro e Contro Reti neurali **PRO:** - Le reti neurali godono dell’importante proprietà di sapere dedurre ed indurre da informazioni che potrebbero anche essere incomplete: - apprendimento di appropriati “modi di comportamento”, in risposta ai problemi presentati; - la rete può imparare particolari esempi dai dati che gli sono forniti e può successivamente non solo riconoscere tali modelli quando essi si ripresentano, ma puo anche riconoscere, generalizzando, dei modelli simili. - Questa speciale caratteristica di apprendere e generalizzare rende le reti neurali differenti dai convenzionali algoritmi di elaborazione. **CONTRO** - L’analisi delle loro caratteristiche di stabilità e di approssimazione è tutt’altro che banale. - La scelta di quale struttura sia più opportuna per la rete in relazione allo specifico problema da risolvere è un nodo fondamentale per il corretto funzionamento. #### Modello del neurone ![](https://i.imgur.com/cP11Py2.png) #### Tipologia di rete ![](https://i.imgur.com/yYFT3pG.png) #### Identificazione mediante reti neurali: MLP - Una rete Multi Layer Perceptron (MLP) è costituita da quattro sottocomponenti fondamentali. - **Sinapsi**,$W_{i,j}$ , ciascuna delle quali è caratterizzata da un proprio peso, ovvero il segnale di ingresso $x_i$ proveniente dalla sinapsi i connessa al neurone j viene moltiplicato per un peso $W_{i,j}$. Nella connessione sinaptica tra due neuroni, pertanto, l’indice i è riferito al neurone di partenza, mentre l’indice j è riferito al neurone di arrivo. Se il peso $W_{i,j}$ è positivo, allora la sinapsi si definisce eccitata, in caso contrario si definisce inibita. - **Addizionatore**,$Σ$, opera la somma dei segnali di ingresso, pesati dalle rispettive sinapsi. - **Funzione di attivazione**, γ, per definire il livello di attività dell’output del neurone e limitarne l’ampiezza. Tipicamente l’output del neurone è compreso in un intervallo normalizzato $[0, 1]$ oppure $[-1, +1]$. - **Bias**, $C_i$, parametri esterni del singolo neurone j, che hanno l’effetto di limitare l’input netto delle funzioni di attivazione. - Il neurone rappresenta l’unità fondamentale di processo all’interno della rete. - Una tipica rete MLP è costituita da diversi neuroni connessi in parallelo in modalità feedforward. ![](https://i.imgur.com/pgwVLFd.png) In parole povere, prende gli ingressi con pesi diversi, fa una somma pesata e restituisce una funzione sigmoide che è lineare vicino lo 0 poi satura. #### Identificazione mediante reti neurali: RBF ![](https://i.imgur.com/gaEzNUx.png) <span style="color: green"> NON HA PARLATO MINIMAMENTE DELLE FORMULE </span> #### RBF vs. MLP **RBF:** - Unico strato nascosto. - Strati nascosti di diverso tipo da quello di uscita - strato nascosto non lineare, - strato di uscita lineare, e per la stima dei parametri (relazione lineare) è sufficiente un algorimo ai minimi quadrati. - Operatore di ingresso calcola norma. - **Caratteristiche locali che decadono esponenzialmente**. Se do l'ingresso distante da un centro , l'uscita di quello strato nascosto tenderà a zero. Questo permette di ridurre l'overfitting. - Funziona solo per sistemi statici. - Serve posizionare bene i centri ed è complicato. **MLP**: - Può avere più strati nascosti. - Strati nascosti e di uscita dello stesso tipo (non lineari), per cui il tempo di calcolo è elevato e sono richiesti metodi di integrazione numerica (e.g. “delta-rule). - Operatore di ingresso calcola il prodotto interno. - **Approssimazione globale del rapporto ingresso-uscita non lineare**. Non ho la garanzia che a ingressi diversi corrispondono uscite diverse, perchè ogni ingresso può eccitare tutti gli strati. - Funziona solo per sistemi statici. #### Identificazione mediante reti neurali: sistemi dinamici Le reti neurali statiche appena viste possono essere estese con elementi dinamici per implementare reti neurali dinamiche: ![](https://i.imgur.com/ZjUoK8y.png) Nelle reti con dinamica esterna si danno ingressi alla rete istante per istante, poi li vado a ritardare in un certo numero di campioni e do di nuovo all'ingresso delle rete. La rete, istante per istante, prenderà non solo ingressi attuali ma anche valori dell'ingresso dei campioni precedenti. Ovviamente devo ritardare anche le uscite. Questa è semplice perchè per realizzarla basta modificare il dataset e non la rete. Nelle reti con dinamica interna l'attività del neurone viene filtrata (quindi ritardata), generando la dinamica. #### Generazione dei sintomi con i metodi di identificazione ![](https://i.imgur.com/CSckNop.png) ## Domande di riepilogo - Quali sono le motivazioni alla base dell’impiego dei metodi di identificazione per l’individuazione dei guasti? - Se io non ho un modello o ho solo la struttura ma non conosco bene i parametri, posso utilizzare le informazioni sperimentali (ingresso e uscita), per ricavare o il modello o i parametri che lo descrivono. Confrontando la stima con il modello originale, genero le feature diagnostiche che variando mi danno le informazione della possibile presenza di guasti. - Come funziona l’identificazione di un processo lineare discreto mediante stima parametrica? Che differenze ci sono tra approccio LS, RLS ed ELS? - Minimi quadrati ____<span style="color: green">**devo sapere come si formalizza il problema e come si va a risolvere: SE NON CI RICORDIAMO I PASSAGGI NON FINISCE IL MONDO, almeno ricordarci la logica e riuscire a dire che la stima è qualcosa che può essere calcolata tramite la pseudo inversa, direttamente dalla matrice dei dati** </span>, - RLS mi permette di occupare meno memoria, aggiornando ogni volta l'ultima stima, mentre ELS utilizza un modello ARMAX. - Come è possibile estendere le tecniche prima descritte in caso di processo lineare non stazionario e/o continuo? - le adatto con un forgetting factor, pesando di più o di meno le ultime variazioni. - Come è possibile identificare un processo nonlineare? Spiegare la differenza tra approccio statico e approccio dinamico. - si utilizzano le reti neurali - Come è possibile impiegare le reti neurali artificiali per l’identificazione di processi? - <span style="color: green"> **non chiede il modello di un percettrone o che cos'è un RBF** </span> ma chiede come utilizzare le reti neurali per fare rilevamento guasti, quindi bisogna sapere dire: - come funziona - come si addestra - come posso utilizzare la rete per capire se c'è guasto o meno (confronto tra uscita della rete e l'uscita del processo che sto misurando in tempo reale).