Как улучшить распознавание ритмов ЭКГ сверточной нейросетью

22/06/20
Технические статьи
Как улучшить распознавание ритмов ЭКГ сверточной нейросетью

Не так давно в блоге Auriga была опубликована моя статья про распознавание ритмов ЭКГ сверточной нейронной сетью, где было показано, что для надежного распознавания некоторых патологий сердечного ритма может быть достаточно записей с данной патологией даже от 2-3 пациентов. Новая статья показывает на том же материале, что улучшить распознавание можно не только изменением структуры нейронной сети, но и работой со входными данными.

В статье описан опыт применения трёх способов улучшения качества распознавания: 

  1. изменение интервала нарезки данных,
  2. метод «переноса обучения» (“transfer learning”),
  3. балансировка мощности классов. 

Метод «переноса обучения» основан на предположении, что признаки, которые научилась выделять нейронная сеть при обучении на большом количестве данных в рамках одной задачи, подойдут для решения другой задачи, обычно с меньшим количеством данных. После обучения на дополнительных данных сбрасываются веса завершающих слоев нейросети, а также, в случае разного количества классов в задачах, меняются параметры последнего слоя. 

Была использована та же 16-слойная свёрточная нейронная сеть и те же свободно доступные данные ЭКГ с одного отведения (mitdb), которые использовались в предыдущей статье. Дополнительно были использованы размеченные данные соревнования 2017 года с сайта physionet.org, где проводилось обучение для 4 классов на реализациях ЭКГ длительностью от 9 до 60 секунд. Для возможности совместного применения первичные данные (360 отсчётов в секунду) были ресэмплированы в частоту поступления дополнительных данных (300 отсчётов в секунду). 

Далее описано применение методов в двух вариантах постановки задачи классификации, как это было в предыдущей статье (с разделением и без разделения данных на обучающие и тестовые). Для варианта без разделения использованы методы (1) и (2). Для варианта с разделением использованы методы (1), (2) и (3). 

Вариант без разделения обучающих и тестовых данных по персонам (15 классов ритмов)

Нарезка данных на 5-секундные интервалы вместо 10-секундных (метод 1), как и ожидалось, привела к относительному снижению качества распознавания фибрилляции предсердий (AFIB), однако, добавились ранее не распознававшиеся ритмы NOD и IVR. Это можно объяснить уменьшением обрезков данных, что особенно важно для классов с малым количеством данных. Общий показатель «ranking-based average precision» (RBAP) вырос с 0.968 до 0.975.  

Уменьшение интервала нарезки и частоты отсчётов укоротили порцию данных на входе нейросети, что привело к её неработоспособности. Это было скомпенсировано изменением параметров первого слоя (1D-свёртка): размер ядра свёртки уменьшен вдвое, шаг — с 3 до 2. 

Для улучшения результата был также использован «перенос обучения» (метод 2) c различным количеством стираемых слоёв. Показатель RBAP вырос до 0.984. Оказалось, что в данном случае оптимально стирание весов не одного-двух слоёв, а 10 или 13 слоёв из 16 (Рисунок 1).  

Рисунок 1. RBAP

Рисунок 1. RBAP

Вариант с разделением обучающих и тестовых данных по персонам (9 классов ритмов)

Для практического использования ценен именно этот “честный” вариант. При нарезке на 5-секундные интервалы (метод 1) добавилось распознавание ритма IVR, а RBAP вырос с 0.804 до 0.826. Метод «переноса обучения» (метод 2) с оптимальным для данного варианта стиранием весов 10-ти слоёв, добавил распознавание ритма AFL, а RBAP вырос до 0.885

Значимые результаты были получены только для 6 распознаваемых классов ритмов с применением «переноса обучения». Результаты показаны в Таблице 1: 

Отчет по классам  Матрица ошибок 
Точность Полнота f1-score support rhythm AFIB AFL IVR 
0.98 0.98 0.98 342 334 
0.90 0.83 0.86 260 AFIB 215 40 
1.00 0.99 1.00 638 0 632 
0.96 0.83 0.89 58 0 0 0 48 
0.76 0.95 0.84 132 AFL 0 0 0 125 
0.87 0.95 0.91 42 IVR 0 0 0 40 
 
0.95 1472 Метрика Accuracy 
0.91 0.92 0.91 1472 Метрика Macro Average 
0.95 0.95 0.95 1472 Средневзвешенное значение 
0.973    Ranking-based average precision (RBAP) 
Таблица 1

Попытка использовать для обучения все реализации (девять классов ритмов), получившиеся в результате нарезки, вместо использовавшегося ранее выравнивания классов по количеству экземпляров путем прореживания, не удалась: вероятно, сказались слишком большие отличия мощностей классов. Было опробовано как прямое использование данных, так и указание весовых коэффициентов классов, обратных к мощности класса (метод 3). Однако, оба варианта дали результат хуже, чем с выравниванием мощностей классов, с единственным не очень интересным исключением, когда ни «перенос обучения», ни веса классов не используются. 

Итак, наилучшим стал описанный выше вариант с 5-секундной нарезкой, выравниванием количества экземпляров в классах при обучении, и с использованием «переноса обучения» (Табл.1).

Свяжитесь с нами напрямую

Офисы

Москва

117587, Варшавское ш., д. 125, стр. 16А

Ростов-на-Дону

344002, пр. Буденновский, д. 9, офис 305

Нижний Новгород

603104, ул. Нартова, д. 6, корп. 6, офис 829