Концепция функционирования универсальной системы поддержки принятия решений, обработки информации и управления

УДК 519.872

И. А. Панфилов, Л. В. Липинский, А. С. Егоров, С. Ю. Кузин, В. С. Тынченко

КОНЦЕПЦИЯ ФУНКЦИОНИРОВАНИЯ УНИВЕРСАЛЬНОЙ СИСТЕМЫ ПОДДЕРЖКИ ПРИНЯТИЯ РЕШЕНИЙ, ОБРАБОТКИ ИНФОРМАЦИИ И УПРАВЛЕНИЯ1

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

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

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

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

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

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

В первой концепции структура нейронной сети настраивается генетическим алгоритмом (ГА), за функционирование которого отвечает соответствующий модуль программной системы. Решения кодируются в виде бинарной строки конечной длины. За каждый элемент каждого нейрона каждого слоя нейронной сети (вид активационной функции, матрицу весовых коэффициентов) отвечает свой участок хромосомы. Исследования такого подхода к формированию нейронной сети показали его работоспособность и эффективность при решении ряда задач [1]. Однако были выявлены и существенные недостатки ГА. В частности, он работает с хромосомой фиксированной длины, следовательно каждый генетический алгоритм должен будет искать нейронную сеть с одинаковым количеством элементов, причем количество этих элементов будет весьма ограниченным. Алгоритмы, предложенные в [2], могут работать с хромосомами и переменной длины, но и они не могут полностью снять проблему ограничений на структуру НС.

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

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

1 Работа проводится в рамках проекта, поддержанного инновационной образовательной программой «Формирование конкурентоспособной научно-образовательной системы для инновационного развития космической и других высокотехнологичных отраслей» Сибирского государственного аэрокосмического университета имени академика М. Ф. Решетнева.

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

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

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

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

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

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

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

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

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

- блок загрузки и предобработки данных;

- управляющий блок, управляющий и синхронизирующий работу модуля;

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

- интерфейс генетического программирования, обеспечивающий взаимодействие нейросетевого модуля с модулем генетического программирования;

Упрощенная схема обобщенной концепции: 1 - данные для обработки от пользователя, конфигурация НС от пользователя; 2 - ответ системы пользователю; 3 - запрос НС в оптимизационный модуль; 4 - ответ оптимизационного модуля (веса синапсов НС); 5 - запрос пользователя в оптимизационный модуль (параметры оптимизации, параметры генетического алгоритма); 6 - запрос в модуль ГП, оценки предложенных структур НС; 7 - популяции для оценки пригодности, итоговое решение (структура НС); 8 - запрос пользователя, настройки ГП; 9 - запрос на распараллеливание, параметры распараллеливания (для случая распараллеливания); 10 - результат параллельных вычислений

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

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

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

Модуль генетического программирования состоит из следующих элементов:

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

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

- блока эволюционных вычислений, реализующего генетические, эволюционные вычисления;

- управляющего механизма.

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

Оптимизационный модуль можно разбить на следующие составляющие:

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

- программный интерфейс, осуществляющий взаимодействие с другими программами;

- управляющий механизм;

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

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

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

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

Модуль распределенных вычислений можно разбить на следующие элементы:

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

- блок управления, управляющий и синхронизирующий работу модуля;

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

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

- блок распределенной оценки пригодности, распараллеливающий оценивание пригодности для генетического алгоритма и алгоритма генетического программирования;

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

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

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

Характер миграции зависит от следующих параметров:

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

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

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

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

миграция, а может изменяться в зависимости от некоторого события - асинхронная миграция).

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

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

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

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

Библиографический список

1. Липинский, Л. В. Алгоритмы генетического программирования для формирования интеллектуальных информационных технологий : дис. ... канд. техн. наук / Л. В. Липинский. Красноярск, 2006.

2. Панфилов, И. А. Модели и алгоритмы выбора эффективной конфигурации многопроцессорных систем обработки информации и управления : дис. ... канд. техн. наук / И. А. Панфилов. Красноярск, 2006.

I. A. Panfilov, L.V. Lipinsky, A. S. Egorov, S. Yu. Kuzin, V. S. Tinchenko

THE CONCEPT OF FUNCTIONING OF UNIVERSAL PROGRAM SYSTEM OF DECISION MAKING, PROCESSING OF THE INFORMATION AND CONTROL

The original scheme of functioning of universal program system of decision making, processing of the information and control are present. The program system consist ofneural net technology, evolutionary algorithms, optimization procedures and parallel calculations instrumentals.

УДК 681.3.06

А. А. Иптышев, И. М. Полежаева, М. А. Иптышев

МЕТОДОЛОГИЯ ИССЛЕДОВАНИЯ ИНФОРМАЦИОННЫЕ ПРОЦЕССОВ ПЕРЕВОДА ПРОФЕССИОНАЛЬНЫХ ОБРАЗОВАТЕЛЬНЫХ УЧРЕЖДЕНИЙ В НЕГОСУДАРСТВЕННУЮ ФОРМУ УПРАВЛЕНИЯ

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

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

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

деляются следующие этапы: ванных специалистов;

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

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