Разработка программной системы для нейросетевого исследования феномена депрессии

Обзор современных способов диагностики и исследований социобиологических факторов развития депрессии. Проектирование, реализация и тестирование информационной системы. Принципы создания, исследование и оценка нейросетевой модели диагностики депрессии.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 18.07.2020
Размер файла 197,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Разработка программной системы для нейросетевого исследования феномена депрессии

Коковин Алексей Николаевич

Аннотация

депрессия нейросетевой информационный

Автор работы: Коковин Алексей Николаевич

Название работы: Реализация программной системы для нейросетевого исследования феномена депрессии.

Количество страниц: 40.

Количество рисунков: 5.

Количество таблиц: 2.

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

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

В главе 3 «Реализация и тестирование информационной системы» рассматривается реализация программной системы: приводится диаграмма компонентов, детали реализации компонента обучения нейронной сети и веб-сервера, покрытие кода тестами.

В главе 4 «Оценка и изучение нейросетевой модели» описываются характеристики полученных нейросетевых моделей, сравниваются качества моделей в зависимости от конфигурации входных данных, выполняется прогнозный анализ модели с наибольшим качеством и делаются выводы об уровне влияния факторов на развитие депрессии.

Работа содержит 7 приложений. Приложение А является таблицей требований к разработанной системе. Приложение Б является техническим заданием на разработку данной системы. Приложение В содержит исходный код генерации нейронных сетей. Приложение Г содержит исходный код серверного приложения. Приложение Д содержит разработанную эксплуатационную документацию. Приложение Е содержит изображения графиков обучения различных нейросетевых моделей. Приложение Ж содержит графики средних значений прогнозного анализа относительно факторов депрессии.

Данная работа может быть интересна специалистам по данным, заинтересованным в применении методов машинного обучения и нейронной сети диагностики психических расстройств, в частности депрессии, или профессиональным психиатрам, заинтересованным в исследовании влияния социобиологических факторов на возникновение депрессии.

Введение

Депрессия - это серьёзное психическое расстройство, часто называемое «Чумой» 21 века. По информации Всемирной Организации Здравоохранения (ВОЗ) на 2015 год около 322 миллионов человек находились в состоянии депрессии, что составляет 4.4% от всего человечества [1]. «Данное расстройство характеризуется депрессивным настроением, потерей интереса к окружающему миру, пониженной энергией, чувством вины, пониженной самооценкой, расстройством сна или аппетита, потерей способности к концентрации. Более того, депрессия зачастую сопровождается тревожным расстройством. Эти проблемы могут стать хроническими или рецидивными и ведут к значительным нарушениям способности человека продолжать свою повседневную жизнь. В самых худших случаях депрессия может вести к суициду» [2]. По расчётам ВОЗ 788 тысяч человек покончили жизнь самоубийством из-за депрессии [1], в то время как попыток самоубийства было в 20 раз больше [2].

По мнению ВОЗ депрессия может быть точно продиагностирована и вылечена участковыми терапевтами, существует ряд проблем характерных именно для России. Во-первых, в обществе существует стигма, связанная с психическим здоровьем. Многие люди опасаются обращаться за помощью несмотря на известные им самим проблемы с психическим здоровьем. Проводятся многие исследования, призванные к поиску причин появления данной стигмы и способов её преодоления [3]. Кроме того, относительно России данная стигма получила дополнительное развитие ввиду жёстких практик психиатрического лечения, оставшихся со времён СССР.

Во-вторых, количество врачей в стране продолжает сокращаться [4]. Среди врачей, которых имеется недостаток, находится и участковые терапевты, и психиатры. Данная тенденция весьма катастрофична ввиду большого количества людей, страдающих депрессией - по оценке ВОЗ в 2015 около 8 миллионов россиян страдало депрессией [2].

В-третьих, для диагностики депрессии используются методы полувековой давности, например Шкала Бэка [5]. Данные методы зачастую являются тестами с несколькими вариантами ответа и заполняются самими пациентами, что увеличивает субъективность оценки. Кроме того, по гипотезе моего научного руководителя, многие факторы, рассмотренные Бэком, были удалены ошибочно.

Для решения данных проблем применима автоматизация процесса диагностики депрессии. Стигма относительно психического здоровья частично поражается возможностью прохождения диагностики через Интернет, повышение скорости установки диагноза поможет смягчить недостаток медицинского персонала, а старые методики диагностирования заменяются современными методами машинного обучения и нейронными сетями, способные изучать более комплексные зависимости.

Конечно, на данную тему уже производились исследования. Значительные успехи были достигнуты при помощи анализа сигналов работы головного мозга [6], но они не применимы в контексте удалённого диагностирования. Также ряд исследований уже изучают зависимости депрессии и её факторов при помощи методов нейронных сетей [7]. Наконец, гипотеза об ошибочности применения шкалы Бэка, упомянутая ранее, уже изучалась в более ранней работе [8], продолжением которой является данная работа.

С точки зрения технической реализации, большинство систем для диагностики депрессии использует тот или иной сформулированный психотерапевтами тест, оценивающий уровень проявления симптомов депрессии, в то время как нейросетевая оценка уровня депрессии, в частности на основании социобиологических факторов, на практике не реализуется. Также предыдущая работа [8] выполнила только создание нейросетевой модели, без её интеграции в программную систему.

Объектом данного исследования является влияние факторов диагностики депрессии.

Предметом данного исследования является нейро-сетевая модель, способной выполнять задачу диагностики депрессии.

Целью данной работы является разработка информационной системы, позволяющей создавать нейро-сетевые модели и на их основе производить диагностирование депрессии у пациента.

Для достижения данной цели были выдвинуты следующие задачи:

1. Обзор современных способов диагностики депрессии и исследований социобиологических факторов развития депрессии.

2. Проектирование функциональных возможностей системы и их реализации.

3. Реализация и тестирование информационной системы.

4. Создание, исследование и оценка нейро-сетевой модели диагностики депрессии.

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

Новизна предлагаемого подхода к диагностике депрессии заключается в использовании метода нейронных сетей для более объективной диагностики депрессии на основании социобиологических факторов. Теоретическая значимость данного исследования заключается в исследовании нелинейных зависимостей социобиологических факторов и возможных новых знаниях о них. Практическая значимость заключается в реализации онлайн системы для диагностирования депрессии.

Результатом, выносимым на защиту, является программная система, позволяющая производить диагностику депрессии при помощи нейронных сетей.

Глава 1.

Глава 2. 1.Обзор существующих исследований диагностики депрессии и социобиологических факторов её возникновения

В данной главе собраны исследования социобиологических факторов возникновения депрессии и современные исследования подходов к диагностике и исследования депрессии с целью подтверждения применимости данных и подходов предыдущего исследования [8], а также для выявления потенциальных улучшений набора факторов из предыдущего исследования [8], и анализ существующих программных решений с целью выделения требований к системе.

1.1Методы диагностики и исследования депрессии

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

Самым популярным способом диагностирования является выполнение пациентами тестов, содержащих вопросы о состоянии пациента. Классическим примером подобных тестов является шкала депрессии Бэка [5]. Основными мотиваторами для создания данного инструмента являлись необходимость в создании общепринятого определения понятия «депрессия», возможность определения депрессии не на основании мистических или личностных факторов, а при помощи поведенческих и других объективно измеряемых факторов. Практическая ценность данного инструмента заключалась не только в объективности оценки депрессивности состояния пациента, но также возможность проверки различных психоаналитических теорий относительно данного психического состояния.

Данный инструмент является тестом из 21 вопроса со множественным выбором. Каждый вопрос относится к конкретному симптому или поведенческому паттерну из выделенных психоаналитиком на основании лет практики и наблюдений. К данному списку относятся:

1. Настроение.

2. Пессимизм.

3. Чувство несостоятельности.

4. Неудовлетворённость.

5. Чувство вины.

6. Ощущение наказания.

7. Само отвращение.

8. Самообвинение.

9. Суицидальные мысли.

10. Слезливость.

11. Раздражительность.

12. Нарушение социальных связей.

13. Нерешительность.

14. Образ тела.

15. Утрата работоспособности.

16. Нарушение сна.

17. Утомляемость.

18. Потеря аппетита.

19. Потеря веса.

20. Охваченность телесными ощущениями.

21. Утрата либидо.

Каждый пункт имеет по 4-5 само оценивающих утверждений, градирующих проявления депрессии и оцениваемых по шкале от 0 до 3.

При тестировании данного инструмента до или после прохождения испытуемыми данного теста группа психиатров ставили диагноз по 4 бальной шкале. Оказалось, что суммарная оценка по данному тесту коррелирует с итоговым диагнозом. Для приведения соответствия между оценкой теста и диагноза разработана следующая шкала относительно суммарной оценки:

· От 0 до 9 - депрессия отсутствует.

· От 10 до 18 - незначительная депрессия.

· От 19 до 29 - умеренная депрессия.

· От 30 - тяжёлая депрессия.

Несмотря на то, что в оригинальном исследовании для тестирования были привлечены только 226 пациента для начального и 183 для воспроизведения, распределением возраста пациентов от 15 до 44, практически доминирующем количеством представителей белой расы и большинством пациентов из низких социо-экономических групп, данный инструмент пользуется популярностью даже спустя более чем полвека. Однако самым важным ограничением данного инструмента является выбор использования только симптоматических и поведенческих факторов.

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

Во-вторых, все проявления депрессии в данном тесте имеют одинаковый уровень влияния на итоговый результат, ввиду расчёта суммы. Однако данный недостаток скорее всего нивелируется современными адаптациями данной методики.

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

Говоря об использовании машинного обучения, достаточно высокие результаты были достигнуты при анализе электроэнцефалограмм (ЭЭГ) [6]. ЭЭГ - это графическое изображение сложного колебательного электрического процесса внутри головного мозга, которое на практике применяется для анализа его работы. Самым известным широкой публике применением ЭЭГ являются «детекторы лжи», суть которых являются изменения в работе головного мозга, когда исследуемый произносит ложные высказывания. В медицинском сообществе ЭЭГ используется в диагностической и лечебной работе при нарушениях работы головного мозга, таких как эпилепсия. Поскольку депрессия - это психическое расстройство, она отражается на результатах ЭЭГ. Тем не менее, в обычной лечебной практике подобное использование ЭЭГ не является распространённым: сигналы ЭЭГ имеют слишком хаотический характер, что не позволяет использовать из для «ручной» диагностики депрессии. Данная проблема имеет решение в виде использования методов машинного обучения для анализа данных сигналов. Так, исследователями утверждается достаточно высокая точность идентификации депрессии, в районе от 90% до 99.5%. Большинство исследований в данной области, имеющие высокие результаты, используют различные вариации нейронных сетей.

Подобный способ диагностики является объективным: человек не способен фальсифицировать работу своего головного мозга, а медицинский персонал не может повлиять на работу компьютера. Тем не менее, подобный способ для идентификации депрессии имеет спорную применимость. Во-первых, стоимость оборудования для проведения ЭЭГ весьма значительна. Во-вторых, первичная диагностика депрессии в большинстве случаев поручается участковым терапевтам: достаточно просто заполнить психологический тест и получить результат в рамках нормированного времени обследования, в то время как ЭЭГ проводят в течение минимум 15 минут и устанавливать данное оборудование внутри каждого кабинета участкового врача нереалистично. Наконец, данный способ никак не рассматривает проблему стигмы в области психического здоровья: использование аппарата для ЭЭГ может иметь противоположный эффект в виде уменьшения числа обращающихся за помощью из-за паранойи относительно возможных последствий его использования, несмотря на реальную безопасность данной процедуры.

Одним из способов борьбы со страхами относительно психического здоровья предоставляют различные организации в форме онлайн терапии Примеры подобных проектов: BetterHelp: https://www.betterhelp.com/ Interactive Screening Program: https://www.sprc.org/resources-programs/interactive-screening-program . Суть данной услуги заключается в том, что пациентам предоставляется возможность проводить терапию с психотерапевтами онлайн. Практика психотерапии достаточно широко распространена за рубежом, в частности в США. Предполагается, что использование онлайн платформы для данной процедуры поможет не только сэкономить время психотерапевтов и пациентов, поскольку пропадает необходимость собираться в одном месте, но также данный сервис гарантирует анонимность обращения.

Недостатками данной услуги являются следующие моменты. Во-первых, данная услуга как правило предоставляется коммерческой организацией. Данный факт создаёт проблемы доверия к организации, поскольку в случае недобросовестного предоставления услуги терапии могут быть сложности в привлечении организации к ответственности ввиду формулировок в правилах пользования подобными сервисами Пример проблемы в правилах пользования: YouTube's BetterHelp mental health controversy, explained // Polygon URL: https://www.polygon.com/2018/10/4/17932862/betterhelp-app-youtube-sponsorship-controversy-explained. Во-вторых, подобных сервисов на территории России пока не существует.

Однако использование интернета для диагностики депрессии возможно и иными способами. Например, при помощи анализа текстов из социальной сети Twitter исследователям получилось предсказывать депрессию с точностью 69% [9]. Суть исследования заключается в том, что исследователи провели онлайн-анкетирование, в которое был включён подобный шкале Бэка тест, в также указывался аккаунт в Twitter. Модель для предсказания уровня депрессии принимает на вход следующую информацию:

· Отфильтрованные частоты употребления слов в сообщениях.

· Отношение тем сообщений.

· Отношение «позитивных» слов, использованных в сообщениях.

· Отношение «негативных» слов, использованных в сообщениях.

· Почасовая частота сообщений.

· Дневная частота сообщений.

· Среднее количество слов в сообщениях.

· Общее количество «ретвитов».

· Общее количество упоминаний.

· Отношение сообщений со ссылками.

· Количество подписчиков.

· Количество подписок.

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

Рассмотрим исследование, продолжением которого является данная работа [8]. Суть исследования заключается в построении нейро-сетевой модели на основе онлайн результатов анкеты. Подобный подход был использован в исследовании текстов социальной сети Twitter [9], рассмотренном выше. Однако в отличие заключается в том, что в дополнение к тесту на депрессию вместо никнейма аккаунта в Twitter спрашиваются вопросы, связанные с социобиологическими факторами возникновения депрессии. Подробнее о социобиологических факторах депрессии во второй части данной главы.

Данные, собранные при анкетировании, были использованы для обучения нейронной сети в программе Нейросимулятор 5.0[10]. Полученная нейронная сеть в дальнейшем была исследована на значимость факторов путём сравнения результатов оценки уровня депрессии при изменении значения факторов.

Таблица 1.1 Сравнительная таблица методов диагностики депрессии

Факторы

Тест

Тест онлайн

ЭЭГ

Онлайн консультации

Анализ социальных сетей

С.б. факторы и НН

Стоимость

1

1

2

2

0

1

Длительность

1

1

2

1

0

1

Точность

0

0

0

1

2

1

Анонимность

1

0

1

0

1

0

Страх

1

0

2

0

2

1

Сумма

6

2

7

4

5

4

Для сравнения методов диагностики депрессии составим сравнительную таблицу (табл. 1.1) по следующим факторам:

· Стоимость. 2- Высокая, 1-Средняя, 0-Низкая.

· Длительность (для пациента): 2-Высокая, 1-Средняя, 0-Низкая.

· Точность: 2-Низкая, 1-Средняя, 0-Высокая.

· Анонимность: 1-Да, 0-Нет.

· Страх: 2-Высокий, 1-Средний, 0-Низкий.

Последний фактор сравнения является субъективным, однако теоретически возможно произвести более объективную оценку путём опроса, однако данный вопрос не является достаточно важным.

Рассматриваемые варианты методов диагностики депрессии:

· Очное тестирование у участкового врача.

· Онлайн тестирование.

· Тестирование с применением аппарата ЭЭГ.

· Онлайн консультация со специалистом.

· Анализ социальных сетей.

· Онлайн тестирование на основе социобиологических факторов при помощи нейронной сети.

Пусть факторы имеют одинаковое значение. Тогда если рассмотреть сумму данных факторов, то наименьшее значения является наиболее приемлемым. В результате лучшими методами являются онлайн консультация со специалистом и онлайн тестирование. Однако, поскольку организация онлайн консультаций весьма проблематично в современных реалиях и количество веб-сайтов, предоставляющих бесплатный доступ к онлайн-тестам велико, имеет смысл исследовать вариант с онлайн тестированием и нейронной сетью.

Рассмотрим из упомянутых выше методов диагностики депрессии, реализуемые онлайн: использование стандартных диагностических тестов, анализ социальных сетей и использование теста на основе социобиологических факторов. Офлайн методы вроде анализа сигналов ЭЭГ автоматически исключены из рассмотрения из-за отсутствия анонимности, а реализация услуги онлайн-консультации имеет слишком большую стоимость ввиду необходимости найма персонала, что превышает ресурсы, доступные в рамках данной работы. Объектом дальнейшего рассмотрения являются функциональные возможности, связанные с данными методами и детали их реализации.

Таблица 1.2 Сравнительная таблица методов диагностики, реализуемых программно

Стандартные тесты

Анализ социальных сетей

Социобиологические факторы

Определённая точность диагностики

Возможно оценить

Всегда не выше теста

Всегда не выше теста

Возможность использования данных для исследования депрессии

Ограниченна диагностируемым

Ограниченна доступными данными

Ограниченна конфигурацией модели

Возможность увеличения точности диагностики в ходе эксплуатации

Не требуется

Ограниченна доступными данными или кооперацией диагностируемого

Ограниченна конфигурацией модели или кооперацией диагностируемого

Возможность деанонимизации данных

Сильно ограничена

Зависит от диагностируемого

Зависит от конфигурации модели

Пользователи системы

Диагностируемые, API

Надзирающие организации, API

Диагностируемые, API

Наличие используемых на практику программных реализаций

Да

Неизвестно

Нет

Параметрами сравнения реализуемых программно методов диагностики (Таблица 1.2) являются наличие чёткой оценки точности выполняемой диагностики, возможность использования данных для исследования депрессии, возможность увеличения точности диагностики в ходе эксплуатации, возможность деанонимизации данных и наличие используемых программных реализаций.

С точки зрения точности диагностики, как говорилось ранее, стандартные тесты на уровень депрессии в зависимости от наличия симптомов являются единственным шагом, максимально приближённым к официально поставленному диагнозу, т. к. они всегда предваряют или являются частью обследования у врача-психотерапевта. Тем не менее, хотя использование данных тестов онлайн широко распространено в исследованиях, связанных с депрессией [8, 9], сам факт прохождения диагностики в условиях, отличных от лабораторных, может влиять на результаты. В то же время, при использовании систем, анализирующих социальные сети или основанных на социобиологических факторах, исходные данные имеют целевую переменную, зачастую также собранную подобным образом. Поскольку такие системы обучаются с целью восстановления значения, полученного стандартным тестом, реальная точность такой системы никогда не сможет превысить точность самого теста. При этом единственной альтернативой для сбора значений целевой переменной является использование реальных данных, полученных от медицинских учреждений, что невозможно в рамках данной работы. Таким образом, далее при упоминании точности диагностики депрессии всегда будет подразумеваться точность предсказания значения теста на депрессию, в частности шкалы Бэка [5].

В ходе эксплуатации систем возможно накопление входных и выходных данных с целью исследования зависимостей. Данные результаты в дальнейшем могут быть использованы различными способами. С научной точки зрения, полученные данные могут иметь статистическую значимость и могут быть использованы для исследования зависимостей входных данных к уровню депрессии. Однако данная значимость практически отсутствует для стандартных тестов: единственное, что они могут показать, это распределение между симптомами депрессии, поскольку зависимость симптомов к уровню депрессии является постоянной, устанавливаемой самим тестом. Единственным вариантом является внедрение в тест дополнительных вопросов, в большинстве случаев ответы на них являются опциональными и количество вопросов ограниченно для максимизации количества ответов. Данные из социальных сетей имеют ограничения в виде политики отображения данных самих социальных сетей: например, зачастую имеется возможность скрыть параметры, вроде даты рождения, семейного положения и других. К тому же несмотря на то, что сами тексты из социальной сети теоретически могут быть использованы для получения информации о иных факторах, на данный момент методики обработки текстов не обладают достаточной точностью, а также получаемые данные скорее всего будут иметь низкое количество известных значений. В то же время использование анализа социобиологических факторов подразумевает получение ответов на данные вопросы, т. к. результат диагностики от них непосредственно зависит. Однако в случае, если некоторые факторы не используются в модели диагностики, возможно задавать дополнительные вопросы. При этом предположение заключается в том, что вероятность получить ответы на дополнительные вопросы будет выше, чем у стандартных тестов, т. к. подобные вопросы являются подобными основным вопросам.

Дополнительным вариантом использования получаемых данных может являться улучшение точности систем за счёт обучения на большем наборе данных. Данный вариант никак не применим к стандартным тестам, т. к. их поведение является фиксированным, в то же время использование социальных сетей или социобиологических факторов подразумевает использование методов машинного обучения. Именно аспект самосовершенствования является перспективой машинного обучения, поскольку при модификации источника целевой переменной будет возможно увеличить реальную точность данных методов.

Аспект самосовершенствования сильнее всего может проявляться при использовании такой спорной методики, как деанонимизации получаемых данных. Данная методика заключается в установлении личности, которая отправила запрос на использование системы. В частности, аккаунты социальных сетей в большинстве случаев содержат реальные имя и фамилию человека, а большое количество вопросов в модели диагностирования по социобиологическим факторам может привести к тому, что по их значениям возможно полная идентификация диагностируемого либо сужение количество возможных личностей диагностируемого до низкого значения. Деанонимизация может иметь положительные аспекты, такие как возможность определение личности, которой требуется психологическая помощь, или ретроспективный анализ дополнительных социобиологических факторов, полученных в результате деанонимизации, однако деанонимизация людей, имеющих высокую оценку уровня депрессии, может быть использована для различных форм мошенничества или иных незаконных актов. Тем не менее высказывается предположение, что используемые в данной работе социобиологические факторы являются недостаточными для деанонимизации диагностируемого и ответственность, связанная с деанонимизации при помощи новых моделей для данной системы, возлагается на авторов данных моделей.

Рассмотрим возможных пользователей данных систем. Для стандартных тестов диагностики депрессии основным пользователем является сам диагностируемый, однако теоретически диагностируемый может получать доступ к тесту через стороннюю систему. Однако значимость API для такой системы весьма мала: большинство стандартных тестов являются простыми для реализации. В то же время, системы анализа социальных сетей и социобиологических факторов имеют большую технологическую сложность, поэтому значимость API более заметна.

Также следует отметить, что общедоступную программную реализацию в основном имеют только системы, использующие стандартные тесты диагностики депрессии ввиду из низкой сложности реализации. Методики исследования социальных сетей для диагностики психических расстройств вероятно исследуются или уже используются в рамках самих социальных сетей, однако подобных фундаментальных результатов корпорации на данный момент не представляют, а анализ социобиологических факторов, представленный в работе предшественника [8], представляет из себя только нейросетевую модель с интерфейсом взаимодействия напрямую через Нейросимулятор [10].

Из расположенного выше сравнительного анализа к разрабатываемой системе выдвигаются требования реализации:

· возможности взаимодействия как пользователем с помощью браузера, так и другими системами по API;

· возможности работы с истинной точностью диагностики;

· возможности исследования значимости социальных факторов на основе собираемых данных в ходе эксплуатации;

· возможности улучшения точности диагностики в ходе эксплуатации.

1.2Социобиологические факторы возникновения депрессии

Рассмотрим социобиологические факторы возникновения депрессии для принятия решения, возможно ли пере использование данных, собранных более ранним исследованием [8], или требуется новое анкетирование.

Говоря о биологических факторах депрессии, следует отметить, что на данный момент не существует единого биомаркера, по которому можно было бы определить депрессию [11]. Многие биологи и психиатры утверждают, что основной причиной депрессии является нарушенный баланс биологических веществ в головном мозге. Тем не менее, учёным ещё не удалось создать биохимический метод тестирования. Современные исследователи считают, что в будущем возможно создание комплексного теста для всеобщего пользования. Тем не менее, это не отменит актуальности результатов данной работы, т. к. подобный способ не может быть использован удалённо. Но в будущем важно обращать внимание на исследования в данной сфере: если будут обнаружены биомаркеры, то возможно исследование причин их появления, которые могут быть опосредованными факторами возникновения депрессии и использованы в новых итерациях нейронных сетей системы.

Одними из самых известных биологических параметров пациента являются рост и вес. В комбинации данные параметры определяют такое состояние, как ожирение, влияние которого исследуется учёными [12]. На данный момент не известно, что именно является первопричиной во многих клинических случаях, однако данные факторы безусловно связаны между собой и следовательно ответ на данный вопрос не важен с точки зрения диагностики. Примечателен вопрос конвертации роста и веса в уровень ожирения. Существует несколько методик расчёта. Одной из самых популярных методик является индекс массы тела [13], считающейся как масса тела, поделённая на квадрат роста в метрах, и показатель выше двадцати пяти указывает на наличие лишнего веса. В то же время существует ряд формул, которые применяются для расчёта идеальной массы тела относительно роста и других параметров, таких как пол. Примером подобной формулы является формула Девина [14]. Конечно, теоретически данных росте, весе и поле должно быть достаточно для нейронной сети, чтобы понять важность данных факторов. Тем не менее, смысл в использовании данных формул всё равно существует, например, чтобы улучшить сходимость. Однако важно не использовать несколько из данных вариантов вместе, поскольку наличие коррелирующих факторов зачастую мешает алгоритмам машинного обучения сойтись на более оптимальном значении. Также стоит учесть, что все формулы делают некоторые предположения о соотношении мышечной и жировой массы, поэтому многие спортсмены могут оцениваться как страдающие тяжёлой формой ожирения, что не соответствует действительности поэтому в работе стоит по возможности учесть занятия спортом. В предыдущей работе [8] имеются данные о росте, весе и поле участников опроса, однако они используются только в чистом виде.

Ещё одним биологическим фактором считается группа крови. В частности утверждается, что люди с I группой больше подвержены депрессии [15]. В данном исследовании был использована шкала депрессии Бэка [5] на 108 волонтёрах, имеющих различные группы крови. Данный фактор не учитывается в анкете предыдущего исследования [8]. Однако не все исследования подтверждают данные о наличии связи. Например, исследование данной зависимости у 315 студентов-стоматологов обнаружило только незначительную ассоциацию [16].

Часто также с депрессией ассоциируют генетическую предрасположенность. Современные исследования показывают, что некоторые фенотипы оказывают влияние на уязвимость к депрессии [17]. Однако невозможно проверить наличие определённых фрагментов ДНК при помощи анкетирования, и данная информация может быть использована только как предпосылка к наличию генетической предрасположенности к депрессии. Поэтому в предыдущей работе [8] существует пункт анкеты о наличии родственников, подверженных данному расстройству.

Одним из самых очевидных социобиологических факторов отмечается зависимость депрессии от возраста [18]. На основании выборки из 809 людей в 1985 году и 2031 людей в 1990 совершается ряд выводов о зависимости. Большинство изменений объясняется другими факторами, связанными с изменениями в жизни: брак, работа, экономическое благосостояние, а также падение уровня здоровья, связанное со старостью. Все факторы, кроме наличия работы, уже учтены в данных предыдущей работы [8]. Видимо автором данного исследования делается предположение, что важнее рассматривать не только сам факт наличия или отсутствия работы, а вид рабочей деятельности: является ли она творческой и связана ли она с умственным трудом. Однако следует заметить, что раз большинство объяснений закономерности возраста и депрессии уже находятся в данных, это может говорить о корреляции и пониженному качеству модели.

Помимо перечисленных ранее факторов, предыдущая работа [8] рассматривает несколько дополнительных факторов: унижение и плохое отношение в детстве и ранняя потеря родителей, как психологически травматические ситуации, которые также связаны с депрессией, а также наличие близких не родственников с депрессией как вариант воздействия окружающей среды на возникновения данного психического нарушения.

В итоге большинство исследуемых мировым сообществом факторов развития депрессии были учтены в предыдущей работе [8], поэтому полученные данные должны быть приемлемы для использования в данной работе. Следует только отметить возможные уточнения в данных в виде расчёта индекса массы тела или идеальной массы тела вместо использования роста и веса напрямую, а также рассмотреть исключение возраста как фактора, или наоборот, факторов, связанных с возрастом.

Глава 3. 2.Проектирование информационной системы и создание технического задания

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

2.1Требования к системе

Относительно проведённого анализа методов диагностики депрессии и факторов возникновения депрессии была создана таблица требований (Приложение А). Требования, полученные из анализа, были собраны в иерархию, относительно цели данной работы, после чего была произведена их декомпозиция. В таблице каждое требование характеризуется порядковым номером, описанием, источником - другое требование или ссылка на часть данной работы, и комментарием, поясняющий причину появления требования.

2.2Диаграмма прецедентов

Диаграмма прецедентов системы была построена на основании требований 1 - 10. Прецеденты системы (Рисунок 2.1) можно разделить на 2 категории: «генерация моделей» и «управление и использование моделей». Категория генерации модели содержит в себе только актора «Специалист по данным» и только прецедент «Создание модели диагностики депрессии». С точки зрения основной системы не имеет смысла создавать инструментарий для создания моделей внутри самой системы.

С точки зрения управления моделями выделены 3 основных актора: программный пользователь - другие системы, взаимодействующие при помощи API, пользователь - желающий пройти диагностику или врач, оценивающий состояние пациента, и администратор, выполняющий задачи по управлению моделями диагностики: внесение новых моделей диагностики, удаление моделей диагностики и выбор основной модели диагностики, доступной пользователю.

Рисунок 2.1.Диаграмма прецедентов системы

2.3Диаграмма классов входных данных

Относительно требований 13 - 18 была разработана диаграмма классов для полей модели диагностики депрессии.

Рисунок 2.2. Диаграмма классов входных данных

Данная диаграмма (Рисунок 2.2) состоит из 5 классов. Все классы наследуются от абстрактного одного класса Поле, имеющее атрибуты Name - название и Ignore - необходимость игнорирования при вводе в нейронную сеть. Необходимость атрибута Ignore будет объяснена ниже.

Класс Поле наследуется классом Вычисляемое поле. Данный класс вносит 3 атрибута: Code - строка, содержащая код, исполняемый для вычисления значения данного поля, Mean и Std - среднее значение и стандартное квадратичное отклонение, вычисляемое перед обучением нейронной сети и используемое для Z-Score масштабирования. Поскольку в большинстве случаев обучение происходит лучше, если значения переменных нормированы и отсутствует необходимость использовать Min-Max масштабирование, то будет использоваться Z-Score масштабирование, которое положительно влияет на сходимость алгоритмов машинного обучения, когда распределение данных близко к нормальному. Данный класс необходим для реализации вычисления индекса массы тела и идеальной массы тела, рассмотренных в § 1.2.

Абстрактный класс Поле вопроса также напрямую наследует класс Поле. Данный класс относится к полям, которые требуют ответа от проходящего диагностику. Данный класс добавляет атрибут Question - вопрос, отображаемый диагностируемому.

Два класса наследуют класс Поле вопроса. Первый класс Числовое поле определяет вопросы, ответы на которые требуются в виде числа. В частности, в данной работе числовыми факторами являются вес, рост и возраст. Данный класс имеет атрибуты Mean и Std, аналогичные классу Вычисляемое поле.

Второй класс, наследующий класс Поле вопроса, Поле вопроса с выбором ответа не только имеет атрибуты Mean и Std, но и логический атрибут Separate и атрибут Answers. Поле Separate отвечает за то, кодируется ли поле как “one hot encoding” (если значение True) или конвертируется в единственное число. При этом тип атрибута Answers зависит от значения атрибута Separate: при значении True данный атрибут является списком строк-ответов, при значении False - словарём, где ключами являются ответы, а значениями - числовые значения для перевода в число. При этом атрибуты Mean и Std имеют значение только при Separate равным False. С первого взгляда может показаться нелогичным объединение двух разных с точки зрения вычисления полей в один класс. Причина заключается в том, что классы, наследующие от класса Поле вопроса, один к одному соответствуют типам элементам ввода информации: в частности, с точки зрения Html Числовое поле определяется тэгом input с атрибутом type равным number, в то время, как Поле с выбором ответа представляется как элемент с тэгом select и варианты ответа подэлементами типа option.

Также может показаться излишним повторение атрибутов Mean и Std. Действительно, можно было бы ввести класс или интерфейс Z-Score поле и множественным наследованием или реализацией интерфейсов обеспечить более чистый код для выполнения операций. Однако, система будет разрабатываться на языке Python не имеющем строгой типизации. Это позволяет писать относительно компактный код без лишних мыслей о типах.

3.Техническое задание

Для данной системы было разработано техническое задание (Приложение Б). В нём более подробно отражены требуемые функции, определённые на диаграмме прецедентов (Рисунок 2.1), а также утверждается структура факторов, определённая на диаграмме классов (Рисунок 2.2). Также закрепляется решение о продолжении исследования предшественника [8], использование нейронных сетей. Принимается окончательное решение об использовании Python для реализации системы и библиотеки PyTorch для реализации нейронной сети. Выбор языка программирования обоснован его популярностью в области машинного обучения и как следствие большого количества библиотек для машинного обучения. В частности, выбор библиотеки для работы с нейронными сетями лежал между Keras, TensorFlow и PyTorch. Выбор пал в пользу последнего, так как в разработке данного проекта было решено сделать акцент на скорости обучения из-за большого количества параметров для перебора, гибкость реализации для универсальности компонента нейронной сети и возможностей для дебага https://www.edureka.co/blog/keras-vs-tensorflow-vs-pytorch/.

В целом решение в пользу самостоятельной реализации кода работы нейронной сети вместо использования готовых решений вроде Нейросимулятора [10] обусловлено необходимостью автоматизации процесса обучения с различными параметрами: от выбора используемых или игнорируемых факторов до выбора значений гиперпараметров, количества нейронов на скрытом слое и функций активации.

Глава 4.

4.Реализация и тестирование информационной системы

В данной главе рассматривается реализация информационной системы: приводится диаграмма компонентов, детали реализации компонента обучения нейронной сети и веб-сервера, покрытие кода тестами.

4.1 Диаграмма компонентов

Разрабатываемая система разделена на 2 главных модуля. Причиной является разделение функций по созданию нейронных сетей решающих задачу диагностики депрессии и функций по использованию созданных нейронных сетей.

Рисунок 3.1. Диаграмма компонентов системы.

Как видно из диаграммы компонентов (Рисунок 3.1), система разделена на 2 части: Jupyter notebook для генерации и исследования нейронных сетей и Web server для их использования. Компонент Main внутри Web server отвечает за ответы на запросы, полученные через REST API, а модуль NN handler отвечает за непосредственное добавление хранение и использование нейронных сетей. Данные функции определены в компоненте Calc. Данный компонент зависит от Field, который содержит описание классов полей нейронной сети. Поскольку необходимо обеспечить одинаковую работу нейронных сетей и в Jupyter notebook и Web server, обе системы зависят от модуля Net, содержащего определение нейронной сети. При этом в данный модуль не требуется включать код по обучению нейронной сети, поскольку это требуется только в Jupyter notebook.

С точки зрения файловых систем, важными папками Web server являются папки Templates, хранящая шаблоны веб-страниц сервера, и Models, куда сохраняются все загружаемые конфигурации системы. В то же время, компонент Jupyter notebook подключается к папке Google Drive для загрузки набора данных для обучения на удалённый сервер, предоставляемый платформой Google Colab, и для выгрузки файлов сохранённого статуса нейронной сети, реализованной при помощи PyTorch с расширением .pt, и .json файлом с описанием сети и используемых факторов, т. е. конфигурацию системы, описанную в техническом задании.

4.2Реализация модуля генерации моделей диагностики

Данный модуль был реализован при помощи облачной платформы Google Colab. Необходимость использования облачной платформы проявляется в относительно низких доступных вычислительных возможностей. Выбор конкретно данной платформы обусловлен лёгкостью интеграции с другим сервисов от Google: Google Drive. Использование облачного хранилища для взаимодействия с данным модулем позволяет надёжно сохранять результаты длительной работы программы, что позволяет снизить временные риски, связанные с потерей данных.

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

Ввод данных в программу выполняется через файл формата xlsx, расположенный в Google Drive. Данный файл является собранными в ходе работы предшественника ответов на анкеты.

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

Полученные данные обрабатываются для собрания единого табличного объекта DataFrame библиотеки pandas. В первую очередь вычисляется результат оценки уровня депрессии по шкале Бэка, которые будет являться целевой переменной. Кроме того, для тестовой модели создаётся отдельный табличный объект и выполняются вычисления для конвертации некоторых полей из строкового вида в вид числа с плавающей точкой: если поле анкеты имело множественный выбор, то либо приводится соответствие ответов и к некоторому числу в случае, либо ответы кодируются по методике One hot encoding. Также для всех полей, кроме закодированных One hot encoding, выполняется нормализация значений при помощи Z-Score.

Далее определяется класс нейронной сети Net, который должен иметь минимальные различия с классом, расположенном в модуле web server для идентичности расчётов в рамках одной нейронной сети. Нейронная сеть инициализируется с указанием следующих параметров:

· Hidden_cnt - количество нейронов на скрытом слое.

· Input_cnt - количество входных нейронов.

· Output_cnt - количество выходных нейронов.

· Act_function - используемая функция активации.

Для нейронной сети определяются 2 метода. Функция get_torch_act_function получает строку названия функции и возвращает соответствующую функцию из библиотеки PyTorch. Решено было определить 2 функции активации часто используемых в подобных задачах: сигмоида и тангенс гиперболический. Для повышения производительности расчёты выполняются на GPU, возможность чего предоставляется PyTorch и возможностями Google Colab.

Функция обучения нейронной сети train_best определена с множеством аргументов для предоставления возможности конфигурации процесса:

· X_train, y_train, x_test, y_test - выходные и ожидаемые значения для обучения и тестирования нейронной сети.

· Hidden_cnt - список допустимых значений количества нейронов на скрытом слое.

· Act_f - список допустимых функций активации.

· Optim - список алгоритмов обучения.

· Err_f - список функций ошибки для обучения.

· Err_cmp - функция ошибки для сравнения моделей.

· Lrs - список допустимых значений learning rate.

· Epochs - количество эпох.

· Nn_count - количество попыток.

Во время выполнения данной функции создаётся nn_count попыток создания нейронной сети. Для каждой попытки происходит случайный выбор перечисленных выше гиперпараметров и выполняется обучение на указанное количество эпох. Из нейронных сетей, получающихся на каждой эпохе, сохраняется наилучшая. Во время работы функции отображаются 2 шкалы прогресса: относительно количества попыток и относительно количества эпох для текущей попытки. В результате работы алгоритма возвращается наилучшая нейронная сеть и полученная ей оценка, а на экране отображается график изменения ошибок обучения и тестирования в ходе обучения лучшей модели (Рисунок 3.2).

Рисунок 3.2. Пример графика ошибок обучения и тестирования

Следующим шагом является генерация конфигураций нейро-сетевых моделей для обучения, в частности, такие параметры, как включение/ исключение полей анкеты, способа преобразования полей с множественным ответом. В программе рассматриваются комбинации вариантов:

· Включение/исключение полей Рост и Вес.

· Включение/исключение расчёта индекс массы тела.

· Включение/исключение расчёта идеальной массы тела по формуле Девина.

· Включение/исключение поля Возраст.

· Включение/исключение полей, связанных с жизненным циклом: доход, семейный статус, образование.

· Способ кодировки поля Образование.

· Способ кодировки поля Семейный статус.

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

Относительно каждой из полученных конфигураций формируется табличный объект и выполняется обучение моделей. Лучшие модели для каждой конфигурации сохраняются в Google Drive. Поскольку код нейронной сети может незначительно различаться между данным модулем и модулем использования модели диагностики, для сохранения модели в файл используется не сериализация, а сохранение словаря состояния нейронной сети. Код реализации расположен в Приложении В.

4.3Реализация модуля использования модели диагностики

Данный модуль разделяется на модуль main, отвечающий за обработку http - запросов к системе, и модуль nn_handler, осуществляющий управление моделями на физическом носителе и предоставляющий доступ к выполнению вычисления уровня депрессии при помощи нейронной сети.

Доступ к системе происходит при помощи REST API. Доступные пути:

· GET / - главная страница.

· GET /test - страница выполнения диагностики.

· POST /diagnose/ - выполнение диагностики депрессии.

· GET /result/{score} - страница с результатом диагностики.

· GET /models - страница управления моделями.

· POST /upload_model/ - загрузка новой модели.

· POST /set_main/{model_uuid} - установка главной модели.

· DELETE /delete_model/{model_uuid} - удалить модель.

Для реализации веб-сервера используется библиотека FastAPI. Выбор данной библиотеки основывался на простоте использования и автоматической генерацией документации API, которая доступна по пути /docs. Код реализации расположен в Приложении Г.

4.4 Тестирование и документация модуля использования модели диагностики

Весь код данного модуля задокументирован в двух вариантах: docstring в исполняемых файлах и в файле README.md. Docstring используется для отображения подсказок о сигнатурах методов и назначений классов, методов и атрибутов во время разработки исходного кода, в то время, как файл в формате Markdown в качестве документации более удобный для чтения. Для реализации тестов был использован doctest, а сами тесты расположены в файле README.md. Данное решение было сделано с расчётом на возможность создания удобной связи между документацией кода и его тестами, но в то же время данное решение позволяет разделить код и его тесты, что снижает влияние знания о реализации при разработке тестов. Единственным недостатком является требование к оформлению тестов в doctest в виде одного запроса к интерактивному python. Содержание файла README.md расположено в Приложении Д.

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.