7 consigli per la preelaborazione di biosegnali: come migliorare la robustezza del tuo classificatore Deep Learning

Perché affrontare rumori e distorsioni è così importante

In genere, qualsiasi attività di classificazione (rilevazione di anomalie), correlata a biosegnali, come elettrocardiografia (ECG), elettroencefalografia (EEG), elettromiografia (EMG), ecc. Può essere considerata un problema di riconoscimento delle serie temporali.

Secondo le condizioni di Karush – Kuhn – Tucker, i segnali di ingresso dovrebbero soddisfare i criteri di stazionarietà. Semplicemente, i modelli dei segnali di input devono essere uguali o simili come in un set di allenamento senza cambiare la distribuzione del segnale nel tempo.

Di solito, qualsiasi registrazione di biosegnali è esposta a molti rumori. Queste distorsioni inseriscono una varianza aggiuntiva nel modello a causa della violazione dei criteri di stazionarietà.

Questi rumori possono avere natura diversa e informazioni più specifiche che puoi trovare qui e qui. Questi articoli descrivono i rumori dell'ECG, ma possono anche essere applicati a qualsiasi segnale biologico.

Ciò significa che le prestazioni complessive del classificatore DL sono definite dall'efficienza delle tecniche di pre-elaborazione.

Diamo un'occhiata a come, praticamente, è possibile migliorare la solidità del modello di apprendimento profondo con la preelaborazione.

1. Il 50% dell'elaborazione del segnale digitale efficiente è l'elaborazione analogica efficiente

Qualsiasi elaborazione del segnale digitale inizia con un efficiente condizionamento del segnale analogico. L'errore più comune è legato al problema di aliasing.

Secondo il teorema di Nyquist, la frequenza di campionamento dell'ADC dovrebbe essere 2 volte superiore alla frequenza più alta del segnale di ingresso. Qualsiasi segnale non rientra negli alias di questo criterio nel dominio della frequenza principale e maschera uno utile come rumore aggiuntivo:

Per evitare questo problema, il filtro passa-basso analogico viene applicato prima di ADC. Molto spesso gli ingegneri hardware considerano il semplice circuito RC sufficiente a tale scopo. Ma c'è un'enorme differenza nella risposta in frequenza tra il filtro passa basso perfetto e quello reale:

Composto dalle caratteristiche di frequenza dei filtri analogici ideali (a sinistra) e reali (a sinistra)

Assicurati che il tuo LPF Inti-Aliasing soddisfi i requisiti di soppressione sulla frequenza di Nyquist (per ulteriori dettagli, raccomando questo libro):

  • 50 dB per ADC a 8 bit
  • 62dB per ADC a 10 bit
  • 74dB per ADC a 12 bit
  • 98dB per ADC a 16 bit

2. Utilizzare lo stesso hardware per formazione e previsioni

Dispositivi diversi definiscono condizioni di registrazione del segnale diverse, come distorsioni non lineari dell'elettronica, involucro diverso, diversa posizione dei sensori, ecc.

Dal momento che condizioni diverse definiscono segnali diversi, consiglierei di utilizzare lo stesso hardware per il modello di addestramento e fare previsioni. Può essere una causa del pregiudizio aggiuntivo sul set di allenamento.

Se non ci sono opzioni, è possibile provare la pre-distorsione del set di addestramento, ma richiede ulteriori competenze nei domini hardware e dei rumori.

3. Teorema di Nyquist per accelerare l'addestramento

Come descritto sopra, il teorema di Nyquist definisce una frequenza di campionamento minima dell'ADC per salvare il 100% delle informazioni del segnale analogico dopo la conversione. Ciò significa che se la frequenza massima del segnale è inferiore a Fs / 2, ha la ridondanza, che può essere utilizzata per accelerare l'addestramento della rete profonda.

Consideriamo un esempio.

C'è il segnale ECG con la frequenza di campionamento 125 Hz fornita dal database Physionet (è stato applicato un filtro da 30 Hz):

Il suggerimento per la preelaborazione dell'ECG: i segnali ECG assegnano 0–100Hz, ma è possibile applicare il filtro passa-basso a 30Hz. Mantiene inalterate le onde P e T, ma riduce l'ampiezza del picco R del 20-30%. Non è fondamentale per il rilevamento di eventuali anomalie e conteggio della frequenza cardiaca.

La densità dello spettro di potenza di quel segnale è simile a:

Come mostrato sopra, la parte principale dell'energia del segnale è concentrata tra 0–30Hz. Decimiamolo in 80Hz e confrontiamolo con il segnale originale:

Dimostrazione dell'effetto di decimazione: segnale con frequenza di campionamento di 80Hz (superiore) e 125Hz (inferiore)

La forma originale viene mantenuta, ma la lunghezza complessiva del segnale viene ridotta del 35%, da 92 a 59 campioni. È pari al 35% di accelerazione dell'allenamento senza perdita di precisione.

La dimostrazione dell'efficienza di tale approccio è mostrata nel mio progetto Github.

Nota importante: assicurati che la tua decimazione non perda ulteriori dettagli che potrebbero essere utilizzati per il riconoscimento. Sperimentare è l'unico modo per provare. Ma in pratica, l'addestramento di due modelli sovrapposti (CNN + LSTM) sui segnali downsampled è in genere più rapido dell'allenamento di un modello con la frequenza di campionamento originale senza perdita delle prestazioni.

4. Comprendere i requisiti per il sistema

Prima di provare algoritmi di filtro più complessi, come Wavelette o adottivo, consiglierei di capire quali funzionalità sono necessarie per il riconoscimento.

Ecco un esempio.

Consideriamo che il compito del modello di Deep Learning è il rilevamento dell'aritmia mentre si cammina. In genere, i dati di camminata dell'ECG contengono rumore a bassa frequenza:

Nel frattempo, il chiaro segnale ECG è simile al seguente:

Le onde P e T sono mascherate ed è un compito abbastanza non banale estrarlo. Prima di provare a sviluppare algoritmi complessi, diamo un'occhiata, che cos'è effettivamente l'aritmia:

Per il rilevamento dell'aritmia, è sufficiente solo il conteggio degli impulsi per costruire il rivelatore efficiente, ma ovviamente il vagabondaggio della linea di base a bassa frequenza inserisce una varietà aggiuntiva con violazione della stazionarietà.

Parti diverse dell'ECG possono allocare domini di spettro diversi:

Semplicemente, un semplice filtro passa-banda da 5–15Hz risolve il problema dei picchi R di estrazione. Con l'applicazione di quel filtro, le onde P e T vengono soppresse (e le anomalie ad esso correlate non sono disponibili per il riconoscimento), ma i requisiti per il sistema sono soddisfatti.

La regola principale: poiché più algoritmo è complesso, in quanto meno robusto e richiede più risorse per l'implementazione (sia tempo che denaro). La filtrazione digitale più semplice dovrebbe essere la prima cosa che devi provare.

5. Utilizzare il principio MiniMax nello sviluppo di condotte

Il principio MiniMax è la grande strategia della teoria dei giochi.

Il problema principale con i biosegnali è il cambiamento della qualità dei segnali nel tempo:

  • Caso 1. Alta qualità durante la bassa attività del soggetto:
  • Caso 2. Scarsa qualità dei dati durante gli spostamenti intensi. P e T sono mascherati e non c'è modo di estrarlo dal rumore con un sistema a 1 canale:

Per il primo caso P, QRS, T sono rilevabili, significa che la maggior parte dei modelli ECG anormali (attacco cardiaco, fibrillazione atriale, ecc.) Potrebbe essere riconosciuta.

Per il secondo, solo alcune anomalie legate al QRS (aritmia, ecc.) Potrebbero essere riconosciute.

Come mostrato sopra, il modo migliore per estrarre QRS è applicare un filtro passa-banda da 5 a 15Hz, nel frattempo P e T saranno soppressi.

Per il caso 2 non sarà critico poiché P e T sono mascherati dal rumore, ma limita la quantità di possibili patologie rilevate mentre i dati di alta qualità all'ingresso.

Il modo migliore per evitare questo problema è applicare un filtro adattivo, che cambia la sua risposta all'impulso al cambiamento dell'ambiente:

L'idea è semplice:

  1. Rilevatore della qualità dei dati (rilevatori lineari / CNN);
  2. Definire un set di filtri;
  3. Regola la modifica della risposta all'impulso in base alla qualità del segnale di ingresso.

6. Il modo intelligente di utilizzare i filtri passa-alto

Di solito, per gestire il vagabondaggio della linea di base è necessario il filtro passa-alto:

ELETTROENCEFALOGRAMMA con rumore di base

L'approccio ovvio considera l'applicazione del filtro passa-alto. Il principale vincolo è costituito da una frequenza di taglio molto bassa (0,05Hz) e una soppressione della banda di arresto elevata (> 30 dB). Per soddisfare i requisiti, il filtro deve avere un ordine elevato, il che significa un lungo ritardo, che potrebbe non essere adatto per applicazioni in tempo reale.

Un modo alternativo:

  • Decimare il segnale di ingresso;
  • Estrai il rumore di base con l'applicazione di un filtro passa-basso con una frequenza di taglio di 0,05 Hz;
  • Interpolare il segnale;
  • Sottrai la linea di base dal segnale originale

L'esempio di codice (Matlab) è disponibile in questo repository GitHub.

7. Sperimentazione iterativa

Come ogni problema di Data Science, la classificazione dei biosegnali è un processo sperimentale iterativo, poiché diversi approcci di filtraggio possono essere adatti a diverse applicazioni.

Ho riassunto un elenco di tecniche di filtraggio, dalle più affidabili alle peggiori.

NOTA: è solo una mia opinione personale, non può coincidere con la tua.

  • Filtro digitale (FIR, IIR). FIR è raccomandato a causa dell'assenza di distorsioni del ritardo di gruppo. Ha prestazioni moderate, idealmente per condizioni non specifiche, molto semplici da implementare e robuste al 100%.
  • Filtraggio Wavelet. Prestazioni elevate, ma la realizzazione può essere complessa in termini di selezione dei parametri.
  • Filtraggio adattivo. Questo metodo mostra prestazioni peggiori rispetto al filtro Wavelet, ma è molto più semplice da implementare con una buona agilità e prestazioni.
  • Independent Component Analysis (ICA) / Blind Source Separation (BSS). L'implementazione dell'algoritmo Fast ICA nei linguaggi di programmazione più diffusi è disponibile qui. Lo consiglio per provare per ultimo, perché:
  1. Funziona solo con configurazioni multicanale;
  2. Ho trovato la solidità di questo approccio molto scarsa perché la convergenza non è garantita;
  3. Richiede relativamente più risorse di calcolo, potrebbe non essere adatto per applicazioni in tempo reale.

___________________________________________________________________

Hai trovato utile l'articolo? Per favore, lascia il tuo feedback sull'articolo da questo link

___________________________________________________________________

Dmitrii Shubin, ingegnere R&D, dispositivi medici

Toronto, ON, Canada

Informazioni di contatto:

Email: shubin.dmitrii.n@gmail.com

LinkedIn, GitHub