Решение многих научных и прикладных задач часто ставит исследователя перед необходимостью нетривиального анализа данных и принятия решений. Во многих случаях имеющееся множество статических или динамических паттернов (векторов, изображений и т.д.) удается разбить на группы с помощью тех или иных математических методов. Однако полученное разбиение не соответствует содержательному смыслу решаемой задачи (например, способу разбиения на классы), вкладываемому в анализируемые данные специалистами в конкретных областях знания - биологами, экологами и др.
Поиск решений в подобных случаях требует серьезных усилий экспертов в области математического анализа данных и недоступен для специалистов в конкретных областях знания, не имеющих специального математического образования и соответствующего опыта. Другой проблемой является необходимость погружения эксперта по математической обработке данных и моделированию в область знания, в рамках которой решается задача. На практике подобное отвлечение далеко не всегда возможно, т.к. требует больших усилий и затрат времени.
В ряду многочисленных подходов к решению подобных задач заметно выделяются методы на основе нейронных сетей. Анализ тенденций развития информационных технологий, проделанный еще в работе [1], показал, что одной из наиболее перспективных и динамичных наук, способных ответить на вызовы, стоящие перед человечеством, является нейроинформатика. Этот вывод подтверждает и активное внедрение нейронных сетей в системы искусственного интеллекта нового поколения [3], позволяющее преодолевать присущие этим системам ограничения.
Тем не менее, вполне очевидно, что современный уровень развития нейроинформатики [6] и нейрокибернетики еще весьма далек от пика своих потенциальных возможностей, определяемых человеческим мозгом. По этой причине весьма актуальными являются исследования, направленные на создание более совершенных нейросетевых алгоритмов и основанных на них методов обработки информации.
В данной работе предложены новые алгоритмы обучения нейронных сетей и продемонстрирована их высокая эффективность на примере "принятия решения", представленном в виде сложной, нелинейной задачи классификации ситуаций. Рассматривается актуальная экологическая проблема оценки степени антропогенного воздействия на природную экосистему с принятием решения о необходимости соответствующих мероприятий.
Задача оценки уровня антропогенного воздействия на водную экосистему
Реализация новых эффективных методов анализа предполагает их проверку не только на искусственно созданных тестах, но и на экспериментальных данных, полученных в соответствующих областях знания.
Предлагаемые в данной работе методы апробированы на задаче оценки антропогенного воздействия на водную экосистему оз. Шира (республика Хакасия). Озеро Шира является одним из наиболее популярных озер в Республике Хакасия. На побережье оз. Шира расположены санаторно-курортные комплексы для детей и взрослых. Минеральная вода озера используется для лечения различных заболеваний желудочно-кишечного тракта, опорно-двигательной, сердечно-сосудистой систем, а также заболеваний кожи. Ежегодно на оз. Шира приезжают тысячи туристов из различных регионов России. Как показано нами ранее [10], антропогенное воздействие на экосистему оказывают устойчивые к антибиотикам бактерии, поступающие с хозяйственно-бытовыми стоками курортов, а также при купании туристов. Устойчивость к антибиотикам у микроорганизмов, как правило, кодируется генами мобильных генетических элементов [14, 13], которые могут передаваться от экзогенных бактерий к бактериям, населяющим экосистемы, и, следовательно, сопровождаться закреплением у них новых признаков. Приобретение бактериями новых признаков может привести к негативным изменениям в бактериальных взаимодействиях и, следовательно, к нарушению функций экосистемы.
Для того чтобы оценить степень антропогенного воздействия на озеро, нами в течении пяти лет проводился мониторинг уровня устойчивости к антибиотикам у бактерий, населяющих эту экосистему. У специалистов, занятых в области исследования состояния водных экосистем, существует необходимость в использовании программ, позволяющих анализировать, зачастую, сложноорганизованные экспериментальные данные, а также на их основе составлять прогнозы состояния изучаемых экосистем.
Для этой цели на основе одного из предложенных нейросетевых алгоритмов авторами разработана программа анализа результатов тестов на устойчивость к антибиотикам у бактерий. Продемонстрированы результаты ее работы на примере задачи оценки уровня антропогенного воздействия на водную экосистему оз. Шира с использованием выборки нерегулярных сложноорганизованных микробиологических данных.
Предварительный анализ экспериментальных данных
Анализ и подготовка выборки экспериментальных данных для их компьютерной обработки на первом этапе работы включала отнесение биологом-экспертом наборов параметров (векторов), характеризующих состояние озера к одному из трех классов экологических ситуаций оз. Шира, получивших условные названия: красный - сильное антропогенное воздействие; желтый - среднее антропогенное воздействие и зеленый - низкое антропогенное воздействия [9].
При проведении предварительного анализа были выявлены малоинформативные в рамках поставленной задачи данные. В частности, таковыми оказались данные о галотолерантности исследуемых микроорганизмов (устойчивость к высоким концентрациям соли NaCl у микроорганизмов может сопровождаться и устойчивостью к антибиотикам). В результате размерность задачи удалось снизить с семи до трех. Помимо математического упрощения задачи, это позволило снизить трудоемкость микробиологических исследований за счет снижения числа анализов, проводимых на получаемых из озера пробах.
Наиболее значимыми и достаточными для решения задачи параметрами оказались следующие процентные соотношения бактерий в пробах воды из озера:
А1 - бактерии, устойчивые к ампициллину;
А3 - бактерии, характеризующиеся множественной устойчивостью к антибиотикам;
А4 - бактерии, чувствительные к антибиотикам.
Проведенный на этапе предварительных исследований графический анализ показал потенциальную возможность проведения разделяющих поверхностей между классами. Из рисунка 1 (левая верхняя диаграмма) видно, что группы векторов экспериментальных данных в выборке почти не перекрываются на плоскости (А3, А4), что должно позволить провести разделяющие поверхности между тремя классами: красный, желтый, зеленый. Однако границы классов в двумерном случае близко соприкасаются, создавая опасность ошибок классификации. Можно заметить, что имеется однократное наложение двух точек классов желтый и зеленый на оси ординат чуть ниже отметки 60 %. Уменьшение вероятности подобных ошибок и исключение наложения данных достигается введением компоненты вектора (А1), позволяющей более надежно дифференцировать векторы выборки микробиологических данных за счет увеличения размерности пространства с двух до трехмерного.
Однако в процессе исследований выяснилось, что экспериментальные данные (трехкомпонентные векторы: А1, А3, А4), полученные в результате многолетних экспедиций на оз. Шира, представляют существенную сложность для их отнесения к тому или иному классу, характеризующему состояние изучаемой экосистемы, с помощью стандартных математических методов. Эти трудности обусловлены тем, что данные, относящиеся к одному классу (по краям и в центре класса), могут существенно отличаться по своим значениям друг от друга, в то время как данные, относящиеся к разным классам, могут иметь достаточно высокое сходство (на границах между соседними классами) [9]. Кроме того, граница между классами желтый и зеленый оказалась сильно нелинейной.
Указанные особенности обусловили отсутствие успеха при попытке применения традиционных статистических методов дифференциации к рассматриваемой выборке экспериментальных данных.
Классификация экспериментальных данных на основе существующих нейронных сетей
Как известно, нейронные сети являются одним из лучших методов поиска закономерностей в данных, прогнозирования и проведения сложных нелинейных поверхностей между классами в многомерном пространстве при классификации. Это обосновано математически [2] и на примере огромного числа научных и технических задач, решаемых в настоящее время гибкими нейросетевыми методами [6]. Эффективность нейронных сетей при решении сложных, нелинейных задач обусловила их дальнейшее использование.
На первом этапе нашей работы [9] использована нейросетевая программа Model [11], созданная на основе алгоритмов обучения [7, 12]. Однако с учетом описанных выше трудностей, решение задачи оказалось сложно выполнимым даже с использованием нейронной сети. Решение удалось получить после разбиения базовых классов (красный, желтый, зеленый) на ряд подклассов, содержащих сходные группы векторов данных. Их удавалось выделить нейронной сетью, а после классификации эти подклассы вновь объединялись в три базовых класса, требуемых для решения задачи.
К сожалению, полученное решение оказалось недостаточно простым для использования персоналом, не имеющим определенной математической подготовки. Разрешение этой проблемы достигнуто в программном комплексе [5] путем автоматизации действий эксперта при анализе экспериментальных данных. Программа создана на основе комбинации нейросетевого алгоритма [8] и методов искусственного интеллекта.
Предложенный комбинированный метод дал требуемое решение задачи, но оказался достаточно сложным для программной реализации. Дальнейший анализ показал, что разработка достаточно простых, надежных и быстродействующих систем анализа должна опираться на создание универсальных нейросетевых алгоритмов, автоматически осуществляющих декомпозицию задачи на два этапа: кластеризации (анализ) и классификации (синтез).
Алгоритм обучения нейронных сетей D-SAN
В качестве универсального нейросетевого алгоритма, позволяющего осуществить обучение нейронной сети, включающей процессы кластеризации и классификации, в работе использован один из алгоритмов семейства SAN (Self-Adaptive Neuronets). В отличие от разработанного ранее алгоритма R-SAN [8], данный алгоритм является детерминированным, что значительно ускоряет его обучение. Рассмотрим версии детерминированного алгоритма D-SAN [4].
Версия (I) (подстановка известных значений) представлена парами циклов функционирования c и c+1. Первое (оценочное) функционирование
, (1)
где αi - состояние выходов нейронов (ответы), k - номер такта функционирования нейросети, i - номер нейрона, a - константа, αj - состояния входов нейронов, xij - веса межнейронных связей, Ai - состояние входов нейросети (исходные данные), j - номер входа нейрона.
Оценка качества функционирования, определяющая необходимость дальнейшего обучения, выполняется целевой функцией
, (2)
где si - требуемое состояние нейрона, N - число нейронов в сети, k - номер такта функционирования нейросети в дискретном времени.
Второе (тестовое) функционирование
, (3)
где l - номер входа нейрона (j ≠ l). Фактически, первая сумма в формуле для ρi в (3) означает замену получаемых αi на требуемые значения si.
Для каждого нейрона сети может быть вычислено выражение
, (4)
представляющее собой величину и направление требуемого изменения αi на текущем шаге адаптации.
Правило модификации весов связей при обучении сети
, (5)
где m - номер цикла адаптации, Δt - шаг модификации,
. (6)
Учесть нелинейность нейрона (для ускорения сходимости алгоритма) можно, используя формулу обратного распространения, предложенную в работе [7]. Тогда формула (6) примет вид
. (7)
Формулу (7) можно заменить на следующие
, , (8)
где -q< sl <q и -q< αj <q. Это ограничение позволяет предохранить вычислительную процедуру от появления бесконечно больших величин ρi при si или αi близких к единице. При практической реализации алгоритма, величина q выбирается в зависимости от диапазона возможного изменения ρi путем подстановки максимально возможного значения ρi в левую часть формулы (1). Например, для значений ρi, равных 9.9, 99.9 и 999.9, величины si или αi в (7) составят 0.99, 0.999 и 0.9999, соответственно (при a=0.1). Ограничение в области столь малых изменений si или αi не отражаются на работе адаптивной процедуры.
Версия (II) (стремление к стационарным состояниям) использует только формулу (1) и не требует использования второго (тестового) функционирования системы (3). Вместо него используются результаты предыдущего функционирования по формуле (1), а формулу (4) можно переписать в виде:
. (9)
Целевая функция (2) принимает вид:
. (10)
Остальные формулы сохраняются. Формулы (9), (10) легко модифицировать для стабилизации скоростей или ускорений.
Версия (III) (прямое распространение сигналов) предназначена для настройки циклов и функционирует сходно с версией (I). Но применяется для случаев, когда известны не si, а корректные значения вектора Ai, который и используются для второго (тестового) функционирования.
Предложенные версии нейросетевого алгоритма являются универсальными и могут использоваться для широкого спектра различных задач классификации, прогноза и др. В следующем приведен пример решения задачи оценки уровня антропогенного воздействия на экосистему озера Шира с помощью программы, основанной на описанном алгоритме.
Решение прикладной экологической задачи классификации на основе нейронной сети D-SAN
На основе предложенного алгоритма обучения нейронных сетей D-SAN разработана программа классификации сложноорганизованных экспериментальных данных (рис.1), позволившая эффективно решить задачу оценки степени антропогенного воздействия на водную систему оз. Шира. В рамках единой нейросетевой модели выполнена группировка данных по методу автоматической кластеризации, описанному в публикации [8], на сходные подгруппы (кластеры) с дальнейшей группировкой (классификацией) их на три указанных в постановке задачи класса - уровня антропогенного воздействия: 1) красный, 2) желтый, 3) зеленый.
Рис.1. Главная форма программы нейросетевого классификатора
Эти номера классов отображены в таблице (рис.1) в столбцах "Результат" и "Класс". Столбец "Результат" содержит результат работы программы (обучения по образцам или тестирования новых данных), а столбец "Класс" включает номер класса, определенный экспертом-микробиологом. Этот столбец известен лишь при обучении нейросети, а при тестировании он не заполнен. Последующие столбцы содержат экспериментальные данные: "Данные1" - А1, "Данные2" - А3, "Данные3" - А4, описанные выше в разделе "Предварительный анализ экспериментальных данных" и отражающие (в данной задаче) устойчивость бактерий к антибиотикам. Каждая строка данных содержит трехкомпонентный вектор А1, А3, А4, включающий результат одного экспериментального микробиологического исследования водной экосистемы оз. Шира в определенный год.
Диаграмма "Классификация" (слева сверху) демонстрирует двумерное отображение положения векторов классов красный, желтый, зеленый по координатам А3, А4 друг относительно друга (каждый вектор отображен значком соответствующего цвета: зеленый треугольник, желтый квадрат, красный ромб). Диаграмма позволяет визуально выявить наличие классов в пространстве исследуемых параметров и оценить потенциальную возможность проведения разделяющих поверхностей между этими классами, что имеет большое значение на этапе настройки системы. Переключение с радиокнопки "Классы" на "Векторы" позволяет отразить графики точек А1, А3, А4 и оценить степень их группировки. Однако этот способ хотя и полезен для визуального анализа данных, но является значительно менее информативным, чем отображенный на диаграмме.
График "Оценка" (слева снизу) показывает динамику обучения нейронной сети.
После настройки программы в нее могут вводиться результаты новых микробиологических измерений, проводимых в сезон отпусков. Нажатие кнопки "Тест" приводит к определению класса текущей ситуации (красный, желтый, зеленый) по вновь поступившим данным. Решение задачи сильно упрощается, и не требуется участия высоко квалифицированного эксперта-микробиолога.
Таким же образом программа может быть обучена решению широкого спектра различных задач, содержащих сложноорганизованные данные, которые не удается дифференцировать классическими математическими методами.
Обучение нейросети задаче классификации с целью ее последующего использования для принятия решений о степени антропогенного воздействия на водную экосистему выполнялось в результате нажатия кнопки "Обучение" следующим образом. На вход сети поочередно, циклически подавались векторы из выборки экспериментальных данных, отраженных в таблице. Сеть функционировала, а затем для каждого вектора данных определялся нейрон с максимальным уровнем активности. Этот нейрон считался победителем, и при обучении от него требовался уровень активности близкий к единице. От остальных нейронов требовался уровень активности близкий к нулю. Далее нейронная сеть определяла уровень антропогенного воздействия (класс - красный, желтый, зеленый) путем установки активности, близкой к единице, на одном из трех ее выходов. От оставшихся двух выходов требовалась активность, близкая к нулю. Описанная процедура работает автоматически в рамках программы. От пользователя требуется только подготовка данных.
Предложенный в данном параграфе метод разработан с целью упрощения решения задачи анализа сложноорганизованный данных до уровня, не требующего вмешательства экспертов по биологии и математике, и приведения программной реализации задачи к однородным, надежным и достаточно простым решениям.
Заключение
В данной работе предложен метод комплексного анализа сложноорганизованных данных, включающий в себя кластеризацию и классификацию, которые реализованы на основе предложенного Алгоритма Самостоятельной Адаптации (Адаптивной Самоорганизации) SAN, предназначенного для обучения нейронных сетей. Реализация в рамках одного алгоритма двух различных методов существенно упрощает схему анализа данных. Это позволяет проводить между классами очень сложные, нелинейные разделяющие поверхности, которые не удается провести не только традиционными методами кластерного анализа, но даже и с помощью нейронных сетей.
В предыдущих публикациях авторы этой работы предложили методы анализа сложноорганизованных экспериментальных данных и продемонстрировали их эффективность на примере задачи оценки уровня антропогенного воздействия на водную экосистему озера Шира. Работа [9] была построена на использовании традиционных статистических методов анализа данных и нейронной сети. С целью упрощения задачи исследователя в работе [5] предложена комбинация нейронной сети и методов логического анализа, имитирующих действия эксперта.
Использование описанного в данной статье метода классификации позволило значительно упростить процедуру анализа сложноорганизованных данных, по сравнению с существующими методами, как с математической, так и с практической точки зрения.
Рецензенты:
- Мысливец Симона Глебовна, доктор физ.-мат. наук, профессор, заведующий кафедрой высшей математики 1, Сибирский федеральный университет, г. Красноярск.
- Бондарь Владимир Станиславович, доктор биологических наук, профессор, заведующий Лабораторией нанобиологии и биолюминесценции Института биофизики СО РАН, г. Красноярск.