УДК 004.932.721 DOI: 10.46960/1816-210X 2021 1 24
О.П. Тимофеева, М.М. Гордеев, Д.А. Кобляков
ОБРАБОТКА И ГЕНЕРАЦИЯ ИЗОБРАЖЕНИЙ ЭКГ
Нижегородский государственный технический университет имени Р.Е. Алексеева
Нижний Новгород, Россия
Рассматривается алгоритм, построенный на основе генеративных состязательных сетей и позволяющий генерировать новые синтетические сигналы ЭКГ, чтобы иметь возможность увеличить имеющееся в открытом доступе количество данных для проведения дальнейших исследований. В качестве тренировочного датасета применяется MIT-BIH датасет, содержащий несколько получасовых выдержек амбулаторных записей ЭКГ. Исходные сигналы обрабатываются при помощи алгоритмов сегментации на основе заданного шаблона ЭКГ. Приводится описание архитектур моделей генератора и дискриминатора, методов улучшения и стабилизации качества обучения, подробно разобран и изображен на графиках процесс обучения нейронной сети, выполнен сравнительный анализ полученных результатов с другими существующими работами на основе метрик Frechet Distance и Dynamic time warping, а также представлена визуализация примера созданной ЭКГ.
Ключевые слова: сигналы ЭКГ, генерация ЭКГ, генеративно-состязательные сети, обработка данных, MIT-BIH датасет, метрики обучения, метод historical averaging, батч-нормализация, модель генератора, модель дискриминатора.
Введение
В настоящее время огромное значение обретает возможность детектировать сердечнососудистые заболевания на ранних стадиях, для чего широко используются методы машинного обучения, деревья решений, нейронные сети, способные классифицировать признаки аритмии на записи электрической активности сердца - кардиограмме (ЭКГ). Однако хороших результатов классификации трудно добиться при ограниченном числе тренировочных данных. Современным подходом, помогающим увеличить их количество, является создание алгоритма на базе генеративно-состязательной сети (GAN), которая представляет собой генеративную модель, применяющуюся во многих областях: от создания новых лиц до генерации мелодий.
В рамках работы проведен анализ и выполнена обработка данных ЭКГ, построена архитектура нейронной сети для генерации новых данных, а также проведено сравнение полученных результатов с другими работами в этой области.
Обработка данных
Изображения электрокардиограмм из датасета MIT-BIH представляют собой изображения десятисекундных сигналов с частотой 500 Гц для всех двенадцати отведений. Используя алгоритмы сегментации, для каждой ЭКГ определяется начало (P), конец (T) зубцов и все зубцы (QRS) согласно шаблону, представленному на рис. 1. Далее берется шаг на одинаковом расстоянии слева и справа от пика R. Так, извлекая зубцы, мы получаем множество сердечных циклов, каждый из которых имеет длину 400 точек на отведение. Из датасета MIT-BIH при помощи обработчика, написанного на основе библиотеки matplotlib, были исключены некорректные данные (где невозможно определить пик R). Остальные сигналы были обработаны по принципу, описанному выше.
© Тимофеева О.П., Гордеев М.М., Кобляков Д.А.
Архитектура нейронной сети
Генеративно-состязательная сеть состоит из двух конкурирующих друг с другом моделей: дискриминатора и генератора. Задача дискриминатора - классифицировать входные данные, определить категорию, к которой они относятся. Генератор же выполняет функции, обратные функциям дискриминатора - пытается подобрать образцы к этим категориям.
R
Q S
Рис. 1. Шаблон ЭКГ сигнала
В результате ряда экспериментов был создан генератор, принимающий на вход сигнал из случайного шума, представляющего вещественный вектор размерности 100 (рис. 2) и состоящий из двух двунаправленных слоев LSTM, включающих в себя по 100 скрытых блоков.
Рис. 2. Случайный шум
Был создан дискриминатор, состоящий из нескольких следующих друг за другом и чередующихся слоев свертки (Conv1-Conv4) и пулинга (MaxPool1-MaxPool4) (рис. 3). В качестве функции активации была выбрана функция ReLu, способствующая лучшей сходимости. Результат работы дискриминатора - сигмоида для проведения классификации.
Процесс обучения
В процессе обучения задачей дискриминатора является распознавание фальшивых образцов данных, умение отличать их от реальных сигналов ЭКГ; задачей генератора является создание новых данных настолько правдоподобными, чтобы дискриминатор воспринимал их как реально существующие в исходном датасете. Поскольку генератор пытается сгенерировать такой сигнал, который дискриминатор не сможет отличить от настоящего, варианты этого «правдоподобного» сигнала постоянно меняются в процессе противодействия сетей друг другу. Однако данная оптимизация может продолжаться бесконечно и не приведет к успешному результату. Для внесения стабильности в процесс обучения в работе использовался метод feature matching, позволяющий оценивать разницу между вектором признаков f(x), который извлекается в каждом слое дискриминатора D(x) (рис. 4), и вектором сгенерированных генератором данных. Эта разница добавляется в функцию минимизации генератора и препятствует переобучению.
Рис. 3. Архитектура дискриминатора
Рис. 4. Принцип работы метода feature matching
Для регулировки параметров модели использовался метод historical averaging, который позволяет отслеживать параметры последних t моделей и в случае необходимости вносить коррективы. Historical averaging для нашей генеративной сети помогает остановить нахождение модели вокруг точки равновесия и стать демпфирующей силой для сходимости модели [1]. Чтобы контролировать генерируемые данные, была добавлена метка y в качестве дополнительного параметра к генератору (создаваемые данные z) и к дискриминатору (реальные данные х). Таким образом, с помощью метки y мы сможем более эффективно различать и генерировать каждый сигнал (рис. 5). Для нормализации данных в рассмотренных ранее задачах в процессе обучения глубоких нейронных сетей использовалась техника batchnorm [2] после каждого сверточного слоя и приносила успех, однако в нашем случае эта техника привела к искажению генерируемых данных, поэтому в конечном итоге было решено не применять ее. Наглядно качество процесса обучения удобно отслеживать при помощи графика метрик ошибок (losses) дискриминатора (D) и генератора (G).
Ошибка дискриминатора - это функция, сравнивающая предсказания на реальных данных с массивом единиц, а предсказания на поддельных данных - с массивом нулей.
Ошибка генератора определяет, насколько хорошо он смог превзойти дискриминатор; т.е., если генератор работает хорошо, дискриминатор классифицирует поддельные изображения как реальные (массив единиц).
Рис. 5. Метки сети
На рис. 6 изображены графики изменения ошибки (loss) дискриминатора (черным цветом) и генератора (серым цветом) в процессе обучения. Видно, что в результате 2000 итераций обучение происходило успешно, поскольку обе сети (генератора и дискриминатора) вели конкурирующую борьбу, находясь в обратной зависимости и имея противоположные цели (например, там, где loss генератора равна 1.5, -loss дискриминатора равна 0,5).
Рис. 6. График обучения
Оценка результатов
Графики ошибок продемонстрировали нам успешный процесс обучения. Оценим качество сгенерированных данных. Для этого используем основную классическую для генеративно-состязательных сетей метрику DTW (Dynamic time warping) - способ оценивания схожести двух временных рядов х и y длиной N и M соответственно (1):
DTW = fix,, у;) +min(DTWiJ-1, DTWi-1J, DTWi-1J-1), (1)
где i = 1, ... , N ; j = 1, ... , M.
В результате было получено значение метрики, которое фактически совпадает с результатом модели из работы [3]. Такое сравнение является корректным, поскольку и в работе [3], и в нашей работе использовался один и тот же набор данных. Помимо этого, из библиотеки глубокого обучения Tensorflow была импортирована метрика FrechetDistance (FD), также измеряющая расстояние между сгенерированным и истинным распределениями. Слой полученных образцов в пространстве признаков рассматривается, как непрерывный, многомерный, гауссовский, затем среднее значение и ковариация оцениваются для сгенерированных и истинных данных. Расстояние между ними в нашем случае составило 0,963. В табл. 1 представлено сравнение FD-метрики со значениями из работы [4]. Видно, что наша модель показала хорошее значение, уступив только модели BiLSTM-CNN-GAN.
Таблица 1.
Результаты сравнения
Метод FD метрика
BiLSTM-CNN GAN 0,756
RNN-AE GAN 0,969
LSTM-AE GAN 0,996
OUR MODEL 0,963
RNN-VAE GAN 0,982
LSTM-VAE GAN 0,975
Таким образом, сравнение метрик полученных результатов исследования с другими работами из этой области, позволяет говорить о достаточно хорошем уровне сгенерированных в ходе работы данных. Оценим результаты исследования, созданные изображения ЭКГ, визуально [5]. На рис. 7 приведен пример полученной ЭКГ, которая внешне очень похожа на ЭКГ из используемого в работе тренировочного набора, что также свидетельствует о качественной работе модели.
Рис. 7. Изображение сгенерированной ЭКГ
Результаты
Предложена собственная архитектура нейронной сети для генерации ЭКГ, соответствующей одному сердечному циклу. Анализ результатов и их сравнение с другими работами показали, что полученные метрики характеризуют корректно проведенные этапы обработки данных и обучения, а сгенерированные сигналы ЭКГ выглядят внешне вполне естественными. Проведены эксперименты с использованием библиотек компьютерного зрения, показавшие работоспособность таких методов, как feature matching и historical averaging. Установлено, что некоторые методы стабилизации работы сети (например, batchnorm) в данном случае приводят к замедлению качества обучения и ухудшают результат генерации.
Заключение
Создано программное обеспечение, позволяющее из шума сгенерировать новые сигналы ЭКГ, которые планируется использовать для повышения качества автоматической диагностики сердечно-сосудистых заболеваний. Синтетические данные также могут быть применены в клинической практике последующих исследований. Планируется расширение реализованного алгоритма с целью генерации всей ЭКГ, а не только одного сердечного цикла.
Библиографический список
1. Ian, J. Goodfellow. Generative Adversarial Nets / J. Ian // Department of informatics. - 2014. - P.1-8.
2. Ioffe, S. BatchNormalization: Accelerating Deep Network / S.Ioffe, C.Szegedy // Trainin by Reducing Internal Covariate Shift. - 2015. - P.1-11.
3. Delaney, A.M. Synthesis of realistic ECG using Generative Adversarial Networks / A.M. Delaney, 2019. - P.1-12.
4. Zhu, Fel Electrocardiogram generation with a bidirectional LSTM-CNN Generative adversarial network / Fel Zhu, Ye Fei // Translational Biomedical Informatics. - 2019. - P.1-9.
5. Salimans, Tim Improved Techniquesfor Training GANs / Tim Salimans, W.Zaremba, 2016. - P. 2-10.
Дата поступления в редакцию: 02.01.2021
O.P. Timofeeva, M.M. Gordeev, D.A. Koblyakov
ECG IMAGE PROCESSING AND GENERATING
Nizhny Novgorod state technical university n.a. R.E. Alekseev
Purpose: The task of detecting cardiovascular diseases is one of the urgent tasks at the present time. The existing approaches have a number of disadvantages, since there is a small amount of data in the free access. The algorithm considered in this article, based on generative adversarial networks, allows generating new synthetic electrocardiogram (ECG) signals in order to be able to increase the amount of data for further research. Design/methodology/approach: Generative adversarial networks are used for generating new synthetic electrocardiogram (ECG) signals. As a training dataset, the MIT-BIH dataset is used.
Findings: The obtained metrics characterize the correct training process, and the generated signals look similar to the data from the original set.
Research limitations/implications: New synthetic electrocardiogram (ECG) signals are necessary in order to be able to increase the available amount of data for further classification task.
Originality/value: This research can be used in applications requiring increasing small amount of data like as electrocardiogram (ECG) signals.
Key words: ECG signals, generation of ECG, GAN, data processing, MIT-BIH dataset, training metrics, historical averaging method, batchnorm's technique, generator's model, discriminator's model.