$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Этическое заявление
Это исследование полностью опиралось на публичные анонимизированные данные ЭКГ, загруженные с PhysioNet. Все наборы данных, использованные в этом исследовании, изначально были собраны с согласия участников и с этического одобрения соответствующих владельцев данных. Это исследование не требовало сбора данных, экспериментальной работы с людьми или животными, а также личной информации о личности пациентов. Поэтому дополнительное этическое рассмотрение не требовалось.
Методология
Рисунок 2 иллюстрирует рабочий процесс предлагаемой архитектуры.
Сбор данных
Данные ЭКГ собираются из базы данных PhysioNet — популярного хранилища физиологических сигналов. Из базы данных извлекаются несколько наборов данных. Эти наборы данных объединяются в один основной набор данных, включающий различные классы сигналов ЭКГ.
Используемые наборы данных
В этом исследовании использовались несколько общедоступных наборов данных ЭКГ для разработки и оценки модели глубокого обучения для классификации аритмий. Отбор этих наборов данных проводился с осторожностью, учитывая их разнообразие по демографии пациентов и типам аритмий, чтобы обеспечить хорошие результаты предлагаемой модели в различныхсценариях 9. Для этого исследования были объединены только данные Lead-I из базы данных MIT-BIH по аритмии, базы данных MIT-BIH по суправентрикулярной аритмии, базы данных INCART по 12-выводной аритмии Санкт-Петербурга и базы данных Холтера о внезапной сердечной смерти Холтера. Эти наборы данных известны своим высококачественным аннотированными ЭКГ-записями, охватывающими широкий спектр классов аритмий.
Объединённые выше наборы данных включают демографию пациентов, устройства записи, частоты выборки и настройки. Упомянутая выше вариабельность модели улучшает её обобщение, подвергая её воздействию широкого спектра морфологий ЭКГ, шума и ритмов.
Описание наборов данных
База данных по аритмиям MIT-BIH
Набор данных MIT-BIH по аритмии содержит 48 получасовых записей ЭКГ, пронумерованных от 100 до 234. Каждая запись содержит двухканальные ЭКГ-сигналы, оцифрованные с частотой 360 образцов в секунду. Данные хранятся в форматах .dat, .hea и .atr.
База данных MIT-BIH по наджелудочковым аритмиям
Это специфическое подмножество баз данных MIT-BIH. База данных MIT-BIH по суправентрикулярной аритмии включает 78 полноформатных записей ЭКГ продолжительностью от 30 минут до нескольких часов, пронумерованных от 801 до 811. Каждая запись включает двухканальные ЭКГ-сигналы, преобразованные в цифровую форму со скоростью 128 сэмплов в секунду.
Санкт-Петербургская база данных INCART по 12-свинцовой аритмии
Эта база данных включает 75 аннотированных записей, взятых с 32 мониторов Холтера. Каждая запись длится 30 минут и включает 12 стандартных лидов, каждый из которых сэмплируется на частоте 257 Гц. Мощность сигнала варьируется от 250 до 1100 единиц аналогово-цифровых преобразователей на милливольт.
База данных непредвиденных сердечных смертей Холтера
Этот набор данных является одним из многих открытых записей Холтера, фиксирующих фактические случаи желудочковой тахикардии (ВТ) и желудочковой фибрилляции (ВФ). Оба способа могут привести к непредвиденной сердечной смерти. Каждая запись длится 24 часа и сэмплируется на частоте 250 Гц.
Предварительная обработка данных
В этом исследовании использовались четыре публичные базы данных ЭКГ с разными частотами дискретизации: MIT-BIH аритмия (360 Гц), MIT-BIH суправентрикулярная аритмия (128 Гц), St. Petersburg INCART 12-lead (257 Гц) и внезапная сердечная смерть Холтера (250 Гц). Чтобы обеспечить согласованность всех данных и возможность комбинирования при обучении модели, все сигналы ЭКГ были передискретированы до общей частоты 360 Гц, что соответствует базе данных MIT-BIH по аритмии и широко используется как стандарт в исследованиях ЭКГ. Ресемплирование выполнялось с помощью интерполяции с ограниченным диапазоном; изначально сигналы ЭКГ проходили низкочастотную фильтрацию для предотвращения алиасинга, а затем для интерполяции использовалось ядро реконструкции на основе SINC, после чего следовало окончательное ресемплирование на частоте 360 Гц. После повторного сэмплирования каждый сигнал делился на окна по 180 сэмплов, примерно эквивалентно 0,5 с данных, обеспечивая одинаковое временное разрешение всех наборов. Эта стандартизация позволила комбинировать сигналы из разных баз данных для обучения и тестирования, помогая модели со временем выучивать последовательные закономерности.
Предварительная обработка включала несколько важных этапов для обеспечения качества входных данных:
Сегментация данных:
После ресемплирования каждый ЭКГ-сигнал делился на окна фиксированной длины по 180 сэмплов. Это соответствует примерно 0,5 с длительности сигнала при частоте дискретизации 360 Гц. В этом исследовании использовалось фиксированное, неперекрывающееся скользящее окно для сегментации. Каждое окно собирало непрерывную последовательность образцов ЭКГ. В исследовании выбрано окно из 180 образцов, поскольку интервал в 0,5 с достаточно для охватки полного сердечного цикла или его основных частей: P-волны, QRS-комплекса и T-волны — для типичных взрослых сердечных ритмов. Каждому сегменту присваивалась метка класса на основе аннотации в центре сегмента. Таким образом, метка сегмента совпадала с основной формой сердцебиения внутри этого окна. Метод скользящего окна, применял следующую функцию сегментации:

где si — образец ЭКГ в момент i.
Нормализация:
Нормализовал сегментированные данные ЭКГ с масштабированием Min-Max, чтобы все признаки имели значения от 0 до110.

Этот шаг помогает ускорить сходимость модели во время обучения.
Балансировка классов с помощью SMOTE
Нормальные (N) удары значительно превосходили классы аномальных сердечных ритмов в наборе данных ЭКГ, которые показали значительный классовый дисбаланс. После сегментации, нормализации и разделения теста на тренировка обучающий набор данных подвергался использованию синтетической техники перевыборки меньшинств (SMOTE) для решения этой проблемы.
Для представления каждого сегмента ЭКГ использовалось 180-мерное пространство признаков, состоящее из 180 нормализованных образцов. SMOTE использовал евклидово расстояние для определения k ближайших соседей каждой выборки из класса меньшинства (k = 5) внутри своего класса. SMOTE применялся только к обучающим данным, которые были разделены на 70% обучающие и 30% тестовые наборы с использованием стратифицированной выборки. Таким образом, в тестовый набор не добавлялись искусственные образцы, что гарантировало, что результаты теста не были влияны процессом перевыборки. Тестовые данные остались без изменений, сохранив исходное распределение классов, и использовались только для справедливой оценки модели. В результате высокие результаты этого исследования демонстрируют истинную способность модели к обобщениям, а не из-за переоценки или завышенных результатов при добавлении дополнительных выборок.
Разделение испытаний поездов:
После предварительной обработки и фильтрации классов набор данных был разделён на учебные и тестовые подмножества с соотношением 70–30% с использованием стратифицированной случайной выборки. Эта стратификация основана на метках классов, чтобы обеспечить сохранение относительных пропорций каждого класса сердцебиения в тренировочных и тестовых наборах.
Разделение проводилось с использованием случайного сида для воспроизводимости. Каждый сегмент ЭКГ появлялся исключительно в тренировочном или тестовом наборе. Чтобы избежать смещения и отклонения данных, каждый этап предварительной обработки, который мог повлиять на распределение данных (а именно балансировка классов через SMOTE), выполнялся только после разделения и исключительно на обучающих данных.
В этом отношении, поддерживая пропорции классов, используя случайную стратификацию и строго разделяя выборки на обучающие и тестовые наборы, процесс разделения снижает вероятность смещения выборок, позволяя метрикам производительности отражать обобщение модели, а не специфичные для данных остаточные данные.
Разделение наборов данных и распределение классов
Окончательный набор данных был разделён на обучающие и тестовые наборы: 70% — для обучения, 30% — для тестирования. После применения SMOTE дисбаланс класса был снижен, что обеспечило эффективное представление каждого типа аритмии как в тренировочном, так и в тестовом наборах. Всего для обучения использовалось 3 966 620 сегментов ЭКГ, а для тестирования — 112 575 сегментов ЭКГ. Большой объём данных, в сочетании с разнообразием типов аритмий, позволил создать модель, эффективно идентифицирующую разные типы аритмий в реальных сигналах ЭКГ. В этом исследовании используются модели глубокого обучения для классификации аритмий ЭКГ. Пять типов сердцебиения: нормальный (N), блок ветви левого пучка (L), блок ветви правого пучка (R), преждевременный биение предсердий (A) и преждевременное сокращение желудочков (V), были выбраны в соответствии со стандартизированными аннотациями биения, содержащимися в базе данных MIT-BIH по аритмии, а также рекомендациями AAMI по аннотации ударов ЭКГ. Все пять упомянутых здесь аннотаций по биениям охватывают значимые сердечные заболевания, относящиеся к широкой категории аритмий и демонстрирующие характерные особенности в сигналах ЭКГ вокруг P, QRS и T-волн.
Кроме того, эти классы являются одними из самых частых и стабильно маркируемых в публичных базах данных ЭКГ, что облегчает проверку их эффективности по сравнению с другими методами классификации сердечного ритма на основе ЭКГ. Наборы данных были разделены с помощью метода кросс-пациентов. Такая схема гарантировала, что сегменты ЭКГ одного пациента не появлялись одновременно в обучающем и тестовом наборах. После этого разделения SMOTE применялся только к обучающему набору. Тестовый набор оставался свободным от синтетических образцов и повторяющихся временных окна. Всё это помогает избежать пересечения на уровне сегментов и поддерживает истинное обобщение при работе с пациентами, ранее не осматриваемыми.
Распределение классов до и после SMOTE:
Исходный набор данных имел значительный дисбаланс между классами: большое количество нормальных (N) ударов и меньше выборок для аномальных классов. До использования SMOTE обучающие данные содержали около 133 320 нормальных (N), 8 075 блоков ветви левого пучка (L), 10 431 правого блока ветви пучка (R), 4 489 предсердных преждевременных ударов (A) и 60 682 сегментов преждевременного сокращения желудочков (V). Для устранения дисбаланса SMOTE применялся только к обучающему набору, увеличивая количество выборок в меньшинственных классах для соответствия большинству. После увеличения в каждом классе было 793 324 сегмента, что в итоге составило 3 966 620 сегментов ЭКГ для обучения. Тестовый набор, состоявший из 112 575 сегментов, сохранил исходное распределение классов и не подвергался перевыборке. Такой подход обеспечивал справедливую и беспристрастную оценку эффективности модели.
Обучение и выводы
изучал вычислительную эффективность, проверяя производительность обучения и вывода на видеокарте NVIDIA RTX 3050 с 6 ГБ памяти. Процесс обучения занял около 3,2 часа на протяжении 60 эпох. Задержка вывода составляла в среднем 0,45 мс на каждый сегмент из 180 выборок, что делает возможным использование в реальном времени. Использование памяти на GPU достигло пика в 4,2 ГБ, а модель имеет всего 1,8 миллиона параметров, поэтому она кажется лёгкой по сравнению с большинством ЭКГ на базе трансформаторов.
Процесс обучения и вывода включает следующие этапы:
Настройка обучения: Определяются параметры обучения, такие как скорость обучения, размер партии и эпохи.
Обучение модели: модель CNN-Transformer обучается на обучающих данных.
Валидация: После обучения проверяется точность валидации и потери модели. Если производительность хорошая, модель сохраняется. Если производительность низкая, конвейер повторяется с другими параметрами обучения, возвращаясь к этапу настройки параметров.
Архитектура модели
Вся система CNN-Transformer состоит из четырёх основных частей: сверточного извлечения признаков, проекционного слоя, трансформаторного кодера и, наконец, головки классификации. Сверточный блок начинается с одномерного сверточного слоя с 32 фильтрами, размером ядра 3, шагом 1 и заполнением 1, за которым следует ReLU. Это уменьшает параметры с максимальным пулированием, размером ядра 2, чтобы снизить временное разрешение сигнала. После первого слоя свёртки есть ещё один с 64 фильтрами, тот же размер ядра 3, шаг 1, дополнение 1, снова ReLU и ещё один max-пул размера 2. Выход из всего этого выравнивается, проходит через линейный проекционный слой, который отображает признаки в 128-мерное пространство вложения, которое затем поступает в трансформатор 18,19.
Блок трансформатора состоит из двух слоёв энкодера, каждый с многоголовочной самоконцентрацией с использованием 4 головок для захвата дальнодействующих зависимостей в сигнале ЭКГ. В каждом слое есть сеть прямой передачи по позициям с скрытым размером 256 и dropout 0.5 для помощи при перенагоне. Нормализация слоя происходит после каждого подслоя, что стабилизирует тренировку.
Для главы классификации это полностью связанный слой, который падает с 128 до 64, затем ReLU и снова dropout 0.5. Затем выходной слой содержит пять нейронов для классов аритмии, с Softmax для получения вероятностей.
Блоки 1D сверточной нейронной сети (CNN):
Блок CNN состоит из двух одномерных сверточных слоёв, каждый из которых сопровождается активацией ReLU и слоем максимального пулирования. Эти слои помогают выявлять пространственные связи внутри входного сигнала ЭКГ. Для улучшения извлечения признаков после каждого этапа трансформации в слоях CNN применяются дополнительные функции активации ReLU.
Первый сверточный слой: Этот слой использует 32 фильтра, каждый размером 3, на входном сигнале. Процесс можно записать так:

где yi — выход, wj — веса фильтра, xi+j — входной сегмент, b — член смещения, а σ — функцию активации (ReLU). Полученная карта признаков проходит через активационный слой ReLU для добавления нелинейности:

Пулирующий слой: после каждой свертковой операции применяется шаг максимального пула для уменьшения пространственных размеров вдвое. Этот процесс определяется как:

Это помогает сохранить наиболее значимые особенности и одновременно снизить вычислительную нагрузку.
Второй сверточный слой: этот слой использует 64 фильтра размером 3 x 3 для обработки карт признаков предыдущего слоя, что позволяет модели обнаруживать более сложные закономерности. После свёртки применяется функция активации ReLU для внесения нелинейности в модель.

Этот этап гарантирует, что модель фиксирует детализированные узоры сигнала ЭКГ.
Дополнительные слои активации: Активация ReLU применяется после каждого этапа свёртки, чтобы помочь сети лучше фиксировать сложные паттерны, обеспечивая фокус модели на положительных активациях.
Процесс выравнивания: после второй операции максимального пула отображения признаков сплощаются в один вектор для входа в блок трансформатора.
Блоки трансформаторов:
Блок трансформатора состоит из двух слоёв многоголовного самовнимания, которые помогают модели понимать взаимосвязи между различными частями сигнала ЭКГ со временем. Многоголовое самовнимание работает, рассматривая каждую пару элементов в последовательности. Для последовательности с запросом Q, ключом K и значением V внимание вычисляется следующим образом:

Здесь dk — это размерность ключевых векторов, обеспечивающая масштабную инвариантность.
Слои прямой передачи: Каждый выход самовнимания проходит через полностью связанную сеть feedforward-сигнала с активацией ReLU, после чего происходит нормализация слоёв. Этот этап уточняет извлечённые временные признаки:

где W1 и b1 — это веса и смещения слоя прямой подачи.
Представление с первой партией: Трансформатор работает с последовательностями в пакетной структуре, обеспечивая совместимость с форматом входа блока CNN.
Полностью связанные (плотные) слои:
После обработки через блок трансформатора выходная последовательность сплощается и затем передаётся через два полностью соединённых слоя для выполнения классификации. Первый полностью связный слой преобразует входной вектор в 128-мерное пространство признаков, при этом изменяя его форму.

где W — матрица весов, x — входный вектор, а b — вектор смещения. Применяется слой активации ReLU:

Далее следует слой dropout с частотой 0,5 для предотвращения перенагона.
Второй полностью связный слой: Последний слой отображает 128-мерные признаки с количеством классов сердечных ритмов (например, 5 классов для обнаружения аритмии). Выход проходит через функцию log-SoftMax для вычисления логарифмических вероятностей: exp(xi)
Гибридная модель CNN-трансформатора
Представленная модель представляет собой гибридную модель глубокого обучения, объединяющую сильные стороны CNN и трансформаторов для использования как пространственных, так и временных представлений. Такая архитектура специально адаптирована для обработки сложных данных длительной последовательности, таких как физиологические сигналы.

Уравнение представляет входное представление, где N = количество выборок, T = количество временных шагов, d = размерность признака на шаг времени.

Это уравнение обозначает позиционные вложения, где pos = позиция последовательно; i = индекс размерности вложения.
Модуль CNN – Локальное извлечение признаков
CNN эффективно изучают локальные зависимости и морфологические паттерны, такие как пики, наклоны или всплески в последовательных данных. Сверточный слой использует
ядра пространственного протяжения
над входным тензором
. Каждый выходной канал m определяется следующим образом:

= количество входных каналов; K = размер ядра; W = веса фильтров; b = смещение
Функция ReLU
В данном случае —
это обучаемый вес, а
— смещение для канала mA, применяется нелинейная активация, подобная ректифицированной линейной единице (ReLU):

Пулирование и сжатие признаков
Пулирующие слои уменьшают пространственные или временные измерения карт признаков, сохраняя важные признаки и снижая вычисления. В максимальном пулировании с размером
окна и шагом s, пуловая функция на локации
выглядит следующим образом:

Длина выхода после пулирования

где
— длина входа; шаг определяет размер шага для сдвига окна пула. Эта формула вычисляет длину выхода отображения признаков после операции пула (например, максимального пула). Он рассчитывает, насколько уменьшена карта объектов, исходя из длины входа, размера пула и шага. Преобразует многомерные отображения признаков в вектор для полностью связанных слоёв.
Кодировщик трансформатора — захват зависимостей на дальнем радиусе действия
Трансформеры используют самовнимание для изучения долгосрочных временных зависимостей впоследовательностях 17.
Внимание масштабированного точечного произведения

Q, K, V — это матрицы запросов, ключей и матриц значений, вычисляемые с помощью изученных проекций;
— ключевое измерение, используемое для масштабирования точечного произведения.
Многоголовое внимание

Каждая голова вычисляет внимание независимо; выходы конкатенируются и линейно преобразуются.
— это изученные проекционные матрицы для каждой головы.
— окончательный проекционный вес после конкатенации18,19.
Итоговое предсказание и поражение
Полностью связанные слои отображают особенности в логиты, которые затем преобразуются в предсказания с помощью функций активации. После нескольких сверточных и пуловых слоёв выравнивается
в вектор
Полностью связный слой вычисляет логиты: Полностью связный слой затем вычисляет класс logits:

Активация Sigmoid/Softmax:

Функция активации отображает исходный исход модели 'z' в вероятности. Сигмоид применяется к бинарной классификации, а Софтмакс — для многоклассовых задач распределения вероятностей между классами. z — линейный выход (например, последний слой: z = Wx + b). Выход ŷ находится между (0, 1), что означаетвероятность 20.
Процесс обучения
Обучение проводилось на системе со следующими аппаратными характеристиками:
Процессор: AMD Ryzen 7 7840HS
ОПЕРАТИВНАЯ ПАМЯТЬ: 16 ГБ
ОПЕРАТИВНАЯ ПАМЯТЬ: 6 ГБ NVIDIA GeForce RTX 3050
Модели тренировались с помощью оптимизатора Адама, который адаптирует скорость обучения в зависимости от первого и второго моментов градиента. Правило обновления для Адама задаётся следующим образом:

В этой схеме mt и v t представляют оценки первого и второго моментов, α — скорость обучения, а ε — малая константа, используемая для предотвращения деления на ноль. Модели тренировались на протяжении 60 эпох, с ранней остановкой для предотвращения перегонки. Использовался размер партии 1024, а обучающие данные загружались в модели с помощью DataLoader от PyTorch. Для регуляризации модели и ускорения сходимости были внедрены выброшеные и пакетная нормализация. Dropout — это метод регуляризации, который случайным образом отключает процент p нейронов во время тренировки, что помогает уменьшить перенагон. Математически пусть zi обозначает активациюi-го нейрона. Во время тренировочного этапа модифицированная активация z' рассчитывается как:

где p — это процент отсева (например, p = 0,5 для 50% отсева). Во время вывода не применяется перепад, используется вся сеть.
Сходимость в нейронных сетях — это проблема, которая существенно влияет на существующие системы классификации в здравоохранении, особенно когда диагнозы непоследовательны из-за недостаточной сходимости. Недавние исследования методов оптимизации в заранее определённое время и сходимости в фиксированное время показали, что всё ещё возможно обучать модели, сходящиеся в течение фиксированного количества итераций, для всех начальных состояний. Будущие модели, основанные на этом, могут включать оптимизацию с заранее определённым временем.
Пакетная нормализация:
Пакетная нормализация стабилизирует и ускоряет обучение, нормализуя входные данные для каждого слоя. Имея мини-партию активаций x = {x 1,x 2, . . ., xN}, пакетно-нормализованный выход xi .вычисляется как:


где μB и σB2 — это среднее и дисперсия партии, ε — малая константа численной устойчивости, а γ и β — обучаемые параметры, масштабирующие и сдвигающие нормированные значения. Пакетная нормализация помогает уменьшить внутренний сдвиг ковариата и позволяет использовать более высокие скорости обучения. Эти методы в сочетании с оптимизатором Адама обеспечивают надёжную тренировку, снижая перенастройку и повышая скоростьсходимости до 21,22.
На рисунке 3 показаны потери валидации и точность валидации по эпохам во время обучения модели машинного обучения. Точность валидации (синяя линия, правая ось Y) начинается относительно низко (около 97,5%) и быстро увеличивается в первые 10 эпох. Он продолжает улучшаться и достигает уровней около 99,7–99,8% примерно после 20 эпох. Это указывает на то, что модель хорошо учится и применяет знания на валидационном наборе. Потеря валидации (красная линия, левая ось Y) начинается высоко, а затем резко падает почти до нуля в первые несколько эпох (около 2–3). После этого он остаётся почти на нулевой уровне до концатренировки — 23, 24.