Трофимов В.В.
Россия, Санкт-Петербург, Санкт-Петербургский
государственный университет
Глухов А.О.
Белоруссия, Новополоцк, Полоцкий
государственный университет
Моделирование и аппроксимация на многоагентных структурах
Аннотация: В статье приводятся результаты исследований многоагентных, саморазвивающихся структур, реализованных с помощью объектно-ориентированного, распределенного алгоритма. Они демонстрируют высокую эффективность при решении задач моделирования и аппроксимации. Причем, эффективность предлагаемых алгоритмов намного выше, чем эффективность нейронных сетевых структур. Алгоритмы просты в реализации, так как не требуют большого количества элементов, из которых они состоят.
Изменение своей структуры – фундаментальное свойство нейронных сетей, которое успешно используются при решении задач моделирования и аппроксимации.
Базовыми элементами таких сетей являются нейроны. Формальное представление нейрона осуществляется с помощью таких элементов как неоднородный адаптивный сумматор, нелинейный преобразователь, точка ветвления и линейная связь – синапс. Все алгоритмы решения задач с использованием нейронных структур включают этап предварительного обучения структуры, которое сводится к настройке связей нейронов. Наиболее известны сети с обратным распространением ошибки, где задача обучения ставится как задача оптимизации. Это дает универсальный метод создания нейронных сетей.
Объектно-ориентированный формализм позволяет успешно описывать нейронные, динамические развивающиеся структуры в виде систем объектов (агентов). Это возможно потому, что агентные структуры имеют следующие свойства:
1. Они обладают определенным поведением.
2. Они повышают эффективность с помощью: параллельных вычислений; организации конкурирующего поиска по объектам; обучения объектов в процессе осуществления поиска;
3. Существует множество языков программирования, упрощающих разработку и реализацию этих алгоритмов.
Многоагентную структуру формально можно описать как объединение множества типов данных - T, алфавита событий - X, множества идентификаторов объектов - I, множества существующих классов (объектных моделей) - C и множества существующих объектов - O: S=(T, X, I, C, O).
Предлагается следующий алгоритм обучения многоагентной структуры для решения задач аппроксимации:
Данный алгоритм был реализован и опробован на различных вариантах структур и различных обучающих выборках с известными зависимостями. Все расчеты дублировались решением с помощью алгоритма нейронной сети. В качестве набора базовых преобразований (операций) были взяты следующие операции, отвечающие условию сходимости: 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).
Обучающие выборки формировались автоматически по известным заранее аналитическим зависимостям, связывающим выход с входами. Все эксперименты проводились со следующими функциями трех переменных:
1. y=x1+x2x3 | 3. y=x1*x2*x3 |
5. y=sqrt(x12 +x22 +x32) |
7. y=x1+x2+sqrt(x3) |
2. y=x1+x2*x3 |
4. y=10*x1*x2*x3 |
6. y=x1+sqrt(x22 +x32) |
В качестве базы для сравнения использовались результаты моделирования, полученные с помощью программы DELTA (book of Yoh-Han Pao “Adaptive Pattern Recognition and Neural Networks”, Application A, program from example C). Алгоритм обучения нейронной сети – обратное распространение ошибки. Функция активации нейрона – гиперболический тангенс. Сеть состояла из трех скрытых слоев по пять нейронов в каждом. Результаты обучения приведены на рис.2 и в табл.1.
При моделировании работы алгоритма были получены результаты, значительно (в 10 раз, а в некоторых случаях и в 100 раз) превосходящие работу нейронной сети по качеству аппроксимации.
Таблица 1.
Эффективность процесса обучения при решении задачи аппроксимации на многоагентных и нейронных сетевых структурах
№ |
Структура А |
Структура Б |
Нейросеть |
|||
Качество |
Кол-во итераций |
Качество |
Кол-во итераций |
Качество |
Кол-во итераций |
|
1 |
0.0 |
16 |
0.0 |
14 |
354.3 |
100 |
2 |
0.0 |
100 |
0.3 |
100 |
34.52 |
100 |
3 |
0.0 |
12 |
0.0 |
13 |
113.4 |
100 |
4 |
0.0 |
12 |
0.0 |
17 |
2894548.3 |
100 |
5 |
0.1 |
100 |
0.4 |
100 |
48.5 |
100 |
6 |
3.2 |
100 |
1302.3 |
100 |
139.6 |
100 |
7 |
4.1 |
100 |
17.5 |
100 |
7082.2 |
100 |
Из таблицы 1 видно, что качество аппроксимации зависит от времени обучения и от числа агентов в сети. Аппроксимация требует работы только части структуры сети. Избыточность агентов дает выигрыш в качестве. Однако, чем больше число агентов, тем больше требуется времени для обучения.
Другим важным фактором повышающим качество аппроксимации является набор базовых преобразований (операций). Влияние данного фактора было рассчитано для различных наборов операций. Результаты эксперимента показали устойчивые отличия. Качество нейронной сети соизмеримо с качеством многоагентной структуры. Но это справедливо только для набора базовых преобразований, который состоит из преобразований сложения и масштабирования – add(x1,x2) и fw(x). И это справедливо несмотря на большие отличия в алгоритмах обучения.
Шум в обучающей выборке влияет на процесс обучения. Большая амплитуда шума приводит к значительному затруднению поиска. При малой амплитуде шума (10% от уровня входов и выхода) обучение протекает также как и в случае полного отсутствия его.
Выводы
Задачи аппроксимации решаются многоагентными, саморазвивающимися структурами намного лучше, чем нейронными сетями.
Эти структуры не требуют большого количества элементов и просты в реализации.
Полученные результаты свидетельствуют о высокой эффективности предлагаемого объектно-ориентированного, распределенного алгоритма.
Повышение эффективности (по сравнению с нейронными сетями) происходит из-за того, что:
Site of Information
Technologies Designed by inftech@webservis.ru. |
|