$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Declaración ética
Este estudio se basó íntegramente en datos públicos y anonimizados de ECG descargados de PhysioNet. Todos los conjuntos de datos utilizados en este estudio se recopilaron originalmente con el consentimiento de los sujetos y con la aprobación ética de los respectivos propietarios de los datos. Esta investigación no requirió recopilación de datos, trabajo experimental con sujetos humanos o animales, ni información de identidad personal del paciente. Por tanto, no se solicitó ninguna revisión ética adicional.
Metodología
La Figura 2 ilustra el flujo de trabajo de la arquitectura propuesta.
Recogida de datos
Los datos del ECG se recopilan de la base de datos PhysioNet, un repositorio popular de señales fisiológicas. Se recuperan múltiples conjuntos de datos de la base de datos. Estos conjuntos de datos se fusionan en un único conjunto principal que incluye varias clases de señales de ECG.
Conjuntos de datos utilizados
Este estudio utilizó varios conjuntos de datos de ECG disponibles públicamente para desarrollar y evaluar un modelo de aprendizaje profundo para la clasificación de arritmias. La selección de estos conjuntos de datos se realizó con cuidado, considerando su diversidad en términos de demografía de pacientes y la variedad de tipos de arritmias, para asegurar que el modelo propuesto funcione bien en diferentes escenarios9. Para este estudio, solo se combinaron datos de plomo-I de la Base de Datos de Arritmias del MIT-BIH, la Base de Datos de Arritmias Supraventriculares del MIT-BIH, la Base de Datos de Arritmias INCART de 12 derivaciones de San Petersburgo y la Base de Datos Holter de Muerte Súbita Cardíaca. Estos conjuntos de datos son conocidos por sus grabaciones de ECG anotadas y de alta calidad que abarcan un amplio espectro de clases de arritmias.
Los conjuntos de datos combinados anteriores incluyen demografía de pacientes, dispositivos de registro, frecuencias de muestreo y configuraciones. La variabilidad mencionada anteriormente en el modelo mejora su generalización al exponerlo a una amplia gama de morfologías de ECG, ruido y ritmos.
Descripción de conjuntos de datos
Base de datos de arritmias del MIT-BIH
El conjunto de datos de arritmias del MIT-BIH contiene 48 grabaciones de ECG de media hora, numeradas del 100 al 234. Cada registro contiene señales ECG de dos canales digitalizadas a 360 muestras por segundo. Los datos se almacenan en formatos .dat, .hea y .atr.
Base de datos de arritmias supraventriculares del MIT-BIH
Este es un subconjunto específico de las bases de datos del MIT-BIH. La Base de Datos de Arritmias Supraventriculares del MIT-BIH incluye 78 registros completos de ECG, que van desde 30 minutos hasta varias horas, numerados del 801 al 811. Cada registro incluye señales ECG de dos canales, convertidas a formato digital a 128 muestras por segundo.
La base de datos de arritmias de 12 derivaciones INCART de San Petersburgo
Esta base de datos incluye 75 grabaciones anotadas tomadas de 32 monitores Holter. Cada grabación dura 30 minutos e incluye 12 solos estándar, cada uno muestreado a 257 Hz. La intensidad de la señal varía entre 250 y 1100 unidades de convertidor analógico-digital por milivoltio.
Base de datos Holter por muerte cardíaca imprevista
Este conjunto de datos es uno de los muchos registros Holter de acceso abierto que capturan ocurrencias fácticas de taquicardia ventricular (TV) y fibrilación ventricular (FV). Ambos pueden provocar muertes cardíacas imprevistas. Cada disco tiene una duración de 24 horas y está muestreado a 250 Hz.
Preprocesamiento de datos
En este estudio se utilizaron cuatro bases de datos públicas de ECG con diferentes tasas de muestreo: Arritmia MIT-BIH (360 Hz), Arritmia Supraventricular MIT-BIH (128 Hz), INCART de San Petersburgo de 12 derivaciones (257 Hz) y Holter de Muerte Cardíaca Súbita (250 Hz). Para garantizar que todos los datos fueran consistentes y pudieran combinarse durante el entrenamiento del modelo, todas las señales del ECG se remuestreaban a una frecuencia común de 360 Hz, que coincide con la base de datos de arritmias del MIT-BIH y se utiliza comúnmente como estándar en la investigación del ECG. El remuestreo se realizaba mediante interpolación limitada por banda; inicialmente, las señales ECG fueron filtradas en paso bajo para evitar aliasing, y posteriormente se utilizó un núcleo de reconstrucción basado en SINC para la interpolación, seguido de un remuestreo final a 360 Hz. Tras el remuestreo, cada señal se dividió en ventanas de 180 muestras, aproximadamente equivalentes a 0,5 s de datos, asegurando que todos los conjuntos de datos tuvieran la misma resolución temporal. Esta estandarización permitió combinar señales de diferentes bases de datos para entrenamiento y prueba, ayudando al modelo a aprender patrones consistentes a lo largo del tiempo.
El preprocesamiento implicaba varios pasos importantes para garantizar la calidad de los datos de entrada:
Segmentación de datos:
Tras el remuestreo, cada señal de ECG se dividía en ventanas de longitud fija de 180 muestras. Esto corresponde a unos 0,5 s de duración de señal a una frecuencia de muestreo de 360 Hz. Esta investigación utilizó una ventana deslizante fija y no solapada para la segmentación. Cada ventana recogió una secuencia continua de muestras de ECG. El estudio eligió una ventana de 180 muestras porque un intervalo de 0,5 s es suficiente para capturar un ciclo cardíaco completo o sus partes principales: la onda P, el complejo QRS y la onda T, para la frecuencia cardíaca típica en adultos. Se asignaba una etiqueta de clase a cada segmento basada en la anotación situada en el centro del segmento. De este modo, la etiqueta del segmento coincidía con la forma principal del latido dentro de esa ventana. Método de ventana deslizante, aplicó esta función de segmentación:

donde si es la muestra de ECG en el tiempo i.
Normalización:
Normalizé los datos segmentados del ECG con escalado Min-Max para asegurarme de que todas las características tuvieran valores entre 0 y110.

Este paso ayuda a acelerar la convergencia del modelo durante el entrenamiento.
Balanceo de clases con SMOTE
Los latidos normales (N) superaban ampliamente a las clases de latidos anormales en el conjunto de datos del ECG, que mostraron un desequilibrio significativo de clases. Tras segmentación, normalización y división de pruebas, el conjunto de datos de entrenamiento fue sometido a la Técnica de Sobremuestreo de Minorías Sintéticas (SMOTE) para abordar este problema.
Se utilizó un espacio de características de 180 dimensiones para representar cada segmento del ECG, compuesto por 180 muestras normalizadas. SMOTE utilizó la distancia euclidiana para determinar los k vecinos más cercanos de cada muestra minoritaria (k = 5) dentro de su propia clase. SMOTE se aplicó únicamente a los datos de entrenamiento, que se dividieron en conjuntos de entrenamiento del 70% y 30% de pruebas usando muestreo estratificado. De este modo, no se añadieron muestras artificiales al conjunto de pruebas, asegurando que los resultados no se vieran influenciados por el proceso de sobremuestreo. Los datos de prueba permanecieron sin cambios, preservando su distribución original de clases, y se usaron solo para evaluar el modelo de forma justa. Como resultado, los resultados de alto rendimiento de este estudio demuestran la verdadera capacidad del modelo para generalizar, no debido a un sobreajuste o a puntuaciones infladas por añadir muestras adicionales.
División de prueba del tren:
Tras el preprocesamiento y el filtrado de clases, el conjunto de datos se dividió en subconjuntos de entrenamiento y prueba con una división del 70%–30% usando muestreo aleatorio estratificado. Esta estratificación se basa en las etiquetas de clase para asegurar que las proporciones relativas de cada clase de latido cardíaco se mantengan en los conjuntos de entrenamiento y prueba.
La división se realizó utilizando una semilla aleatoria para garantizar la reproducibilidad. Cada segmento de ECG apareció exclusivamente en el conjunto de entrenamiento o en el de pruebas. Para evitar sesgos y desviaciones de datos, cada paso de preprocesamiento que pudiera afectar a la distribución de datos (concretamente, el balanceo de clases mediante SMOTE) se realizaba solo después de la división y únicamente sobre los datos de entrenamiento.
En este sentido, al mantener proporciones de clase, usar estratificación aleatoria y separar estrictamente las muestras en conjuntos de entrenamiento y prueba, el proceso de división reduce la probabilidad de sesgo en las muestras, permitiendo que las métricas de rendimiento reflejen la generalización del modelo en lugar de residuos específicos de los datos.
División de conjuntos de datos y distribución de clases
El conjunto de datos final se dividió en conjuntos de entrenamiento y de prueba, con un 70% para entrenamiento y un 30% para pruebas. Tras aplicar SMOTE, se redujo el desequilibrio de clases, asegurando que cada tipo de arritmia estuviera bien representado tanto en el conjunto de entrenamiento como en el de prueba. En total se utilizaron 3.966.620 segmentos de ECG para la formación, mientras que 112.575 segmentos de ECG se emplearon para pruebas. El gran volumen de datos, combinado con la variedad de tipos de arritmias, permitió la creación de un modelo que identifica eficazmente diferentes tipos de arritmias en señales ECG reales. Este estudio utiliza modelos de aprendizaje profundo para clasificar arritmias del ECG. Los cinco tipos de latido cardíaco, a saber: Normal (N), Bloqueo de Rama del Haz Izquierdo (L), Bloqueo de Rama del Haz Derecho (R), Latido Prematuro Auricular (A) y Contracción Ventricular Prematura (V), fueron elegidos en consonancia con las anotaciones estandarizadas del Beat Database del MIT-BIH, así como con las directrices de AAMI para la anotación del pulso en el ECG. Las cinco anotaciones de latidos mencionadas aquí abarcan afecciones cardíacas significativas que entran en la amplia categoría de arritmias y presentan características distintivas de la forma de onda en las señales del ECG alrededor de las ondas P, QRS y T.
Además, estas clases son de las más frecuentes y se etiquetan de forma constante en bases de datos públicas de ECG, lo que facilita evaluar su efectividad en comparación con otros enfoques de clasificación del ritmo cardíaco basados en ECG. Los conjuntos de datos se separaron mediante un método entre pacientes. Esta configuración aseguraba que los segmentos de ECG de un solo paciente no aparecieran simultáneamente en los conjuntos de entrenamiento y pruebas. Una vez ocurrida esa división, SMOTE se aplicó solo al conjunto de entrenamiento. El conjunto de pruebas permaneció libre de muestras sintéticas y ventanas temporales repetidas. Todo esto ayuda a evitar solapamientos a nivel de segmento y favorece una verdadera generalización al tratar con pacientes no vistos previamente.
Distribución de clases antes y después de SMOTE:
El conjunto de datos original tenía un desequilibrio significativo entre clases, con un gran número de golpes Normales (N) y menos muestras para las clases anormales. Antes de usar SMOTE, los datos de entrenamiento tenían alrededor de 133.320 segmentos Normal (N), 8.075 Bloque de Rama del Haz Izquierdo (L), 10.431 Bloque de Rama del Haz Derecho (R), 4.489 Latidos Prematuros Auriculares (A) y 60.682 Segmentos de Contracción Ventricular Prematura (V). Para solucionar el desequilibrio, SMOTE se aplicó únicamente al conjunto de entrenamiento, aumentando el número de muestras en las clases minoritarias para que coincidieran con la clase mayoritaria. Tras el aumento, cada clase tenía 793.324 segmentos, lo que resultó en un total de 3.966.620 segmentos de ECG para entrenamiento. El conjunto de pruebas, que tenía 112.575 segmentos, mantuvo su distribución original de clases y no fue sobremuestreado. Este enfoque garantizaba una evaluación justa e imparcial del rendimiento del modelo.
Formación e inferencia
analizó la eficiencia computacional comprobando el rendimiento de entrenamiento e inferencia en una GPU NVIDIA RTX 3050 con 6 GB de memoria. El proceso de formación duraba alrededor de 3,2 horas durante 60 épocas. La latencia de inferencia era de 0,45 ms por cada segmento de 180 muestras, lo que hace posible el uso en tiempo real. El consumo de memoria en la GPU alcanzó un pico de 4,2 GB, y el modelo solo tiene 1,8 millones de parámetros, por lo que se siente ligero comparado con la mayoría de los sistemas ECG basados en transformadores.
El proceso de entrenamiento e inferencia tiene los siguientes pasos:
Configuración de la formación: Se definen parámetros de entrenamiento, como la tasa de aprendizaje, el tamaño del lote y las épocas.
Entrenamiento de modelos: El modelo CNN-Transformer se entrena con los datos de entrenamiento.
Validación: Tras el entrenamiento, se comprueban la precisión y pérdida de validación del modelo. Si el rendimiento es bueno, el modelo se guarda. Si el rendimiento es pobre, la tubería se repite con diferentes parámetros de entrenamiento, volviendo al paso de configuración de parámetros.
Arquitectura del modelo
Todo el montaje CNN-Transformer tiene cuatro partes principales: extracción de características convolucionales, una capa de proyección, el codificador del transformador y, finalmente, el cabezal de clasificación. El bloque convolucional comienza con una capa convolucional unidimensional con 32 filtros, un tamaño de núcleo de 3, una zancada de 1 y un relleno de 1, seguido de un ReLU. Reduce las cosas con el max-pooling, tamaño kernel 2, para reducir la resolución temporal de la señal. Después de esa primera capa de convolución, hay otra con 64 filtros, mismo tamaño de kernel 3, paso 1, relleno 1, ReLU de nuevo, y otro max-pooling con tamaño 2. La salida de todo esto se aplana, pasa a través de una capa de proyección lineal que mapea características a un espacio de incrustación de 128 dimensiones, que luego alimenta el transformador18,19.
El bloque transformador tiene dos capas codificadoras, cada una con autoatención multi-cabeza que utiliza 4 cabezales para capturar dependencias de largo alcance en la señal ECG. En cada capa, hay una red de feedforward posición por posición con un tamaño oculto de 256 y un dropout de 0,5 para ayudar con el sobreajuste. La normalización de capas ocurre después de cada subcapa, lo que estabiliza el entrenamiento.
Para la cabeza de clasificación, es una capa totalmente conectada que baja de 128 a 64, seguida de ReLU y dropout 0,5 de nuevo. Luego, la capa de salida tiene cinco neuronas para las clases de arritmia, con Softmax para obtener probabilidades.
Bloques de Redes Neuronales Convolucionales 1D (CNN):
El bloque CNN consta de dos capas convolucionales 1D, cada una seguida de una activación ReLU y una capa de max pooling. Estas capas ayudan a identificar relaciones espaciales dentro de la señal ECG de entrada. Para mejorar la extracción de características, se aplican funciones adicionales de activación de ReLU tras cada paso de transformación en las capas CNN.
Primera capa convolucional: Esta capa utiliza 32 filtros, cada uno de tamaño 3, en la señal de entrada. El proceso puede escribirse como:

donde yi es la salida, wj representa los pesos del filtro, xi+j es el segmento de entrada, b es el término de polarización y σ representa la función de activación (ReLU). El mapa de características resultante pasa por una capa de activación de ReLU para añadir no linealidad:

Capa de pooling: Tras cada operación convolucional, se aplica un paso de max-pooling para reducir las dimensiones espaciales a la mitad. Este proceso se define como:

Esto ayuda a conservar las características más significativas y, al mismo tiempo, reduce la carga computacional.
Segunda capa convolucional: Esta capa utiliza 64 filtros de tamaño 3 x 3 para procesar los mapas de características de la capa anterior, permitiendo al modelo detectar patrones más complejos. Tras la convolución, se aplica una función de activación de ReLU para introducir la no linealidad en el modelo.

Este paso garantiza que el modelo capture patrones detallados de la señal del ECG.
Capas adicionales de activación: La activación de ReLU se aplica tras cada paso tras el proceso de convolución para ayudar a la red a capturar mejor patrones complejos, asegurando que el modelo se centre en activaciones positivas.
Proceso de aplanamiento: Tras la segunda operación de max-pooling, los mapas de características se aplanan en un solo vector para la entrada al bloque transformador.
Bloques de transformadores:
El bloque transformador consta de dos capas de autoatención multi-cabeza, que ayudan al modelo a comprender las relaciones entre las diferentes partes de la señal ECG a lo largo del tiempo. La Auto-Atención Multi-Cabeza funciona observando cada par de elementos en una secuencia. Para una secuencia con consulta Q, clave K y valor V, la atención se calcula como:

Aquí, dk es la dimensionalidad de los vectores clave, asegurando la invariancia de escala.
Capas de avance: Cada salida de auto-atención pasa por una red de alimentación de anticipación totalmente conectada con activación de ReLU, seguida de la normalización de capas. Este paso refina las características temporales extraídas:

donde W1 y b1 son los pesos y sesgos de la capa de avance de alimentación.
Representación por lotes: El transformador opera en secuencias en un diseño por lotes, asegurando compatibilidad con el formato de entrada del bloque CNN.
Capas totalmente conectadas (densas):
Tras el procesamiento a través del bloque transformador, la secuencia de salida se aplana y luego se envía a través de dos capas totalmente conectadas para llevar a cabo la clasificación. La primera capa completamente conectada transforma el vector de entrada en un espacio de características de 128 dimensiones, remodelándolo en el proceso.

donde W es la matriz de pesos, x es el vector de entrada y b es el vector de sesgo. Se aplica una capa de activación de ReLU:

Sigue una capa de dropout con una tasa de 0,5 para evitar el sobreajuste.
Segunda capa totalmente conectada: La capa final mapea las características de 128 dimensiones al número de clases de latidos cardíacos (por ejemplo, 5 clases para la detección de arritmias). La salida pasa por una función log-SoftMax para calcular las probabilidades logarítmicas: exp(xi)
Modelo híbrido CNN-transformador
El modelo presentado es un modelo híbrido de aprendizaje profundo que combina las fortalezas de las CNN y transformadores para utilizar representaciones espaciales y temporales. Esta arquitectura está especialmente adaptada para procesar datos complejos de secuencia larga, como señales fisiológicas.

La ecuación representa la representación de entrada, donde N = número de muestras, T = número de pasos de tiempo, d = dimensión de la característica por paso de tiempo.

Esta ecuación indica las incrustaciones posicionales, donde pos = posición en secuencia; i = índice de dimensión de incrustación.
Módulo CNN – Extracción local de características
Las CNN aprenden eficientemente dependencias locales y patrones morfológicos como picos, pendientes o picos en datos secuenciales. La capa convolucional utiliza
núcleos de extensión
espacial sobre un tensor
de entrada . Cada canal de salida m está determinado por:

= número de canales de entrada; K = tamaño del núcleo; W = pesos de filtro; b = sesgo
Función ReLU
En este caso,
representa el peso aprendible y
es el sesgo para el canal mA, se aplica activación no lineal, como la Unidad Lineal Rectificada (ReLU):

Agrupación y compresión de características
Las capas de agrupación reducen la dimensión espacial o temporal de los mapas de características, preservando características importantes y reduciendo el cálculo. En el pool máximo con tamaño
de ventana y paso s, la característica agrupada en la ubicación
es:

Longitud de salida tras el agrupamiento

Donde
es la longitud de entrada; el paso define un tamaño de paso para deslizar la ventana de agrupación. Esta fórmula calcula la longitud de salida de un mapa de características tras una operación de agrupación (por ejemplo, agrupación máxima). Calcula cuánto se reduce el mapa de características en función de la longitud de entrada, el tamaño del pool y la zancada. Transforma mapas de características multidimensionales en un vector para capas totalmente conectadas.
Codificador transformador – captura de dependencias a largo alcance
Los transformers utilizan la autoatención para aprender dependencias temporales a largo alcance en las secuencias17.
Atención escalar escalada

Q, K, V son matrices de consulta, clave y valores calculadas mediante proyecciones aprendidas;
es la dimensión clave utilizada para escalar el producto escalar.
Atención multicabeza

Cada cabeza calcula la atención de forma independiente; las salidas se concatenan y se transforman linealmente.
son matrices de proyección aprendidas para cada cabeza.
es el peso final de proyección tras laconcatenación 18,19.
Predicción final y derrota
Las capas totalmente conectadas mapean características a logitos, que luego se transforman en predicciones usando funciones de activación. Tras algunas capas convolucionales y de agrupación,
se aplana en un vector
Una capa totalmente conectada calcula los logits: Una capa totalmente conectada calcula entonces los logitos de clase:

Activación Sigmoid/Softmax:

La función de activación mapea la salida bruta 'z' del modelo a probabilidades. El sigmoide se aplica a la clasificación binaria, y el softmax a problemas multiclase para la distribución de probabilidades entre clases. z es la salida lineal (por ejemplo, última capa: z = Wx + b). La salida ŷ está entre (0, 1), lo que indica probabilidad20.
Proceso de formación
La formación se realizaba en un sistema con las siguientes especificaciones de hardware:
Procesador: AMD Ryzen 7 7840HS
RAM DE LA CPU: 16 GB
RAM de la GPU: 6 GB NVIDIA GeForce RTX 3050
Los modelos se entrenaron usando el optimizador Adam, que adapta la tasa de aprendizaje durante el entrenamiento en función del primer y segundo momento del gradiente. La regla de actualización para Adam se da por:

En esta configuración, mt y vt representan las estimaciones del primer y segundo momento, α es la tasa de aprendizaje, y ε es una pequeña constante utilizada para evitar la división por cero. Los modelos se entrenaron durante 60 épocas, con paradas tempranas para evitar sobreajustes. Se utilizó un tamaño de lote de 1024, y los datos de entrenamiento se cargaron en los modelos usando el DataLoader de PyTorch. Se incorporaron la normalización de abandono y lote para regularizar el modelo y acelerar la convergencia. El abandono es un método de regularización que apaga aleatoriamente un porcentaje p de neuronas durante el entrenamiento, lo que ayuda a reducir el sobreajuste. Matemáticamente, sea zi la activación de lai-ésima neurona. Durante la fase de entrenamiento, la activación modificada z' se calcula como:

donde p es la tasa de abandono (por ejemplo, p = 0,5 para un abandono del 50%). Durante la inferencia, no se aplica ningún corte y se utiliza toda la red.
La convergencia en redes neuronales es un problema que afecta significativamente a los sistemas de clasificación existentes en el sector sanitario, especialmente cuando los diagnósticos son inconsistentes debido a una convergencia insuficiente. Investigaciones recientes sobre enfoques de optimización en tiempo predefinido y convergencia en un tiempo fijo han demostrado que aún es posible entrenar modelos que convergen dentro de un número fijo de iteraciones para todos los estados iniciales. Los modelos futuros basados en este pueden incluir optimización en tiempo predefinido.
Normalización por lotes:
La normalización por lotes estabiliza y acelera el entrenamiento normalizando las entradas de cada capa. Dado un mini-lote de activaciones x = {x 1, x2, . . ., xN}, la salida normalizada por lotes xi .se calcula como:


donde μB y σB2 son la media y varianza del lote, ε es una pequeña constante para la estabilidad numérica, y γ y β son parámetros aprendibles que escalan y desplazan los valores normalizados. La normalización por lotes ayuda a reducir el desplazamiento interno de covariables y permite el uso de tasas de aprendizaje más altas. Estas técnicas, combinadas con el optimizador Adam, garantizan un entrenamiento robusto al mitigar el sobreajuste y mejorar la velocidad deconvergencia 21,22.
La Figura 3 muestra la Pérdida de Validación y la Precisión de Validación a lo largo de Épocas durante el entrenamiento de un modelo de aprendizaje automático. La precisión de validación (línea azul, eje Y derecho) comienza relativamente baja (alrededor del 97,5%) y aumenta rápidamente dentro de las primeras 10 épocas. Sigue mejorando y alcanza niveles de alrededor del 99,7% al 99,8% tras unas 20 épocas. Esto indica que el modelo está aprendiendo y aplicando bien el conocimiento sobre el conjunto de validación. La pérdida de validación (línea roja, eje Y izquierdo) comienza alta, luego cae bruscamente hasta casi cero en las primeras épocas (alrededor del 2 al 3). Después de eso, se mantiene casi en cero durante el resto delentrenamiento, 23,24.