Главная
страница 1страница 2страница 3

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


Название


Формула


Область значений


Линейная


f (s)=k s


( -, )

Полулинейная









( 0, )



Логистическая (сигмоидальная)





( 0, 1)

Гиперболический тангенс (сигмоидальная)





(-1,1)


Экспоненциальная


f (s) = e-as


( 0, )

Синусоидальная


f (s) = sin(s)


(-1, 1)


Сигмоидальная (рациональная)





( -1, 1)


Шаговая (линейная с насыщением)









( -1, 1)






Пороговая






( 0, 1)



Модульная


f (s)=|s|


( 0, )

Знаковая (сигнатурная)






( -1, 1)




Квадратичная



f (s) = s2


( 0, )



Рис 5. Примеры активационных функций:

а - функция единичного скачка; б-линейный порог (гистерезис);

в - сигмоид (логистическая функция); г - сигмоид (гиперболический тангенс)


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

При уменьшении а сигмоид становится более пологим, в пределе при а = 0 вырождаясь в горизонтальную линию на уровне 0,5, при увеличении а сигмоид приближается к виду функции единичного скачка с порогом . Из выражения для сигмоида очевидно, что выходное значение нейрона лежит в диапазоне (0, 1). Одно из ценных свойств сигмоидальной функции - простое выражение для ее производной, применение которой будет рассмотрено в дальнейшем:

f(s) = af(s)[1-f(s)].
Следует отметить, что сигмоидальная функция дифференцируема на всей оси абсцисс, что используется в некоторых алгоритмах обучения. Кроме того, она обладает свойством усиливать слабые сигналы лучше, чем большие, и предотвращает насыщение от больших сигналов, так как они соответствуют областям аргументов, где сигмоид имеет пологий наклон.
Классификация нейронных сетей и их свойства
Нейронная сеть представляет собой совокупность нейроподобных элементов, определенным образом соединенных друг с другом и с внешней средой с помощью связей, определяемых весовыми коэффициентами. В зависимости от функций, выполняемых нейронами в сети, можно выделить три их типа:

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

выходные нейроны, выходные значения которых представляют выходы нейронной сети;

промежуточные нейроны, составляющие основу нейронных сетей.

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

С точки зрения топологии можно выделить три основных типа нейронных сетей:

• полносвязные (рис. 6, а);

• многослойные или слоистые (рис. 6, б);

• слабосвязные (с локальными связями) (рис. 6, в).

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

В многослойных нейронных сетях нейроны объединяются в слои. Слой содержит совокупность нейронов с едиными входными сигналами. Число нейронов в слое может быть любым и не зависит от количества нейронов в других слоях. В общем случае сеть состоит из Q слоев, пронумерованных слева направо. Внешние входные сигналы подаются на входы нейронов входного слоя (его часто нумеруют как нулевой), а выходами сети являются выходные сигналы последнего слоя. Кроме входного и выходного слоев в многослойной нейронной сети есть один или несколько скрытых слоев. Связи от выходов нейронов некоторого слоя q к входам нейронов следующего слоя (q+1) называются последовательными.

а) б)


в)

Рис. 6. Архитектуры нейронных сетей.



а - полносвязная сеть, б - многослойная сеть с

последовательными связями, в - слабосвязные сети.


В свою очередь, среди многослойных нейронных сетей выделяют следующие типы.

1) Монотонные.

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

Рис. 7. Многослойная (двухслойная) сеть прямого распространения

2) Сети без обратных связей. В таких сетях нейроны входного слоя получают входные сигналы, преобразуют их и передают нейронам первого скрытого слоя и так далее вплоть до выходного, который выдает сигналы для интерпретатора и пользователя Если не оговорено противное, то каждый выходной сигнал q-ro слоя подастся на вход всех нейронов (q+1)-гo слоя однако возможен вариант соединения q-гo слоя с произвольным (q+p)-M слоем

Среди многослойных сетей без обратных связей различают полносвязанные (выход каждого нейрона q-гo слоя связан с входом каждого нейрона (q+1)-ro слоя) и частично полносвязанные Классическим вариантом слоистых сетей являются полносвязанные сети прямого распространения (рис 7)

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

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

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

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

В качестве примера сетей с обратными связями на рис 8 представлены частично рекуррентные сети Элмана и Жордана.

a)

б)
Рис. 8. Частично-рекуррентные сети

а-Элмана, б-Жордана

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

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

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

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

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

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

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

В задачах распознавания образов X - некоторое представление образа (изображение, вектор), Y - номер класса, к которому принадлежит входной образ.

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



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

При идентификации X и Y представляют входные и выходные сигналы системы соответственно.

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

В результате отображения X -> Y необходимо обеспечить формирование правильных выходных сигналов в соответствии:

• со всеми примерами обучающей выборки;

• со всеми возможными входными сигналами, которые не вошли в обучающую выборку.

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


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

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

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

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

Для пояснения сущности нечетких нейронных сетей, рас­смотрим простую нейронную сеть, состоящую из одного нейрона с двумя входами. Входные сигналы хi «взаимодействуют» с синаптическими весами wi:

p i=wixi2, i=1,2.

Эти частные произведения суммируются, образуя значение net нейрона:



net = p1 + р2 = wi xi + w2 х2.

Выход нейрона образуется в результате преобразования значения net некоторой активационной функцией f:



у = f(net) - f(w1 x1 + w2x2),

Рассмотренная однонейронная сеть, в которой используются операции умножения, суммирования и сигмоидная функция акти­вации является стандартной нейронной сетью.

В случае применения вместо операций умножения, сумми­рования и активации таких операций, как t-норма или t-конорма [10] данную нейронную сеть будем называть нечет­кой.

Нечеткая нейронная сеть - это нейронная сеть с четкими сигналами, весами и активационной функцией, но с объединением хi и wi, р1 и р2 с использованием операций t-нормы, t-конормы или некоторых других непрерывных операций. Входы, выходы и веса нечеткой нейронной сети - вещественные числа, принадлежащие отрезку [0, 1].

Рассмотрим примеры элементарных нечетких нейронных се­тей.


а
) б)

Рис. 9. Структуры нечетких нейронов: а - «И»; б-«ИЛИ»


Нечеткий нейрон «И». Сигналы хi и веса wi в данном слу­чае объединяются с помощью t-конормы:

pi=S(wi,xi), i=1,2,

а выход образуется с применением t-нормы (рис. 9, а):



у = AND(p12) = T(p12) = T(S(w1,x1), S(w2,x2)).

Если принять Т = min, S = max, то нечеткий нейрон «И» реа­лизует композицию min-max:



у = min{w1  x1,w2  x2}.

Нечеткий нейрон «ИЛИ». Сигналы хi и веса wi здесь объе­диняются с помощью t-нормы:

pi=T(wi,xi), i=1,2,

а выход образуется с применением t-конормы (рис. 9, б):



у = OR(p1, р2) = S(p12) = S(T(w1, x1), T(w2,x2)).

Если принять Т = min, S = max, то нечеткий нейрон «ИЛИ» реализует композицию max-min:



у = max{w1  x1, w2  х2}.

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

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

Поле «Используемые нейроны» показывает какие типы нейронов использует вся нейронная сеть. Редактирование этого поля невозможно.

Кнопка «Задать шаблон использования типов нейронов в каждом слое» вызывает модальное диалоговое окно, показанное на рис.11., работа с которым оказывает влияние на поле «Используемые нейроны». В появившемся окне присутствует таблица, содержащая столько строк, сколько было указано в поле «количество слоев». Таблица имеет столбцы «Слой», в котором содержатся номера слоев гибридной нейронной сети, отсортированные по возрастанию, и «Тип», в котором отображаются используемые типы нейронов слоев.




Рис.10. Вкладка «Структура»

Кнопка редактирования


Рис.11. Диалоговое окно о построении шаблона использования типов нейронов в каждом слое.


Рис.12. Диалоговое окно выбора типов нейронов в слое.
Для каждой строки-слоя имеется кнопка редактирования (см. рис.11), нажатие на которую вызывает модальное диалоговое окно «Выбор типов нейронов в слое» (см. рис.12), работа с которым оказывает влияние на соответствующую ячейку столбца «Тип».

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


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

1.3. Задание и методические указания к выполнению

лабораторной работы

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

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

• точность соответствия построенной структуры заданию.

• соответствие вычисленной функции построенной структуре.

• умение автора структуры объяснить свои действия при построении.

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


1.3.2. Форма отчетности
1. Демонстрация выполненной работы средствами программы Abuild.

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




1.3.3. Методические указания к выполнению работы
Для выполнения работы необходимо:

1. Запустить программу Abuild.

2. Создать структуру гибридной нейронной сети с помощью средств программы Abuild.
1.4. Контрольные вопросы
1. Какие критерии классификации агентов вы знаете?

2. Какие различия существуют между интеллектуальными и реактивными агентами?

3. Какие типы агентов строит программа Abuild?

4. Что такое коннекционистские архитектуры агентов?

5. Какие активационные функции нейронов вы знаете?

6. Опишите различные типы нейронных сетей.

7. Что такое нечеткая нейронная сеть?
1.5. Варианты заданий на лабораторную работу
1. Используя программу Abuild, составить наиболее точную структуру нейронной сети по представленному рисунку нейронной сети агента:

Х1

Y




Х2

Х3


персептронный

персептронный

персептронный

персептронный

2. Используя программу Abuild, составить наиболее точную структуру нейронной сети по представленному рисунку нейронной сети агента:



Х1

Y


нечеткий «ИЛИ»



Х2

Х3


нечеткий «И»

нечеткий «И»

нечеткий «И»

3. Используя программу Abuild, составить наиболее точную структуру нейронной сети по представленному рисунку нейронной сети агента:







Х1

нечеткий «ИЛИ»


Y


нечеткий «ИЛИ»



Х2

Х3


нечеткий «ИЛИ»

нечеткий «И»

4. Используя программу Abuild, составить наиболее точную структуру нейронной сети по представленному рисунку нейронной сети агента:



Х1

Y


нечеткий «ИЛИ»

нечеткий «ИЛИ»




Х2

Х3


нечеткий «И»

персептронный


2. Лабораторная работа №2
2.1. Цель работы

Освоение инструментальных средств Agent Builder, BeeGent, JADE на тестовых примерах.


2.2. Основные теоретические положения

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

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

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

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

Как показала практика, генетический алгоритм, как метод оптимизации, применим и для математических объектов:

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

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

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

Хромосома - вектор (последовательность) из нулей и еди­ниц, каждая позиция (бит) которого называется геном.

Особь (индивидуум) = генетический код - набор хромосом = вариант решения задачи.

Рис. 13. Вариант структуры генетического алгоритма


Кроссовер - операция, при которой две хромосомы обмени­ваются своими частями.

Мутация - случайное изменение одной или нескольких по­зиций в хромосоме.

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

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

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

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

• приспособленность особи соответствует значению целе­вой функции на заданном варианте;

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

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

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

f(X1, Х2, Х3, ..., Хn).

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

В случае двоичного кодирования используется n бит для ка­ждого параметра, причем, n может быть различным. Если пара­метр может изменяться между минимальным (min) и максималь­ным (max) значениями, можно использовать следующие формулы для преобразования:



, ,

где g - значение параметра в двоичном формате, r- значение па­раметра в формате с плавающей запятой.

Хромосомы в формате с плавающей запятой задаются пу­тем последовательного размещения закодированных параметров друг за другом.

Наиболее хорошие результаты дает вариант представления хромосом в двоичном формате (особенно, при использовании ко­дов Грея). Однако в этом случае необходимо постоянно осуществ­лять кодирование/декодирование параметров (генов).

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

Далее осуществляется репродуцирование, состоящее из:

• селекции;

• и трех генетических операторов: кроссовера, мутации и инверсии, порядок применения которых не важен.

Из трех генетических операторов кроссовер является наибо­лее важным. Он генерирует новую хромосому потомка, объединяя генетический материал двух родителей. Существует несколько вариантов кроссовера. Наиболее простым является одноточечный, в котором берутся две хромосомы и «перерезаются» в случайно выбранной точке. Хромосома потомка получается из начала одной и конца другой родительских хромосом:

111100101110010|11000 11110010111001011100



001101100101010|11100
Мутация представляет собой случайное изменение хромо­сомы (обычно простым изменением состояния одного из битов на противоположное). Данный оператор позволяет, во-первых, более быстро находить локальные экстремумы и, во-вторых, перескочить в другой локальный экстремум:

00110010111001011000 00110010111001111000

Инверсия изменяет порядок бит в хромосоме путем цикличе­ской перестановки (случайное количество раз). Многие модифика­ции ГА обходятся без данного генетического оператора:

00110010111001011000 11000001100101110010

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

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

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

ШАГ 1. Выделение управляющих параметров задачи обуче­ния.

ШАГ 2. Получение решения при фиксированных значениях параметров.

ШАГ 3. Определение рассогласованности полученного и требуемого решений.

ШАГ 4. Выбор новых значений параметров на основе работы генетического алгоритма.

ШАГ 5. Останов в случае получения удовлетворительной рассогласованности решения, иначе - переход к шагу 2.

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

Таблица 3. Результаты сравнительного анализа информационных технологий



Техно­логия

Достоинства

Недостатки

Нейронные сети (НС)

1 . Способность к обучению.

2. Стандартные решения не­стандартных задач.

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

4. Возможность работы с не­точностью, неопределенно­стью.

5. Возможность работы с нели­нейностью.

6. Высокая эффективность про­граммного обеспечения на параллельных ЭВМ.

7. Возможность работы обу­ченной НС в реальном мас­штабе времени.


1 . Отсутствие объяснитель­ной компоненты.

2. Большое время обучения.

3. Трудность формирования топологии нейронной се­ти, адекватной решаемой задаче.

4. Необходимость достаточ­ной представительности обучающей выборки.

5. Эвристичность парамет­ров алгоритмов обучения различных типов НС.


Эволю­ционное модели­рование и гене­тиче­ские ал­горит­мы (ГА)

1. Быстрая сходимость алго­ритма при решении задач оптимизации.

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

3. Возможность работы с нели­нейностью.

4. Возможность быстрой корректировки получаемых ре­шений.

5. Высокие адаптационные свойства при решении слож­ных проблем.


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

2. Высокая зависимость ка­чества принимаемого ре­шения от способа реализа­ции генетических опера­торов и стратегии поиска экстремума.

3. Невысокая точность полу­чаемых результатов опти­мизации.

4. Отсутствие возможности работы в реальном мас­штабе времени.



Систе­мы на основе нечет­кой ло­гики (НЛ)

1. Простота представления знаний. Возможность ис­пользования экспертных знаний.

2. Возможность нечеткого за­дания параметров исследуе­мого объекта.

3. Возможность объяснения результатов вывода.

4. Работа с нелинейностью и неопределенностью.

5. Работа в реальном масштабе времени.


1 . Трудность формирования правил и функций при­надлежности экспертом.

2. Трудность проверки на непротиворечивость базы знаний при получении но­вых знаний.

3 . Отсутствие возможности обучения.

4. Отсутствие возможности оптимизации получаемых результатов.


Из таблицы 3. видно, что методы на основе технологий нейронных се­тей, нечеткой логики и генетических алгоритмов хорошо ре­шают задачи, связанные с обработкой неполных, неточных и недостоверных данных. НС обладают способностью обобщать разрозненные сведения, по­ступающие из разных источников, обучаться и прогнозировать возможное решение. ГА во многих случаях позволяют найти лучшее решение из многих возможных, обладают высокими адаптационными свойствами, системы на основе НЛ позволяют оперировать нечеткими, недостоверными знаниями.

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

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

Теоретической основой объединения, например, нечетких систем и ней-росетевых технологий в единую систему является результат, демонстрирую­щий функциональную эквивалентность между нейронными сетями и выво­дом в нечетких системах, полученный в [12].

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

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


  • назначение системы;

  • методы поиска и анализа альтернативных вариантов решений;

  • особенности реализации.

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

  1. комплексная архитектура, состоящая из нескольких взаимодейст­
    вующих моделей, каждая из которых выполняет "свою" функцию;

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

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

В настоящее время более исследованным классом являются модели вто­рого типа. Гибридизация нейросетевых и нечетких систем рассмотрена в [13], в которой приведены примеры нейросетевых нечетких сис­тем, реализующих вывод в нечеткой базе знаний с помощью НС - сети ANFIS (Adaptive Neuro-Fuzzy Inference System), и примеры нечетких нейронных сетей, в которых отдельные элементы НС являются нечеткими (например, нейроны). Гибридизация НС и генетических алгоритмов рассматривалась в [14] для выбора оптимальной топологии НС. Применение нечетких систем к выбору параметров генети­ческих алгоритмов рассмотрено в работах [14, 19], генетических алгорит­мов для нечеткой многоцелевой оптимизации - в [15, 18], генетических алгоритмов для решения задачи нечеткого линейного программирования - в [16], генетических алгоритмов для оптимизации сетей ANFIS - в [17]. К структурным признакам отнесем следующие:



  • тип алгоритма обучения;

  • вид функции активации;

  • количество слоев нейронной сети;

  • тип нейронов;

  • способ распространения информации в нейронных сетях;

  • способ оценки и интерпретации результатов работы нейронной сети;

  • формат правил нечеткого вывода;

  • метод фазификации и дефазификации;

  • способ реализации операций нечеткой импликации и логических опе­раций НЕ, И, ИЛИ;

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

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


Таблица 4. Базовые гибридные модели

Исход­ная тех­нология

Интег­рируе­мая техно­логия

Решаемая задача

Ожидаемый синергетический эффект

НС



НЛ
ГА

1 .Подбор эвристиче­ских параметров НС при обучении и распо­знавании

2.Построение нейро-сетевых нечетких мо­делей.

3. Построение "логиче­ски прозрачной" НС

4. Формирование оп­тимальной топологии НС

5. Обучение НС как альтернатива Back Propagation


1 .Повышение скорости обу­чения НС.

2. Повышение скорости обу­чения и качества распознава­ния НС.

3 . Приобретение объясни­тельного качества для НС.

4. Снижение трудоемкости создания НС, отбор информа­тивных параметров.

5. Повышение скорости обу­чения и качества распознава­ния НС


НЛ

НС

6. Автоматическое формирование функ­ций принадлежности.

7. Реализация нечет­ких отношений.



6. Снижение трудоемкости формирования баз знаний.

7. Снижение вычислительной сложности нечеткого вывода.



ГА

НС

9. Формирование це­левой функции

9. Новый способ задания це­левой функций в генетиче­ском алгоритме

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


Возможности инструментальной программы Abuild по обучению агентов, имеющих структуру нечеткой нейронной сети
Рассмотрим все функциональные особенности вкладки «Структура» программы Abuild.
Работа с программой ABuild ведется с помощью одного основного окна (содержащего текущее дерево факторов) и нескольких дополнительных диалоговых окон. Основное окно появляется сразу же после запуска программы и остается на экране в течение всего хода работы программы. Закрытие основного окна влечет за собой выход из программы. Основное окно содержит меню программы, элементы управления проектированием и табуляторный элемент управления (элемент управления, используемый для постраничного представления многостраничной информации пользователю), содержащий три страницы-вкладки: «Структура», «Обучение» и «Агенты». Основное окно показано на рис.14.

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

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

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



Меню программы

Элементы управления проектированием

Табуляторный элемент управления


Рис. 14. Основное окно
 Рассмотрим пункты меню в порядке следования этих команд в меню.

Меню "Проект".

Пункт "Новый" – сбросить все введенные данные на начальные.

Пункт "Загрузить" - загрузка ранее созданных программой входных данных из уже существующего файла на диске или другом носителе данных, доступ к которому поддерживается интерфейсом Win32.

Пункт "Сохранить " - сохранение текущих входных данных во вновь создаваемом файле на указанном пользователе носителе данных. Расположение файла указывается пользователем.

Пункт "Выход" - завершение работы программы.

Меню "Справка".

Пункт "О программе" – выводит информацию о версии и авторе программы.

 Рассмотрим элементы управления проектированием. Данные элементы показаны на рис.1.

Кнопка «Новый процесс обучения» затирает обученную популяцию агентов начальным вариантом (не обученная популяция).

Кнопка «Обучения» становится доступной только после нажатия кнопки «Новый процесс обучения», ее нажатие запускает процесс обучения.

Поле «Количество циклов» содержит максимальное число циклов обучения.

 Рассмотрим вкладку «Обучение». Данная вкладка показана на рис.15.


Рис.15. Вкладка «Обучение»
С помощью данной вкладки осуществляется редактирование обучающей выборки.

Поле «Количество выборок» показывает общее количество выборок.

Поле «Выборка» позволяет переключатся между выборками и показывает номер текущей выборки.

Кнопка «Добавить» добавляет новую выборку.

Кнопка «Удалить» удаляет текущую выборку. Когда остается всего одна выборка, данная кнопка становится неактивной.

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

 Рассмотрим вкладку «Агенты». Данная вкладка показана на рис.16.

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

Таблица пригодностей агентов не подлежит редактированию. В ней содержатся вычисленные соответственно обучающей выборке значения пригодностей агентов популяции.


Средство просмотра характеристик агентов

Таблица пригодностей агентов


Рис.16. Вкладка «Агенты»
Средство просмотра характеристик агентов позволяет вывести на экран характеристики любого нейрона нейронных сетей агентов. Выбор конкретного нейрона осуществляется с помощью редактируемых цифровых полей «Агент», «Слой» и «Нейрон». Характеристики нейронов представлены в не редактируемых полях «Тип», «Функция активации» и таблице «Весовые коэффициенты».
Также следует отметить, что обученная популяция агентов затирается начальным вариантом при изменении обучающей выборки, количества входов и выходов, количества слоев, количества нейронов в слоях, количества агентов (размера популяции), количества потомков и шаблона использования типов нейронов в каждом слое.

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


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

2.3. Задание и методические указания к выполнению

лабораторной работы

2.3.1. Задание на лабораторную работу

Используя программу Abuild, обучить составленную в лабораторной работе номер 1 структуру нейронной сети по представленным рисункам нейронной сети агента. Обучение следует проводить до максимальной степени обучения. Для полного выполнения следует построить несколько выборок, со свойствами указанными в конкретном варианте задания.

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

• соответствие степени обучения для каждой выборки заданной.

• умение автора структуры объяснить свои действия при выборе выборки.

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


2.3.2. Форма отчетности
1. Демонстрация выполненной работы средствами программы Abuild.

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




2.3.3. Методические указания к выполнению работы
Для выполнения работы необходимо:

1. Запустить программу Abuild.

2. Создать структуру гибридной нейронной сети с помощью средств программы Abuild.

3. Создать обучающие выборки с помощью средств программы Abuild.

4. Обучить нейронную сеть, если обучение сети не соответствует заданной – повторить шаг 3, либо мотивировать невозможность проведения опыта с подобными параметрами.

5. Повторить шаги 3 и 4 для всех подзаданий.


2.4. Контрольные вопросы
1. Что такое генетический алгоритм?

2. Какие генетические операторы генетического алгоритма вы знаете? Их особенности?

3. Какие операторы использует программа Abuild? В чем особенность оператора мутации в программе Abuild?

4. Опишите по шагам алгоритм обучения нейронной сети с помощью генетического алгоритма.

5. Какой вид гибридизации используется в программе Abuild? В чем его отличие от других видов?

6. Опишите различные виды гибридизации (в рамках текущего курса).


2.5. Варианты заданий на лабораторную работу
Количество вариантов соответствует количеству вариантов лабораторной работы номер 1, так как данная лабораторная работа является ее логическим продолжением, и основывается на результатах ее выполнения. Инструментальное средство остается прежним – программа Abuild.
Задание для всех вариантов:

Используя структуру, составленную ранее при выполнении варианта лабораторной работы номер 1, составить или обосновать невозможность составления обучающих выборок, для которых максимальный уровень обучения структуры не превышает: А) 10% Б) 35% В) 55% Г) 80% Д) 100%




<< предыдущая страница   следующая страница >>
Смотрите также:
Методическое пособие по дисциплине «Многоагентные системы» иуказания к выполнению лабораторных работ Специальность 230102 «Автоматизированные системы обработки информации и управления»
731.46kb.
3 стр.
Рабочая программа по дисциплине: системное программное обеспечение (федеральный компонент блока сд) Направление подготовки: 230100 «Информатика и вычислительная техника»
128.98kb.
1 стр.
Методическое пособие по курсовому проектированию дисциплина: «контрольно-измерительные приборы и аппаратура»
363.75kb.
1 стр.
Рабочая программа дисциплина гсэ. Ф. 08 Правоведение направление 654600 Информатика и вычислительная техника
332.96kb.
1 стр.
1. Задачи курсовой работы 2 Тематика и содержание курсовых работ 3
329.01kb.
1 стр.
Рабочая программа дисциплины «Операционные системы и среды» для специальности 230103 «Автоматизированные системы обработки информации и управления»
223.62kb.
1 стр.
Методические рекомендации для студентов по организации самостоятельной работы Дисциплина: Физика Специальности: 230103 «Автоматизированные системы обработки информации и управления (по отраслям)»
781.04kb.
5 стр.
Специальность 230103 – «Автоматизированные системы обработки информации и управления (по отраслям)»
25.78kb.
1 стр.
Рабочая программа дисциплины «Компьютерная анимация» для специальности 230103 «Автоматизированные системы обработки информации и управления»
188.21kb.
1 стр.
Рабочая программа дисциплина Основы теории защиты информации Направление 654600 Информатика и вычислительная техника
116.93kb.
1 стр.
Учебно-методический комплекс по дисциплине основы экономики уровень основной образовательной программы базовый
1414.03kb.
15 стр.
Прикладная математика", "Автоматизированные системы обработки информации и управления" Москва "Финансы и статистика" 1996
4325.86kb.
38 стр.