Сайт Информационных Технологий

Аппроксимация на многоагентных структурах

А.О. Глухов1, В.В. Трофимов2

1Полоцкий государственный университет

2Санкт-Петербургский государственный университет

Abstract – The object-oriented formalism allows simulating neuron structure as systems of objects (agents). On the basis of this formalism it is possible to build dynamically developing structures due to availability at agents structures of additional properties. The paper contains outcomes of researches confirming a learning efficiency multi agent’s structure.

Аппроксимация на структуре - это фундаментальное свойство нейронных сетей, которые в настоящее время особенно успешно используются при решении следующих задач: 1.Классификация (с учителем) - персептрон Розенблатта; 2.Ассоциативная память - сети Хопфилда; 3.Восстановление пробелов в данных - сети Хопфилда; 4.Кластер-анализ и классификация (без учителя) - сети Кохонена.

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

Объектно-ориентированный формализм, позволяет не только успешно моделировать нейронные структуры в виде систем объектов (агентов), но также строить и динамически развивающиеся структуры за счет наличия у агентных структур следующих свойств: 1. Активный характер объекта, позволяет говорить о нем, как об элементе структуры, инкапсулирующим определенное состояние и обладающим определенным поведением; 2. Существование значительных резервов повышения эффективности при переходе к объектно-распределенным алгоритмам за счет: распараллеливания вычислений; реализации в распределенных вычислительных средах; организации конкурирующего поиска по объектам; осуществления поиска в динамических структурах; обучения объектов в процессе осуществления поиска; 3. Существует множество программных сред проектирования многоагентных систем, а также объектно-ориентированных языков программирования, упрощающих разработку и реализацию.

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

Агентную систему формально можно описать как объединение множества типов данных T, алфавита событий X, множества идентификаторов объектов I, множества существующих классов (объектных моделей) C и множества существующих объектов O: S=(T,X,I,C,O).

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

  1. Выполнить расчет Calc( ) и получить значения качества аппроксимации для всех агентов, а также выделить текущий выход и полезную структуру по минимальному значению качества аппроксимации;
  2. Выполнить для текущего выхода ocout процедуру обратного распространения ошибки ocout.fback(y-xcout). Цель – поиск агента oerr с наибольшей ошибкой (желаемое значение yerr) или одного из агентов, для которых ошибка “существенна” (выбор агента может выполняться случайным образом).
  3. Минимизация ошибки в текущей структуре вызовом oerr.fsetup(yerr).
  4. Повторный расчет Calc( ), затем снова ocout.fback(y-xcout) и также выделить агент oerr и желаемое значение для него yw, ow – агент, вызвавший oerr.
  5. Для всех агентов не вошедших в полезную структуру oiП O* выполнить попытку минимизации выделенной ошибки за счет oi.ftype(yw).
  6. Если какому-либо агенту удалось улучшить результат (уменьшить ошибку) за счет агента onew, то выполнить переключение связи агента ow с oerr на onew. Проверка на отсутствие циклов при таком переключении выполняется в oi.ftype(yw).
  7. Повторять с пункта 1 пока не выполняется условие останова. В качестве условий останова можно использовать условие на предел изменения качества аппроксимации или предел количества итераций.

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

fw(x)=(a*x); add(x1,x2)=(x1+a*x2); mul(x1,x2)=(a*x1*x2); pow(x1,x2)=(x1^x2); exp(x)=exp(a*x); ln(x)=log(a*x); powa(x)=(x^a).

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

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

В результате были получены результаты, значительно (на порядок, а в некоторых случаях на два порядка) превосходящие по качеству аппроксимации работу нейронной сети, смоделированную программой DELTA (пример C программы взят из Приложения А книги Yoh-Han Pao “Adaptive Pattern Recognition and Neural Networks”). Алгоритм обучения нейронной сети – обратное распространение ошибки, функция активации нейрона – гиперболический тангенс. Сеть состояла из трех скрытых слоев по пять нейронов в каждом. Результаты обучения иллюстрируют данные табл.1.

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

Другим важным фактором является используемый набор базовых преобразований. Для оценки степени влияния данного фактора был проведен расчет для различных наборов, результаты содержали устойчивые отличия. Качество работы нейронной сети соизмеримо с качеством работы многоагентной структуры, набор базовых преобразований которой состоит лишь из преобразований сложения и масштабирования – add(x1,x2) и fw(x), хотя алгоритмы обучения сильно различаются.

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

Выводы

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

Можно выделить следующие источники повышения эффективности по сравнению с нейронными сетями:

Литература

  1. Городецкий В.И. Моделирование неопределенных знаний//Труды международной конференции по мягким вычислениям и измерениям, СПб, 22-26 июня 1998 с.98-102.
  2. FIPA (Federation of Intelligent Physical Agents – home page) http://www.cselt.stet.it/fipa/fipa_rationale.htm

Site of Information Technologies
Designed by  inftech@webservis.ru.