новости  материалы  справочник  форум  гостевая  ссылки Поиск с Яндексом  
Новости
Материалы
  Логические подходы
  Нейронные сети
  Генетические алгоритмы
  Разное
  Публикации
  Алгоритмы
  Применение
Справочник
Форум
Гостевая книга
Ссылки
О сайте
 
Искусственный интеллект  Искусственный интеллект. Современный подход
1408 стр., 2006 г.
Цена: 1136 руб.
 
Хостинг от компании Parking.ru

Глава 5. Медицинская нейроинформатика


Автор: Д.А. Россиев
Учереждение: Отдел медицинской нейроинформатики, КрасГМА

Введение

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

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

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

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

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

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

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

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

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

Разработка математических методов решения медико-биологических задач ведется уже не одну сотню лет. Учеными предложено огромное количество способов проверки гипотез и продукции выводов. В 60-е годы были разработаны методы анализа, получившие некоторое распространение и вызвавшие волну публикаций. Общим признаком, объединяющим их, является наличие явных алгоритмов принятия решений. “Диагностический алгоритм включает в себя совокупность правил, определяющих порядок переработки медицинской информации с целью постановки диагноза” 1. Несмотря на то, что наиболее популярные методы до сих пор активно используются в теоретической биологии и медицине, в клинической практике они не нашли широкого применения. Это связано, во-первых, с тем, что методы, ориентированные на обработку групповых данных, слабо применимы к отдельным объектам, а во-вторых, с особенностями самой медико-биологической информации. Решения в медицинских и биологических задачах зависят от большого количества неодинаковых по значимости факторов. Поэтому, даже если удается выстроить правила вывода, связывающие условия задачи с решением, метод, как правило, хорошо работает только на той группе объектов, на которой производились исследования. Естественно, создать универсальный алгоритм невозможно, и при использовании метода для другой подобной группы объектов его почти всегда приходится полностью переконструировать практически заново.

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

Поиски и изучение неявных алгоритмов, позволяющих автоматически накапливать и затем использовать опыт при обучении 3, продолжаются уже более 100 лет 4. Однако первые серьезные попытки создания нейронных сетей были сделаны в 40-50-х годах, когда У.Маккалох и У.Питтс выдвинули основные положения теории работы головного мозга. С появлением дешевых ЭВМ произошел резкий скачок в этой области, которая в начале 80-х годов сформировалась в целую науку - нейроинформатику 5,6,7.

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

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

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

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

В Италии разработана чрезвычайно интересная экспертная система для диагностики и лечения артериальной гипертонии 9. Система включает в себя три нейросетевых модуля, причем ответы одних являются входными данными для других. В начале исследования больному проводят измерение систолического и диастолического давления каждые полчаса в течение суток. Данные за каждый час усредняются. Таким образом, образуется массив из 48 величин артериального давления (по 24 для систолического и диастолического). После этого первый модуль, состоящий из двух трехслойных нейросетей (в каждой из которых 2 входных, 4 "скрытых" и 24 выходных нейрона), на основании данных о поле и возрасте больного рассчитывает аналогичные "должные" величины и сравнивают их с реальными. Параллельно второй модуль (двухслойная нейросеть с 17 входными и 4 выходными нейронами) на основании клинических данных (симптоматика, анамнез) рассчитывает возможные сочетания гипотензивных лекарственных средств, которые могут быть использованы для лечения данного больного. Данные, снятые с выходов обоих модулей, вместе с клиническими данными подаются на вход последнего, третьего модуля (6-слойная нейросеть). Этот модуль оперирует 4 группами гипотензивных препаратов (диуретики, бетаадреноблокаторы, ингибиторы ангиотензина, блокаторы кальциевых каналов). Цель - назначить суточный (почасовой) график приема больным лекарств каждой (если требуется) из 4 групп. Поэтому этот модуль имеет 96 выходных нейронов (4 препарата х 24 часа). С каждого выходного нейрона снимается доза, соответствующая одному препарату, назначаемому на данный час суток. Естественно, что в реальной ситуации большинство выходных данных равны нулю. Таким образом, создается оптимальная для пациента схема лечения гипертонии. Нужно отметить, что система учитывает некоторые особенности приема препаратов больными, например, затруднение приема препаратов ночью (назначает ночной прием только в крайних случаях), запрет на назначение мочегонных лекарств на ночь. Отличительной чертой системы является возможность пользователя (врача) передавать нейронной сети свой опыт. Для этого создателями программы предусмотрен специальный блок, который выводит на экран компьютера суточные кривые артериального давления и предлагает врачу ввести в компьютер суточную схему приема гипотензивных препаратов в необходимых, по его мнению, дозах. Введенный пример помещается в базу данных. В любое время можно инициировать доучивание нейронных сетей с новыми примерами.

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

Аналогичным образом проводится диагностика заболеваний периферических сосудов 11, например, определение форм артериита 12.

Проводится комплекс исследований по использованию нейросетей для диагностики инфаркта миокарда 13,14,15. Автор приводит данные по чувствительности (77,7%) и специфичности (97,2%) нейросетевого теста. В работе 16, кроме того, с помощью нейронной сети устанавливали диагностическую значимость клинических параметров при диагностике инфаркта миокарда.

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

Нейросети используются терапевтами для диагностики заболеваний печени по лабораторным данным исследования функций печени 19; дифференциальной диагностики заболеваний печени 20 и желчного пузыря по УЗИ 21.

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

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

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

В одной из старинных методик диагностики по пульсу используются 14 характеристик пульса, измеряемых с нескольких точек. Распознавание и интерпретация данных требует огромного опыта врача, практически невозможного в современных условиях. Нейросеть была применена для "узкой" диагностики только по одной из точек 24, позволяющей оценивать состояние левой почки. Пульс считывается специальным датчиком, совмещенным с микрофоном. Полученная пульсовая кривая (сфигмограмма) передается в компьютер. Вначале программа анализирует несколько пульсовых волн и выстраивает "среднюю" волну. После этого по 5 точкам этой волны нейронная сеть оценивает состояние левой почки.

Классической проблемой в кардиологии является интерпретация электрокардиограмм, требующая значительного опыта врача. Сотрудники Университета Глазго (Великобритания) ведут исследования по применению нейросетей для ЭКГ-диагностики инфарктов миокарда 25. Входными данными для сетей являются избранные параметры 12-канальной электрокардиограммы и 12-канальной векторкардиограммы (длины зубцов, расстояния между зубцами). Исследователи обучили огромное количество нейросетей (167 сетей для диагностики инфаркта миокарда передней стенки и 139 сетей для инфаркта нижней стенки) на массиве данных из 360 электрокардиограмм. Обученные сети затем тестировали отдельную выборку с заранее известными ответами (493 случая). Одновременно для получения отдельной серии ответов на тестируемой выборке был использован логический метод (с заранее заданным алгоритмом). Затем сравнивались результаты тестирования выборки лучшими нейросетями и с помощью логического алгоритма. Сравнение показало, что во многих случаях чувствительность и специфичность нейросетевого теста оказались выше, чем у логического метода. Авторы делают справедливый вывод, что в случаях, когда логический алгоритм решения задачи все-таки можно выстроить, разумно комбинировать в экспертных системах оба подхода.

Интерпретация ЭКГ с помощью нейросетей была применена для диагностики злокачественных желудочковых аритмий 26. Трехслойная сеть с 230 входными синапсами была обучена на 190 пациентов (114 с хронической сердечной недостаточностью и 34 с дилятационной миокардиопатией) различать наличие (у 71 пациента) и отсутствие (у 119 пациентов) желудочковой тахикардии. Результаты тестирования сравнивались с логическим методом интерпретации данных. Показано, что нейросетевой тест обладает большей чувствительностью (73% по сравнению с 70 для логического метода) и специфичностью (83 и 59%).

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

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

Созданы нейросетевые экспертные системы для классификации опухолей молочной железы (определения, доброкачественная опухоль, или злокачественная) по данным маммографии (сканограмма молочной железы) 29. По данным, которые приводят авторы, точность такого вывода до применения нейросети составляла не более 75%. При тестировании системы, нейросеть, анализирующая сканограмму, давала правильный ответ в 100% случаев. При тестировании изображение, получаемое в результате метода, представляется в виде матрицы точек размером 1024х1024 пиксела с 10-битовой шкалой яркости. Изображение подается на нейросеть, имеющую 2 входных, 80 "скрытых" и 2 выходных нейрона. При этом один из выходных нейронов "отвечает" за доброкачественную опухоль, другой за злокачественную. Диагноз определяется в зависимости от выходного нейрона, выдавшего больший по величине ответ. Столь высокий процент правильности распознавания, возможно, случаен, и объясняется недостаточным количеством примеров, использовавшихся при обучении и тестировании нейросети (по 10 примеров). Однако даже при такой малой обучающей выборке нейросеть выигрывала по сравнению с традиционным методом интерпретации сканограммы.

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

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

В 1990 году американская фирма "Апачи Медикл Системз Инк." установила в реанимационном отделении одной из больниц штата Мичиган экспертную систему "Апачи - III" 31. Ее цель - прогнозирование исхода заболевания у больных, находящихся в тяжелом состоянии. Для прогноза в компьютер необходимо ввести 27 параметров больного: первичный диагноз, симптомы, степень утраты сознания, наличие или отсутствие СПИД и других заболеваний. После этого система выдает вероятность выживания больного в диапазоне от 0 до 100 процентов. Ценность применения системы заключается в том, что она позволяет очень быстро оценить динамику изменения состояния больного, незаметную "на глаз". Например, можно получить ответ у системы до и после введения какого-либо лекарства, и, сравнив ответы, посмотреть, будет ли наблюдаться эффект от терапии. Без программы же изменение состояния иногда не удается обнаружить в течение нескольких дней. Тестирование показало, что 95% прогнозов, которые делает программа, сбываются с точностью до 3%, что значительно точнее, чем у лучших врачей. Необходимо отметить, что система была обучена на данных, взятых из историй болезней 17448 пациентов, лечившихся в 40 больницах штата в 1989 году. Очевидно, что если качество работы системы обеспечивается таким большим объемом выборки, возможности перенастройки системы не слишком велики. Идеология авторов, создавших эту систему, заключается в как можно большем охвате различных примеров и вариантов (сбор данных в 40 больницах), а не в возможности индивидуализации системы к конкретной клинике. Поэтому данная система не способна к подучиванию в процессе работы, опыт "зашит" в нее жестко. Это может быть существенным недостатком при установке программы в регионы, резко отличающиеся по социально-географическим условиям от тех, где проводилось обучение. Кроме того, огромный массив примеров для обучения повышает стоимость программы.

Прогностические нейросетевые модели могут использоваться в демографии и организации здравоохранения. Создана экспертная система, предсказывающая, умрет ли человек (в возрасте 55 лет и старше) в ближайшие 10 лет. Прогноз делается по результатам ответов на 18 вопросов анкеты. В анкету включены такие вопросы, как раса, пол, возраст, вредные привычки, семейное положение, семейный доход. 4 из 18 вопросов выявляют индекс массы тела (body mass index) в различные периоды жизни респондента. Индекс рассчитывается как отношение веса к квадрату роста (индекс более 27 кг/м считается тучностью). Повышенное внимание к этому показателю говорит о его значимости для прогноза жизни.

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

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

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

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

Нейросети использованы для идентификации человеческих хромосом. В биологических исследованиях, а также в криминалистике, часто бывает нужно определить, к какой из 23 имеющихся у человека пар хромосом относится выделенная хромосома. Точность существующих методов достигала 75 - 85%. Нейроклассификатор, на вход которого подается 30 признаков изображения хромосомы, определяет ответ с точностью, приближающейся к 100% 38.

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

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

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

Что же можно предложить взамен? Об этом и пойдет речь ниже. На протяжении нескольких лет красноярская научная группа «НейроКомп» 40, объединяющая ученых-математиков и медиков (Красноярский ВЦ СО РАН, КГТУ, Красноярская Медицинская Академия и ряд клинических учреждений города), разрабатывает технологии создания нейросетевых экспертных систем, которые применяются в практической медицине и биологии на обычных IBM-совместимых компьютерах 41,42,43.

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

Далее мы рассмотрим основные принципы и особенности этих технологий.

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

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

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

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

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

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

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

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

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

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

Рисунок 1. Трехслойная сеть с 6 нейронами

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

Слоистые сети являются частными случаями полносвязных.

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

Рисунок 2. Схема простейшей нейронной сети из 3 нейронов. Сеть имеет 13 синапсов, 4 из которых служат для связи с внешним миром, а остальные соединяют нейроны между собой

Функционирование нейрона

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

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

Рисунок 3. Схема нейрона

Функционирование нейрона происходит следующим образом.

В текущий момент времени через входные синапсы (на рисунке их 3) на нейрон направляются сигналы от других нейронов и/или из внешнего мира. Каждый синапс имеет параметр, называемый весом синапса, и представляющий какое-либо число. Сигнал, проходящий через синапс, умножается на вес этого синапса. В зависимости от веса, сигнал может быть усилен (модуль веса > 1) или ослаблен (модуль веса < 1) по амплитуде. Сигналы от всех синапсов, ведущих к данному нейрону, принимает сумматор.

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

f(X) = X/(C+½X½) (1)

где X - сигнал, поступаемый с сумматора, C - константа, называемая характеристикой нейрона. Экспериментальным путем мы получили, что оптимальный диапазон характеристики для решения подавляющего большинства задач составляет от 0,1 до 0,8. График характеристической функции представлен на рисунке 4. Выбор функции такого вида обусловлен тем, что она гладкая, непрерывная на всем диапазоне переменных X, диапазон значений всегда ограничен.

Функционирование нейросети


Рисунок 4. График характеристической функции

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

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

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

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

Общая схема обучения нейронной сети

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

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

  1. Из обучающей выборки берется текущий пример (изначально, первый) и его входные параметры (представляющие в совокупности вектор входных сигналов) подаются его на входные синапсы обучаемой нейросети. Обычно каждый входной параметр примера подается на один соответствующий входной синапс.
  2. Нейросеть производит заданное количество тактов функционирования, при этом вектор входных сигналов распространяется по связям между нейронами (прямое функционирование).
  3. Измеряются сигналы, выданные теми нейронами, которые считаются выходными.
  4. Производится интерпретация выданных сигналов, и вычисляется оценка, характеризующая различие между выданным сетью ответом и требуемым ответом, имеющимся в примере. Оценка вычисляется с помощью соответствующей функции оценки. Чем меньше оценка, тем лучше распознан пример, тем ближе выданный сетью ответ к требуемому. Оценка, равная нулю, означает что требуемое соответствие вычисленного и известного ответов достигнуто. Заметим, что только что инициализированная (необученная) нейросеть может выдать правильный ответ только совершенно случайно.
  5. Если оценка примера равна нулю, ничего не предпринимается. В противном случае на основании оценки вычисляются поправочные коэффициенты для каждого синаптического веса матрицы связей, после чего производится подстройка синаптических весов (обратное функционирование). В коррекции весов синапсов и заключается обучение.
  6. Осуществляется переход к следующему примеру задачника и вышеперечисленные операции повторяются. Проход по всем примерам обучающей выборки с первого по последний считается одним циклом обучения.

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

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

Методологические Аспекты обучения нейросетей

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

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

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

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

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

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

Тестирование примеров

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

  1. Проверка того, как обучилась нейросеть;
  2. Решение конкретных задач.
  3. Моделирование.

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

  1. Выборка, по которой обучалась нейросеть, недостаточно полно отражает картину соответствия ответов обучающим параметрам, иначе говоря, в обучающей выборке слишком мало примеров.
  2. Выборка, по которой обучалась нейросеть, составлена тенденциозно. Это означает, что для обучения подбирались примеры, которые, по мнению исследователя, "являются самыми яркими представителями своего класса или группы". Это серьезная ошибка. При такой выборке, конечно, нейросеть будет обучаться намного лучше, но способность ее к тестированию других примеров существенно падает. В действительности необходимо обучать сеть на реальных данных, какими бы они противоречивыми ни были. Если сеть не сможет обучиться полностью, можно применить некоторые меры, которые будут рассмотрены ниже.
  3. Обучающая выборка имеет недостаточное количество обучающих параметров и сеть не может найти закономерности между входными сигналами и ответами.
  4. При создании сети не оптимально были выбраны некоторые сетевые параметры, например, число нейронов, число тактов функционирования или характеристика сети. Ниже мы подробно остановимся на методологии оптимального выбора этих значений.
  5. Задана неверная классификационная модель (при обучении нейросетей-классификаторов). Возможно, на самом деле примеры группируются в 3 класса, а пользователь задает только 2. Далее будет рассмотрен метод коррекции классификационной модели.

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

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

КУ = (Max1-Max2) / R x 100%, (2)

где Max1 - ответ выходного нейрона, отвечающего за класс-"победитель", Max2 - ответ выходного нейрона, выдавшего следующий по максимальной величине сигнал, R - уровень надежности. Судя по формуле ясно, что уверенность сети зависит от того, насколько наибольший из выходных сигналов превышает второй по величине сигнал. Естественно, если КУ получается более 100%, он приравнивается к этому числу. Из того, что в знаменателе правой части формулы стоит уровень надежности, следует, на первый взгляд, парадоксальный вывод: сеть, обученная лучше (уровень надежности больше) даст меньшую уверенность в ответе, чем сеть, обученная хуже. Однако при внимательном рассмотрении проблемы делается ясно, что при тестировании примера первой сетью, выражение, стоящее в числителе, также будет больше (ответ одного нейрона будет намного больше ответа другого) вследствие лучшей обученности. Кроме того, КУ выражает все же уверенность конкретной сети, которая во многом зависит от того, насколько тестируемый пример близок к примерам, на которых обучалась эта сеть.

Если пример отличается достаточно сильно, лучше обученная сеть будет и сомневаться больше, чем сеть с меньшим "опытом".

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

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

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

Создание медицинских нейросетевых экспертных систем

Любая экспертная система должна состоять условно из четырех блоков: интерфейс с пользователем, база знаний, вычислительный блок, блок объяснений, позволяющий пользователю проследить "ход рассуждений" системы в конкретном случае. Связующим элементом между этими блоками является метод, с помощью которого экспертная система в ответ на запрос пользователя выдает результат (заключение). Такие методы можно разделить на три основные группы:

  1. Методы логических правил “в чистом виде”, когда формализация правил получения результата осуществляется специалистом;
  2. Те же методы, однако формализация правил осуществляется исследователем, наблюдающим за работой специалиста со стороны;
  3. Методы, основанные на принципе “смотри и учись”.

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

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

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

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

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

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

  1. Постановка задачи. То же, что и для традиционных систем плюс выбор оптимальной структуры нейронной сети и методов обучения (для большинства задач структура и методы стандартны).
  2. Сбор обучающих данных. Набор примеров для обучения сети, каждый из которых представляет массив входных данных и соответствующий ему заранее известный ответ.
  3. Создание и обучение нейросети. Данный этап не требует проведения статистических вычислений, а если задача укладывается в стандартную схему (в большинстве случаев), то и программистской работы. Если задача нестандартная, требуется адаптация структуры нейросети и метода вычисления оценки при обучении. Обучение нейросети в большинстве стандартных случаев представляет собой автоматический процесс, который только после его окончания требует участия специалиста для оценки результатов. Естественно, часто может требоваться корректировка, создание дополнительных сетей с другими параметрами и т.д., однако всегда есть возможность оценить работу системы на любом этапе обучения, протестировав контрольную выборку. Разрабатывая методологию создания нейросетевых экспертных систем, мы исходили из возможности разработки наиболее индивидуализированных (рассчитанных на одного конкретного пользователя-специалиста) систем самим этим специалистом. Конечно, ничто не мешает объединять в одной системе индивидуальный опыт нескольких специалистов. Отсутствие "математических" этапов реализует такие возможности. Предметный специалист в состоянии самостоятельно поставить задачу, более того, никто, кроме него, не сможет сделать это лучше. Сбор материала также должен осуществлять предметный специалист. Схемы постановки задач, способы представления данных и способы продукции ответа нейросетью разработаны таким образом, что большинство задач во многих областях укладываются в эти стандартные схемы. Поэтому при наличии хорошо продуманных инструментальных программных средств работы с нейронными сетями и документации к ним большинство специалистов способны самостоятельно разрабатывать не очень сложные нейросетевые приложения.
  4. Создание интерфейса. То же, что и для традиционных экспертных систем.
  5. Отладка и тестирование. Этап включает в основном отладку работы программы, т.к. тестирование часто проводится в процессе обучения сетей.
  6. Доучивание. Этап, характерный только для обучающихся систем. При создании нейроэкспертных программ довольно редко возможно сразу собрать достаточное количество данных для хорошего обучения сети. Поэтому, создавая нейросистему, исследователи определяют наилучшие параметры сетей и проводят стартовое обучение. В последующем пользователи доучивают систему в условиях реальной работы и реальных данных, передавая ей опыт. Более того, коренное отличие методологии создания нейросетевых систем от традиционных состоит именно в том, что система никогда не создается сразу готовой, и более того, никогда не является полностью законченной, продолжая накапливать опыт в процессе эксплуатации.

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

  1. Нейросети принимают решения на основе опыта, приобретаемого ими самостоятельно. "Самостоятельно" в данном случае означает то, что создателю экспертной системы не требуется устанавливать взаимосвязи между входными данными и необходимым решением, затрачивая время на разнообразную статобработку, подбор математического аппарата, создание и проверку математических моделей.
  2. Решение, принимаемое нейросетью, не является категоричным. Сеть выдает решение вместе со степенью уверенности в нем, что оставляет пользователю возможность критически оценивать ее ответ.
  3. Нейросеть позволяет моделировать ситуацию принятия решения.
  4. Нейросети дают ответ очень быстро (доли секунды), что позволяет использовать их в различных динамических системах, требующих незамедлительного принятия решения.
  5. Возможности нейросетей (коррекция классификационной модели, минимизация обучающих параметров и др.) позволяют упрощать процесс создания экспертных систем, определять направления научного поиска.

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

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

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

Постановка задачи

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

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

Полезно сразу же для каждой подзадачи определить ее тип (классификация, предикция, векторная предикция).

Обычно каждая подзадача решается одной нейросетью или несколькими нейросетями, объединенными в один функциональный блок (малые эксперты 46). При этом введенные данные подаются последовательно на каждую нейросеть блока и каждая нейросеть выдает ответ. Ответы могут различаться, поэтому в такой ситуации требуется разработать способ получения единственного ответа. Это можно сделать двумя способами:

  1. Путем логических правил. Например, если 5 нейросетей выдали ответ "здоров", а 2 - "болен", то общее решение - "здоров", т.к. за него проголосовало большее число нейросетей-экспертов. Если не удается формализовать правило, можно принимать решение на основании степеней уверенности каждой из сетей.
  2. Путем надстройки над блоком малых экспертов нейросети-”супервизора”, которая обучена принимать решение по результатам работы этих малых экспертов.

После определения акта работы системы и разбивки (если требуется) задачи на подзадачи следует разработка схемы обучающих примеров для каждой из подзадач. Схема примера включает список входных и выходных параметров для данной подзадачи.

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

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

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

Необходимо определить ориентировочные размеры обучающих выборок. Так, в классификационных задачах (подзадачах) ж