7 consejos para el preprocesamiento de bioseñales: cómo mejorar la solidez de su clasificador de aprendizaje profundo

¿Por qué es tan importante lidiar con los ruidos y las distorsiones?

Por lo general, cualquier tarea de clasificación (detección de anomalías), relacionada con señales biológicas, como electrocardiografía (ECG), electroencefalografía (EEG), electromiografía (EMG), etc., puede considerarse como un problema de reconocimiento de series temporales.

Según las condiciones de Karush – Kuhn – Tucker, las señales de entrada deben ajustarse a los criterios de estacionariedad. Simplemente, los patrones de las señales de entrada deben ser iguales o similares a los de un conjunto de entrenamiento sin cambiar la distribución de la señal a lo largo del tiempo.

Por lo general, cualquier grabación de señales biológicas está expuesta a muchos ruidos. Estas distorsiones insertan una variación adicional en el modelo debido a la violación de los criterios de estacionariedad.

Estos ruidos pueden tener una naturaleza diferente e información más específica que puede encontrar aquí y aquí. Estos artículos describen ruidos de ECG, pero también se pueden aplicar a cualquier bioseñal.

Eso significa que el rendimiento general de su clasificador DL ​​está definido por la eficiencia de las técnicas de preprocesamiento.

Echemos un vistazo, cómo, prácticamente, es posible mejorar la solidez del modelo de aprendizaje profundo con preprocesamiento.

1. El 50% del procesamiento eficiente de la señal digital es el procesamiento analógico eficiente

Cualquier procesamiento de señal digital comienza con un eficiente acondicionamiento de señal analógica. El error más común está relacionado con el problema de alias.

Según el teorema de Nyquist, la frecuencia de muestreo del ADC debe ser 2 veces mayor que la frecuencia más alta de la señal de entrada. Cualquier señal no se ajusta a este alias de criterio en el dominio de frecuencia principal y enmascara uno útil como ruidos adicionales:

Para evitar este problema, el filtro de paso bajo analógico se aplica antes del ADC. Muy a menudo, los ingenieros de hardware consideran que un circuito RC simple es suficiente para ese propósito. Pero hay una gran diferencia en la respuesta de frecuencia entre el filtro de paso bajo perfecto y el real:

Compuesta por la característica de frecuencia de los filtros analógicos ideales (izquierda) y reales (izquierda)

Asegúrese de que su LPF Inti-Aliasing cumpla con los requisitos de la supresión de la frecuencia Nyquist (para más detalles, recomiendo este libro):

  • 50dB para ADC de 8 bits
  • 62dB para ADC de 10 bits
  • 74dB para ADC de 12 bits
  • 98dB para ADC de 16 bits

2. Use el mismo hardware para entrenamiento y predicciones

Los diferentes dispositivos definen diferentes condiciones de grabación de señal, como distorsiones no lineales de la electrónica, diferentes recintos, diferentes posiciones de los sensores, etc.

Dado que diferentes condiciones definen diferentes señales, recomendaría usar el mismo hardware para entrenar el modelo y hacer predicciones. Puede ser una causa del sesgo adicional en el conjunto de entrenamiento.

Si no hay opciones, es posible intentar la distorsión previa del conjunto de entrenamiento, pero requiere experiencia adicional en el hardware y los dominios de ruidos.

3. Teorema de Nyquist para acelerar el entrenamiento.

Como se describió anteriormente, el teorema de Nyquist define una frecuencia de muestreo mínima del ADC para guardar el 100% de la información de la señal analógica después de la conversión. Eso significa que, si la frecuencia máxima de la señal es inferior a Fs / 2, tiene la redundancia, que puede usarse para acelerar el entrenamiento de la Red Profunda.

Consideremos un ejemplo.

Existe la señal de ECG con la frecuencia de muestreo de 125 Hz proporcionada por la base de datos Physionet (se aplicó un filtro de 30 Hz):

La sugerencia para el preprocesamiento de ECG: las señales de ECG asignan 0–100Hz, pero se puede aplicar el filtro de paso bajo de 30Hz. Mantiene las ondas P y T intactas, pero disminuye la amplitud del pico R en un 20-30%. No es crítico para la detección de anormalidades y el conteo del ritmo cardíaco.

La densidad del espectro de potencia de esa señal se ve así:

Como se muestra arriba, la parte principal de la energía de la señal se concentra entre 0 y 30Hz. Vamos a diezmarlo a 80Hz y compararlo con la señal original:

Demostración del efecto de diezmado: señal con frecuencia de muestreo de 80Hz (superior) y 125Hz (inferior)

Se mantiene la forma original, pero la longitud total de la señal se reduce en un 35%, de 92 a 59 muestras. Es igual al 35% de aceleración del entrenamiento sin pérdida de precisión.

La demostración de la eficiencia de ese enfoque se muestra en mi proyecto Github.

Nota importante: asegúrese de que su diezmado no pierda ningún detalle adicional que pueda usarse para el reconocimiento. Experimentar es la única forma de probar. Pero en la práctica, entrenar dos modelos apilados (CNN + LSTM) en señales de muestreo reducido suele ser más rápido que entrenar un modelo con la frecuencia de muestreo original sin pérdida de rendimiento.

4. Comprender los requisitos del sistema.

Antes de probar algoritmos de filtrado más complejos, como Wavelette o adoptivo, recomiendo comprender qué funciones son necesarias para el reconocimiento.

Aquí hay un ejemplo.

Consideremos que la tarea para el modelo de aprendizaje profundo es la detección de arritmia al caminar. Por lo general, los datos de caminata del ECG contienen ruido de baja frecuencia:

Mientras tanto, la clara señal de ECG se ve así:

Las ondas P y T están enmascaradas y es una tarea bastante trivial extraerla. Antes de intentar desarrollar algoritmos complejos, echemos un vistazo, qué es realmente la arritmia:

Para la detección de arritmia, solo el conteo de pulsos es suficiente para construir el detector eficiente, pero obviamente, el vagabundeo de baja frecuencia inserta una variedad adicional con violación de la estacionariedad.

Diferentes partes del ECG pueden asignar diferentes dominios de espectro:

Simplemente, un filtro Bandpass simple de 5–15Hz resuelve el problema de los picos R de extracción. Con la aplicación de ese filtro, se suprimen las ondas P y T (y las anomalías relacionadas con él no están disponibles para el reconocimiento), pero se cumplen los requisitos del sistema.

La regla principal: a medida que más algoritmo es complejo, menos robusto y requiere más recursos para la implementación (tanto tiempo como dinero). Lo primero que debe probar es la filtración digital más simple.

5. Use el principio MiniMax en el desarrollo de tuberías

El principio MiniMax es la gran estrategia de la teoría del juego.

El principal problema con las señales biológicas es el cambio de la calidad de las señales a lo largo del tiempo:

  • Caso 1. Alta calidad durante la baja actividad del sujeto:
  • Caso 2. Mala calidad de los datos durante el movimiento intenso. P y T están enmascarados y no hay forma de extraerlo del ruido con un sistema de 1 canal:

Para el primer caso P, QRS, T son detectables, significa que la mayoría de los patrones anormales de ECG (ataque cardíaco, fibrilación auricular, etc.) podrían reconocerse.

Para el segundo, solo se pudieron reconocer algunas anormalidades relacionadas con QRS (arritmia, etc.).

Como se muestra arriba, la mejor manera de extraer QRS es aplicar un filtro de paso de banda de 5–15Hz, mientras que P y T se suprimirán.

Para el caso 2 no será crítico ya que P y T están enmascarados por el ruido, pero limita la cantidad de posibles patologías detectadas mientras que los datos de alta calidad en la entrada.

La mejor manera de evitar este problema es aplicar un filtro adaptativo, que cambia su respuesta impulsiva al entorno cambiante:

La idea es simple:

  1. Hacer detector de la calidad de los datos (detectores lineales / CNN);
  2. Definir un conjunto de filtros;
  3. Haga una regla de cambiar la respuesta al impulso dependiendo de la calidad de la señal de entrada.

6. La forma inteligente de usar filtros de paso alto

Por lo general, se requiere un filtrado de paso alto para lidiar con el vagabundeo de línea de base:

EEG con ruido de referencia

El enfoque obvio considera aplicar el filtro de paso alto. La principal restricción para eso es una frecuencia de corte muy baja (0.05Hz) y una supresión de banda de parada alta (> 30dB). Para cumplir con los requisitos, el filtro debe tener un orden alto, lo que significa un largo retraso, que puede no ser adecuado para aplicaciones en tiempo real.

Una forma alternativa:

  • Para diezmar la señal de entrada;
  • Extraiga el ruido de referencia con la aplicación de un filtro de paso bajo con una frecuencia de corte de 0.05 Hz;
  • Interpolar la señal;
  • Resta la línea base de la señal original

El ejemplo de código (Matlab) está disponible en este repositorio de GitHub.

7. Experimentación iterativa

Al igual que cualquier problema de Data Science, la clasificación de bioseñales es un proceso experimental iterativo, porque diferentes enfoques de filtrado pueden ser adecuados para diferentes aplicaciones.

He resumido una lista breve de técnicas de filtrado, desde la más confiable hasta la peor.

NOTA: Solo es mi opinión personal, no puede coincidir con la tuya.

  • Filtrado digital (FIR, IIR). FIR se recomienda debido a la ausencia de distorsiones de retraso de grupo. Tiene un rendimiento moderado, ideal para condiciones inespecíficas, muy simple de implementar y 100% robusto.
  • Filtrado de wavelets. Fuerte rendimiento, pero la realización puede ser compleja en términos de selección de parámetros.
  • Filtrado adaptativo. Este método muestra un rendimiento más bajo que el filtrado Wavelet, pero es mucho más simple de implementar con buena agilidad y rendimiento.
  • Análisis de componentes independientes (ICA) / Separación de fuente ciega (BSS). La implementación del algoritmo Fast ICA en los lenguajes de programación más populares está disponible aquí. Recomiendo que intentes el último porque:
  1. Funciona solo con configuraciones multicanal;
  2. La robustez de ese enfoque me pareció muy pobre porque la convergencia no está garantizada;
  3. Requiere relativamente más recursos de computación, puede no ser adecuado para aplicaciones en tiempo real.

___________________________________________________________________

¿Encontró útil el documento? Por favor, deje sus comentarios sobre el artículo en este enlace.

___________________________________________________________________

Dmitrii Shubin, ingeniero de I + D, dispositivos médicos

Toronto, ON, Canadá

Datos de contacto:

Correo electrónico: shubin.dmitrii.n@gmail.com

LinkedIn, GitHub