Научная статья на тему 'Вычислительные технологии на основе мягких вычислений'

Вычислительные технологии на основе мягких вычислений Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
167
57
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Кошур В. Д.

The paper presents a review of the promising trends on computer modelling and computational intelligence problems which are related to the development of the hybrid systems based on evolution algorithms, artificial neural networks and fuzzy logic. This approach is usually associated with the term "soft computing".

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Computation technologies based on soft computing

The paper presents a review of the promising trends on computer modelling and computational intelligence problems which are related to the development of the hybrid systems based on evolution algorithms, artificial neural networks and fuzzy logic. This approach is usually associated with the term "soft computing".

Текст научной работы на тему «Вычислительные технологии на основе мягких вычислений»

Вычислительные технологии

Том 10, Специальный выпуск, 2005

ВЫЧИСЛИТЕЛЬНЫЕ ТЕХНОЛОГИИ

________и

НА ОСНОВЕ МЯГКИХ ВЫЧИСЛЕНИИ

В. Д. Кошур

Красноярский государственный технический университет, Россия

e-mail: koshur@fivt.krasn.ru

The paper presents a review of the promising trends on computer modelling and computational intelligence problems which are related to the development of the hybrid systems based on evolution algorithms, artificial neural networks and fuzzy logic. This approach is usually associated with the term "soft computing".

Введение

Решение многих проблем сводится к решению задачи минимизации некоторой целевой функции

F(X, Z, B) ^ min. (1)

Значения этой функции зависят от вектора X с компонентами, принимающими вещественные значения из некоторой области, вектора Z с компонентами, принимающими целочисленные значения из заданной области возможных значений, и логического вектора B, компоненты которого принимают бинарные значения. На варьируемые переменные, как правило, накладываются дополнительные ограничения в виде равенств и неравенств. Классические методы минимизации, основанные на вычислении градиента целевой функции или его аппроксимации, при этом не могут быть использованы, особенно в случае, когда целевая функция является негладкой и многоэкстремальной и требуется найти глобальный экстремум. Для решения таких задач был предложен генетический алгоритм (ГА) [1], который получил широкое распространение в различных приложениях, включая разработки ряда его модификаций, ссылки в Интернет по ключевым словам Genetic Algorithm в поисковой системе www.google насчитывают более 1 480 000 источников. В литературе часто используется более широкий термин — "эволюционные алгоритмы" [2-4], к которым также следует отнести эволюционное программирование [5], эволюционные стратегии [6], генетическое программирование [7] и — с некоторым элементом обобщения — новое направление — агентное моделирование [8, 9].

Исследование по проблемам нейроинформатики, связанным с различными способами обработки информации на основе искусственных нейронных сетей, было начато в 40-х годах прошлого века [10, 11]. Одна из главных отличительных особенностей данного направления заключается в том, что для решения поставленной задачи вместо поиска алгоритма

© Институт вычислительных технологий Сибирского отделения Российской академии наук, 2005.

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

Введение понятия нечетких множеств и лингвистических переменных [16, 17] послужило основой для развития нечетких систем. Формализация нечетких знаний основана на введении функции принадлежности ^a(x), которая принимает значения в интервале [0;1] и характеризует принадлежность объекта x множеству A или соответствие четкого значения x некоторой лингвистической переменной A. Вторым базовым понятием является формирование нечетких правил вывода типа "если, то". Элементы теории нечетких множеств и правила вывода образуют системы нечеткого вывода, которые могут быть представлены в виде многослойной нейронной сети [14, 15, 18]. На вход нечеткой нейронной сети подается набор входных переменных Xi (i = 1, 2,..., N), который с помощью фуз-зификатора (fuzzification — вычисление функций принадлежности входов) преобразуется в лингвистические переменные. Затем для каждого правила проводится агрегирование предпосылки — для логического "И" — с помощью логического (оператор min) или алгебраического произведения функций принадлежности, импликация также выполняется в форме логического или алгебраического произведения. Агрегирование для нескольких импликаций по заданным правилам выполняется с использованием логической суммы (оператор max), в результате получается комбинированное нечеткое множество, соответствующее выходной переменной у, которая на последнем этапе может быть приведена к четкому значению одним из методов дефуззификации (defuzzification). Наиболее распространенный метод приведения к четкости — это определение координаты центра тяжести фигуры, образованной полученной функцией принадлежности и осью абсцисс (центроид-ный метод) [18]. При синтезе нечетких нейронных сетей параметры функций принадлежности являются настраиваемыми, также возможна модификация продукционных правил, не противоречащих правилам из базы знаний системы [14, 18]. Для нечетких нейронных сетей, так же как и для нейронных сетей, доказаны теоретические результаты, заключающиеся в том, что при определенных условиях данные объекты являются универсальными аппроксиматорами для любых непрерывных функций, заданных на компактном множестве [12, 14, 15].

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

1. Генетические алгоритмы и их модификации

Генетические алгоритмы представляют собой методы случайного поиска с элементами адаптации, которые основаны на принципах, аналогичных процессу эволюции биологических организмов Ч. Дарвина. В области допустимых значений варьируемых переменных задачи (1) с помощью датчиков случайных чисел генерируется массив начальных значений W' = (Хг, Zi, Bl), i = 1, 2,..., N. Этот массив представляет собой исходную популяцию особей с индивидуальными наборами хромосом — строками кодировки (Хг, Zi, Bl),

в качестве которой в классических ГА используется двоичная кодировка. Популяция развивается в течение нескольких поколений, подчиняясь принципу — выживают наиболее приспособленные особи. При этом выполняются операции трех видов: скрещивания, мутации, селекции. Мера приспособленности определяется через функцию приспособленности (fitness function) f (Wl) = — F(Хг, Zl, Bl), в которую также могут быть включены штрафные функции за нарушение дополнительных ограничений на варьируемые переменные. Существуют различные формы операции скрещивания [2, 18], в них проводится селективный отбор наиболее приспособленных особей, которые составляют родительские пары, и выполняется перекрестное скрещивание хромосомных цепочек, т. е. строка кода потомка наследует фрагменты кодов родительских хромосом. В [19] представлены результаты исследований модифицированного ГА с оператором скрещивания полигамного типа, реализованным в виде сетей Хопфилда. При этом строка кода потомка наследует свойства фрагментов кодов нескольких родителей, которые представляют собой базовые образы для сгенерированной сети Хопфилда. Оператор мутации производит локальное изменение кода в строке хромосом W' с заданной вероятностью, которая является одним из настраиваемых параметров ГА [18, 20]. Оператор селекции позволяет сформировать новую популяцию из имеющегося набора особей, порожденных потомков и измененных особей после мутации. Один из наиболее распространенных способов селекции состоит в реализации принципа рулетки, когда каждой особи Wj на колесе рулетки соответствует сектор, размер которого пропорционален нормализованному значению функции приспособляемости

Pj = f (Wj )/sumf (Wj). (2)

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

Генетический алгоритм позволяет использовать различные структуры параллельных вычислений [2, 3], в частности, в [2] рассматриваются модель общества и модель работы заводов. Один из вариантов параллельного расчета эволюции нескольких популяций с обменом особями — странниками между популяциями — реализован на кластере из девяти компьютеров на базе Intel P4 для решения задачи оптимизации структуры слоистого композита [21]. Для задач, в которых вычисление целевой функции требует значительных вычислительных затрат, например, в случае, когда целевая функция зависит от интегральных характеристик динамического процесса сложной системы, может оказаться эффективным дополнительное разбиение популяции на блоки с параллельной обработкой каждого блока и обменом особями.

В настоящее время находят широкое применение гибридные ГА, в которых используются процедуры локального поиска экстремума. Другой перспективный вид гибридных ГА основан на адаптивной подстройке параметров ГА, а также вида генетических операторов. При этом в алгоритм ГА встраивается система управления на основе нечеткой логики [18, 22, 23]. Дополнительные знания о решаемой задаче позволяют разработать генетические операторы, соответствующие ее структуре.

2. Обучение нейронных сетей на основе ГА

Классические методы обучения нейронных сетей основаны на методе градиентного спуска, который в литературе по нейронным сетям часто называется методом обратного распространения ошибки [11-15]. При этом проводится минимизация функции среднеквад-ратической ошибки для выходных значений нейронной сети

1 P M

Е (w) = 2e £(ykj) - dkj )2. (3)

2

j=i k=i

Здесь W — вектор настраиваемых параметров нейронной сети; y = (у1,у2,..., ум) — вектор выходных значений нейронной сети; x = (x1,x2,... ,xn) — вектор входных значений нейронной сети, так что нейронная сеть осуществляет преобразование вида y = Фмм (W, x). При этом {x(j), d(j)}, j = 1,2 ,...,P, — обучающая выборка, y(j) = Фмм {(W, x(j)}), j = 1, 2,...,P, — выходные значения нейронной сети для набора входных данных из обучающей выборки. Когда в вектор W входят разнотипные переменные и нейросетевая вектор-функция Фмм не является гладкой (в нечетких нейронных сетях присутствуют операторы max, min), для минимизации функции (3) продуктивно использование различных вариантов ГА [18, 24]. Генетический алгоритм используют для настройки функций принадлежности, которые задаются с точностью до нескольких изменяемых параметров, например, в виде треугольных, трапецеидальных, радиальных функций. При одновременной настройке нескольких функций принадлежности параметры каждой их них кодируются своим отрезком хромосомы, так что при скрещивании обмен фрагментами кода происходит только между однотипными отрезками хромосомы. Для настройки базы правил определенному фрагменту хромосомы соответствует некоторый вариант базы правил и в соответствии с принятым кодированием проводится выбор вида генетических операторов.

3. Прикладные аспекты нечеткого и эволюционного моделирования

Мировым лидером в вопросах прикладных разработок различных устройств бытовой техники и промышленных установок с управлением на основе нечеткой логики является Япония [25, 26]. Новые микропроцессоры и микроконтроллеры на основе нечетких моделей широко используются в фотоаппаратах, видеокамерах, системах управления и диагностики автомобилей, интеллектуальных роботизированных комплексах. Это объясняется тем, что нечеткие логические модели более просты по сравнению с классическими аналитическими моделями, поэтому и их аппаратная реализация значительно упрощается и удешевляется.

Для проведения исследований на базе нечеткого моделирования разработаны достаточно универсальные программные средства [26], которые существенно упрощают создание новых управляющих систем с использованием нейронных сетей и нечетких моделей. Сопоставление подходов, основанных на нечеткой логике, искусственных нейронных сетях и генетических алгоритмах при разработке систем интеллектуального управления, проведено в [27]. Различные аспекты приложений эволюционного моделирования как нового направления вычислительных технологий рассмотрены в [28-30].

Заключение

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

Список литературы

[1] Holland J.H. Adaptation in Natural and Artificial Systems. The Univ. of Michigan Press. Ann Arbor, 1975.

[2] Goldberg D.E. Genetic Algorithms in Search, Optimization, and Machine Learning. Addison-Wesley, 1989.

[3] Michalewicz Z. Genetic Algorithms + Data Structures = Evolution Programs. N.Y.; Berlin: Springer-Verlag, 1992.

[4] Biethahn J., Nissen V. Evolutionary Algorithms in Management Applications. N.Y.; Berlin: Springer-Verlag, 1995.

[5] Fogel L.J., Owens A.J., Walsh M.J. Artificial Intelligence Through Simulated Evolution. N.Y.: J. Wiley, 1966.

[6] Rechenberg I. Evolutionary Strategy: Optimization of Systems According to the Principles of Biological Evolution. Frommann-Holzboog, 1973.

[7] Koza J.R. Genetic Programming: On the Programming of Computers by Means of Natural Selection. Cambridge (Massachusetts): The MIT Press, 1992.

[8] Терехов С.А. Нейродинамическое программирование автономных агентов // Науч. сессия МИФИ 2004. VI Всерос. научно-техн. конф. "Нейроинформатика-2004": Лекции по нейроин-форматике. Ч. 2. МИФИ. М., 2004. С. 111-139.

[9] Борщев А.В. Практическое агентное моделирование и его место в арсенале аналитика // Exponenta Pro. Математика в приложениях. 2004. № 3-4 (7-8). C. 38-47.

[10] McCulloch W.S., Pitts W.H. A logical calculus of ideas immanent in nervous activity // Bull. Math. Biophysics. 1943. Vol. 5. P. 115-119.

[11] Hebb D. Organization of Behaviour. N.Y.: J. Wiley, 1949.

[12] Нейроинформатика / А.Н. Горбань, В.Л. Дунин-Барковский, А.Н. Кирдин и др. Новосибирск: Наука. Сиб. предприятие РАН, 1998.

[13] Горбань А.Н., Россиев Д.А. Нейронные сети на персональном компьютере. Новосибирск: Наука. Сиб. изд. фирма РАН, 1996.

[14] Круглов В.В., Борисов В.В. Искусственные нейронные сети. Теория и практика. М: Горячая линия-Телеком, 2002.

[15] Осовский С. Нейронные сети для обработки информации. М.: Финансы и статистика, 2002.

[16] Zadeh L.A. Fuzzy sets // Inform. and Control. 1965. Vol. 8. P. 338-353.

[17] Заде Л.А. Понятие лингвистической переменной и его применение к принятию приближенных решений. М.: Мир, 1976.

[18] РутковскАя Д., Пилинский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы. М.: Горячая линия-Телеком, 2004.

[19] Кошур В.Д., Ильин В.А. Нейронная сеть Хопфилда как кроссовер генетического алгоритма // Матер. 5-й Всерос. научно-техн. конф.: Нейроинформатика-2003. М.: МИФИ, 2003. С. 92-100.

[20] Курейчик В.М. Генетические алгоритмы. Состояние, Проблемы. Перспективы // Изв. РАН. Теория и системы управления. 1999. № 1. С. 144-160.

[21] Vishnevsky M.A.,Koshur V.D., Legaloy A.I., Mirkes E.M. Protective laminar composites design optimisation using genetic algorithm and parallel processing // Parallel Computing Technologies: Proc. of 7th Intern. Conf., PaCT 2003 / Ed. by Malyshkin V., Nizhni Novgorod, Russia, Sept. 2003. Springer, 2003. P. 394-400.

[22] Herrera F., Lozano M. Adaptation of genetic algorithm parameters based on fuzzy logic controllers // Genetic Algorithms and Soft Computing. Physical-Verlag, 1996. P. 95-125.

[23] Smith J.L., Fogarty T.C. Operator and parameter adaptation in genetic algorithms // Soft Computing. 1997. Vol. 1, N 2. P. 81-87.

[24] ЯрушкинА Н.Г. Нечеткие нейронные сети с генетической настройкой // Матер. 6-й Всерос. научно-техн. конф.: Нейроинформатика-2004: Лекции по нейроинформатике. Ч. 1. М.: МИФИ, 2004. С. 151-198.

[25] Прикладные нечеткие системы / Под. ред. Т. Тэрано, К. Асаи, М. Сугэно: Пер. с япон. М.: Мир, 1993. 368 с.

[26] Леоненков А.В. Нечеткое моделирование в среде MATLAB и fuzzyTECH. СПб.: БХВ-Петербург, 2003. 736 с.

[27] Linkens D.A., Nyongesa H.O. Learning system in intelligent control: An appraisal of fuzzy, neural and genetic algorithm control applications // IEE Proc. Control Theory and Applications. 1996. Vol. 143, N 4. P. 367-386. [Рус. перевод: Обучающиеся системы в интеллектуальном управлении: Сопоставление подходов, основанных на размытой логике, искусственных нейронных сетях и генетических алгоритмах. М.: ВИНИТИ. Экспресс-информация "Астронавтика и ракетодинамика". 1997. Вып. 8, реф. 15; вып. 9, реф. 16]

[28] Фогель Л., Оуэнс А., Уолш М. Искусственный интеллект и эволюционное моделирование: Пер. с англ. М.: Наука, 1969. 231 с.

[29] Букатова И.Л. Эволюционное моделирование и его приложения. М.: Наука, 1979. 231 с.

[30] Букатова И.Л., Михасев Ю.И., Шаров А.М. Эвоинформатика: Теория и практика эволюционного моделирования. М.: Наука, 1991. 206 с.

Поступила в редакцию 2 ноября 2005 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.