7 porad dotyczących wstępnego przetwarzania biosygnałów: jak poprawić solidność klasyfikatora Deep Learning

Dlaczego radzenie sobie z hałasem i zakłóceniami jest tak ważne

Zazwyczaj każde zadanie klasyfikacyjne (wykrywanie nieprawidłowości), związane z sygnałami biologicznymi, takie jak elektrokardiografia (EKG), elektroencefalografia (EEG), elektromiografia (EMG) itp., Może być uważane za problem z rozpoznawaniem szeregów czasowych.

Zgodnie z warunkami Karusha-Kuhna-Tuckera sygnały wejściowe powinny spełniać kryteria stacjonarności. Po prostu wzorce sygnałów wejściowych muszą być takie same lub podobne jak w zestawie treningowym, bez zmiany rozkładu sygnału w czasie.

Zwykle każde nagranie biosygnałów jest narażone na wiele dźwięków. Te zniekształcenia wprowadzają dodatkową wariancję do modelu z powodu naruszenia kryteriów stacjonarności.

Odgłosy te mogą mieć inny charakter i bardziej szczegółowe informacje można znaleźć tutaj i tutaj. Artykuły te opisują dźwięki EKG, ale można je również stosować do dowolnych sygnałów biologicznych.

Oznacza to, że ogólna wydajność klasyfikatora DL jest określona przez efektywność technik przetwarzania wstępnego.

Zobaczmy, jak praktycznie można poprawić solidność modelu głębokiego uczenia się dzięki przetwarzaniu wstępnemu.

1. 50% wydajnego cyfrowego przetwarzania sygnału stanowi wydajne przetwarzanie analogowe

Każde cyfrowe przetwarzanie sygnału rozpoczyna się od wydajnego kondycjonowania sygnału analogowego. Najczęstszy błąd związany jest z problemem aliasingu.

Zgodnie z twierdzeniem Nyquista częstotliwość próbkowania ADC powinna być 2 razy wyższa niż najwyższa częstotliwość sygnału wejściowego. Żaden sygnał nie spełnia tych kryteriów aliasy w głównej dziedzinie częstotliwości i maskuje użyteczny jako dodatkowe dźwięki:

Aby temu zapobiec, analogowy filtr dolnoprzepustowy jest stosowany przed ADC. Bardzo często inżynierowie sprzętu uważają prosty obwód RC za wystarczający do tego celu. Istnieje jednak ogromna różnica w odpowiedzi częstotliwościowej między doskonałym filtrem dolnoprzepustowym a rzeczywistym:

Składa się z charakterystyki częstotliwościowej idealnych (po lewej) i rzeczywistych (po lewej) filtrów analogowych

Upewnij się, że twój Inti-Aliasing LPF spełnia wymagania tłumienia na częstotliwości Nyquista (dodatkowe szczegóły, polecam tę książkę):

  • 50dB dla 8-bitowego ADC
  • 62dB dla 10-bitowego ADC
  • 74dB dla 12-bitowego ADC
  • 98dB dla 16-bitowego ADC

2. Użyj tego samego sprzętu do szkolenia i prognoz

Różne urządzenia definiują różne warunki rejestracji sygnału, takie jak nieliniowe zniekształcenia elektroniki, inna obudowa, różne położenie czujników itp.

Ponieważ różne warunki definiują różne sygnały, zalecam używanie tego samego sprzętu do modelowania treningu i prognozowania. Może to być przyczyną dodatkowego obciążenia zestawu treningowego.

Jeśli nie ma opcji, można wypróbować wstępne zniekształcenie zestawu treningowego, ale wymaga to dodatkowej wiedzy specjalistycznej w dziedzinie sprzętu i dźwięków.

3. Twierdzenie Nyquista o przyspieszeniu treningu

Jak opisano powyżej, twierdzenie Nyquista określa minimalną częstotliwość próbkowania ADC w celu zapisania 100% informacji o sygnale analogowym po konwersji. Oznacza to, że jeśli maksymalna częstotliwość sygnału jest niższa niż Fs / 2, ma nadmiarowość, którą można wykorzystać do przyspieszenia treningu sieci głębokiej.

Rozważmy przykład.

Istnieje sygnał EKG o częstotliwości próbkowania 125 Hz dostarczanej przez bazę danych Physionet (zastosowano filtr 30 Hz):

Wskazówka dotycząca wstępnego przetwarzania EKG: sygnały EKG przydzielają 0–100 Hz, ale można zastosować filtr dolnoprzepustowy 30 Hz. Utrzymuje nietknięte fale P i T, ale zmniejsza amplitudę piku R o 20-30%. Nie ma to krytycznego znaczenia dla wykrywania nieprawidłowości i zliczania tętna.

Gęstość widma mocy tego sygnału wygląda następująco:

Jak pokazano powyżej, główna część energii sygnału jest skoncentrowana w zakresie 0–30 Hz. Zdziesiątkujmy go do 80 Hz i porównajmy z oryginalnym sygnałem:

Demonstracja efektu dziesiętnego: sygnał o częstotliwości próbkowania 80 Hz (górna) i 125 Hz (dolna)

Oryginalny kształt zostaje zachowany, ale całkowita długość sygnału jest zmniejszona o 35%, z 92 do 59 próbek. Jest to równe 35% przyspieszenie treningu bez utraty dokładności.

Wykazanie skuteczności tego podejścia pokazano w moim projekcie Github.

Ważna uwaga: upewnij się, że zdziesiątkowanie nie utraci żadnych dodatkowych szczegółów, które mogłyby zostać wykorzystane do rozpoznania. Eksperymentowanie to jedyny sposób na udowodnienie. Ale praktycznie szkolenie dwóch modeli (CNN + LSTM) na sygnałach o zmniejszonej próbce jest zwykle szybsze niż szkolenie jednego modelu z oryginalną częstotliwością próbkowania bez utraty wydajności.

4. Zrozum wymagania dotyczące systemu

Przed wypróbowaniem bardziej złożonych algorytmów filtrowania, takich jak Wavelette lub adoptywna, zalecam zrozumienie, jakie funkcje są wymagane do rozpoznania.

Oto przykład.

Rozważmy, że zadaniem modelu Deep Learning jest wykrywanie arytmii podczas chodzenia. Zazwyczaj dane chodu EKG zawierają szum o niskiej częstotliwości:

Tymczasem wyraźny sygnał EKG wygląda następująco:

Fale P i T są maskowane, a wyodrębnienie ich jest dość trywialne. Zanim spróbujemy opracować złożone algorytmy, spójrzmy, co to właściwie arytmia:

Do wykrywania arytmii wystarczy tylko zliczanie impulsów, aby zbudować skuteczny detektor, ale oczywiście wędrówka linii podstawowej o niskiej częstotliwości wprowadza dodatkową różnorodność z naruszeniem stacjonarności.

Różne części EKG mogą przydzielać różne domeny widma:

Po prostu prosty filtr pasmowy 5–15 Hz rozwiązuje problem ekstrakcji R-pików. Dzięki zastosowaniu tego filtru fale P i T są tłumione (a związane z nim nieprawidłowości nie są dostępne do rozpoznania), ale wymagania dla systemu są spełnione.

Główna zasada: im więcej algorytmów jest złożonych, tym mniej jest niezawodny i wymaga więcej zasobów do wdrożenia (zarówno czasu, jak i pieniędzy). Najprostsza cyfrowa filtracja powinna być pierwszą rzeczą, którą musisz wypróbować.

5. Korzystaj z zasady MiniMax przy opracowywaniu rurociągów

Zasada MiniMax to świetna strategia z teorii gier.

Głównym problemem związanym z sygnałami biologicznymi jest zmiana jakości sygnałów w czasie:

  • Przypadek 1. Wysoka jakość przy niskiej aktywności podmiotu:
  • Przypadek 2. Niska jakość danych podczas intensywnego przenoszenia. P i T są maskowane i nie ma sposobu na wydobycie go z hałasu za pomocą systemu 1-kanałowego:

W pierwszym przypadku P, QRS, T są wykrywalne, co oznacza, że ​​można rozpoznać większość nieprawidłowych wzorców EKG (zawał serca, migotanie przedsionków itp.).

W przypadku drugiego można rozpoznać tylko niektóre nieprawidłowości związane z zespołem QRS (arytmia itp.).

Jak pokazano powyżej, najlepszym sposobem na wyodrębnienie QRS jest zastosowanie filtra pasmowego 5–15 Hz, tymczasem P i T zostaną stłumione.

W przypadku 2 nie będzie to miało krytycznego znaczenia, ponieważ szum P i T są maskowane przez szum, ale ogranicza liczbę możliwych wykrytych patologii przy wysokiej jakości danych na wejściu.

Najlepszym sposobem uniknięcia tego problemu jest zastosowanie filtra adaptacyjnego, który zmienia reakcję impulsową na zmieniające się środowisko:

Pomysł jest prosty:

  1. Wykonaj detektor jakości danych (detektory liniowe / CNN);
  2. Zdefiniuj zestaw filtrów;
  3. Ustaw zasadę zmiany odpowiedzi impulsowej w zależności od jakości sygnału wejściowego.

6. Inteligentny sposób korzystania z filtrów górnoprzepustowych

Zwykle wymagane jest filtrowanie górnoprzepustowe do radzenia sobie z wędrówką po linii podstawowej:

EEG z podstawowym poziomem hałasu

Oczywiste podejście rozważa zastosowanie filtra górnoprzepustowego. Głównym ograniczeniem tego jest bardzo niska częstotliwość odcięcia (0,05 Hz) i wysokie tłumienie pasma zatrzymania (> 30dB). Aby spełnić wymagania, filtr musi mieć wysoki poziom, co oznacza duże opóźnienie, co może nie być odpowiednie dla aplikacji w czasie rzeczywistym.

Alternatywny sposób:

  • Aby zdziesiątkować sygnał wejściowy;
  • Wyodrębnij szum linii podstawowej za pomocą filtra dolnoprzepustowego o częstotliwości odcięcia 0,05 Hz;
  • Interpolować sygnał;
  • Odejmij linię bazową od oryginalnego sygnału

Przykład kodu (Matlab) jest dostępny w tym repozytorium GitHub.

7. Eksperymenty iteracyjne

Jak każdy problem z Data Science, klasyfikacja sygnałów biologicznych jest iteracyjnym procesem eksperymentalnym, ponieważ różne podejścia do filtrowania mogą być odpowiednie dla różnych aplikacji.

Podsumowałem krótką listę technik filtrowania, od najbardziej niezawodnych do najgorszych.

UWAGA: To tylko moja osobista opinia, nie może pokrywać się z twoją.

  • Filtrowanie cyfrowe (FIR, IIR). FIR jest zalecany ze względu na brak zniekształceń opóźnienia grupowego. Ma umiarkowaną wydajność, idealnie w niespecyficznych warunkach, bardzo prosty do wdrożenia i w 100% solidny.
  • Filtrowanie falkowe. Dobra wydajność, ale realizacja może być złożona pod względem doboru parametrów.
  • Filtrowanie adaptacyjne. Ta metoda pokazuje gorszą wydajność niż filtrowanie Wavelet, ale jest znacznie prostsza do wdrożenia z dobrą zwinnością i wydajnością.
  • Independent Component Analysis (ICA) / Blind Source Separation (BSS). Implementacja algorytmu Fast ICA w najpopularniejszych językach programowania jest dostępna tutaj. Polecam, aby spróbować na końcu, ponieważ:
  1. Działa tylko z konfiguracjami wielokanałowymi;
  2. Przekonałem się, że solidność tego podejścia jest bardzo niska, ponieważ konwergencja nie jest gwarantowana;
  3. Wymaga stosunkowo więcej zasobów obliczeniowych, może nie nadawać się do aplikacji w czasie rzeczywistym.

___________________________________________________________________

Czy papier był przydatny? Dodaj swoją opinię na temat tego artykułu, klikając ten link

___________________________________________________________________

Dmitrii Shubin, inżynier R&D, Urządzenia medyczne

Toronto, ON, Kanada

Informacje kontaktowe:

E-mail: shubin.dmitrii.n@gmail.com

LinkedIn, GitHub