Нейроинформатика

       

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


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

  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. Возможности нейросетей (коррекция классификационной модели, минимизация обучающих параметров и др.) позволяют упрощать процесс создания экспертных систем, определять направления научного поиска.


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

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

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


Содержание раздела