ИНФОРМАТИКА
И ИНФОРМАЦИОННЫЕ ПРОЦЕССЫ INFORMATICS
AND INFORMATION PROCESSING
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ, ЧИСЛЕННЫЕ МЕТОДЫ И КОМПЛЕКСЫ ПРОГРАММ
MATHEMATICAL MODELING, NUMERICAL METHODS AND COMPLEX PROGRAMS
ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ И МАШИННОЕ ОБУЧЕНИЕ
ARTIFICIAL INTELLIGENCE AND MACHINE LEARNING
DOI: 10.33693/2313-223X-2022-9-2-92-103
Применение методов искусственного интеллекта к задаче диагностики заболеваний дыхательных путей
Т.С. Катерминаа ©, А.Ф. Сибагатулинь ©
Нижневартовский государственный университет, Ханты-Мансийский автономный округ - Югра, Тюменская область, г. Нижневартовск, Российская Федерация
a E-mail: [email protected] b E-mail: [email protected]
Аннотация. В статье рассматривается проблема диагностики заболеваний органов дыхания. Авторы выбрали в качестве возможного направления решения поставленной задачи нейросетевую сверточною модель, разработали и показали ее возможную архитектуру. Также в работе показано, какие этапы предобработки данных необходимо произвести для наилучшего результата обучения модели. Диагностику заболеваний дыхательных путей авторы предлагают проводить при помощи анализа характеристик аудиозаписей дыхания человека. Подобные аудиозаписи уже производятся, что позволило использовать для обучения сети набор данных, находящийся в свободном доступе в сети Интернет. Работа содержит перечень характеристик аудиозаписей дыхания, которые можно использовать для анализа и постановки предварительного диагноза. Немаловажная часть работы - анализ существующих современных научных подходов, позволяющих так или иначе упростить работу медицинского персонала и помочь сохранить здоровье пациента. Приведенные результаты обучения нейросетевой модели показывают, какие заболевания можно с большой уверенностью диагностировать автоматически, а какие более трудно определить и требуют дополнительных исследований.
Ключевые слова: искусственный интеллект, диагностика заболеваний, дыхательные пути, респираторные заболевания, записи дыхания, сверточная нейронная сеть
05.13.18
1.2.1.
DOI: 10.33693/2313-223X-2022-9-2-92-103
Application of Artificial Intelligence Methods to the Task of Diagnosing Respiratory Diseases
T.S. Katermina3 ©, A.F. Sibagatulinb ©
Nizhnevartovsk State University,
Khanty-Mansi Autonomous Okrug - Yugra, Tyumen region, Nizhnevartovsk, Russian Federation a E-mail: [email protected] b E-mail: [email protected]
Abstract. The article considers the problem of diagnostics of respiratory diseases. The authors have chosen as a possible direction of solution of the given problem neuronetwork convolution model, developed and showed its possible architecture. The article also shows what steps of data pre-processing must be produced for the best result of model training. The authors suggest that the diagnosis of respiratory diseases should be carried out by analyzing the characteristics of audio recordings of breathing. Such audio recordings are already being produced, making it possible for the network to use a data set that is freely available on the Internet. The paper contains a list of characteristics of audio recordings of breathing that can be used to analyze and make a preliminary diagnosis. An important part of the work is the analysis of existing modern scientific methods that allow somehow simplify the work of medical personnel and help to preserve the health of the patient. The given results of learning the neural network model show which diseases can be diagnosed with great confidence automatically, and which are more difficult to determine and require additional research.
Key words: artificial intelligence, diagnostics of diseases, respiratory tract, respiratory diseases, respiratory recordings, convolutional neural network
FOR CITATION: Katermina T.S., Sibagatulin A.F. Application of Artificial Intelligence Methods to the Task of Diagnosing Respiratory Diseases. Computational Nanotechnology. 2022. Vol. 9. No. 2. Pp. 92-103. (In Rus.) DOI: 10.33693/2313-223X-2022-9-2-92-103
1. ВВЕДЕНИЕ
Диагностика заболеваний - одна из важнейших областей, в которой могут быть использованы методы и алгоритмы искусственного интеллекта. Как показано в дальнейшем, существует широкий спектр научных областей, таких как математическая статистика, эконометрика и др., которые позволяют ближе подойти к задаче помощи врачу, пациенту, к задаче упрощения медицинского менеджмента.
В данной статье предлагается использовать элементы искусственного интеллекта, в частности, искусственные нейронные сети, для предварительной диагностики некоторых заболеваний органов дыхания. Цель работы - показать, как можно использовать ней-росетевые модели для решения подобных задач, а также какую предварительную работу необходимо проделать, чтобы подготовить данные для обучения модели.
2. ОБЗОР СОВРЕМЕННЫХ ПОДХОДОВ, ПРИ-
МЕНЯЮЩИХСЯ В СФЕРЕ МЕДИЦИНСКОЙ
ДИАГНОСТИКИ
Различные методы диагностики заболеваний ос-
новываются на анализе и оценке тех или иных по-
казателей жизнедеятельности человека, например,
показателей артериального давления или объемных
и скоростных показателей дыхания.
Один из подходов к диагностике заболеваний дыхательных путей представлен в патенте [Трушина и др., 2019]. Данный подход опирается на математическую оценку четырех информативных лабораторных показателей. В результате статистического анализа строится следующая математическая модель:
у = 0,0206х: - 0,0583х2 + 0,0205х3 - 0,0011х4 + 0,582,
где у - тип воспаления дыхательных путей; х1 - содержание эозинофилов в индуцированной мокроте, %; х2 - количество нейтрофилов в крови, 109/л; х3 - количество эозинофильного катионного протеина в крови, нг/мл; х4 - количество нейтрофильной эластазы в крови, нг/мл. Показатель у отражает тип воспаления дыхательных путей нейтрофильный или эозинофильный.
В статье [Гуляев, Жубр, Цаллагова, 2019] представлен подход к выявлению пациентов с риском гипотен-зии. Он основан на анализе показателей артериального давления с применением метода линейной регрессии, благодаря которому строится разделяющая гиперплоскость между группами пациентов с низким и высоким риском гипотензии.
Диагностика обструкции дыхательных путей легкой степени выраженности с помощью импульсной осциллометрии представлена в статье [Савушкина и др., 2018]. Диагностика осуществляется на параметрах АХ (площадь реактанса), Rrs (резистивный
INFORMATICS AND INFORMATION PROCESSING
компонент дыхательного импеданса), Xrs (реактивное сопротивление). Если использовать базовые параметры Rrs5 и Xrs5, то процент выявления заболевания мал и равен 32%. Параметр AX имеет большую информативность, так как его отклонение от нормы присуще 64% пациентов.
Интеллектуальный анализ данных (Data mining) -совокупность методов классификации и прогнозирования, основанных на применении методов наивного Байеса, k-ближайших соседей, случайного леса, опорных векторов, логистической регрессии, нейронных сетей.
НАИВНЫЙ БАЙЕСОВСКИЙ КЛАССИФИКАТОР
Это вероятностный классификатор, используемый для задач классификации. Используя теорему Байеса, мы можем найти вероятность того, что произойдет событие A, учитывая, что произошло событие B:
, s P(в | A)P(А)
P (А|в )="Нм ■
Здесь B - это доказательство; A - гипотеза. Сделанное предположение состоит в том, что признаки независимы, поэтому его называют наивным [Gandhi, 2018].
МЕТОД k-БЛИЖАЙШИХ СОСЕДЕЙ
(k-NEAREST NEIGHBORS)
Метод k-ближайших соседей - это контролируемый алгоритм машинного обучения, использующийся в задачах классификации, регрессии, алгоритм с учителем. Он является одним из самых фундаментальных и простых методов классификации с низким временем выполнения и вычислений [Taunk et al., 2019]. Метод предполагает, что похожие экземпляры будут расположены близко к друг другу, то есть чем они ближе, тем больше вероятность того, что они относятся к одному и тому же классу.
Перед выполнением алгоритма определяется положительное целое число k - количество соседей для данной точки. Затем с помощью функций расстояния вычисляется расстояние до новых данных. Для вычисления расстояния между объектами часто применяют евклидово расстояние [26]:
- 30 )2.
МЕТОД ОПОРНЫХ ВЕКТОРОВ
Метод из теории статистического обучения. Метод представляет собой контролируемую модель машинного обучения, которая использует алгоритмы классификации для задач классификации по двум категориям [Noble, 2006]. Он основан на линейном разделении. Однако не все данные могут быть разделены линейно: для точек двух категорий может потребоваться кривая, чтобы разделить их границы в двумерном пространстве.
Основным элементом метода является разделяющая гиперплоскость, задача которой состоит в том, чтобы классифицировать точки на два класса. Она находит максимальный отступ между точками обоих классов. Максимизация расстояния отступа обеспечивает точность метода.
ЛОГИСТИЧЕСКАЯ РЕГРЕССИЯ
Математическая модель, используемая в статистическом анализе, которая моделирует зависимость одной переменной от набора других входных переменных. Такая модель с помощью логистической функции относит объект к одному из двух классов с определенной вероятностью. Результат логистической регрессии всегда находится в интервале [0, 1].
СЛУЧАЙНЫЙ ЛЕС
Случайный лес или дерево принятия решений -алгоритм машинного обучения, который использует множество деревьев для принятия решения, является контролируемым алгоритмом обучения, используется в регрессии, кластеризации, классификации. За счет большого количества решающих деревьев точность алгоритма возрастает, при этом каждое отдельное дерево может давать низкую точность.
ИСКУССТВЕННЫЕ НЕЙРОННЫЕ СЕТИ
Подобно тому, как биологические нервные системы обрабатывают информацию, искусственные нейронные сети (ANN) тоже состоят из взаимосвязанных элементов, называемых нейронами, взаимодействующих для определения решений конкретных проблем [Papadopoulos, Kosmas, Michalakelis, 2021]. Как и у людей, процесс обучения ANN основан на примерах. Вместо набора инструкций по выполнению конкретной задачи им даются примеры для анализа и поиска способа решения проблемы.
Существует несколько подходов, основанных на искусственных нейронных сетях, для диагностики заболеваний в медицине. В статье [Nagarajan, Thirunavukarasu, 2022] применяется архитектура ней-ро-нечетких систем в здравоохранении для анализа и прогнозирования заболеваний. Нейро-нечеткая система (neuro-fuzzy system, NFS) или нечеткая нейронная сеть (fuzzy neural network, FNN) комбинирует методы искусственных нейронных сетей и систем на нечеткой логике. Информация из медицинских записей подвергается предварительной обработке, нормализации с помощью процесса фаззификации, прогнозированию заболевания путем применения определенных правил и де-фаззификации выходных значений для получения информации, которая относится к прогнозируемому заболеванию. Процесс принятия решений основан на базе нечетких правил и достигает значения точности 87,7%.
В статье [Shafiekhani, Namdar, Rafiei, 2022] с помощью моделей прогнозирования на основе ANN решается задача прогнозирования подтвержденной госпитализации с COVID-19 в отделение интенсивной
терапии, что необходимо для прогнозирования количества коек или других типов медицинских устройств во время пандемии COVID-19. Исследователи рассмотрели такие модели нейронных сетей, как сети долговременной краткосрочной памяти (LSTM), адаптивной сети нейро-нечеткого вывода (ANFIS), дерева решений и регрессии опорных векторов (SVR). Обучались модели на данных о ежедневных случаях госпитализации в обычных медицинских стационарах, отделениях неотложной помощи, отделениях интенсивной терапии. Результаты показали, что все модели предсказывают динамику госпитализации в отделения интенсивной терапии, но лучшей прогностической способностью обладает адаптивная сеть на основе системы нечеткого вывода (ANFIS). В целом исследование показало, что такие модели могут использоваться в медицинских учреждениях.
Помимо уже упомянутых архитектур нейронных сетей существует сверточная нейронная сеть, именно ее новую модификацию ConCeptCNN представили в статье [Chen et al., 2022]. Предлагаемая модель используется для извлечения топологических признаков из данных коннектом мозга для классификации и анализа неврологических расстройств. Она хорошо справляется с извлечением топологических признаков из кон-нектомы мозга (полное описание структуры связей в нервной системе организма) и с задачей прогнозирования нарушений развития нервной системы, благодаря особенности фильтров свертки. Разница с обычными CNN заключается в наличии не одного сверточного фильра, который имеет ограниченную способность извлекать различительную информацию, а нескольких сверточных фильтров, что улучшает общую эффективность классификации задач. ConCeptCNN использует несколько векторных фильтров для извлечения топологической информации из коннектома мозга на разных уровнях для дополнительного встраивания признаков коннектом мозга. Результаты проверки ConCeptCNN показал многообещающие результаты в выявлении синдрома дефицита внимания и гиперактивности у молодых людей с точностью прогнозирования 78,7% и в прогнозировании когнитивного дефицита в возрасте двух лет с поправкой на недоношенных детей с точностью 81,6%.
Эффективная модель раннего прогнозирования COVID представлена в статье [Mydukur et al, 2022]. Она повышает точность и сводит к минимуму затраты времени, а также частоту ошибок по сравнению с существующими работами при прогнозировании COVID. Для решения этих проблем в этой статье представлена методика регрессионной гауссовой нейро-нечеткой многоуровневой классификации данных с наименьшими квадратами (LSRGNFM-LDC). Метод LSRGNFM-LDC обеспечивает эффективное прогнозирование COVID с большей точностью и меньшими затратами времени за счет выбора и классификации признаков. Предварительная обработка используется для устранения нежелательных данных во входных объектах
и уменьшения временной сложности. Затем выполняется регрессионный процесс выбора признаков по методу наименьших квадратов Деминга для выбора наиболее релевантных признаков путем определения линии наилучшего соответствия. После процесса выбора признаков гауссовский нейро-нечеткий классификатор в методике LSRGNFM-LDC выполняет процесс классификации данных с помощью нечетких правил if-then для выполнения процесса прогнозирования. Наконец, нечеткое правило «если - то» классифицирует данные пациента, как: низкий, средний, высокий уровень риска, с более высокой точностью и меньшими затратами времени.
3. ПРИМЕНЕНИЕ
ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ К ЗАДАЧЕ ДИАГНОСТИКИ ДЫХАТЕЛЬНЫХ ПУТЕЙ ПО АУДИОЗАПИСЯМ ДЫХАНИЯ
3.1. ВЫБОР АРХИТЕКТУРЫ НЕЙРОННОЙ СЕТИ
Последние несколько лет проблема классификации аудио данных была затронута научным сообществом и были проведены различные исследования, которые посвящены распознаванию аудио данных с использованием сверточных [Karol, 2015] и рекуррентных [Phan, Koch, 2017] сетей.
Рекуррентная нейронная сеть (recurrent neural network, RNN) - архитектура нейронных сетей, которая содержит в себе обратные связи, благодаря чему может хранить информацию в процессе обучения (рис. 1). Эти сети хорошо подходят для обработки последовательностей. [Olah, 2015]
Рис. 1. RNN с обратными связями Fig. 1. RNN with feedbacks
Обратные связи необходимы для сохранения информации между обучением нейронной сети. Рекуррентная сеть во временном представлении состоит из копий самой себя, предающей информацию своему следующему экземпляру. Такую архитектуру нейронной сети использовали в работах по распознаванию речи [Graves, Mohamed, Hinton. 2013], классификации звуковых сцен [Phan, Koch, 2017], анализу текста [Guan, Cho, 2019], перевода текста [Sharma, Banerjee, 2020], обработке видео и изображений [Qasim, Pet-tirsch, 2020]. Такую нейронную сеть следует использовать тогда, когда важно соблюдать последовательность данных, то есть когда важен порядок поступающих объектов.
INFORMATICS AND INFORMATION PROCESSING
Сверточная нейронная сеть (convolutional neural network, CNN) - вид нейронных сетей, который предназначен для распознавания образов.
Сверточные нейронные сети появились еще в 1980-х годах, но только недавно они были приняты в качестве метода выбора для различных задач классификации объектов. Работа Крижевского [Krizhevsky, Sutskever, Hinton, 2012] ознаменовала поворотный момент в крупномасштабном визуальном распознавании в 2012 году. С тех пор, сверточные нейронные сети позволили значительно продвинуться в решении многочисленных задач распознавания образов, включая классификацию дорожных знаков [Cire^an, Meier, Masci, Schmidhuber, 2012], номеров домов и рукописных цифр [Simard, Steinkraus, Platt, 2003], обнаружение пешеходов [Sermanet, Kavukcuoglu, Chintala, 2013] и обработку изображений с помощью электронной микроскопии [Cire^an, Giusti, Gambardella, Schmidhuber, 2012].
Хотя в основном они используются в контекстах визуального распознавания, сверточные архитектуры также успешно применяются в речи и анализе музыки [Dieleman, Brakel, Schrauwen, 2011]. Эти труды показали, что подходы, использующие преимущества локальности данных, могут обеспечить жизнеспособные решения проблем, возникающих в других областях. Подробное освещение современных методов глубокого обучения и их применения в различных контекстах, включая обработку речи и аудио, можно найти в недавно опубликованных книгах, обсуждающих эту тему [Bengio, Goodfellow, Courville, 2015].
Архитектура сверточной нейронной сети состоит из входного слоя (input), группы сверточных (convolutional) и объединяющих (pooling) слоев (которые могут быть объединены различными способами), ограниченного числа полностью связанных скрытых слоев (dense) и выходного слоя (output). Фактическое различие по сравнению с многослойным персептроном заключается во введении комбинации операций свертки и объединения [Karol, 2015] (рис. 2):
В качестве функции активации сверточных слоев выступает - выпрямленных линейный блок (ReLUs)
f(x) = max (0, x).
Глубокие нейронные архитектуры имеют естественную тенденцию к переобучению. Один из спо-
собов решения этой проблемы был представлен в форме отсева обучения [Srivastava, НтШп, 2014]. Концепция довольно проста, но очень эффективна. В каждой итерации обучения каждая скрытая единица удаляется случайным образом с заранее определенной вероятностью (первоначально 50%), и процедура обучения продолжается в обычном режиме. Эти случайные возмущения эффективно предотвращают изучение сетью ложных зависимостей между скрытыми единицами.
Входной слой [Input layer]
Сверточный слой [Convolutional layer]
Слой подвыборки [Pooling layer]
та
Wi
Свертка с квадратным ядром +
+ нелинейная активация [Convolution with square kernel + + non-linear activation
Подвыборка [Max-pooling
Рис. 2. Схематическая визуализация типичной операции свертки и объединения, выполняемой с входными данными
Fig. 2. Schematicvisualization of a typical convolution and pooling operation performed with input data
В данной работе будет использоваться сверточная нейронная сеть для классификации аудиозаписей респираторных заболеваний, так как данная сеть наиболее подходит к задаче подобного рода. В свою очередь рекуррентные нейронные сети больше подходят для анализа и прогнозирования аудиосцен.
3.2. ПРЕДОБРАБОТКА ДАННЫХ
Исходный набор данных представлен дата-сетом [Rocha et al., 2018]. В нем содержатся сами аудиозаписи в формате .wav и файл patient_diagnosis.csv, который содержит информацию о заболеваниях пациентов.
Предобработка заключается в предварительном просмотре и анализе набора файлов и содержащейся в ней информации. Так получено, что всего аудиофайлов - 920, и такое же количество текстовых файлов, содержащих информацию о начале и конце цикла дыхания пациента для каждой записи (рис. 3).
start end crackles weezels pid filename disease
0 0.036 0.579 0 0 101 101 _1 b 1 _AI_sc_Med itron URTI
1 0.579 2.450 0 0 101 101 _1 M _AI_5C_Med itron URTI
2 2.450 3.893 0 0 101 101J b 1 _AI_sc_Med itron URTI
3 3.893 5.793 0 0 101 101 _ 1 b 1 _AI_sc_Med itron URTI
4 5.793 7.521 0 0 101 101 1M AI sc Meditron URTI
Рис. 3. Фрейм данных, содержащий информацию о циклах дыхания и болезни пациента (первые пять строк) Fig. 3. A data frame containing information about the breathing cycles and the patient's illness (the first five lines)
Также в данной базе данных содержится файл, содержащий информацию о пациенте и соответствующий ему тип диагноза (рис. 4). Всего 8 диагнозов: COPD (ХОБЛ - хроническое обструктивное болезнь легких), pneumonia (пневмония), asthma (астма), bronchiectasis (бронхоэктазы), bronchiolitis (бронхио-лит), URTI (инфекция верхних дыхательных путей), LRTI (инфекция нижних дыхательных путей), healthy (здоровый).
pid disease
0 101 URTI
1 102 Healthy
2 103 Asthma
3 104 COPD
4 105 URTI
Рис. 4. Первые 5 записей в файле patient_diagnosis.csv (pid - номер пациента, disease - название заболевания)
Fig. 4. The first 5 entries in the patient_diagnosis.csv file (pid is the patient's number, disease is the name of the disease)
Далее рассмотрим распределение количества циклов дыхания, относящихся к разным болезням (рис. 5). Заметен сильный перевес в количестве циклов дыхания у болезни ХОБЛ (COPD на диаграмме). Данный перевес не позволит нейронной сети обучиться корректно, возможен случай переобучения на классе ХОБЛ.
11 П
6000
5000
=5 4000
£ 3000
5 2000
1000
1 2 3 4 5 6 7 8 Болезнь [Disease]
Рис. 5. Диаграмма распределения количества записей циклов дыхания по классам:
1 - инфекция верхних дыхательных путей (ИВДП); 2 - здоровый; 3 - астма; 4 - ХОБЛ (хроническая обструктивная болезнь легких); 5 - инфекция нижних дыхательных путей (ИНДП); 6 - бронхоэктазы; 7 - пневмония; 8 - бронхиолит
Fig. 5. Diagram of the distribution of the number of records of breathing cycles by class:
1 - URTI; 2 - healthy; 3 - asthma; 4 - COPD; 5 - LRTI; 6 - bronchiectasis; 7 - pneumonia; 8 - bronchiolitis
Поэтому было решено сократить выборку из класса ХОБЛ до 60% от общего количества экземпляров и произвести увеличение количества экземпляров классов с малым количеством записей (аугментиро-
вать). Аугментация - действие, процесс создания или увеличения размера, или количества. В данные были добавлены шумы и сдвиги по времени (рис. 6).
import librosa as lb import numpy as np import random
cycle_time = 6
def white_noise(data):
# Adding white noise
wn = np.random.randn(len(data)) k = random.randint(l, 9) / 1000
data_wn = data + k * wn return data_wn
def shif^soundidata, sr):
# Shifting the sound
n = int(sr * cycle_time * random.randint(l, 6))
data_roll = np.roll(data, n) return data_roll
Рис. 6. Аугментация: добавление шума и сдвиг по времени Fig. 6. Augmentation: adding noise and time shift
В результате был получен генеральный набор данных (рис. 7).
1800 1600 1400
§ 1200
0
S 1000
S 800
Т
1 600
0
400 200 0
Болезнь [Disease]
Рис. 7. Диаграмма количества классов заболеваний в генеральной совокупности после аугментации:
1 - инфекция верхних дыхательных путей (ИВДП); 2 - здоровый; 3 - астма; 4 - ХОБЛ (хроническая обструктивная болезнь легких); 5 - инфекция нижних дыхательных путей (ИНДП); 6 - бронхоэктазы; 7 - пневмония; 8 - бронхиолит
Fig. 7. Diagram of the number of classes of diseases in the general population after augmentation:
1 - URTI; 2 - healthy; 3 - asthma; 4 - COPD; 5 - LRTI; 6 - bronchiectasis; 7 -pneumonia; 8 - bronchiolitis
3.3. ИЗВЛЕЧЕНИЕ ПРИЗНАКОВ
Далее с помощью извлечения признаков из аудиозаписей формируется выборка и делится на обучающую и тестовую.
Какие признаки нужно извлечь? Каждая аудиозапись состоит из множества признаков. Поэтому стоит извлекать только те характеристики, которые относятся к решаемой проблеме (рис. 8).
0
ИНФОРМАТИКА И ИНФОРМАЦИОННЫЕ ПРОЦЕССЫ INFORMATICS AND INFORMATION PROCESSING
import librosa as lb
def getFeatures(path):
soundArr, sample_rate = lb.load(path)
mfcc = lb.feature.mfcc(y = soundArr, sr = sample_rate)
cstft = lb.feature.chroma_stft(y = soundArr, sr = sample_rate)
mSpec = lb.feature.melspectrogram(y = soundArr, sr = sample_rate)
return mfcc, cstft, mSpec
Рис. 8. Функция получения признаков из аудиозаписи Fig. 8. The function of obtaining features from an audio recording
Hz 8192 4096 2048 1024 512 0
2 3
Время [Time]
а
МШШШкЫ!
34 Время [Time] b
dB г Hz
-10 8192
-20 4096
-30
-40 2048
-50 1024
-60
-70 -80 512 0
1 2 3 4 5 6
Время [Time] С
Рис. 9. Извлеченные признаки из цикла дыхания пациента:
a - MFCC спектрограмма, b - хромограмма, c - спектрограмма в масштабе мел
Fig. 9. Extracted signs from the patient's breathing cycle:
a - MFCC spectrogram, b - chromogram, c - spectrogram at the mel scale
Ключевыми признаками являются признаки, полученные из спектра сигнала. Спектр сигнала состоит из множества гармоник, которые высчитываются с помощью преобразования Фурье. На основе спектра сигнала, состоящий из множества гармоник, можно рассчитать и другие частотные признаки сигнала, например, частотные кепстральные коэффициенты в масштабе мел, хромограмма [Chauhan, 2020].
mfcc InputLayer croma InputLayer mspec InputLayer
mfccModel Functional cromaModel
"S
concatenate
dense
dropout_1
dense_1
dropout_2
dense_2
Functional mSpecModel Functional
Concatenate
Dense
Dropout
Dense
Dropout
Dense
Рис. 10. Модель сверточной нейронной сети для диагностики аудиозаписей дыхания
Fig. 10. Convolutional neural network model for diagnostics of audio recordings of breathing
Возвращаемое значение функции getFeatures (рис. 8) содержит три массива коэффициентов mfcc, cstft, mSpec (рис. 9):
• mfcc - мел частотный кепстральный коэффициент (20 коэффициентов);
• cstft - хромограмма, признак или вектор цветности (12 коэффициентов);
• mSpec - спектрограмма в масштабе мел (128 коэффициентов).
3.4. ОПИСАНИЕ МОДЕЛИ
РАЗРАБОТАННОЙ НЕЙРОННОЙ СЕТИ
Создание и обучение сверточной нейронной сети включает в себя множество решений, которые должны быть приняты как в отношении архитектуры (формат входных данных, количество и размер слоев, размеры фильтра), так и в отношении макропараметров обучения (скорость обучения, импульс, размер пакета, вероятность отсева). Этот процесс отбора в основном основан на эвристике.
0
2
5
6
Была построена модель сверточной нейронной сети (рис. 10), состоящей:
• из трех входных слоев - mfcc, croma и mspec;
• из трех сверточных моделей - mfccModel, cromaModel и mSpecModel, каждая из которых состоит из нескольких сверточных слоев;
• из соединительного слоя Concatenate, объединяющий выходы трех сверточных моделей;
• из двух полносвязных слоев Dense с отсевом обучения каждый Dropout;
• из выходного слоя с функцией активации softmax, который содержит 8 нейронов - это столько же, сколько классов диагнозов.
В каждый из входных слоев необходимо подать матрицы признаков, которые были получены из предыдущего шага (п. 3.3). Размерность этих матриц равна
(20, 259), (12, 259), (128, 259) для входных слоев mfcc, croma, mspec соответственно.
Макропараметры обучения модели:
• функцияпотерь - sparse categorical crossentropy;
• оптимизатор - adam;
• метрика - accuracy;
• размер пакета - 100;
• максимальное количество эпох - 100;
• функции активации для всех слоев кроме последнего - ReLU, активация последнего выходного слоя -softmax;
• количество обучающих примеров - 5187, количество тестовых примеров - 1297.
Далее идут три сверточные модели, их структурное устройство относительно друг друга одинаково, поэтому рассмотрим только первую модель - mfccModel (рис. 11).
mfccInput input: [(None, 20, 259, 1)]
InputLayer output: [(None, 20, 259, 1)]
conv2d_26 input: [(None, 20, 259, 1)]
Conv2D output: [(None, 20, 87, 32)]
batch_normalization_26 input: [(None, 20, 87, 32)]
BatchNormalization output: [(None, 20, 87, 32)]
activation_26 input: [(None, 20, 87, 32)]
Activation output: [(None, 20, 87, 32)]
max_pooling2d_18 input: [(None, 20, 87, 32)]
MaxPooling2D output: [(None, 10, 43, 32)]
conv2d_27 input: [(None, 10, 43, 32)]
Conv2D output: [(None, 10, 22, 64)]
batch_normalization_27 input: [(None, 10, 22, 64)]
BatchNormalization output: [(None, 10, 22, 64)]
activation_27 input: [(None, 10, 22, 64)]
Activation output: [(None, 10, 22, 64)]
max_pooling2d_19 input: [(None, 10, 22, 64)]
MaxPooling2D output: [(None, 5, 11, 64)]
conv2d_28 input: [(None, 5, 11, 64)]
Conv2D output: [(None, 5, 11, 96)]
batch_normalization_28 input: [(None, 5, 11, 96)]
BatchNormalization output: [(None, 5, 11, 96)]
activation_28 input: [(None, 5, 11, 96)]
Activation output: [(None, 5, 11, 96)]
max_pooling2d_20 input: [(None, 5, 11, 96)]
MaxPooling2D output: [(None, 2, 5, 96)]
conv2d_29 input: [(None, 2, 5, 96)]
Conv2D output: [(None, 2, 5, 128)]
batch_normalization_29 input: [(None, 2, 5, 128)]
BatchNormalization output: [(None, 2, 5, 128)]
activation_29 input: [(None, 2, 5, 128)]
Activation output: [(None, 2, 5, 128)]
global_max_pooling2d_8 input: [(None, 2, 5, 128)]
GobalMaxPooling2D output: [(None, 128)]
Рис. 11. Модель mfccModel - одна из подмоделей полной модели Fig. 11. The mfccModel model is one of the submodels of the full model
INFORMATICS AND INFORMATION PROCESSING
Здесь представлено четыре повторяющихся своя свертки, отличающиеся только параметрами самой свертки: размером ядра свертки, шагом ядра и размерностью выходного пространства (т.е. количеством выходных фильтров в свертке).
Основные слои сверточной модели mfccModel:
• сверточный слой (Conv2D). Этот слой производит операцию свертки по всему входному изображению или карте признаков с помощью ядра свертки. Коэффициенты ядер или фильтров корректируются в процессе обучения нейронной сети;
• слой батч-нормализации (BatchNormalization). Идея батч-нормализации - ограничить внутренний ковариационный сдвиг путем нормализации выхода каждого слоя, преобразуя его в распределение с нулевым математическим ожиданием и единичной дисперсией. Дает следующие возможные эффекты: ускорение сходимости к модели обучающей выборки, ускорение обучения; возросшая независимость обучения каждого слоя нейронов; меньшая чувствительность к начальной инициализации весовых коэффициентов;
• слой активации (Activation). В качестве функции активации сверточных слоев выступает - функция ReLU (RectifiedLinearUnit) - выпрямленный линейный блок;
• слой выборки (пулинга) (MaxPooling2D) производит следующие действия: входная карта признаков делится на сектора размерности равной размерности слоя выборки, далее входное изображение уменьшается за счет выборки одного числа из каждого сектора, тем самым входные данные уменьшаются в несколько раз. Обычно применяют выборку максимального числа из сектора, что и использовалось в нашем слое выборки. Также существует выборка среднего числа по всему сектору.
3.8. ОЦЕНКА ОБУЧЕНИЯ
В результате обучения нашей модели сверточной нейронной сети (рис. 12) тестовые метрики составили:
• точность (accuracy) - 87%;
• потери (loss) - 0,36%.
0,9 0,8 0,7 0,6 0,5 0,4 0,3
10
20
30 a
Точность обучения [Training acc]
Точность проверки [Validation acc]
40
50
60
30 b
Рис. 12. Графики тренировочных и проверочных метрик (62 эпохи):
а - точность; b - потери
Fig. 12. Graphs of training and validation metrics (62 epochs):
a - accuracy; b - losses
T5 3
$ 4
a.
e 6
95,0% 5,0%
19/20 1
95,2% 1,6% 1,6% 1,6%
60/63 1 1 1
80,6% 5,0% 0,6% 13,8%
129/160 8 1 22
0,3% 0,3% 1,5% 0,9%
1 1 5 3
0,5% 2,6% 0,5% 71,5% 1,6% 5,2% 18,1%
1 5 1 138/193 3 10 35
96,3% 0,9% 2,8%
105/109 1 3
0,6% 3,5% 7,6% 1,2% 86,0% 1,2%
1 6 13 2 147/171 2
0,8% 4,5% 10,7% 0,4% 1,6% 81,9%
2 11 26 1 4 199/243
2 3 4 5 6 7 Предсказанный [Predicted]
В результате обучения (рис. 13) получены прогнозы для классов asthma - 95%, bronchiectasis - 95%, COPD -97%, LRTI - 96%, pneumonia - 86%, bronchiolitis - 80%. Классы healthy и URTI получили более меньшую точность 71 и 82% соответственно, возможно из-за того, что данные диагнозы похожи и область распространения этих болезней находится в одной области, в верхних дыхательных путях.
Рис. 13. Матрица неточности:
1 - астма; 2 - бронхоэктазы; 3 - бронхиолит; 4 - ХОБЛ (хроническая обструктивная болезнь легких); 5 - здоровый; 6 - инфекция нижних дыхательных путей (ИНДП); 7 - пневмония; 8 - инфекция верхних дыхательных путей (ИВДП)
Fig. 13. Confusionmatrix:
1 - asthma; 2 - bronchiectasis; 3 - bronchiolitis; 4 - COPD;
5 - healthy; 6 - LRTI; 7 - pneumonia; 8 - URTI
2
5
7
50
8
0
4. ВЫВОДЫ
Описанная в статье нейросетевая модель для диагностирования заболеваний дыхательных путей по аудиозаписям дыхания может быть использована для предварительной работы по постановке диагноза. Созданная сверточная нейронная сеть для диагностики заболеваний аудиозаписей дыханий обладает точностью 87%.
Модель обладает хорошими показателями выяв-ляемости заболеваний COPD - 97%, asthma - 95%, bronchiectasis - 95%, LRTI - 96%, pneumonia - 86%. Меньшую точность получили диагнозы bronchiolitis -80%, healthy - 71%, URTI - 82%.
Литература
1. Bengio Y., Goodfellow I.J., Courville A. Deep Learning. Book in preparation for MIT Press, 2015.
2. Chauhan N.S. Audio data analysis using deep learning with Python [Electronic resource]. URL: https://www.kdnuggets. com/2020/02/audio-data-analysis-deep-learning-python-part-1.html (data of accesses: 10.06.2022)
3. Chen M., Li H., Fan H. et al. ConCeptCNN: A novel multi-filter convolutional neural network for the prediction of neurodevelopmental disorders using brain connectome // Med. Physics. 2022. Vol. 49. No. 5. Pp. 3171-3184. DOI: 10.1002/mp.15545
4. Cires D., Meier U., Masci J., Schmidhuber J. Multi-column deep neural network for traffic sign classification // Neural Networks. 2012. Vol. 32. Pp. 333-338.
5. Cires D., Giusti A., Gambardella L.M., Schmidhuber J. Deep neural networks segment neuronal membranes in electron microscopy images // Advances in Neural Information Processing Systems. 2012. Pp. 2843-2851.
6. Dieleman S., Brakel P., Schrauwen B. Audiobased music classification with a pretrained convolutional network // Proceedings of the 12th International Society for Music Information Retrieval (ISMIR) Conference. 2011. Pp. 669-674.
7. Gandhi R. Naive bayes classifier [Electronic resource]. URL: https://towardsdatascience.com/naive-bayes-classifier-81d512f50a7c (data of accesses: 10.06.2022).
8. Graves A., Mohamed A., Hinton G. Speech recognition with deep recurrent neural networks. ICASSP, 2013.
9. Guan M. et al. Natural language processing and recurrent network models for identifying genomic mutation-associated cancer treatment change from patient progress notes // JAMIA Open. 2019. Vol. 2. No. 1. Pp. 139-149.
10. Phan H. et al. Audio scene classification with deep recurrent neural networks // Interspeech. 2017. URL: https://www.re-searchgate.net/publication/315096213_Audio_Scene_Clas-sification_with_Deep_Recurrent_Neural_Networks
11. Karol J. Environmental sound classification with convolutional neural networks // IEEE International Workshop on Machine Learning for Signal Processing (MLSP). 2015.
12. Kosmas I., Papadopoulos T., Michalakelis C. Applying Internet of things in healthcare: A survey. 2021. URL: http:// dx.doi.org/10.31031/prm.2021.04.000592
13. Krizhevsky A., Sutskever I., Hinton G.E. ImageNet classification with deep convolutional neural networks // Advances in Neural Information Processing Systems. 2012. Pp. 1097-1105.
14. Mydukuri R., Kallam S., Patan R. et al. Deming least square regressed feature selection and Gaussian neuro-fuzzy multi-
5. ЗАКЛЮЧЕНИЕ
В работе представлен метод диагностики заболеваний дыхательных путей. Предложена модель сверточной нейронной сети. Для обучения модели использовался набор данных из базы данных респираторных заболеваний. Предварительно этот набор данных был проанализирован и подвергся предобработке. Ключевыми признаками аудиозаписей дыхания являлись их спектральные/частотные характеристики.
Модель была обучена и протестирована. Точность модели сверточной нейронной сети составила 87%.
References
1. Bengio Y., Goodfellow I.J., Courville A. Deep Learning. Book in preparation for MIT Press, 2015.
2. Chauhan N.S. Audio data analysis using deep learning with Python [Electronic resource]. URL: https://www.kdnuggets. com/2020/02/audio-data-analysis-deep-learning-python-part-1.html (data of accesses: 10.06.2022).
3. Chen M., Li H., Fan H. et al. ConCeptCNN: A novel multi-filter convolutional neural network for the prediction of neurodevelopmental disorders using brain connectome. Med. Physics. 2022. Vol. 49. No. 5. Pp. 3171-3184. DOI: 10.1002/mp.15545
4. Cires D., Meier U., Masci J., Schmidhuber J. Multi-column deep neural network for traffic sign classification. Neural Networks. 2012. Vol. 32. Pp. 333-338.
5. Cires D., Giusti A., Gambardella L.M., Schmidhuber J. Deep neural networks segment neuronal membranes in electron microscopy images. Advances in Neural Information Processing Systems. 2012. Pp. 2843-2851.
6. Dieleman S., Brakel P., Schrauwen B. Audiobased music classification with a pretrained convolutional network. Proceedings of the 12th International Society for Music Information Retrieval (ISMIR) Conference. 2011. Pp. 669-674.
7. Gandhi R. Naive bayes classifier [Electronic resource]. URL: https://towardsdatascience.com/naive-bayes-classifier-81d512f50a7c (data of accesses: 10.06.2022).
8. Graves A., Mohamed A., Hinton G. Speech recognition with deep recurrent neural networks. ICASSP, 2013.
9. Guan M. et al. Natural language processing and recurrent network models for identifying genomic mutation-associated cancer treatment change from patient progress notes. JAMIA Open. 2019. Vol. 2. No. 1. Pp. 139-149.
10. Phan H. et al. Audio scene classification with deep recurrent neural networks. Interspeech. 2017. URL: https://www.re-searchgate.net/publication/315096213_Audio_Scene_Clas-sification_with_Deep_Recurrent_Neural_Networks
11. Karol J. Environmental sound classification with convolutional neural networks. IEEE International Workshop on Machine Learning for Signal Processing (MLSP). 2015.
12. Kosmas I., Papadopoulos T., Michalakelis C. Applying Internet of things in healthcare: A survey. 2021. URL: http:// dx.doi.org/10.31031/prm.2021.04.000592
13. Krizhevsky A., Sutskever I., Hinton G.E. ImageNet classification with deep convolutional neural networks. Advances in Neural Information Processing Systems. 2012. Pp. 1097-1105.
14. Mydukuri R., Kallam S., Patan R. et al. Deming least square regressed feature selection and Gaussian neuro-fuzzy multi-
INFORMATICS AND INFORMATION PROCESSING
layered data classifier for early COVID prediction // Expert Systems. 2022. Vol. 39. No. 5. DOI: 10.1111/exsy.12694.
15. Nagarajan R., Thirunavukarasu R. A neuro-fuzzy based healthcare framework for disease analysis and prediction // Multimedia Tools and Applications. 2022. Vol. 81. Pp. 11737-11753.
16. Noble W. What is a support vector machine? // Nat. Bio-technol. 2006. No. 24. Pp. 1565-1567. URL: https://doi. org/10.1038/nbt1206-1565
17. Olah C. Understanding LSTM Networks [Electronic resource]. URL: http://colah.github.io/posts/2015-08-Under-standing-LSTMs/ (data of accesses: 10.06.2022).
18. Rocha B.M., Filos D., Mendes L. et al. A respiratory sound database for the development of automated classification // In Precision Medicine Powered by pHealth and Connected Health. Singapore: Springer, 2018. Pp. 51-55.
19. Sermanet P. et al. Pedestrian detection with unsupervised multi-stage feature learning // Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE. 2013. Pp. 3626-3633.
20. Simard P.Y., Steinkraus D., Platt J.C. Best practices for con-volutional neural networks applied to visual document analysis // ICDAR. 2003. Vol. 3. Pp. 958-962.
21. Srivastava N. et al. Dropout: a simple way to prevent neural networks from overfitting // J. Mach. Learn. Res. 2014. No. 15. Pp. 1929-1958.
22. Shafiekhani S., Namdar P., Rafiei S. A COVID-19 forecasting system for hospital needs using ANFIS and LSTM models: A graphical user interface unit // Digital Health. 2022. DOI: 10.1177/20552076221085057.
23. Sharma A., Banerjee P.S., Sharma A., Yadav A. A French to English language translator using recurrent neural network with attention mechanism. In: Nanoelectronics, circuits and communication systems / V. Nath, J. Mandal (eds.) // NCCS 2018. Lecture Notes in Electrical Engineering. 2020. Vol. 642. URL: https://doi.org/10.1007/978-981-15-2854-5_38
24. Taunk K., De S., Verma S., Swetapadma A. A brief review of nearest neighbor algorithm for learning and classification // International Conference on Intelligent Computing and Control Systems (ICCS). 2019.
25. Qasim A., Pettirsch A. Recurrent Neural Networks for video object detection. 2020. URL: https://arxiv.org/abs/2010.15740
26. Гуляев М.А., Жубр А.М., Цаллагова М.М. Применение регрессионного анализа в медицине // Наука настоящего и будущего. 2019. Т. 1. С. 16-19.
27. Савушкина О.И., Черняк А.В., Каменева М.Ю. и др. Возможности импульсной осциллометрии в диагностике обструкции дыхательных путей легкой степени выраженности // Пульмонология. 2018. Т. 28. № 4. С. 391-398. URL: https://doi.org/10.18093/0869-0189-2018-28-4-391-398
28. Трушина Е.Ю., Костина Е.М., Молотилов Б.А. и др. Способ дифференциальной диагностики типов воспаления дыхательных путей у больных бронхиальной астмой и хронической обструктивной болезнью легких. Патент на изобретение G01N 33/48, 2019. URL: https://elibrary.ru/ item.asp?id=37349980
layered data classifier for early COVID prediction. Expert Systems. 2022. Vol. 39. No. 5. DOI: 10.1111/exsy.12694.
15. Nagarajan R., Thirunavukarasu R. A neuro-fuzzy based healthcare framework for disease analysis and prediction. Multimedia Tools and Applications. 2022. Vol. 81. Pp. 11737-11753.
16. Noble W. What is a support vector machine? Nat. Biotechnol. 2006. No. 24. Pp. 1565-1567. URL: https://doi.org/10.1038/ nbt1206-1565
17. Olah C. Understanding LSTM Networks [Electronic resource]. URL: http://colah.github.io/posts/2015-08-Under-standing-LSTMs/ (data of accesses: 10.06.2022).
18. Rocha B.M., Filos D., Mendes L. et al. A respiratory sound database for the development of automated classification. In: Precision Medicine Powered by pHealth and Connected Health. Singapore: Springer, 2018. Pp. 51-55.
19. Sermanet P. et al. Pedestrian detection with unsupervised multi-stage feature learning. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE. 2013. Pp. 3626-3633.
20. Simard P.Y., Steinkraus D., Platt J. C. Best practices for con-volutional neural networks applied to visual document analysis. ICDAR. 2003. Vol. 3. Pp. 958-962.
21. Srivastava N. et al. Dropout: a simple way to prevent neural networks from overfitting. J. Mach. Learn. Res. 2014. No. 15. Pp. 1929-1958.
22. Shafiekhani S., Namdar P., Rafiei S. A COVID-19 forecasting system for hospital needs using ANFIS and LSTM models: A graphical user interface unit. Digital Health. 2022. DOI: 10.1177/20552076221085057.
23. Sharma A., Banerjee P.S., Sharma A., Yadav A. A French to English language translator using recurrent neural network with attention mechanism. In: Nanoelectronics, circuits and communication systems. V. Nath, J. Mandal (eds.). NCCS 2018. Lecture Notes in Electrical Engineering. 2020. Vol. 642. URL: https://doi.org/10.1007/978-981-15-2854-5_38
24. Taunk K., De S., Verma S., Swetapadma A. A brief review of nearest neighbor algorithm for learning and classification. International Conference on Intelligent Computing and Control Systems (ICCS). 2019.
25. Qasim A., Pettirsch A. Recurrent Neural Networks for video object detection. 2020. URL: https://arxiv.org/abs/2010. 15740
26. Gulyaev M.A., Zhubr A.M., Tsallagova M.M. Application of regression analysis in medicine. Science of the Present and the Future. 2019. Vol. 1. Pp. 16-19. (In Rus.)
27. Savushkina O.I., Chernyak A.V., Kameneva M.Yu. et al. A role of impulse oscillometry for diagnosis of mild bronchial obstruction. Pulmonologiya. 2018. Vol. 28. No. 4. Pp. 391-398. (In Rus.) URL: https://doi.org/10.18093/0869-0189-2018-28-4-391-398
28. Trushina E.Yu., Kostina E.M., Molotilov B.A. et al. Method of differential diagnosis of types of respiratory tract inflammation in patients with bronchial asthma and chronic obstructive pulmonary disease. Patent for invention G01N 33/48, 2019. URL: https://elibrary.ru/item.asp?id=37349980
Статья проверена программой Антиплагиат. Оригинальность - 81,52%
Рецензент: Казиахметов Т.Б., кандидат педагогических наук; доцент кафедры информатики и методики преподавания информатики, заведующий кафедрой информатики и методики преподавания информатики Нижневартовского государственного университета
Статья поступила в редакцию 18.05.2022, принята к публикации 22.06.2022 The article was received on 18.05.2022, accepted for publication 22.06.2022
СВЕДЕНИЯ ОБ АВТОРАХ
Катермина Татьяна Сергеевна, кандидат технических наук; доцент кафедры информатики и методики преподавания информатики Нижневартовского государственного университета. Ханты-Мансийский автономный округ - Югра, Тюменская область, Нижневартовск, Российская Федерация. Author ID: 659022; Scopus Author ID: 57160399700; Researcher ID: N-7840-2016; ORCID ID: 0000-0003-4637-8861; E-mail: [email protected]
Сибагатулин Азат Фаритович, бакалавр Нижневартовского государственного университета. Ханты-Мансийский автономный округ - Югра, Тюменская область, Нижневартовск, Российская Федерация. E-mail: [email protected]
ABOUT THE AUTHORS
Tatyana S. Katermina, Cand. Sci. (Eng.); associate professor at the Department of Informatics and Methods of Teaching Informatics of the Nizhnevartovsk State University. Khanty-Mansi Autonomous Okrug - Yugra, Nizhnevartovsk, Russian Federation. Author ID: 659022; Scopus Author ID: 57160399700; Researcher ID: N-7840-2016; ORCID ID: 0000-0003-4637-8861; E-mail: [email protected]
Azat F. Sibagatulin, bachelor at the Nizhnevartovsk State University. Khanty-Mansi Autonomous Okrug - Yugra, Nizhnevartovsk, Russian Federation. E-mail: sibagatulin. [email protected]