Разработка нейросетевой модели для диагностирования болей в пояснице
Журнал: Научный журнал «Студенческий форум» выпуск №25(118)
Рубрика: Технические науки
Научный журнал «Студенческий форум» выпуск №25(118)
Разработка нейросетевой модели для диагностирования болей в пояснице
DEVELOPMENT OF A NEURAL NETWORK FOR DIAGNOSIS OF LOW BACK PAIN
Mikhail Bolshelapov
Student of Institute information technology and communications Saratov State Technical University, Russia, Saratov
Alexander Selyutin
Student of Institute information technology and communications Saratov State Technical University, Russia, Saratov
Аннотация. В статье приведено решение проблемы диагностики заболеваний поясничного отдела позвоночника у пациентов по анализам. Данная задача является актуальной для врачей-хирургов. Для решения проблемы разработана нейросетевая модель многослойного перцептрона, позволяющая определять вероятность успешность малого бизнеса от поступающих входных параметров, а также, создан веб-интерфейс для обученной модели. Разработанный интерфейс позволяет взаимодействовать с системой максимально комфортным способом.
Abstract. The article provides a solution to the problem of diagnosing diseases of the lumbar spine in patients by analysis. This task is relevant for surgeons. To solve the problem, a neural network model of a multi-layer perceptron was developed, which allows determining the probability of small business success from incoming input parameters, and a web interface was created for the trained model. The developed interface allows you to interact with the system in the most comfortable way.
Ключевые слова: Поясничные боли, патологии позвоночника, Flask, многослойный перцептрон
Keywords: Lumbar pain, spinal pathology, Flask, multilayer perceptron
Введение
Боль в спине – одна из самых часто встречающихся проблем со здоровьем в мире. Согласно данным Росдравнадзора распространенность данной проблемы в Российской Федерации составляет около 60% [1]. Каждый шестой человек в России, вероятно, имеет патологии, связанные с болью в спине. Несмотря на часто встречающиеся отклонения, чаще всего, этимология заболеваний остается загадкой. У 85% пациентов с болями в спине не может быть диагностирована конкретная патология. Для данной преобладающей группы диагностируется неспецифическая боль в спине.
В настоящее время одной из наиболее распространенных областей исследований изучения данной проблемы являются средства, основанные на радиологических методах анализа. Существует два основных метода визуализации в рамках радиологических исследований: магнитно-резонансная томография (МРТ) и компьютерная томография (КТ). МРТ наиболее популярен из-за того, что это единственная официально признанная методика диагностики, поэтому именно этот метод визуализации чаще всего применяется в клиниках [4]. Рентгенологический анализ позвоночника с применением МРТ, как правило, является индивидуально анатомически специфичным, что является основным преимуществом данного метода.
Однако до сих пор нет официально подтвержденных исследований, связывающих между собой боли в спине и какие-либо из многочисленных оценок разных радиологических шкал. Одни исследования показывают, что результативные оценки могут отображать процесс дегенерации дисков в связи со старением пациента, и в свою очередь никак не связаны с болью в спине [2]. В свою очередь другие исследования показали, что оценки вырождения межпозвоночных дисков на основе МРТ являются наиболее вероятным прогнозом спинных болей. Существует основное различие между этими исследованиями. В работах, где отрицается связь между радиологическими оценками и наличием патологий, не определяются многие параметры. Например: дефекты, которые можно увидеть в концевой пластине позвонка, также не определяется наличие грыж Шморля, не учитываются возможные переломы позвоночника и т.п. Поэтому данный вид исследований будем считать неполным.
Постановка задачи и цель работы
В связи с трудностями определения патологий поясничного отдела позвоночника необходимо дифференцировать основные факторы, определяющие наличие болей у пациентов. Разрабатываемая система должна давать ответ, в процентном соотношении, на вопрос о вероятности наличия болезней позвоночника. Также информационная система должна обладать удобным и понятным интерфейсом.
Целью текущей работы является разработка нейросетевой модели многослойного перцептрона для определения вероятности наличия болей в пояснице у пациентов по ряду входных параметров. Описанный выше вид нейросетевой архитектуры лучше всего подходит для анализа, дифференциации и классификации простых типов данных. Будет необходимо обработать полученные данные, привести их к одной ранговой шкале. Также потребуется верно подобрать оптимальное количество слоев для модели, чтобы она обладала достаточной точностью и верно дифференцировала входящие данные. Помимо этого необходимо готовой и обученной модели перцептрона придать понятный пользовательский интерфейс. Разработка модели будет происходить с использованием языка программирования Python версии 3.6.7. Будут использованы такие библиотеки для машинного обучения как Keras, а в качестве основы для наиболее главных операций будет использоваться библиотека от Google под названием TensorFlow [6]. Веб-интерфейс будет разработан на фреймворке для создания веб-приложений Flask.
Разработка нейросетевой модели
Сегодня существует большое разнообразие нейросетевых архитектур, которые способны выполнять разные задачи. Также существуют разнообразные методы обучения нейросетей, например, с учителем и без. В обучении с учителем множество данных, над которым происходит работа модели, заранее содержит ответ, который должна выдавать система после завершения процесса обучения, но уже на новых данных. При обучении без учителя система должна прийти к балансу многократным повторением, благодаря более однозначному выявлению с каждой итерацией различных зависимостей. Для текущей задачи, связанной с дифференцированием массивов данных оптимально будет использовать архитектуру многолослойного перцептрона [5]. При разработке будет использоваться фреймворк Keras, содержащий в своей основе фреймворк для TensorFlow. Фреймворк Keras содержит в себе множество алгоритмов для обучения нейросетевых моделей, а также позволяет очень удобно конфигурировать разрабатываемую модель. Благодаря абстракции, которую обеспечивает фреймворк разработка нейросетевой модели будет проходить безболезненно.
Первичная обработка данных
Была собрана статистика по пациентам с болями в спине. Данные были обработаны и классифицированы.
Количество записей о предприятиях, которые удалось корректно обработать, равняется 320. Этого будет достаточно, чтобы обучить модель, с достаточно высокой точностью. Формат в котором хранятся полученные данные о пациентах – csv файл. Все записи содержат метку класса, то есть обучение модели происходит с учителем, ответы будут оптимизировать веса нейросети [3].
Для максимально эффективного обучения модели необходимо разделить имеющийся набор данных на 3 выборки по которым будет проводиться дальнейшее обучение и проверка. Был написан скрипт, который размещает в случайном порядке записи о пациентах по 3 файлам: файл для обучения модели, файл для валидации модели, а также файл проверки модели на явление переобучения. После исполнения скрипта и распределения записей по файлам в файле для обучения модели оказалось 200 записей, в валидационном файле находится 100 записей о пациентах, и в файле для проверки 20 строк со сведениями о наличии патологий у пациентов.
Обучение модели
После распределения записей необходимо заняться разработкой модели. Первым делом следует верно добавить слои и активационную функцию. Благодаря фреймворку Keras сделать это очень просто. Было добавлено 2 промежуточных слоя. Перцептрон представляет собой сужающуюся модель от входного слоя с описанными выше параметрами до 1 нейрона, с предсказанием по поводу заболеваний пациента на выходном слое. Обучение происходит минибатчами. Это означает, что обучающее множество разбивается на небольшие кортежи по 10 строк, а общие для всей модели веса корректируются в конце итерации. Всего таких итераций обучения 200.
Обучение модели на рабочей станции с процессором Intel Core i7-6700HQ, 16 GB RAM, видеоадаптером NVIDIA GeForce GTX 960M заняло 20 минут. После этого модель была сохранена в формате h5 для дальнейшего использования. На обучающем множестве была достигнута точность 98%. На тестовом множестве точность составила 92%. Очень хороший результат! Теперь необходимо создать удобный интерфейс пользователя.
Разработка веб-интерфейса
Для разработанной модели необходимо создать веб-интерфейс в виду его удобства и универсальности использования. Интерфейс должен обладать следующим минимальным функционалом: возможность внести данные о пациенте, получить результат с процентным соотношением о наличии патологий у исследуемого. Для разработки был выбран фреймворк Flask. Данная технология обладает рядом преимуществ, например, удобнейший шаблонизатор Jinja 2, а также замечательный маршрутизатор Werkzeug. Все эти преимущества позволят быстро и качественно разработать веб-интерфейс.
Необходимо разработать функцию, которая будет принимать, поступившие данные от веб-формы и обрабатывать результат с помощью нейросетевой модели. Потребуется выделить отдельный поток для данной функции, так как действие по обработке и классификации должно обрабатываться параллельно с HTTP-запросом.
На Рисунке 1, который представлен ниже, изображён интерфейс готовой информационной системы.
Рисунок 1. Веб-интерфейс информационной системы
Заключение
В ходе работы была разработана нейросетевая модель многослойного перцептрона, выполняющая функцию вероятностного определения наличия заболеваний и патологий поясничного отдела позвоночинка по анализам пациента. К разработанной модели был создан веб-интерфейс.
Разработанная система может применяться врачами-хирургами в случае возникновения неоднозначностей и трудностей при диагностировании анализов пациентов.