Домой /  Интернет / Нейронные сети генетические алгоритмы и нечеткие системы. Нейронные сети, генетические алгоритмы и нечеткие системы (500,00 руб.). Нечеткая логика в ПИД-регуляторах

Нейронные сети генетические алгоритмы и нечеткие системы. Нейронные сети, генетические алгоритмы и нечеткие системы (500,00 руб.). Нечеткая логика в ПИД-регуляторах

1

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

генетический алгоритм

обучение нейронной сети

1. Аксенов С.В., Новосельцев В.Б. Организация и использование нейронных сетей (методы и технологии) / под общ. ред. В.Б. Новосельцева. – Томск: Изд-во НТЛ, 2006. – 128 с.

2. Батыршин И.З. Нечеткие гибридные системы. Теория и практика / под ред. Н.Г. Ярушкиной. – М. : ФИЗМАТЛИТ, 2007. – 208 с.

3. Гладков Л.А. Генетические алгоритмы / Л.А. Гладков, В.В. Курейчик, В.М. Курейчик. – М. : ФИЗМАТЛИТ, 2006. – 320 с.

4. Осовский С. Нейронные сети для обработки информации / пер. с польского И.Д. Рудинского. – М. : Финансы и статистика, 2002. – 344 с.

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

Рассмотрим математическую модель поставленной задачи. Дан вектор X с размерностью 256, который представляет собой закодированное изображение известного распознаваемого символа. Также есть вектор Y с размерностью 10, который отражает требуемый результат распознавания, указывающий принадлежность символа к эталонному образцу. Необходимо найти весовую матрицу W , элементами которой являются вещественные числа в отрезке , чтобы выполнялось равенство:

X * W = Y (1)

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

С точки зрения очевидности и простоты понимания следует каждый столбец матрицы весов рассматривать в качестве хромосомы, что приведет к наличию 256 хромосом, которые в совокупности будут отражать каждую особь. Однако при практической реализации гораздо удобнее использовать более простую структуру, хотя и менее наглядную. Это связано с тем, что довольно тяжело реализовать операции кроссинговера и мутации при наличии нескольких хромосом. Каждая особь в разрабатываемом генетическом алгоритме можно представить в виде только одной хромосомы, что значительно упростит программную реализацию на ЭВМ. Этого можно достичь следующим способом. Хромосома будет начинаться с первого столбца матрицы весов, и каждый следующий столбец будет просто добавляться в конец уже существующей «единой» хромосомы. Данный метод проиллюстрирован на рисунке 1.

Рис. 1. Преобразование весовой матрицы W в вектор весов Vw.

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

  1. ИНИЦИАЛИЗАЦИЯ - формирование исходной популяции.
  2. ОЦЕНКА ПРИСПОСОБЛЕННОСТИ - вычисление функции пригодности для каждой особи (в нашем случае хромосомы).
  3. СЕЛЕКЦИЯ - выборка на основе оценки приспособленности наиболее приспособленных хромосом, которым будет предоставлено право участия в операциях кроссинговера.
  4. КРОССИНГОВЕР - скрещивание двух особей.
  5. МУТАЦИЯ - намеренное искусственное изменение определенных генов в хромосомах особи.
  6. ФОРМИРОВАНИЕ НОВОЙ ПОПУЛЯЦИИ - снижение количества особей на основе оценки приспособленности вместе с выбором «наилучшей» особи.
  7. ПРОВЕРКА КРИТЕРИЯ ОСТАНОВКИ АЛГОРИТМА - если требуемое условие поиска достигнуто - выход, в противном случае - переход к этапу № 3.
  8. ИЗВЛЕЧЕНИЕ НАИЛУЧШЕГО РЕШЕНИЯ - наилучшим решением считается особь с максимальным значением функции пригодности.

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

  • Не требуется применения дополнительных алгоритмов.
  • Инициализация выполняется быстро и не загружает ЭВМ.
  • Уменьшены шансы попадания в локальный оптимум.

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

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

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

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

, (2)

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

Также можно в определенной степени модифицировать данный метод селекции или строить селекцию на основе синтеза сразу нескольких методов.

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

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

На рис. 2 изображен процесс получения новых особей с использованием упорядоченного кроссинговера. Имеются две родительские хромосомы: Vw1 и Vw2. Генетическим материалом являются вещественные числа от 0 до 1. Упорядоченный кроссинговер работает следующим образом. Изначально случайным образом определяется «разрезающая точка». На следующем этапе первый потомок New_Vw1 наследует левую часть родительской хромосомы Vw1. Заполнение оставшихся генов новой хромосомы осуществляется за счет информации, хранящейся у второго родителя Vw2. Алгоритм просматривает хромосому Vw2 с самого начала и осуществляет извлечение генов, которые отличаются от генов, уже находящихся в потомке, более чем на величину e = 0,02. Малая величина e задается в алгоритме для определения «родства» генов. С каждым последующим шагом, а в особенности на завершающих этапах алгоритма, имеет смысл уменьшать значение этой величины для достижения более точных результатов. Аналогичная процедура выполняется при получении второго потомка New_Vw2. Второй потомок New_Vw2 наследует левую часть родительской хромосомы Vw2. Заполнение оставшихся генов получаемой хромосомы осуществляется за счет информации, находящейся у второго родителя Vw1.

Рис. 2. Принцип работы упорядоченного кроссинговера.

Алгоритм производит анализ хромосомы Vw1 с первого гена и осуществляет упорядоченное извлечение генов, которые отличаются от генов, уже находящихся в потомке, более чем на величину e = 0,02. В результате работы каждого оператора скрещивания в популяции появляются две новые особи. Чтобы контролировать количество операций кроссовера используется коэффициент скрещивания K k , определяющий долю производимых на каждой итерации потомков. Количество потомков определяется следующей формулой:

Count p = round(Size p * K k) *2, (3)

где Size p - размер популяции, Count p - количество получаемых потомков, round - операция округления.

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

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

В рамках решения оптимизационных задач наибольшее значение имеют генные мутации, которые в большинстве случаев затрагивают один или несколько генов. Мутация может выглядеть любым образом, будь то обмен генов своими позициями или копирование значения другого гена и т.д. В каждом генетическом алгоритме необходимо определиться с выбором вида мутации. В рассматриваемом генетическом алгоритме гены содержат в себе вещественные числа от 0 до 1. Согласно этому оператор мутации должен вносить конкретные изменения в генетический материал, т.е. изменять значения определенных генов, не опираясь на уже существующие гены. Суть разработанного оператора мутации состоит в следующем. В исследуемой хромосоме случайным образом выделяют также случайное количество генов. Коэффициент мутации K m определяет интенсивность мутаций. Он определяет долю генов, подвергнутых мутации на текущей итерации, в расчете на их общее количество. Если коэффициент мутации слишком мал, то получится ситуация, при которой множество полезных генов просто не будут существовать в популяции. В то же время использование большого значения коэффициента мутации приведет к множеству случайных возмущений и значительно увеличит время поиска. Потомки перестанут походить на родителей, алгоритм больше не будет иметь возможности обучаться на основе сохранения наследственных признаков. К выбранным генам применяют преобразование, которое вызывает изменение значения текущего гена на некоторую небольшую величину. Величина выбирается с таким учетом, чтобы после изменения значения i- го гена он находился в отрезке .

Рис. 3. Случайная мутация на основе приращения.

На рис. 3 показано, как выполняется мутация, используя приращение. Гены с номерами 2 и 45 успешно получили новое значение, что приведет к изменению показаний функции пригодности мутирующей особи. В то время как мутация гена номер 6 оказалась неприемлемой и соответственно была проигнорирована. Использование мутаций на основе -приращения позволяет вносить в популяцию новый генетический материал. Это приведет к увеличению пространства поиска, что необходимо для эффективного поиска оптимума. Разумеется, имеет смысл воспользоваться классическим оператором мутации, в основе которого лежит случайное изменение порядка следования генов. Это также приводит к получению достаточно хороших результатов уже на ранних этапах работы генетического алгоритма. При решении рассматриваемой задачи также используется многоточечный оператор мутации. Алгоритм случайным образом в соответствии с коэффициентом интенсивности мутации выбирает несколько генов, значения которых далее меняются со значениями соседних генов. Работа классического многоточечного оператора мутации изображена на рис. 4.

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

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

,

где K m k - коэффициент классической мутации; K m δ - коэффициент мутации на основе δ- смещения; K m - общий коэффициент мутации; Count m - количество особей, претерпевших мутацию; Count p - количество потомков; round - операция округления.

Рис. 4. Классический многоточечный оператор мутации.

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

Следующим этапом разработанного генетического алгоритма является формирование новой популяции. Насколько сильно выросла численность популяции, определяется общим коэффициентом мутации K m и коэффициентом скрещивания K k . В общем виде текущая численность популяции вычисляется по следующей формуле:

Size p = Size p + Count p + Count m , (5)

где Count p - количество полученного потомства, Count m - количество особей, полученных в результате мутаций, а Size p - численность популяции.

Этап формирования новой популяции предназначен для того, чтобы вернуть численность популяции к ее исходному значению. Значение функций пригодности особей - родителей, которые уже находились в популяции, известно. Алгоритм осуществляет оценку пригодности особей - потомков, полученных в результате операции кроссинговера, а также оценку особей, которые были получены в результате работы оператора мутации. На основе полученных значений функции пригодности для каждой особи новой популяции производится удаление тех особей, у которых значения функции пригодности наименьшие. Алгоритм реализует данную задачу путем последовательного удаления особи с минимальным значением функции пригодности до тех пор, пока численность популяции не вернется к начальному значению. Количество «отмерших» особей вычисляется по формуле:

Count d = Count p + Count m , (6)

где Count d - количество «отмерших» особей, Count p - количество полученных потомков, Count m - количество особей, полученных с помощью оператора мутации.

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

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

Таким образом, в результате работы генетического алгоритма получен набор весовых коэффициентов, обеспечивающих корректную работу нейронной сети. Также стоит отметить тот факт, что использование специального оператора мутации позволило сократить время обучения сети. Для обучения было выбрано обучающее множество из 180 элементов. Время обучения на этом множестве с помощью описанного генетического алгоритма с использованием мутации на основе приращения, нечеткой сети Ванга-Менделя составило 2 мин. 50 сек., обучение с использованием алгоритма с применением классического многоточечного оператора мутации длилось 3 мин. 10 сек., а применение гибридного оператора мутации позволило сократить время обучения до 1 мин. 20 сек. Таким образом, полученный генетический алгоритм позволяет сократить время поиска наилучшего решения в рамках поставленной задачи.

КРОССИНГОВЕР - скрещивание двух особей.

Библиографическая ссылка

Мищенко В.А., Коробкин А.А. ИСПОЛЬЗОВАНИЕ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ В ОБУЧЕНИИ НЕЙРОННЫХ СЕТЕЙ // Современные проблемы науки и образования. – 2011. – № 6.;
URL: http://science-education.ru/ru/article/view?id=5138 (дата обращения: 23.03.2020). Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»

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

Основным недостатком нечетких и нейросетевых контроллеров является сложность их настройки (составления базы нечетких правил и обучения нейронной сети).

5.7.1. Нечеткая логика в ПИД-регуляторах

Нечеткий вывод выполняется следующим образом. Предположим, что область изменения ошибки разделена на множества , область изменения управляющего воздействия - на множества и что с помощью эксперта удалось сформулировать следующие правила работы регулятора [Astrom ]:

Правило 1: если = и = , то =

Правило 2: если = и = , то =

Правило 3: если = и = , то =

Правило 4: если = и = , то =

Правило 5: если = и = , то =

Правило 6: если = и = , то =

Правило 7: если = и = , то =

Правило 8: если = и = , то =

Правило 9: если = и = , то = .

Приведенные правила часто записывают в более компактной табличной форме (рис. 5.91).

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

e

Рис. 5.91. Представление нечетких правил в табличной форме

Операция "И" в правилах (5.118) соответствует пересечению множеств, а результат применения всех правил соответствует операции объединения множеств [Рутковская ]. Функция принадлежности для пересечения двух множеств, например, и (см. Правило 1) находится как [Рутковская ]

Функции принадлежности, полученные при пересечении или объединении множеств, могут быть определены различными способами, в зависимости от смысла решаемой задачи. В этом смысле сама теория нечетких множеств тоже является нечеткой. В [Рутковская ] приводится 10 различных определений функции принадлежности для пересечения множеств, но не сказано, какое из них нужно выбрать для решения конкретной задачи. Используют, в частности, более понятную операцию нахождения функций принадлежности в случае пересечения и объединения множеств, имеющую аналогию с правилами умножения и сложения вероятностей:

Однако применение первых двух способов нахождения функции принадлежности обычно более предпочтительно, т.к. при этом сохраняется большинство правил, разработанных для обычных множеств [Усков ].

Функции принадлежности для каждого из множеств , входящих в нечеткую переменную в правилах (5.118), получаются в виде [Рутковская ]

Здесь каждое из 9-ти уравнений соответствует одному из правил (5.118). Результирующая функция принадлежности управляющего воздействия , полученная после применения всех 9-ти правил, находится как объединение функций принадлежности всех правил:

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

.

Такой способ дефаззификации является наиболее распространенным, но не единственным.

Для построения нечетких регуляторов обычно используют П, И, ПИ и ПД ПД+И, ПИ+Д и ПИД-законы регулирования [Mann ]. В качестве входных сигналов для системы нечеткого вывода используют сигнал ошибки, приращение ошибки, квадрат ошибки и интеграл от ошибки [Mann ]. Реализация нечеткого ПИД регулятора вызывает проблемы, поскольку он должен иметь трехмерную таблицу правил в соответствии с тремя слагаемыми в уравнении ПИД-регулятора, которую чрезвычайно сложно заполнить, пользуясь ответами эксперта. Большое количество структур ПИД-подобных нечетких контроллеров можно найти в статье [Mann ].

Окончательная настройка нечеткого регулятора или настройка, близкая к оптимальной, до сих пор остается трудной задачей. Для этого используются обучающие алгоритмы style="color:red"> и генетические поисковые методы, требующие больших вычислительных ресурсов и времени.

Применение нечеткой логики для подстройки коэффициентов ПИД-регулятора

Настройка регулятора, выполненная методами, изложенными в разделах "Расчет параметров" и "Автоматическая настройка и адаптация" , не является оптимальной и может быть улучшена с помощью дальнейшей подстройки. Подстройка может быть выполнена оператором на основании правил (см. раздел "Ручная настройка, основанная на правилах") или автоматически, с помощью блока нечеткой логики (рис. 5.92). Блок нечеткой логики (фаззи-блок) использует базу правил подстройки и методы нечеткого вывода. Фаззи-подстройка позволяет уменьшить перерегулирование, снизить время установления и повысить робастность ПИД-регулятора [Yesil ].

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

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

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

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

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

5.7.2. Искусственные нейронные сети

Нейронные сети, как и нечеткая логика, используются в ПИД-регуляторах двумя путями: для построения самого регулятора и для построения блока настройки его коэффициентов. Нейронная сеть обладает способностью "обучаться", что позволяет использовать опыт эксперта для обучения нейронной сети искусству настройки коэффициентов ПИД-регулятора. Регулятор с нейронной сетью похож на регулятор с табличным управлением (см. раздел "Табличное управление">), однако отличается специальными методами настройки ("обучения"), разработанными для нейронных сетей и методами интерполяции данных.

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

Нейронные сети были предложены в 1943 г. Мак-Каллоком и Питтсом как результат изучения нервной деятельности и биологических нейронов. Искусственный нейрон представляет собой функциональный блок с одним выходом и входами , который реализует в общем случае нелинейное преобразование , где - весовые коэффициенты (параметры) при входных переменных ; - постоянное смещение; - "функция активации " нейрона, например, вида (сигмоидальная функция), где - некоторый параметр. Нейронная сеть (рис. 5.93) состоит из множества связанных между собой нейронов, количество связей может составлять тысячи. Благодаря нелинейности функций активации и большому количеству настраиваемых коэффициентов (в работе [Kato ] использовано 35 нейронов во входном слое и 25 в выходном, при этом количество коэффициентов составило 1850) нейронная сеть может выполнять нелинейное отображение множества входных сигналов во множество выходных.

Типовая структура системы автоматического регулирования с ПИД-регулятором и нейронной сетью в качестве блока автонастройки показана на рис. 5.94 [Kawafuku , Kato ]. Нейронная сеть в данной структуре выполняет роль функционального преобразователя, который для каждого набора сигналов вырабатывает коэффициенты ПИД-регулятора .метод обратного распространения ошибки) [Терехов ]. Используются также другие методы поиска минимума, в том числе генетические алгоритмы, метод моделирования отжига, метод наименьших квадратов.

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

Рис. 5.95. Схема обучения нейронной сети в блоке автонастройки

Длительность процесса обучения является основной преградой на пути широкого использования методов нейронных сетей в ПИД-регуляторах [Усков ]. Другими недостатками нейронных сетей являются невозможность предсказания погрешности регулирования для входных воздействий, которые не входили в набор обучающих сигналов; отсутствие критериев выбора количества нейронов в сети, длительности обучения, диапазона и количества обучающих воздействий. Ни в одной из публикаций не исследовалась робастность или запас устойчивости регулятора.

5.7.3. Генетические алгоритмы

1. Выбор исходной популяции хромосом размера N.

2. Оценка приспособленности хромосом в популяции.

3. Проверка условия остановки алгоритма.

4. Селекция хромосом.

5. Применение генетических операторов.

6. Формирование новой популяции.

7. Переход к п. 2.

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

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

Рис. 5.97), затем происходит обмен генетической информацией, расположенной справа от выбранной позиции [Fleming ].

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

Оценка приспособленности хромосом в популяции для оценки коэффициентов ПИД-регулятора может быть выбрана, к примеру, как

,

где - текущее значение ошибки регулирования, - время.

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

ISBN 978-5-9912-0320-3 Сайт издательства: www.techbook.ru Н ейронны е сети, генетические алгоритмы и нечеткие системы <...> Нейронные сети , генетические алгоритмы и нечеткие системы : Пер. с польск. <...> ББК 30.17 Адрес издательства в Интернет www.techbook.ru Научное издание Рутковская Данута, Пилиньский Мачей, Рутковский Лешек НЕЙРОННЫЕ СЕТИ , ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ И НЕЧЕТКИЕ СИСТЕМЫ 2-е издание, стереотипное Редактор А. С. <...> Адаптивный линейный взвешенный сумматор с сигмоидой на выходе. <...> Примеры оптимизации <...> Примеры оптимизации функции с помощью программы Evolver . <...> Решение комбинаторных задач с помощью программы Evolver . <...> Примеры оптимизации функции с помощью программы FlexTool . <...> Примеры оптимизации функции с помощью программы Evolver . <...> Далее приводятся два алгоритма алгоритм обратного распространения ошибки алгоритм <...> Далее приводятся два алгоритма обучения многослойных нейронных сетей: классический и наиболее часто применяемый алгоритм обратного распространения ошибки , а также значительно более быстрый алгоритм , основанный на рекуррентном методе наименьших квадратов. <...> алгоритма обучения этих сетей: алгоритм обратного распространения ошибки и рекуррентный алгоритм <...> Поэтому в настоящей главе мы обсудим в первую очередь базовые элементы многослойных нейронных сетей – персептрон и системы типа Адалайн (с линейным и нелинейным выходом), после чего определим два алгоритма обучения этих сетей: алгоритм обратного распространения ошибки и рекуррентный алгоритм метода наименьших квадратов. <...> Персептрон 23 Гиперплоскость <...>

Нейронные_сети,_генетические_алгоритмы_и_нечеткие_системы.pdf

Д. Рутковская М. П илиньский Л. Рутковский Н ейронны е сети, генетические алгоритмы и нечеткие системы Горячая линия-Телеком WYDAWNICTWO NAUKOWE PWN 2-е издание

Стр.1

Нейронные_сети,_генетические_алгоритмы_и_нечеткие_системы_(1).pdf

2-е издание

Стр.3

УДК 681.322 ББК 30.17 Р90 Рутковская Д., Пилиньский М., Рутковский Л. Р90 Нейронные сети, генетические алгоритмы и нечеткие системы: Пер. с польск. И. Д. Рудинского. – 2-е изд., стереотип. – М.: Горячая линия – Телеком, 2013. – 384 c.: ил. ISBN 978-5-9912-0320-3. Книга посвящена вопросам «интеллектуальных вычислений». Содержит базовые знания о генетических алгоритмах, эволюционном программировании, нечетких системах, а также о связях этих направлений с нейронными сетями. Для научных и инженерно-технических работников в области информатики и вычислительной техники, занимающихся созданием и использованием интеллектуальных систем, а также аспирантов и студентов различных специальностей в области компьютерных технологий. ББК 30.17 Адрес издательства в Интернет www.techbook.ru Научное издание Рутковская Данута, Пилиньский Мачей, Рутковский Лешек НЕЙРОННЫЕ СЕТИ, ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ И НЕЧЕТКИЕ СИСТЕМЫ 2-е издание, стереотипное Редактор А. С. Попов Компьютерная верстка Т. С. Левыкиной Обложка художника В. Г. Ситникова Подписано в печать 09.01.2013. Формат 60×90/16. Печать цифровая Уч.-изд. л. 24. Тираж 200 экз. Изд. № 13320 ISBN 978-5-9912-0320-3 © Рутковская Д., Пилиньский М., Рутковский Л. 1997, 2013 © Издательство Wydawnictwo Naukowe PWN, 1997, 1999, 2004 © Рудинский И. Д., перевод с польск., 2004, 2013 © Издательство «Горячая линия−Телеком», 2004, 2013

Стр.4

Оглавление Предисловие. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Предисловие к русскому изданию. . . . . . . . . . . . . . . . . . . . . . . 12 1. Введение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Список литературы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2. Многослойные нейронные сети и алгоритмы их обучения 18 2.1. Введение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.2. Нейрон и его модели. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.3. Персептрон. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.4. Системы типа Адалайн. . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.4.1. Линейный взвешенный сумматор. . . . . . . . . . . . . . . 26 2.4.2. Адаптивный линейный взвешенный сумматор. . . . . 30 2.4.3. Адаптивный линейный взвешенный сумматор с сигмоидой на выходе. . . . . . . . . . . . . . . . . . . . . . . 31 2.5. Алгоритм обратного распостранения ошибки. . . . . . . . . . 33 2.6. Применение рекуррентного метода наименьших квадратов для обучения нейронных сетей. . . . . . . . . . . . . . . . . . . . . 37 Список литературы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3. Нечеткие множества и нечеткий вывод. . . . . . . . . . . . . . . . 45 3.1. Введение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.2. Основные понятия и определения теории нечетких множеств. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.3. Операции на нечетких множествах. . . . . . . . . . . . . . . . . . . 56 3.4. Принцип расширения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 3.5. Нечеткие числа. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 3.6. Треугольные нормы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 3.7. Нечеткие отношения и их свойства. . . . . . . . . . . . . . . . . . 78 3.8. Нечеткий вывод. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 3.8.1. Основные правила вывода в двоичной логике. . . . . . 83 3.8.2. Основные правила вывода в нечеткой логике. . . . . . 84 3.8.2.1. Обобщенное нечеткое правило modus ponens. . . 84 3.8.2.2. Обобщенное нечеткое правило modus tollens . . . 87 3.8.3. Правила нечеткой импликации. . . . . . . . . . . . . . . . . . 88

Стр.5

6 Оглавление 3.9. Нечеткое управление. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 3.9.1. Классический модуль нечеткого управления. . . . . . 92 3.9.1.1. База правил. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 3.9.1.2. Блок фуззификации. . . . . . . . . . . . . . . . . . . . . . 94 3.9.1.3. Блок выработки решения. . . . . . . . . . . . . . . . . . 94 3.9.1.4. Блок дефуззификации. . . . . . . . . . . . . . . . . . . . . 105 3.9.2. Метод нечеткого управления Такаги-Сугено. . . . . . . 106 3.10. Проектирование базы нечетких правил на основе численных данных. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 3.10.1. Построение нечетких правил. . . . . . . . . . . . . . . . . 110 3.10.2. Задача парковки грузовика. . . . . . . . . . . . . . . . . . . 115 3.10.3. Примечание. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Список литературы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 4. Генетические алгоритмы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 4.1. Введение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 4.2. Генетические алгоритмы и традиционные методы оптимизации. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 4.3. Основные понятия генетических алгоритмов. . . . . . . . . . 126 4.4. Классический генетический алгоритм. . . . . . . . . . . . . . . . 130 4.5. Иллюстрация выполнения классического генетического алгоритма. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 4.6. Кодирование параметров задачи в генетическом алгоритме 139 4.7. Основная теорема о генетических алгоритмах. . . . . . . . . 144 4.8. Модификации классического генетического алгоритма. . . 157 4.8.1. Методы селекции. . . . . . . . . . . . . . . . . . . . . . . . . . . 157 4.8.2. Особые процедуры репродукции. . . . . . . . . . . . . . . 160 4.8.3. Генетические операторы. . . . . . . . . . . . . . . . . . . . . . 161 4.8.4. Методы кодирования. . . . . . . . . . . . . . . . . . . . . . . . . 163 4.8.5. Масштабирование функции приспособленности. . . . 164 4.8.6. Ниши в генетическом алгоритме. . . . . . . . . . . . . . . . 166 4.8.7. Генетические алгоритмы для многокритериальной оптимизации. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 4.8.8. Генетические микроалгоритмы. . . . . . . . . . . . . . . . . . 169 4.9. Примеры оптимизации функции с помощью программы FlexTool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 4.10. Эволюционные алгоритмы. . . . . . . . . . . . . . . . . . . . . . . . 206 4.11. Приложения эволюционных алгоритмов. . . . . . . . . . . . . . 213

Стр.6

Оглавление 7 4.11.1. Примеры оптимизации функции с помощью программы Evolver . . . . . . . . . . . . . . . . . . . . . . . . . 214 4.11.2. Решение комбинаторных задач с помощью программы Evolver . . . . . . . . . . . . . . . . . . . . . . . . . 246 4.12. Эволюционные алгоритмы в нейронных сетях. . . . . . . . 250 4.12 1. Независимое применение генетических алгоритмов и нейронных сетей. . . . . . . . . . . . . . . . . . . . . . . . . 252 4.12.2. Нейронные сети для поддержки генетических алгоритмов. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 4.12.3. Генетические алгоритмы для поддержки нейронных сетей. . . . . . . . . . . . . . . . . . . . . . . . . . 253 4.12.4. Применение генетических алгоритмов для обучения нейронных сетей. . . . . . . . . . . . . . . . . . . 256 4.12.5. Генетические алгоритмы для выбора топологии нейронных сетей. . . . . . . . . . . . . . . . . . . . . . . . . . 256 4.12.6. Адаптивные взаимодействующие системы. . . . . . 257 4.12.7. Типовой цикл эволюции. . . . . . . . . . . . . . . . . . . . . 257 4.12.7.1. Эволюция весов связей. . . . . . . . . . . . . . . . . . . 259 4.12.7.2. Эволюция архитектуры сети. . . . . . . . . . . . . . . 261 4.12.7.3. Эволюция правил обучения. . . . . . . . . . . . . . . 264 4.13. Примеры моделирования эволюционных алгоритмов в приложении к нейронным сетям. . . . . . . . . . . . . . . . . . 266 4.13.1. Программы Evolver и BrainMaker . . . . . . . . . . . . . . 268 4.13.2. Программа GTO . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 Список литературы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 5. Модули нечетко-нейронного управления. . . . . . . . . . . . . . . . 307 5.1. Модуль нечеткого управления со структурой, определенной в процессе дефуззификации. . . . . . . . . . . 308 5.1.1. Введение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 5.1.2. Конструкция модуля. . . . . . . . . . . . . . . . . . . . . . . . . 309 5.1.3. Структура модуля. . . . . . . . . . . . . . . . . . . . . . . . . . . 311 5.1.4. Использование алгоритма обратного распространения ошибки. . . . . . . . . . . . . . . . . . . . . 313 5.1.5. Модификации модуля. . . . . . . . . . . . . . . . . . . . . . . 320 5.1.6. Применение модуля нечеткого управления для прогнозирования случайных временных рядов. . . . 322 5.1.7. Применение модуля нечеткого управления для решения задачи парковки грузовика. . . . . . . . . . . . . 326 5.1.8. Примечание. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330

Стр.7

8 Оглавление 5.2. Представление модуля нечеткого управления в виде стандартной нейронной сети. . . . . . . . . . . . . . . . . . . . . . . 330 5.3. Модуль нечеткого управления с нейронной сетью для выполнения дефуззификации. . . . . . . . . . . . . . . . . . . . . . 333 5.3.1. Введение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 5.3.2. Конструкция модуля. . . . . . . . . . . . . . . . . . . . . . . . . 334 5.3.3. Структура модуля. . . . . . . . . . . . . . . . . . . . . . . . . . . 335 5.3.4. Алгоритмы обучения модуля. . . . . . . . . . . . . . . . . . 337 5.3.5. Решение задачи стабилизации перевернутого маятника. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 5.3.6. Примечание. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 5.4. Модуль нечеткого управления с возможностью коррекции правил. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 5.4.1. Введение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 5.4.2. Фаза обучения на основе самоорганизации. . . . . . 349 5.4.3. Фаза обучения с учителем. . . . . . . . . . . . . . . . . . . . 354 5.4.4. Примечание. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 5.5. Модуль нечеткого управления типа Такаги-Сугено: случай независимых лингвистических переменных. . . . . . 356 5.5.1. Введение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 5.5.2. Нейронная реализация функции принадлежности. . 357 5.5.3. Модули Такаги-Сугено. . . . . . . . . . . . . . . . . . . . . . . 359 5.5.4. Реализация условий. . . . . . . . . . . . . . . . . . . . . . . . . 359 5.5.5. Реализация заключений. . . . . . . . . . . . . . . . . . . . . . 361 5.5.6. Примечание. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 5.6. Модуль нечеткого управления типа Такаги-Сугено: случай зависимых лингвистических переменных. . . . . . . 365 5.6.1. Введение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 5.6.2. Нейронные сети для нечеткого вывода. . . . . . . . . . 366 5.6.3. Структура системы. . . . . . . . . . . . . . . . . . . . . . . . . . 368 5.6.4. Способ обучения. . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 5.6.5. Решение задачи парковки грузовика. . . . . . . . . . . . 374 5.6.6. Примечание. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 Список литературы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 Предметный указатель. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381

Стр.8

Предисловие Двадцатый век завершился под знаком революции в области обработки информации. Мы стали свидетелями как быстрого роста объема доступных данных, так и увеличения скорости их обработки и передачи, а также емкости запоминающих устройств. Отчетливо видно, что эти явления не только взаимосвязаны, но и усиливают друг друга. В ситуации лавинобразного нарастания объемов информации и вычислительных мощностей возникает очевидный вопрос каким образом можно улучшить наши способности к познанию окружающего мира, имея в наличии столь большие и непрерывно растущие технические возможности? Помощь приходит со стороны апробированных классических математических методов, созданных трудами Ньютона, Лейбница, Эйлера и других гениев прошлого, заложивших фундамент современных вычислительных алгоритмов. Благодаря им у нас есть специализированные вычислительные процедуры для распознавания образов и речи, для управления системами различных классов и решения иных аналогичных проблем. Независимые от этого направления исследования в области искусственного интеллекта привели к созданию экспертных и прогностических систем, основанных на символьной обработке и использующих базы правил. Однако все перечисленные выше подходы предполагают использование либо узкоспециализированных вычислительных методик, либо специализированных баз знаний, чаще всего заключенных в жесткий корсет двоичной логики. Еще одно ограничение на применение этих методов связано с фактом, что они не допускают непосредственное решение задач при использовании вычислительных систем с универсальной архитектурой, общей для большинства практических приложений. Таким образом, мы подходим к происхождению и сущности вычислительных технологий, составляющих предмет настоящей книги. Эти технологии, объединяемые в англоязычной литературе под названием Computational Intelligence, позволяют получать непрерывные или дискретные решения в результате обучения по доступным имеющимся данным. Один из подклассов обсуждаемой группы методов составляют нейронные сети, использующие стохастические алгоритмы для обучения модели с учителем или путем самоорганизации. Они предназначены для обработки зашумленных цифровых данных, по которым алгоритмы обучения выстраивают однонаправленные или рекуррентные модели интересующих нас процессов. Эти модели характеризуются регулярной структурой, составленной из нелинейных элементов, объединенных разветвленной сетью линейных соединений и часто дополняемой локальными или глобальными обратными связями. При моделировании процессов возможности нейронных сетей могут усиливаться за счет применения технологии обработки информации, основанной на нечетких множествах и нечетком выводе. Этот метод связан с оцениванием функции принадлежности элементов к множествам с помощью нечетких логических операторов. Предлагаемый подход не только ослабляет требования к точности данных в процессе построения

Стр.9

10 Предисловие модели, но и позволяет описать сложные системы с помощью переменных, значения которых определяются на интуитивном уровне. Возникающая в результате парадигма моделирования, управления, выработки решений и т.п. ведет к формированию лингвистических аргументов логических функций. Такие функции, описывающие реальные объекты, могут уточняться в процессе обучения по имеющимся данным. Другой подход состоит в формировании правил вывода непосредственно в процессе обучения. Этим и определяется взамопроникновение и комплементарность нейронных моделей и систем, базирующихся на нечеткой логике. Лингвистические операторы, которые мы используем при повседневном общении, и итерационный процесс обучения вместе ведут к интеллектуальным логикоалгебраическим моделям, определяемым понятием Computational Intelligence (вычислительные технологии). Интеллектуальность в данном случае понимается как способность применять знания, накопленные в процессе обучения, как возможность генерировать правила вывода и как умение обобщать информацию. Важным классом алгоритмов обучения, обогативших нейронные и нечеткие технологии, считаются эволюционные алгоритмы. Они оперируют популяциями хромосом, оцениваемых функциями приспособленности, и используют эволюционную и генетическую обусловленность изменения последовательности битов или чисел. Таким образом эффективно исследуется пространство возможных решений. Оптимальное решение ищется в серии последовательных приближений аргументов с лучшими значениями функций приспособленности, генерируемых в результате мутации и скрещивания хромосом. Автор этих заметок в качестве председателя Комитета Симпозиума Computational Intelligence: Imitating Life, состоявшегося в Орландо в 1994 г., стоял у истоков слияния этих трех научных направлений и возникновения новой интегральной отрасли знаний. Он с удовольствием приветствует «Нейронные сети, генетические алгоритмы и нечеткие системы» – новаторскую книгу на польском издательском рынке. Помимо обсуждения базовых элементов нейронных сетей, описания нечетких систем и эволюционногенетических алгоритмов, этот труд содержит и оригинальные научные результаты авторов. В книге приводятся подробности реализации конкретных технических решений, в том числе различных процессоров и обучаемых систем, основанных на нечеткой логике. Большое внимание уделяется вопросам практического использования ряда пакетов прикладных программ. Тематически книга связана с научными направлениями Всепольских конференций по нейронным сетям и их приложениям, организованных профессором Л. Рутковским и Польским товариществом нейронных сетей в 1994 и 1996 г.г. Данная публикация под руководством профессора Л. Рутковского чрезвычайно актуальна, ценна и уникальна. Она заполняет обширную нишу на емком научнотехническом рынке Польши. Книга окажется особенно полезной инженерам различных специальностей, экономистам, физикам, математикам и специалистам по информатике, а также студентам

Стр.10

Предисловие 11 этих и смежных с ними областей знаний. Следует поздравить авторов с большим достижением в виде этого прекрасного научного труда. Эта книга должна не только умножить признание их заслуг, но и привлечь новые ряды энтузиастов этой захватывающей научной дисциплины. Июль 1996 г. Яцек Журада член IEEE. Университет Луисвилль, США