Правильная ссылка на статью:

Мустафаев А.Г. — Применение искусственных нейронных сетей для ранней диагностики заболевания сахарным диабетом // Кибернетика и программирование. - 2016. - № 2. - С. 1 - 7. DOI: 10.7256/2306-4196.2016.2.17904 URL: https://nbpublish.com/library_read_article.php?id=17904

Применение искусственных нейронных сетей для ранней диагностики заболевания сахарным диабетом

Другие публикации этого автора

Аннотация.

Сахарный диабет - хроническое заболевание, в патогенезе которого лежит недостаток инсулина в организме человека, вызывающий нарушение обмена веществ и патологические изменения в различных органах и тканях, зачастую приводящие к высокому риску инфаркта и почечной недостаточности. Сделана попытка разработать систему ранней диагностики сахарного диабета обследуемого пациента использующая аппарат искусственных нейронных сетей. Разработана модель нейронной сети на основе многослойного персептрона обученная на основе алгоритма обратного распространения ошибки. Для проектирования нейронной сети был использован пакет Neural Network Toolbox из MATLAB 8.6 (R2015b) являющийся мощным и гибким инструментом работы с нейронными сетями. Результаты обучения и проверки работоспособности спроектированной нейронной сети показывают её успешное применение для решения поставленных задач и способность находить сложные закономерности и взаимосвязи между различными характеристиками объекта. Чувствительность разработанной нейросетевой модели составила 89.5%, специфичность 87.2%. После того как сеть обучена, она становится надежным и недорогим диагностическим инструментом.


Ключевые слова: сахарный диабет, искусственная нейронная сеть, компьютерная диагностика, специфичность, чувствительность, классификация данных, многослойный персептрон, обратное распространение ошибки, сеть прямого распространения, обучение с учителем

10.7256/2306-4196.2016.2.17904


Дата направления в редакцию:

11-02-2016

Дата рецензирования:

12-02-2016

Дата публикации:

03-03-2016

Abstract.

Diabetes is a chronic disease, in the pathogenesis of which is a lack of insulin in the human body causing a metabolic disorder and pathological changes in various organs and tissues, often leading to a high risk of heart attack and kidney failure. The author makes an attempt to create a system for early diagnosis of diabetes patients using the device of artificial neural networks. The article presents a model of neural network based on multilayer perceptron trained by back-propagation algorithm. For the design of the neural network the author used Neural Network Toolbox из MATLAB 8.6 (R2015b) which is a powerful and flexible tool for working with neural networks. The results of training and performance tests of the neural network designed show its successful application for the task and the ability to find patterns and complex relationships between the different characteristics of the object. The sensitivity of the developed neural network model is 89.5%, specificity of 87.2%. Once the network is trained it becomes a reliable and inexpensive diagnostic tool.

Keywords:

Diabetes, artificial neural network, computer diagnostics, specificity, sensitivity, data classification, multilayer perceptron, back propagation of error, direct distribution network, training with teacher

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

Нейросетевые технологии призваны решать трудноформализуемые задачи, к которым, в частности, сводятся многие проблемы медицины. Это связано с тем, что исследователю часто предоставлено большое количество разнородного фактического материала, для которого еще не создана математическая модель. Хороший результаты показали модели искусственных нейронных сетей для диагностики психических расстройств , болезни Паркинсона и Хантингтона . Модели многослойных персептронов применяются для прогнозирования риска возникновения остеопороза . Логический вывод и обобщенная регрессия использованы для диагностирования гепатита B .

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

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

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

В данной работе использовалась модель многослойного персептрона (нейронная сеть прямого распространения) обученная на основе алгоритма обратного распространения ошибки. В качестве активационной функции в работе, использовалась логистическая активационная функция (рис. 1):

`F=1/(1+exp(-alphaY)`

где ` alpha` - параметр наклона логистической функции.

Рис. 1. Логистическая функция активации

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

Искусственная нейронная сеть содержала входной слой, один скрытый слой и выходной слой. Входной слой, нейронной сети, имеет 12 нейронов, выходной слой имеет два нейрона (рис. 2).

Рис. 2. Архитектура нейронной сети

Таблица 1. Параметры входного слоя нейронной сети

Параметр

Тип данных, единица измерения

Число (лет)

Физические нагрузки

Логический (да/ нет)

Логический (М / Ж)

Число беременностей

Наличие диабета у близких родственников

Логический (да/ нет)

Индекс массы тела

Число (кг/м 2)

Толщина кожи

Число (мм)

Уровень холестерина

Число, мг/дл

Диастолическое давление

Число, мм. рт. ст.

2-х часовой сывороточный инсулин

Число, мкЕд/мл

Наличие стресса, депрессии

Логический (да/ нет)

Уровень глюкозы в плазме крови

Число, мг/дл

Для проектирования нейронной сети был использован пакет Neural Network Toolbox из MATLAB 8.6 (R2015b). Пакет представляет набор функций и структур данных описывающих функции активации, алгоритмы обучения, установку синаптических весов и др.

Рис. 3. Схема работы алгоритма обратного распространения ошибки

Алгоритм обратного распространения ошибки (рис. 3) предполагает вычисление ошибки, как выходного слоя, так и каждого нейрона обучаемой сети, а также коррекцию весов нейронов в соответствии с их текущими значениями. На первом шаге данного алгоритма веса всех межнейронных связей инициализируются небольшими случайными значениями (от 0 до 1). После инициализации весов в процессе обучения нейронной сети выполняются следующие шаги:

  • прямое распространение сигнала;
  • вычисление ошибки нейронов последнего слоя;
  • обратное распространение ошибки.

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

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

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

Нейронная сеть была обучена на 240 выборках и протестирована на 146 выборках. Чувствительность разработанной нейросетевой модели составила 89.5%, специфичность 87.2%. Некоторая сложность теоретического обеспечения использования, трудоемкость и временные затраты по моделированию и обучению нейронных сетей компенсируется простотой их применения конечным пользователем. Если задача создания конкретной нейронной сети адекватной поставленной задаче и ее оптимальное обучение доступна лишь специалисту, то ее практическое применение конечным пользователем требует только навыков владения компьютером. Сложность интерпретации системы знаний обученной нейросетевой модели, является ненужной пользователю нейронной сети, так как для большинства конечных пользователей важно не понимание сущности работы нейронной сети, а ее результативность, информативность, безошибочность и быстродействие.

Библиография

.

фактов о диабете. [Электронный ресурс] Официальный сайт Всемирной организации здравоохранения http://www.who.int/features/factfiles/diabetes/ru/ (дата обращения: 13.01.2016)

.

Беребин М.A., Пашков С.В. Опыт применения искусственных нейронных сетей для целей дифференциальной диагностики и прогноза нарушений психической адаптации. Вестник Южно-Уральского государственного университета, 2006, №14, с.41-45.

.

Gil D., Johnsson M. Diagnosing Parkinson by using artificial neural networks and support vector machines. Global Journal of Computer Science and Technology, 2009, №9(4). pp.63-71.

.

Singh M., Singh M., Singh P. Artificial Neural Network based classification of Neuro-Degenerative diseases using Gait features. International Journal of Information Technology and Knowledge Management, 2013, Vol. 7, №1, pp. 27-30.

.

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

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

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

В своей работе мы использовали бесплатное программное обеспечение.

Итак, способна ли нейронная сеть предсказать язву и ее осложнения, и насколько достоверным будет диагноз? Первым этапом стало обучение нейронной сети. С целью тренировки в программу были загружены данные 200 реальных пациентов уфимских больниц. При этом входной информацией выступили жалобы пациентов, то есть так называемый анамнез (наличие болей, их локализация и интенсивность, уровень артериального давления, курит ли человек и т.д.), - целая совокупность параметров. А на выходе нейронная сеть должна была выдать диагноз - есть ли язва у человека, и какова вероятность осложнений. Стоит отметить, что выборка пациентов была поделена на две части. 70 процентов выборки мы использовали для обучения (тренировки) программы, а 30 процентов - для проверки.

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

Как пояснил собеседник «Электрогазеты», проект реализуется под руководством д.м.н., профессора БГМУ Марата Нуртдинова. Работа ведется в сотрудничестве с кафедрой вычислительной техники УГНТУ.

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

Добрый день, меня зовут Наталия Ефремова, и я research scientist в компании NtechLab. Сегодня я буду рассказывать про виды нейронных сетей и их применение.

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

Первая часть моего доклада будет направлена тем, кто незнаком с нейронными сетями. Я занимаюсь непосредственно deep learning. В этой области я работаю более 10 лет. Хотя она появилась чуть меньше, чем десятилетие назад, раньше были некие зачатки нейронных сетей, которые были похожи на систему deep learning.

В последние 10 лет deep learning и компьютерное зрение развивались неимоверными темпами. Все, что сделано значимого в этой области, произошло в последние лет 6.

Я расскажу о практических аспектах: где, когда, что применять в плане deep learning для обработки изображений и видео, для распознавания образов и лиц, поскольку я работаю в компании, которая этим занимается. Немножко расскажу про распознавание эмоций, какие подходы используются в играх и робототехнике. Также я расскажу про нестандартное применение deep learning, то, что только выходит из научных институтов и пока что еще мало применяется на практике, как это может применяться, и почему это сложно применить.

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

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

Итак, первая часть доклада будет посвящена сверточным нейронным сетям. Я расскажу, как работают convolutional neural network (CNN), распознавание изображений на примере из распознавания лиц. Немного расскажу про рекуррентные нейронные сети recurrent neural network (RNN) и обучение с подкреплением на примере систем deep learning.

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

Что такое нейронные сети

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

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

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

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

В далекие 60-е годы прошлого века, когда только начиналось изучение зрительных зон мозга, первые эксперименты проводились на животных, потому что не было fMRI. Исследовали мозг с помощью электродов, вживлённых в различные зрительные зоны.

Первая зрительная зона была исследована Дэвидом Хьюбелем и Торстеном Визелем в 1962 году. Они проводили эксперименты на кошках. Кошкам показывались различные движущиеся объекты. На что реагировали клетки мозга, то и было тем стимулом, которое распознавало животное. Даже сейчас многие эксперименты проводятся этими драконовскими способами. Но тем не менее это самый эффективный способ узнать, что делает каждая мельчайшая клеточка в нашем мозгу.

Таким же способом были открыты еще многие важные свойства зрительных зон, которые мы используем в deep learning сейчас. Одно из важнейших свойств - это увеличение рецептивных полей наших клеток по мере продвижения от первичных зрительных зон к височным долям, то есть более поздним зрительным зонам. Рецептивное поле - это та часть изображения, которую обрабатывает каждая клеточка нашего мозга. У каждой клетки своё рецептивное поле. Это же свойство сохраняется и в нейронных сетях, как вы, наверное, все знаете.

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

Здесь вы видите примеры сложности стимулов, различных двухмерных форм, которые распознаются в зонах V2, V4 и различных частях височных полей у макак. Также проводятся некоторое количество экспериментов на МРТ.

Здесь вы видите, как проводятся такие эксперименты. Это 1 нанометровая часть зон IT cortex"a мартышки при распознавании различных объектов. Подсвечено то, где распознается.

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

Компьютерное зрение

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

Все эти свойства мы переносим в нейронную сеть, и вот оно заработало, если не включать небольшое отступление к датасетам, о котором расскажу попозже.

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

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

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

Итак, что происходит при распознавании изображения, я расскажу на примере лиц.

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

Нам нужно это было сделать каким-то геометрическим способом, описать объект, описать взаимосвязи объекта, как могут эти части относиться к друг другу, потом найти это изображение на объекте, сравнить их и получить, что мы распознали плохо. Обычно это было чуть лучше, чем подбрасывание монетки. Чуть лучше, чем chance level.

Сейчас это происходит не так. Мы разбиваем наше изображение либо на пиксели, либо на некие патчи: 2х2, 3х3, 5х5, 11х11 пикселей - как удобно создателям системы, в которой они служат входным слоем в нейронную сеть.

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

Условно все эти части можно разделить на три класса, мы их обозначим X, W и Y, где Х - это наше входное изображение, Y - это набор лейблов, и нам нужно получить наши веса. Как мы вычислим W?

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

Этот процесс происходит итеративно, мы постоянно уменьшаем, пока не находим то значение веса W, которое нас достаточно устроит.

К слову, ни одна нейронная сеть, с которой я работала, не достигала ошибки, равной нулю, но работала при этом достаточно хорошо.

Перед вами первая сеть, которая победила на международном соревновании ImageNet в 2012 году. Это так называемый AlexNet. Это сеть, которая впервые заявила о себе, о том, что существует convolutional neural networks и с тех самых пор на всех международных состязаниях уже convolutional neural nets не сдавали своих позиций никогда.

Несмотря на то, что эта сеть достаточно мелкая (в ней всего 7 скрытых слоёв), она содержит 650 тысяч нейронов с 60 миллионами параметров. Для того, чтобы итеративно научиться находить нужные веса, нам нужно очень много примеров.

Нейронная сеть учится на примере картинки и лейбла. Как нас в детстве учат «это кошка, а это собака», так же нейронные сети обучаются на большом количестве картинок. Но дело в том, что до 2010 не существовало достаточно большого data set’a, который способен был бы научить такое количество параметров распознавать изображения.

Самые большие базы данных, которые существовали до этого времени: PASCAL VOC, в который было всего 20 категорий объектов, и Caltech 101, который был разработан в California Institute of Technology. В последнем была 101 категория, и это было много. Тем же, кто не сумел найти свои объекты ни в одной из этих баз данных, приходилось стоить свои базы данных, что, я скажу, страшно мучительно.

Однако, в 2010 году появилась база ImageNet, в которой было 15 миллионов изображений, разделённые на 22 тысячи категорий. Это решило нашу проблему обучения нейронных сетей. Сейчас все желающие, у кого есть какой-либо академический адрес, могут спокойно зайти на сайт базы, запросить доступ и получить эту базу для тренировки своих нейронных сетей. Они отвечают достаточно быстро, по-моему, на следующий день.

По сравнению с предыдущими data set’ами, это очень большая база данных.

На примере видно, насколько было незначительно все то, что было до неё. Одновременно с базой ImageNet появилось соревнование ImageNet, международный challenge, в котором все команды, желающие посоревноваться, могут принять участие.

В этом году победила сеть, созданная в Китае, в ней было 269 слоёв. Не знаю, сколько параметров, подозреваю, тоже много.

Архитектура глубинной нейронной сети

Условно ее можно разделить на 2 части: те, которые учатся, и те, которые не учатся.

Чёрным обозначены те части, которые не учатся, все остальные слои способны обучаться. Существует множество определений того, что находится внутри каждого сверточного слоя. Одно из принятых обозначений - один слой с тремя компонентами разделяют на convolution stage, detector stage и pooling stage.

Не буду вдаваться в детали, еще будет много докладов, в которых подробно рассмотрено, как это работает. Расскажу на примере.

Поскольку организаторы просили меня не упоминать много формул, я их выкинула совсем.

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

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

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

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

Есть люди, которые утверждают, что человек всегда распознаёт лучше, чем сеть. Так ли это?

В 2014 году ученые решили проверить, насколько мы хорошо распознаем в сравнении с нейронными сетями. Они взяли 2 самые лучшие на данный момент сети - это AlexNet и сеть Мэттью Зиллера и Фергюса, и сравнили с откликом разных зон мозга макаки, которая тоже была научена распознавать какие-то объекты. Объекты были из животного мира, чтобы обезьяна не запуталась, и были проведены эксперименты, кто же распознаёт лучше.

Так как получить отклик от мартышки внятно невозможно, ей вживили электроды и мерили непосредственно отклик каждого нейрона.

Оказалось, что в нормальных условиях клетки мозга реагировали так же хорошо, как и state of the art model на тот момент, то есть сеть Мэттью Зиллера.

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

Классические задачи сверточных нейронных сетей

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

На примере этого изображения рассмотрим, что делает каждая из задач.

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

Распознавание лиц

Первое, что мы делаем - пробегаем face detector"ом по изображению для того, чтобы найти лицо. Далее мы нормализуем, центрируем лицо и запускаем его на обработку в нейронную сеть. После чего получаем набор или вектор признаков однозначно описывающий фичи этого лица.

Затем мы можем этот вектор признаков сравнить со всеми векторами признаков, которые хранятся у нас в базе данных, и получить отсылку на конкретного человека, на его имя, на его профиль - всё, что у нас может храниться в базе данных.

Именно таким образом работает наш продукт FindFace - это бесплатный сервис, который помогает искать профили людей в базе «ВКонтакте».

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

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

Немного статистики. При идентификации, при поиске по 10 тысячам фото у нас точность около 95% в зависимости от качества базы, 99% точность верификации. И помимо этого данный алгоритм очень устойчив к изменениям - нам необязательно смотреть в камеру, у нас могут быть некие загораживающие предметы: очки, солнечные очки, борода, медицинская маска. В некоторых случаях мы можем победить даже такие невероятные сложности для компьютерного зрения, как и очки, и маска.

Очень быстрый поиск, затрачивается 0,5 секунд на обработку 1 миллиарда фотографий. Нами разработан уникальный индекс быстрого поиска. Также мы можем работать с изображениями низкого качества, полученных с CCTV-камер. Мы можем обрабатывать это все в режиме реального времени. Можно загружать фото через веб-интерфейс, через Android, iOS и производить поиск по 100 миллионам пользователей и их 250 миллионам фотографий.

Как я уже говорила мы заняли первое место на MegaFace competition - аналог для ImageNet, но для распознавания лиц. Он проводится уже несколько лет, в прошлом году мы были лучшими среди 100 команд со всего мира, включая Google.

Рекуррентные нейронные сети

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

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

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

Что такое рекуррентные нейронные сети? Это примерно то же самое, что и обычные нейронные сети, но с обратной связью. Обратная связь нам нужна, чтобы передавать на вход нейронной сети или на какой-то из ее слоев предыдущее состояние системы.

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

В 2005 году на состязании Emotion Recognition in the Wild специально для распознавания эмоций команда из Монреаля представила рекуррентную систему, которая выглядела очень просто. У нее было всего несколько свёрточных слоев, и она работала исключительно с видео. В этом году они добавили также распознавание аудио и cагрегировали покадровые данные, которые получаются из convolutional neural networks, данные аудиосигнала с работой рекуррентной нейронной сети (с возвратом состояния) и получили первое место на состязании.

Обучение с подкреплением

Следующий тип нейронных сетей, который очень часто используется в последнее время, но не получил такой широкой огласки, как предыдущие 2 типа - это deep reinforcement learning, обучение с подкреплением.

Дело в том, что в предыдущих двух случаях мы используем базы данных. У нас есть либо данные с лиц, либо данные с картинок, либо данные с эмоциями с видеороликов. Если у нас этого нет, если мы не можем это отснять, как научить робота брать объекты? Это мы делаем автоматически - мы не знаем, как это работает. Другой пример: составлять большие базы данных в компьютерных играх сложно, да и не нужно, можно сделать гораздо проще.

Все, наверное, слышали про успехи deep reinforcement learning в Atari и в го.

Кто слышал про Atari? Ну кто-то слышал, хорошо. Про AlphaGo думаю слышали все, поэтому я даже не буду рассказывать, что конкретно там происходит.

Что происходит в Atari? Слева как раз изображена архитектура этой нейронной сети. Она обучается, играя сама с собой для того, чтобы получить максимальное вознаграждение. Максимальное вознаграждение - это максимально быстрый исход игры с максимально большим счетом.

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

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

Дело в том, что ни одна нейронная сеть, даже deep learning на данный момент, не может справится с этой задачей достаточно эффективно, поэтому deep learning только исключительно кусочки того, что нужно сделать роботам. Например, недавно Сергей Левин предоставил систему, которая учит робота хватать объекты.

Вот здесь показаны опыты, которые он проводил на своих 14 роботах-манипуляторах.

Что здесь происходит? В этих тазиках, которые вы перед собой видите, различные объекты: ручки, ластики, кружки поменьше и побольше, тряпочки, разные текстуры, разной жесткости. Неясно, как научить робота захватывать их. В течение многих часов, а даже, вроде, недель, роботы тренировались, чтобы уметь захватывать эти предметы, составлялись по этому поводу базы данных.

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

Нестандартные применения нейронных сетей

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

Итак, ученые Стэнфорда недавно придумали очень необычное применение нейронной сети CNN для предсказания бедности. Что они сделали?

На самом деле концепция очень проста. Дело в том, что в Африке уровень бедности зашкаливает за все мыслимые и немыслимые пределы. У них нет даже возможности собирать социальные демографические данные. Поэтому с 2005 года у нас вообще нет никаких данных о том, что там происходит.

Учёные собирали дневные и ночные карты со спутников и скармливали их нейронной сети в течение некоторого времени.

Нейронная сеть была преднастроена на ImageNet"е. То есть первые слои фильтров были настроены так, чтобы она умела распознавать уже какие-то совсем простые вещи, например, крыши домов, для поиска поселения на дневных картах. Затем дневные карты были сопоставлены с картами ночной освещенности того же участка поверхности для того, чтобы сказать, насколько есть деньги у населения, чтобы хотя бы освещать свои дома в течение ночного времени.

Здесь вы видите результаты прогноза, построенного нейронной сетью. Прогноз был сделан с различным разрешением. И вы видите - самый последний кадр - реальные данные, собранные правительством Уганды в 2005 году.

Можно заметить, что нейронная сеть составила достаточно точный прогноз, даже с небольшим сдвигом с 2005 года.

Были конечно и побочные эффекты. Ученые, которые занимаются deep learning, всегда с удивлением обнаруживают разные побочные эффекты. Например, как те, что сеть научилась распознавать воду, леса, крупные строительные объекты, дороги - все это без учителей, без заранее построенных баз данных. Вообще полностью самостоятельно. Были некие слои, которые реагировали, например, на дороги.

И последнее применение о котором я хотела бы поговорить - семантическая сегментация 3D изображений в медицине. Вообще medical imaging - это сложная область, с которой очень сложно работать.

Для этого есть несколько причин.

  • У нас очень мало баз данных. Не так легко найти картинку мозга, к тому же повреждённого, и взять ее тоже ниоткуда нельзя.
  • Даже если у нас есть такая картинка, нужно взять медика и заставить его вручную размещать все многослойные изображения, что очень долго и крайне неэффективно. Не все медики имеют ресурсы для того, чтобы этим заниматься.
  • Нужна очень высокая точность. Медицинская система не может ошибаться. При распознавании, например, котиков, не распознали - ничего страшного. А если мы не распознали опухоль, то это уже не очень хорошо. Здесь особо свирепые требования к надежности системы.
  • Изображения в трехмерных элементах - вокселях, не в пикселях, что доставляет дополнительные сложности разработчикам систем.
Но как обошли этот вопрос в данном случае? CNN была двупотоковая. Одна часть обрабатывала более нормальное разрешение, другая - чуть более ухудшенное разрешение для того, чтобы уменьшить количество слоёв, которые нам нужно обучать. За счёт этого немного сократилось время на тренировку сети.

Где это применяется: определение повреждений после удара, для поиска опухоли в мозгу, в кардиологии для определения того, как работает сердце.

Вот пример для определения объема плаценты.

Автоматически это работает хорошо, но не настолько, чтобы это было выпущено в производство, поэтому пока только начинается. Есть несколько стартапов для создания таких систем медицинского зрения. Вообще в deep learning очень много стартапов в ближайшее время. Говорят, что venture capitalists в последние полгода выделили больше бюджета на стартапы обрасти deep learning, чем за прошедшие 5 лет.

Эта область активно развивается, много интересных направлений. Мы с вами живем в интересное время. Если вы занимаетесь deep learning, то вам, наверное, пора открывать свой стартап.

Ну на этом я, наверное, закруглюсь. Спасибо вам большое.

7 июля 2017 в 22:30

Нейросети диагностируют проблемы с сердцем более точно, чем врачи

  • Медгаджеты ,
  • Здоровье гика ,

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

В этом случае на помощь могут прийти машины. Та же когнитивная система IBM Watson, например, вполне неплохо управляется с работой в медицинской сфере (онкология, чтение рентгеновских снимков и т.п.). Но есть и другие решения, предложенные независимыми исследователями. Одно из таких решений было создано учеными из Стэнфорда во главе с Эндрю Энджи, достаточно известным в своей сфере специалистом по искусственному интеллекту.

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

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

«Мне очень нравится то, насколько быстро люди принимают идею, что глубокое обучение может помочь улучшить точность постановки диагноза врачом», - говорит Энджи. Он также считает, что на этом возможности компьютерных систем не исчерпываются, их можно применять и во многих других сферах.

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

Как уже говорилось выше, нейросеть пришлось обучать, причем на примере реальных показателей пациентов больниц. Самостоятельно набрать несколько десятков тысяч результатов измерений ЭКГ специалисты Стэнфорда были не в состоянии, поэтому они пригласили к партнерству iRhythm , компанию, которая производит портативные ЭКГ-гаджеты. Компания предоставила 30000 30-секундных записей результатов измерений работы сердечной мышцы пациентов, страдающих от разных форм аритмии. Для того, чтобы увеличить точность работы алгоритма, а также сравнить результаты работы компьютера с результатами диагностики врачей, использовались еще 300 записей. Их одновременно анализировали и машина, и врачи. Затем результаты оценивались специальным жюри, в которое вошли 3 кардиолога экстра-класса.

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

Кроме специалистов, о которых уже говорилось выше, машинное обучение для создания систем, способных диагностировать аритмию, используют и другие группы. Например, Эрик Горовиц, управляющий директор Microsoft Research (сам он - медик) с коллегами работают примерно в том же направлении, что и специалисты из Стэнфорда. По их мнению, нейросети действительно способны улучшить качество медицинского обслуживания пациентов, помогая врачам тратить меньше времени на рутину и больше - на поиск эффективных методов лечения своих подопечных.


Правда, о масштабном внедрении нейросетей в больницы всего мира речь пока не идет. Это направление находится в зачаточном состоянии, но развивается все быстрее. Больницы США, Европы и других стран берут на вооружение новые технологии, работают с новыми методами диагностики заболеваний. Главная проблема в плане распространения упомянутых технологий - то, что нейросети представляют своего рода «черный ящик». Специалисты вводят данные и получают определенный результат. Но то, как этот результат был получен, какие алгоритмы и в какой последовательности задействованы могут не до конца понимать сами создатели таких систем. Если бы нейросети удалось сделать более прозрачными, а принцип их работы можно было бы легко объяснить практикующим медикам, тогда и темпы распространения этой технологии были бы куда выше.

Теги:

  • нейросети
  • врачи
  • медицина
Добавить метки

Нейронные сети в медицине

Острая боль в груди. Скорая помощь доставляет больного в приемный покой, где дежурный врач должен поставить диагноз и определить, действительно ли это инфаркт миокарда. Опыт показывает, что доля пациентов, перенесших инфаркт среди поступивших с аналогичными симптомами, невеликa. Точных методов диагностики, тем не менее, до сих пор нет. Электрокардиограмма иногда не содержит явных признаков недуга. А сколько всего параметров состояния больного могут так или иначе помочь поcтавить в данном случае правильный диагноз? Более сорока. Может ли врач в приемном покое быстро проанализировать все эти показатели вместе с взаимосвязями, чтобы принять решение о направлении больного в кардиологическое отделение? В какой-то мере эту задачу помогают решать нейросетевые технологии.

Статистика такова: врач правильно диагностирует инфаркт миокарда у 88% больных и ошибочно ставит этот диагноз в 29% случаев. Ложных тревог (гипердиагностики) чересчур много. История применения различных методов обработки данных для повышения качества диагностики насчитывает десятилетия, однако лучший из них помог сократить число случаев гипердиагностики лишь на 3%.

В 1990 году Вильям Бакст из Калифорнийского университета в Сан-Диего использовал нейронную сеть - многослойный персептрон - для распознавания инфаркта миокарда у пациентов, поступающих в приемный покой с острой болью в груди. Его целью было создание инструмента, способного помочь врачам, которые не в силах справиться с потоком данных, характеризующих состояние поступившего больного. Другой целью может быть совершенствование диагностики. Свою задачу исследователь усложнил, поскольку анализировал данные только тех пациентов, кого уже направили в кардиологическое отделение. Бакст использовал лишь 20 параметров, среди которых были возраст, пол, локализация боли, реакция на нитроглицерин, тошнота и рвота, потение, обмороки, частота дыхания, учащенность сердцебиения, предыдущие инфаркты, диабет, гипертония, вздутие шейной вены, ряд особенностей ЭКГ и наличие значительных ишемических изменений.

Сеть продемонстрировала точность 92% при обнаружении инфаркта миокарда и дала только 4% случаев сигналов ложной тревоги, ошибочно подтверждая направление пациентов без инфаркта в кардиологическое отделение. Итак, налицо факт успешного применения искусственных нейронных сетей в диагностике заболевания. Теперь необходимо пояснить, в каких параметрах оценивается качество диагноза в общем случае. Предположим, что из десяти человек, у которых инфаркт действительно есть, диагностический метод позволяет обнаружить заболевание у восьми. Тогда чувствительность метода составит 80%. Если же мы возьмем десять человек, у которых инфаркта нет, а метод диагностики заподозрит его у трех человек, то доля ложных тревог составит 30%, при этом дополнительная к нему характеристика - специфичность метода - будет равна 70%.


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

Нейронные сети для задач диагностики

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

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

Одной из наиболее известных из разработанных экспертных систем, действие которых основывалось на знаниях, извлеченных у экспертов, и на реализации процедур вывода, была система MYCIN. Данную систему разработали в Стэнфорде в начале 70-х годов для диагностики септического шока. Половина больных умирала от него в течение суток, а врачи могли обнаруживать сепсис лишь в 50% случаев. MYCIN, казалось, была подлинным триумфом технологии экспертных систем - ведь она позволяла обнаружить сепсис в 100% случаев. Однако после более внимательного знакомства с этой экспертной системой врачи значительно усовершенствовали традиционные методы диагностики, и MYCIN потерял свое значение, превратившись в учебную систему. Экспертные системы "пошли" только в кардиологии - для анализа электрокардиограмм. Сложные правила, которые составляют главное содержание книг по клиническому анализу ЭКГ, использовались соответствующими системами для выдачи диагностического заключения.

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

Конкретные системы

Примером программы диагностики служит пакет кардиодиагностики, разработанный фирмой RES Informatica совместно с Центром кардиологических исследований в Милане. Программа позволяет осуществлять неинвазивную кардиодиагностику на основе распознавания спектров тахограмм. Тахограмма представляет собой гистограмму интервалов между последовательными сердцебиениями, и ее спектр отражает баланс активностей симпатической и парасимпатической нервной системы человека, специфично изменяющейся при различных заболеваниях.

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

В медицине находит применение и другая особенность нейросетей - их способность предсказывать временные последовательности. Уже отмечалось, что экспертные системы преуспели в анализе ЭКГ. Нейросети здесь тоже приносят пользу. Ки Чженху, Ю Хену и Виллис Томпкинс из университета штата Висконсин разработали нейросетевую систему фильтрации электрокардиограмм, позволяющую подавлять нелинейный и нестационарный шум значительно лучше, чем ранее использовавшиеся методы. Дело в том, что нейросеть хорошо предсказывала шум по его значениям в предыдущие моменты времени. А то, что нейросети очень эффективны для предсказания временных последовательностей (таких, например, как курс валют или котировки акций), убедительно продемонстрировали результаты соревнования предсказательных программ, проводимых университетом в Санта Фе - нейросети заняли первое место и доминировали среди лучших методов.

Возможности применения нейросетей

ЭКГ - это частное, хотя и исключительно важное приложение. Однако сегодня существует и много других примеров использования нейросетей для медицинских прогнозов. Известно, что длинные очереди в кардиохирургические отделения (от недель до месяцев) вызваны нехваткой реанимационных палат. Увеличить их число не удается из-за высокой стоимости реанимационной помощи (70% средств американцы тратят в последние 2 недели жизни именно в этом отделении).

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

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

Ту и Гуэрир обучили двухслойный персептрон разделять больных на три группы риска, учитывая их возраст, пол, функциональное состояние левого желудочка, степень сложности предстоящей операции и наличие сопутствующих заболеваний. Из тех пациентов, которых сеть отнесла к группе малого риска задержки в реанимации, только 16,3% действительно провели в ней более двух дней. В то же время свыше 60% из тех, кого сеть отнесла в группу повышенного риска, оправдали неблагоприятный прогноз.

Борьба с раком

Мы уделяли особое внимание сердечно-сосудистым заболеваниям, поскольку именно они удерживают печальное лидерство в списке причин смертности. На втором месте находятся онкологические заболевания. Одно из главных направлений, в котором сейчас идут работы по использованию нейронных сетей, - диагностика рака молочной железы. Этот недуг - причина смерти каждой девятой женщины.

Обнаружение опухоли осуществляется в ходе первичного рентгенографического анализа молочной железы (маммографии) и последующего анализа кусочка ткани новообразования (биопсии). Несмотря на существование общих правил дифференцирования доброкачественных и злокачественных новообразований, по данным маммографии, только от 10 до 20% результатов последующей хирургической биопсии действительно подтверждают наличие рака молочной железы. Опять мы имеем дело со случаем крайне низкой специфичности метода.

Исследователи из университета Дьюка обучили нейронную сеть распознавать маммограммы злокачественной ткани на основе восьми особенностей, с которыми обычно имеют дело радиологи. Оказалось, что сеть способна решать поставленную задачу с чувствительностью около 100% и специфичностью 59% (сравните с 10-20% у радиологов). Сколько женщин с доброкачественными опухолями можно не подвергать стрессу, связанному с проведением биопсии, если использовать эту нейронную сеть! В клинике Майо (Миннесота) нейросеть анализировала результаты ультразвукового исследования молочной железы и обеспечила специфичность 40%, в то время как для тех же женщин специфичность заключения радиологов оказалась нулевой. Не правда ли, успех использования нейросетевых технологий выглядит совсем не случайным?

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

Разнообразны возможности применения нейросетей в медицине, и разнообразна их архитектура. На основе прогноза отдаленных результатов лечения заболевания тем или иным методом можно предпочесть один из них. Значительного результата в прогнозе лечения рака яичника (болезнь каждой семидесятой женщины) добился известный голландский специалист Герберт Каппен из университета в Нимегене (он использует в своей работе не многослойные персептроны, а так называемые Машины Больцмана - нейросети для оценки вероятностей).

А вот пример другого онкологического заболевания. Исследователи из медицинской школы в Кагаве (Япония) обучили нейросеть, которая практически безошибочно прогнозировала по предоперационным данным результаты резекции печени у больных печеночно-клеточной карциномой.

В Троицком институте инновационных и термоядерных исследований (ТРИНИТИ) в рамках реализуемого Министерством науки проекта создания нейросетевых консультационных систем была разработана нейросетевая программа, которая выбирает метод лечения базальноклеточного рака кожи (базалиомы) на основе долгосрочного прогноза развития рецидива. Число заболеваний базалиомой - онкологическим недугом белокожих людей с тонкой кожей - составляет треть всех онкологических заболеваний.

Диагностика одной из форм меланомы - опухоли, которую иногда непросто отличить от пигментной формы базалиомы, была реализована с помощью нейросетевого симулятора Multineuron, разработанного в ВЦ СОАН в Красноярске под руководством А.Н.Горбаня.

Нейросети можно использовать и для прогноза действия различных разрабатываемых средств лечения. Они уже успешно применяются в химии для прогноза свойств соединений на основе их молекулярной структуры. Исследователи из Национального института рака в США использовали нейросети для предсказания механизма действия препаратов, применяемых при химиотерапии злокачественных опухолей. Заметим, что существуют миллионы различных молекул, которые необходимо исследовать на предмет их антираковой активности. Специалисты Института рака разбили известные онкологические препараты на шесть групп в соответствии с механизмом их действия на раковые клетки и обучили многослойные сети классифицировать новые вещества и распознавать их действие. В качестве исходных данных использовались результаты экспериментов по подавлению роста клеток из различных опухолей. Нейросетевая классификация позволяет определить, какие из сотен ежедневно апробируемых молекул стоит изучать далее в весьма дорогих экспериментах in vitro и in vivo. Для решения аналогичной задачи использовались и сети Кохонена. Эти обучаемые без учителя самоорганизующиеся нейросети разбивали вещества на заранее неизвестное число кластеров и поэтому дали исследователям возможность идентифицировать вещества, обладающие новыми цитотоксическими механизмами воздействия.

Нейросистемы, генетика и молекулы

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

Не случайно в апреле 1997 года эксперты Национального института здоровья (США) выступили с рекомендациями по усилению исследований, связанных с выявлением причин, вызывающих рак, и разработок, направленных на предупреждение болезней. Нейросети уже довольно давно активно применяются в анализе геномных последовательностей ДНК, в частности для распознавания промоторов - участков, предшествующих генам и связываемых с белком РНК-полимераза, который инициирует транскрипцию. Их используют для дифференциации кодирующих и некодирующих участков ДНК (экзонов и интронов) и предсказания структуры белков.

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

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

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

В геномных последовательностях ДНК можно приближенно выделить три составляющие: в первой содержатся многочисленные копии одинаковых фрагментов (сателлитная ДНК); во второй находятся умеренно повторяющиеся последовательности, рассеянные по геному; а в третьей _уникальная ДНК. В сателлитной ДНК различные копии представлены неодинаково - их численность варьируется от сотен до миллионов. Поэтому они обычно еще подразделяются на мини- и микросателлитов.

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

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

В ТРИНИТИ была разработана система, в которой для поиска скрытых повторов и оценки роли мутаций в последовательностях ДНК используются модификации нейросетей Хопфилда. Есть надежда, что этот подход можно будет использовать для обобщенного спектрального анализа последовательностей данных весьма общего вида, например, для анализа электрокардиограмм.

Нейросети шагают по планете

География исследовательских групп, применяющих нейросети для разработки медицинских приложений, очень широка. О США нечего и говорить - в университете каждого штата ведутся подобные исследования, причем главное их направление - рак молочной железы. Да что там университеты - военные академии этим тоже занимаются. В Чехии Иржи Шима разработал теорию обучения нейронных сетей, способных эффективно работать с так называемыми интервальными данными (когда известны не значения параметра, а интервал его изменения), и использует их в различных медицинских приложениях. В Китае сотрудники Института атомной энергии обучили нейросеть отличать больных с легкими и тяжелыми заболеваниями эпителия пищевода от тех, кто страдает раком пищевода, на основе элементного анализа ногтей.

В России в НИИЯФ МГУ нейросети применяются для анализа заболеваний органов слуха.

Наконец, в Австралии Джордж Христос использовал теорию нейронных сетей для построения первой гипотезы о причинах загадочного синдрома внезапной смерти новорожденных.

Вместо заключения

Разумеется, в статье приведен далеко не полный перечень примеров использования технологий искусственных нейронных сетей в медицине. В стороне осталась психиатрия, травматология и другие разделы, в которых нейросети пробуются на роль помощника диагноста и клинициста. Не все, конечно, выглядит безоблачным в союзе новой компьютерной технологии и здравоохранения. Нейросетевые программы подчас крайне дороги для широкого внедрения в клинике (от тысяч до десятков тысяч долларов), а врачи довольно скептически относятся к любым компьютерным инновациям. Заключение, выданное с помощью нейронной сети, должно сопровождаться приемлемыми объяснениями или комментариями.

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

И еще одна надежда на сотрудничество - само слово "нейрон". Все-таки оно так хорошо знакомо медикам...