Сердечные заболевания - важная проблема, и глубокое обучение решает проблемы. Трансформеры - это будущее: что будет, если все объединить?

В этой статье будет реализована и обсуждена система классификации мерцательной аритмии (AF) с использованием данных электрокардиограммы (ЭКГ / ЭКГ). Система классификации будет бинарной (нормальный синусовый ритм, AF) и будет основана на трансформаторной сети с использованием инфраструктуры PyTorch. Структура этой статьи будет следующей: сначала будет представлена ​​рассматриваемая проблема, а также используемые данные, во-вторых, будут представлены технические детали сети, в-третьих, будет представлена ​​реализация сети и обучение. , наконец, последует презентация результатов и их обсуждение. Репозиторий этого проекта можно найти здесь: https://github.com/bh1995/AF-classification.

Проблема классификации фибрилляции предсердий

Сердечные заболевания являются одной из основных причин смерти во всем мире [1]. Сердечные заболевания часто вызывают нарушение сердечного ритма, называемое аритмией. Среди всех типов аритмии фибрилляция предсердий (AF) является наиболее частой сердечной аритмией и, по оценкам, превалирует в диапазоне от 2% до 4% населения; ожидается, что в будущем распространенность будет линейно расти по мере увеличения среднего возраста населения. Учитывая текущую статистику, существует приблизительная вероятность 37% для любого человека европейского происхождения страдать от ФП на протяжении всей своей жизни [2]. Стандартная технология мониторинга сердца - это электрокардиограмма (ЭКГ / ЭКГ), она отслеживает электрические сигналы в сердце и, как таковая, может быть очень полезна для врачей при диагностике аритмий. Целью этого проекта является использование реальных, общедоступных данных ЭКГ, которые были помечены клиницистами, для обучения модели глубокого обучения.

Данные, используемые в этом проекте, поступают из нескольких источников, а именно из China Physiological Signal Challenge 2018 (CPSC2018) [3], Санкт-Петербургской базы данных INCART по 12 отведениям об аритмии [4], базы данных по диагностике ЭКГ в 12 отведениях Джорджии (CinC2020) [5 ], Набор данных PhysioNet Computing in Cardiology Challenge 2017 (CinC2017) [5], База данных по контекстной аритмии (CACHET-CADB) [6].

Используемые источники данных собирали данные ЭКГ с разной частотой дискретизации, и с использованием разных устройств (некоторые используют холтеровский монитор, другие больничные ЭКГ с 12 отведениями), это приводит к тому, что природа каждого источника данных немного отличается. Чтобы увеличить возможности обучения модели глубокого обучения, разумно обрабатывать все данные нормализующим способом. В этом проекте для всех сигналов использовался полосовой фильтр (FIR-фильтр), так что сохранялись только частоты в диапазоне [0,5, 40]. Сигналы также подвергаются повторной дискретизации до частоты 300 Гц и разделяются на отдельные сегменты длиной 10 секунд (таким образом, каждый вход в модель представляет собой одномерный массив с длиной 3000 точек данных). Затем каждый 10-секундный сегмент нормализуется так, чтобы все значения лежали между 0 и 1. На рисунках ниже показаны два исходных (необработанных) сигнала (один AF и один нормальный) и те же два сигнала после предварительной обработки.

Графики сигналов на первом изображении показывают стандартную четкую 10-секундную запись ЭКГ. Ось Y графиков представляет собой разность напряжений и частоту дискретизации по оси X, которая в нашем случае составляет 300 Гц. Как видно из графиков, напряжение сердца одного человека отличается по сравнению с другим. Для нас, людей, очевидно, что нужно искать закономерность на оси x вместо того, чтобы смотреть на амплитуду на оси y. Однако модель глубокого обучения беспристрастно вычисляет признаки и, как таковая, будет наивно использовать всю предоставленную информацию (даже если амплитуда, как правило, не имеет значения для классификации аритмии). Вот почему чрезвычайно важно нормализовать данные до заданного интервала (например, [-1,1] или [0,1]). На рисунке выше показан пример AF, это видно по нерегулярному интервалу между некоторыми сердечными сокращениями. Этот случай - «простой» пример, поскольку даже любители могут ясно увидеть аномалию сигнала AF.

Полный набор данных, используемый в этом проекте, можно скачать по ссылке. Все данные предварительно обрабатываются и сохраняются в виде массива в формате файла .h5. Приведенный ниже фрагмент кода показывает пример того, как можно загрузить набор данных.

Описание модели

В этом проекте тестируются две модели, обе они следуют одной и той же фундаментальной архитектуре, но используют разные входные данные. Первая использует предварительно обработанный сигнал ЭКГ как единственный вход, тогда как вторая модель использует предварительно обработанный сигнал ЭКГ, а также так называемый RRI (интервал RR) для этого сигнала. RRI - это расчетное время в секундах между биением сердца и последующим сердечным сокращением. RRI вычисляется путем оценки R-пика (среднего положения каждого биения) в сигнале с использованием алгоритма Пана-Томпкинса [10], а затем с использованием следующего уравнения,

где Rn - заданный пик, а fs - частота (частота дискретизации). Чтобы сохранить заданную длину входной последовательности RRI для модели, используются первые 10 из общих RRI и дополняются нулями, если найдено меньше 10.

Модель, использованная в проекте, была вдохновлена ​​работой [8]. Модель состоит из следующих модулей: 1) встраиваемая сеть, состоящая из серии сверточных слоев, 2) набор слоев трансформаторного кодера, 3) классификационная головка, состоящая из серии полностью связанных слоев. Код для архитектуры модели и обучения модели можно найти здесь.

Встраивание: сеть встраивания применяет одномерные свертки к исходному сигналу ЭКГ, в результате получается последовательность встроенных представлений (x [0],…, x [n]). . Эти встроенные представления суммируются вместе с позиционными кодировками (p [0],…, p [n]) для представления порядка каждой последовательности, как это сделано в исходной статье о преобразователе [7]. Результатом является вложение с позиционным кодированием, e = (x [0] + p [0],…, x [n] + p [n]) », которое затем используется в качестве входных данных для модуля слоев кодирующего устройства с многослойным преобразователем.

Уровни преобразователя кодировщика. Модуль преобразователя состоит из набора слоев кодировщика преобразователя, где каждый кодер состоит из подслоя многоглавого механизма самовнимания. После проб и ошибок было обнаружено, что количество из четырех слои кодировщика и головки дали хорошие результаты. Опять же, после следа и ошибки, размер внедрения в кодировщике был выбран равным 64, а размер сети прямой связи в слоях кодировщика был равен 512. Выходной сигнал модуля преобразователя представляет собой тензор весов внимания с формой [Длина последовательности, Размер партии, Встраивание]. Вывод должен быть преобразован таким образом, чтобы он передавался в модуль заголовка классификации, т.е. он должен быть преобразован в форму [Размер партии, Встраивание]. Были опробованы два метода: первый - просто взять среднее значение тензора по размерности последовательности, а второй - использовать слой объединения собственного внимания, как предложено в работе [9]. Оба метода показали хорошую производительность, однако использование уровня объединения собственного внимания дало наилучшие результаты. Слой объединения собственного внимания применяется к выходу модуля преобразователя, который производит вложение, которое представляет собой усредненное значение функций в последовательности кодировщика.

Классификационный заголовок. Выходные данные объединения собственного внимания используются в качестве входных данных для окончательного классификационного заголовка для создания логитов, используемых для прогнозирования. Итоговая классификационная головка - это два полностью связанных слоя с единственным промежуточным слоем.

Обучение

Модель была обучена с использованием двоичной кросс-энтропии в качестве функции потерь и алгоритма AdamW в качестве оптимизатора (β1 = 0,9, β2 = 0,98, ε = 10 ^ (- 9)). Использовалась начальная скорость обучения 10 ^ (- 3), а планировщик обучения использовался для уменьшения скорости обучения на 5% каждые пять эпох, начиная с первых 30 эпох. Набор данных содержит в общей сложности 52 370 сигналов ЭКГ длительностью 10 секунд, где отношение нормальных меток к меткам AF примерно одинаковое. 85% (44 514) набора данных было случайным образом выбрано для использования для обучения, а оставшиеся 15% (7 855) были использованы для тестирования. Был использован пакет размером 10, и обучение проводилось с использованием графического процессора Tesla P100 в среде облачных вычислений.

Результаты

Результаты для обеих моделей будут представлены ниже, сначала модель, которая использует только необработанный сигнал ЭКГ, а затем модель, использующая необработанный сигнал ЭКГ, а также RRI для этого сигнала.

Использование необработанного сигнала ЭКГ:

Как видно на графиках ниже, модель показала последовательное обучение на протяжении эпох без какого-либо значительного переобучения. Также видно, что точность испытаний постоянно растет. Поскольку эта задача представляет собой бинарную классификацию болезней, чувствительность и специфичность, возможно, являются лучшим показателем эффективности. Чувствительность и специфичность тестовых данных в конце обучения составляли 85,6 и 92,7 соответственно. Время обучения составляло около 178 секунд на эпоху.

Использование необработанного сигнала ЭКГ и RRI:

Когда функции RRI использовались во время обучения / вывода, производительность модели увеличивалась. График ниже демонстрирует, что модель демонстрирует явные признаки переобучения, однако это переобучение не оказывает отрицательного влияния на точность модели на тестовых данных за периоды. Чувствительность и специфичность тестовых данных в конце обучения составляли 96,9 и 95,6 соответственно. Время обучения составляло около 1550 секунд за эпоху.

Вывод

Из результатов видно, что сеть на основе трансформаторного кодировщика хорошо работает при классификации AF в 10-секундных сигналах ЭКГ. Также очевидно, что использование функций RRI обеспечивает значительное улучшение производительности модели за счет почти девятикратного увеличения времени обучения и вывода. Это увеличение времени объясняется тем фактом, что алгоритм Пана-Томпкинса, используемый для выполнения обнаружения R-пика, является медленным.

использованная литература

[1] Обновление статистики сердечных заболеваний и инсульта за 2018 г .: отчет Американской кардиологической ассоциации. Американская кардиологическая ассоциация, 1, 2018.

[2] Рекомендации ESC 2020 по диагностике и лечению фибрилляции предсердий, разработанные в сотрудничестве с Европейской ассоциацией кардио-торакальной хирургии (EACTS): Целевая группа по диагностике и лечению фибрилляции предсердий Европейского общества кардиологов (ESC) Разработано при особом участии Европейской ассоциации сердечного ритма (EHRA) ESC. Европейский журнал сердца, 08 2020 г. ehaa612.

[3] Ф. Ф. Лю, С. Ю. Лю *, Л. Н. Чжао, X. Y. Чжан, X. Л. Ву, X. Y. Сюй, Ю. Л. Лю, К. Ю. Ма, С. С. Вэй, З. К. Хе, Дж. К. Ли и Н. Ю. Кви. База данных открытого доступа для оценки алгоритмов определения аномалий ритма и морфологии ЭКГ. Журнал медицинской визуализации и информатики здоровья, 2018, 8 (7): 1368–1373.

[4] Гольдбергер А., Амарал Л., Гласс Л., Хаусдорф Дж., Иванов П. К., Марк Р. и Стэнли Х. Э. (2000). PhysioBank, PhysioToolkit и PhysioNet: компоненты нового ресурса для исследования сложных физиологических сигналов. Тираж [Интернет]. 101 (23), стр. E215 – e220.

[5] Перес Алдай Е.А., Гу А., Шах А.Дж., Робишо К., Вонг А.И., Лю С., Лю Ф., Рад А.Б., Элола А., Сейеди С., Ли К., Шарма А., Клиффорд Г.Д. *, Рейна М.А. *. Классификация ЭКГ в 12 отведениях: PhysioNet / Computing in Cardiology Challenge 2020. Physiol Meas. 41 (2020).

[6] Девендер Кумар, Садасиван Путуссерипади и Якоб Эйвинд Бардрам. КАШЕТ-САПР. 5 мая 2021 года. Https://doi.org/10. 11583 / DTU.14547264.v1.

[7] Васвани А., Брейн Г., Шазир Н., Пармар Н., Ушкорейт Дж., Джонс Л., Гомес А. Н., Кайзер Л. и Полосухин И. Внимание - это все, что вам нужно, .arXiv: 1706.03762v5.

[8] А. Натараджан, и др. .. Широкая и глубокая трансформаторная нейронная сеть для классификации ЭКГ в 12 отведениях. Компьютеры в кардиологии, 2020, 2020, стр. 1–4, DOI: 10.22489 / CinC.2020.107.

[9] Сафари, П., Индия, М., и Эрнандо, Дж. Кодирование самовнимания и объединение для распознавания говорящего, .arXiv: 2008.01077v1.

[10] Дж. Пэн и У. Дж. Томпкинс. Алгоритм обнаружения QRS в реальном времени. Транзакции IEEE по биомедицинской инженерии, vol. БМЭ-32, вып. 3, стр. 230–236, март 1985 г., DOI: 10.1109 / TBME.1985.325532.