Автоматизированное проектирование коллективов интеллектуальных информационных технологий методом генетического программирования

Автор: Семенкин Евгений Станиславович, Шабалов Андрей Андреевич, Ефимов Сергей Николаевич

Журнал: Сибирский аэрокосмический журнал @vestnik-sibsau

Рубрика: Математика, механика, информатика

Статья в выпуске: 3 (36), 2011 года.

Бесплатный доступ

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

Нейронные сети, системы на нечеткой логике, нейро-нечеткие системы, эволюционные алгоритмы, генетическое программирование, коллективное принятие решений

Короткий адрес: https://sciup.org/148176622

IDR: 148176622

Текст научной статьи Автоматизированное проектирование коллективов интеллектуальных информационных технологий методом генетического программирования

На сегодняшний день интеллектуальные системы получили широкое распространение при решении сложных задач анализа данных в различных областях человеческой деятельности. Искусственные нейронные сети [1], нечеткая логика [2], нейро-нечеткие сис- темы [3], эволюционные алгоритмы [4] и другие методики и технологии являются популярным объектом исследования в силу их способности решать сложные интеллектуальные задачи, которые трудно решить с помощью классических методов [5].

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

Автоматическое проектирование ИИТ – сложная оптимизационная задача, структура которой не позволяет эффективно решить ее с помощью классических методов. Генетические алгоритмы представляют собой параллельную, робастную поисковую оптимизационную процедуру, основанную на принципах естественной эволюции. Популяция индивидов, представляющих решение, приспосабливается в процессе эволюции посредством генетических операторов, таких как селекция, рекомбинация и мутация, максимизируя таким образом пригодность (минимизируя функцию стоимости) [6]. ГА продемонстрировали высокую эффективность при решении сложных практических задач с многоэкстремальными целевыми функциями. Кроме их возможности находить субоптимальные решения в сложных пространствах, структура кодирования и независимость от свойств меры качества делает их подходящим инструментом, позволяющим включить в себя априорные знания об исследуемом объекте или процессе [7].

Алгоритм генетического программирования оперирует компьютерными программами, представленными деревьями. Желаемая цель достигается путем выращивания популяции деревьев с использованием принципа естественного отбора и генетических операторов [8].

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

Автоматизированное проектирование ИИТ. Рассмотрим применение генетических алгоритмов при генерации нейросетевых моделей, систем на нечеткой логике и нейро-нечетких систем.

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

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

Хромосома структуры нейронной сети кодируется следующим образом. Изначально исследователем задается максимальное количество скрытых слоев и максимальное количество нейронов на каждом слое. При кодировании проход по сети проводится сверху вниз, слева направо по каждому нейрону. Длина хромосомы каждого нейрона будет состоять из 4 или 5 бит при использовании набора из 8 или 16 активационных функций соответственно. Первый бит указывает на наличие или отсутствие нейрона в сети, остальные биты кодируют информацию о номере функции активации. Таким образом, длина хромосомы, кодирующей структуру нейронной сети, будет равна максимальному количеству нейронов, умноженному на длину хромосомы одного нейрона.

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

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

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

В силу этого для повышения обоснованности принятия решений при проектировании нечетких систем были применены ГА. При генерации нечеткой системы использовался питтсбургский подход. Изначально необходимо задать максимальное количество правил N max. В процессе обучения настраиваются следующие параметры базы знаний: параметры функций принадлежности, определяющие центр и ширину термов, количество правил, общая длина всей базы правил благодаря включению дополнительного терма – терма «игнорирование». Схемы кодирования хромосомы по Мамдани и по Такаги–Сугено (нулевого порядка) представлены на рис. 1 и 2 соответственно.

Нейро-нечеткие системы. Процесс генерирования нейро-нечетких моделей происходит в два этапа [11; 12]. Первый этап («обучение без учителя») заключается в кластеризации исходных числовых данных методами конкурентного обучения с механизмом штрафования соперника, алгоритмом адаптивной резонансной теории и др., после чего получаем «грубые» нечеткие правила. Второй этап («обучение с учителем») состоит в «тонкой» настройке базы правил (семантики лингвистических термов) на основе градиентных алгоритмов, недостатки которых широко известны и пре- пятствуют эффективному использованию нейро-нечетких систем. Поэтому в работе применяется ГА, эффективность использования которого на практических задачах показана в [13; 14] и превосходит метод наискорейшего спуска.

R k     k = 1, N max

Входные параметры

Терм Выходные игнорирования параметры

Рис. 1. Представление кодирования хромосомы по Мамдани

R k    k = 1, N max

Входные параметры Терм

Выходные игнорирования параметры

Рис. 2. Представление кодирования хромосомы по Такаги–Сугено нулевого порядка

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

При таком подходе существует два варианта гибридизации ИИТ.

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

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

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

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

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

Рис. 3. Главное окно программы

Таблица 1

Апробация методов автоматизации ИИТ

Задача

Размерность входа

Размерность выхода

Объем выборки

Обучение

Экзамен

Репозиторий машинного обучения UCI

Классификация ирисов

4

3

135

15

Классификация вин

13

3

163

15

Предсказание лесных пожаров

12

1

477

40

Распознавание типов земель по спутниковым изображениям

36

6

4 435

2 000

Практические задачи

Прогнозирование состояния турбины по вибрационным характеристикам

11

12

1 000

400

Моделирование     процесса     рудно

термической плавки

9

1

47

10

Прогнозирование деградации электрических характеристик солнечных батарей космического аппарата

7

4

177

20

При реализации генетического алгоритма за основу был принят ГА с модифицированным оператором множественной равномерной рекомбинации ввиду его более высокой эффективности по сравнению со стандартным ГА [15; 16].

Для апробации подходов использовались практические задачи (табл. 1). Часть из них была взята из репозитория машинного обучения UCI.

Для каждого типа ИИТ было выполнено 20 запусков программы. При каждом запуске были получены работоспособные системы. Лучшие результаты приведены в табл. 2.

Таблица 2

Результаты решения практических задач

Нейронная сеть

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

Нейро-нечеткая система

Ошибка

О

К

О

К

О

К

1

5

1

2

0

2

0

2

1

1

0

0

0

0

3

16,87 %

19,61 %

15,67 %

17,5 %

4

1,78 %

1,79 %

1,11 %

1,11 %

1,45 %

1,46 %

5

9,11 %

9,14 %

8,07 %

8,09 %

7,99 %

7,97 %

6

4,86 %

4,97 %

2,99 %

3,01 %

2,81 %

2,92 %

7

5,66 %

7,66 %

5,05 %

5,87 %

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

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

Ниже приведены примеры построения коллектива на основе математического выражения из частных решений отдельных технологий. На начальной стадии заранее были сгенерированы и обучены по 10 ИИТ каждого типа.

На примере задачи классификации вин была получена следующая формула:

C = sin (NFN4 ■ ec-N 0 )), где C – номер класса. При этом ошибка распознавания составила 0 % как на обучающей выборке, так и на контрольной, что лучше, чем у нейросетевых и нечетких моделей по отдельности и сравнимо с нейро-нечеткими. При этом отдельные ИИТ, превосходящие остальные по качеству моделирования, в коллектив не вошли.

В задаче моделирования процесса руднотермической плавки получено выражение

FIS 6 FIS NN 9

Ni(%) = NFN10 ■ e FIS10 , определяющее процентное содержание никеля в отработанном шлаке. Относительная ошибка составила 2,21 % на обучающей выборке и 2,33 % на тестовой, что лучше, чем у каждой индивидуальной ИИТ в отдельности.

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

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

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

Статья научная