Яковлев Э.Ю. Разработка архитектуры нейро-сетевых моделей для автоматических систем управления производственными процессами В настоящее время, работы, которые ведутся в области автоматизации производственных и технологических процессов можно отнести к нескольким направлениям. Большие объемы вычислений ограничивают применение высокоэффективных методов оптимизации в тех случаях, когда оптимальное решение должно быть получено за ограниченное время. Одним из направлений разрешения противоречия между увеличивающимися объемами вычислений и временными ограничениями может стать применение аппарата теории нейронных сетей, который находит все более широкое применение для решения инженерных задач1. Поэтому к наиболее популярным можно отнести обработку данных с применением аппаратов нейронных сетей, генетических алгоритмов и нечеткой логики. С одной стороны, нейронным сетям свойственна высокая распараллеленность как для формализуемых, так и для неформализуемых задач. С другой стороны, нейронные сети претендуют на глобальность в смысле области приложения. В настоящее время одной из наиболее насущных задач при использовании нейросетевых архитектур является скорость и эффективность обучения по образцам, что вызвано большой зависимостью выделенных характеристик от формата используемых данных и выбранных параметров. Нейросетевые архитектуры обратного распространения используются довольно давно и доказали свою эффективность на множестве приложений, однако их обучение возможно только с учителем и только в том случае, когда заранее известны все входные и выходные значения. К еще одному недостатку данной архитектуры относится низкая скорость обучения сети. Подобные недостатки являются причиной использования сетей обратного распространения для автоматизации и диагностики далеко не всех типов производственных процессов. С учетом этих недостатков предметом исследования стали различные типы нейросетевых архитектур, которые были построены и протестированы с целью определения наиболее эффективной модели сети, обеспечивающей оптимальное регулирование при большом количестве входных параметров и высоким требованиям к скорости реакции. В ходе исследования были использованы сети Кохонена, которые отличаются от прочих типов нейронных сетей использованием нормализации входных сигналов { x1 , x 2 ,..., x n } ({ y1 , y 2 ,..., y n }) и весовых векторов ( w1 ,..., wM ), путем включения на вход одного или нескольких нормализирующих слоев. В общем случае нормализация входных сигналов производится по формуле: 1 Галушкин А.И. Теория нейронных сетей. М., 2000. С. 75. xi* xi x12 ... xi2 ... xn2 При этом процесс обучения после выбора нейрона с весовым коэффициентом, наиболее близким к входному вектору осуществляется путем дальнейшей подстройки компонентов весового вектора выбранного нейрона к входному вектору по формуле: wi (t 1) wi (t ) ( x k wi (t )) , Где wi (t ) предыдущее и wi (t 1) новое значение вектора весов отобранного i го нейрона для входного вектора x k (k 1; N ) , а η – коэффициент скорости обучения. Сеть Кохонена при этом использует простые адаптивные нейроны, принимающие сигналы определенного типа. Настройка сети производится адаптивным методом, при котором близлежащие нейроны слоя настраивают веса, ориентируясь на нейрон с максимальным значением взвешенной суммы, что позволяет производить их обучение без учителя2. Количество нейронов в слое Кохонена при этом должно быть не меньшим количества устойчивых образцов, используемых при обучении. На следующем этапе вычисляется произведение выходных векторов jго нейрона выходного слоя по формуле: y j v ji * k i , где y j - выходной j-ый нейрон выходного слоя; v ji - соединительный вес между j-ым нейроном выходного слоя и i-м слоя Кохонена, а k i выходной нейрон i слоя Кохонена. Другими словами y j представляет собой вес между нейронами j и i. Сеть обучается на основе наборов входных параметров и нахождении соответствующих выходных значений, настраивая веса в слое Кохонена, после чего следует настройка весов нейронов в выходном слое Гросберга. Настройку весов слоя Кохонена можно выразить уравнением: w ji w ji ( xi w ji ) , где w ji - соединение между j-м нейроном слоя Кохонена и нормализованным i-м нейроном, xi - входное значение i-го нейрона нормализованного слоя. Обучение выходного слоя производится с учителем или с использованием целевого вектора, являющегося желаемым выходом при входном наборе. Обучение J-го нейрона слоя Гросберга происходит по формуле: v ji v ji (O j v ji ) * k i , где O j – желаемое выходное значение j-го нейрона выходного слоя. По данной формуле обновляются веса только выигравшего нейрона слоя Кохонена. Ошибка между желаемым выходным значением j-го нейрона Круглов В.В., Борисов В.В. Искусственные нейронные сети. Теория и практика. – 2-е изд. стереотип. – М.: Горячая линия – Телеком, 2002. С. 62. 2 ( O pj ) и актуальным выходным значением ( y pj ) сети для p-го набора вычисляется по формуле: E p 1 / 2 * (O pj y pj ) При этом обучение сети заключается в представлении множества входных наборов до тех пор, пока значение ошибки не будет меньше желаемого значения. Когда обучение завершено, весовые векторы каждого соединения остаются неизменными для данной модели. Веса подстраиваются только в том случае, если появляются новые входные значения. Для определения выходных значений наборы входных значений подаются из тестового файла. Тестовый файл может содержать большее количество наборов, чем было использовано в ходе обучения сети и с которыми нейронная сеть ранее не сталкивалась. Таким образом реализация найденных алгоритмов и форм представления данных осуществляется на базе тестового файла, содержащего достаточное количество наборов входных параметров. Задачами исследования оптимизации архитектуры нейро-сетевых моделей для автоматических систем управления производственными процессами явились: 1) Пополнение набора базовых процедур обработки функций; 2) Исследование альтернативных представлений внутренних структур нейронных сетей и алгоритмов их обучения; 3) Анализ возможностей применения различных архитектур нейронной сети для решения оптимизационных задач как инструментальной системы, в условиях интервальной и стохастической неопределенности. Целью данной работы является описание принципов функционирования интегрированной среды, которая предполагает моделирование архитектур нейросетевых систем. Нейросетевые системы, в отличие от классических, не сами набирают опыт диагностики в результате обучения, основываясь на ассоциациях при обучении характерным примерам из предметной области. Основной задачей при выборе и моделировании архитектуры нейронной сети является описание значений и параметров выборки, а также генерации этой выборки, либо создании адекватной выборки примеров. Это прямое указание на использование нейросетевого подхода к диагностике и наладке автоматических систем управления производственными процессами. В процессе создания сеть была обучена некоторому количеству характерных примеров. Предполагается, что этот набор покрывает все классы, с которыми сеть может столкнуться в дальнейшем. Утверждается, что если теперь подать на вход вопрос, отличающийся от эталонного значения на некоторую малую величину, то ответ полученный сетью будет отличаться от эталонного ответа тоже на малую величину. Процесс получения решений в этом случае состоит из трех этапов: 1) Перевод данных из терминов языка предметной области в вид, необходимый нейронной сети. 2) Функционирование сети. Неявное сравнение с эталонными образами. 3) Перевод полученного ответа в язык, свойственный предметной области. Исследуемая модель была развита как обучаемая сеть обратного распространения с четырьмя слоями (входной слой, нормализированный слой, слой Кохонена и выходной слой). Путем комбинации слоя Кохонена и правил обучения Видроу-Хоффа, получается новый тип нейронной сети, который позволяет очертить преобразования входных сигналов в выходные путем комбинирования обучения с учителем и без учителя, ограничивая, таким образом, время обучения сети тем временем, которое в общем случае требуется для обучения сети обратного распространения. Каждый слой сети (входной слой, нормализированный слой, слой Кохонена и выходной слой) полносвязный по отношению к предшествующему. Входной слой формируется из элементов, которые функционально полно описывают характеристики выбранного производственного процесса в ходе его анализа. Выбранные характеристики заносятся в 2 файла, который в дальнейшем используются при обучении нейронной сети: тестовый файл, составленный на основании определения характеристик производственного процесса (технологическая карта) и тренировочный файл, составленный на основе входных переменных и желаемых выходных значений, которые представляют собой не что иное, как параметры, определяемые в результате исследований. Треннинговое множество представляет собой наборы входных и желаемых значений, используемых при обучении с учителем. Каждая пара при этом считается фактором. Таким образом, вся информация, которая используется при обучении сети располагается в треннинговом файле, в который заносится ассоциированные факторы. Программная реализация при этом необходима для преобразования данных в формат, приемлемый для анализа данных нейросетевой моделью. В рассматриваемом примере тренинговый файл содержит 10 столбцов (первые пять содержат значения входных переменных, а остальные – выходные значения, ассоциированные с ними) и столько рядов, сколько характеристик производственного процесса было выбрано. В качестве тестовой была выбрана следующая последовательность значений и характеристик: 0.15 0.05 0.25 0.35 0.20 0.20 0.25 0.10 0.15 0.40 0.05 0.00 0.25 0.35 0.25 0.25 0.30 0.05 0.10 0.40 0.05 0.05 0.25 0.35 0.25 0.20 0.30 0.05 0.10 0.40 0.20 0.30 0.25 0.35 0.25 0.25 0.30 0.05 0.10 0.40 0.00 0.00 0.10 0.20 0.55 0.25 0.10 0.05 0.15 0.45 0.05 0.00 0.25 0.35 0.25 0.25 0.30 0.05 0.10 0.40 0.35 0.05 0.25 0.35 0.25 0.25 0.30 0.05 0.10 0.40 Каждая колонка описывает один набор характеристик, используемых для обучения сети. Подобные правила устанавливаются в результате апробирования результатов для каждой группы и включенных в треннинговый файл, который используется для обучения с учителем, которое позволяет нейронной сети обновлять и оптимизировать веса для наилучшего представления и автоматизации системы управления производственными процессами. В рассматриваемом примере количество нейронов в слое Кохонена равно шести и соответственно равно количеству правил, установленных для нейронной сети. Количество желаемых выходов было установлено в результате реакций каждой группы. Файл при этом формируется из комбинаций переменных, которые были использованы в качестве треннингового файла, и реакций на них. Файл содержит около 30 000 записей для каждой из групп. Базовым правилом при этом является соответствие количества устойчивых сочетаний в слое Кохонена количеству нейронной в слое3. В связи со сложностью подобного определения количество нейронов в слое Кохонена было установлено равным 450 в соответствии с теоретически максимально возможным для данной модели. Подобное построение требует протоколирования ошибок, которые выражаются в недостаточном обучении ряда нейронов в слое и отличия выходных значений от желаемых, и неизбежно возникают, когда количество параметров больше чем количество нейронов в слое Кохонена. Решением данной проблемы является оптимизация треннингового файла к некоторому значению, которое позволяет проводить обучение нейросети эффективно (с минимальным количеством ошибок). Подобную оптимизацию возможно провести с использованием второй нейронной сети, аналогичной вышерассмотренной, но при обучении которой используются оценочные значения и наблюдаемые (выходные) значения. Это позволяет устранить ошибочно обученные нестабильные наборы при внесении результатов в базу данных. Для проверки эффективности работы сети и ее возможностей в процессе обучения по образцам, было построены и протестированы по приведенной выше последовательности разнообразные нейросетевые архитектуры, каждая из которых была сконструирована путем соотношения времени на обучения для достижения наибольшей эффективности нейронной сети при обработке приложений. При тестировании были использованы сети обратного распространения и сети Кохонена. Для оценки производительности сети была вычислена общая ошибка (разница входного и желаемого выходного значения при трансформации функции ошибки в каждом слое, умноженная на фактор ошибки тестируемого элемента) для всех эпох обучения по каждой архитектуре. В результате тестирования на 330 примерах (приблизительно 10% от общего объема базы данных) было выявлено, что время реакции и обучения при проведении тестирования на архитектуре с сетями Кохонена и использованием 4-х слоевой модели было в 2-3 раза меньше, чем при тестировании других моделей. Значение ошибки сети было вычислено для каждого обучаемого элемента и среднее для каждого этапа, что позволило оценить скорость и эффективность обучения сети по входным параметрам. Результаты наглядно продемонстрировали 3 Guisse A.W., Gimblett H.R. A Kohonen counter-propagation neural net model, School of Renewable Natural Resources, Tucson, Arizona. C. 4. превосходство сети Кохонена с обратным распространением по сравнению с другими сетями обратного распространения уже после обучения 40 эпох, что позволило с точки зрения оптимальности остановиться на выборе данной архитектуры. Результаты исследования показывают, что нейро-сетевые модели являются инструментом, намного более эффективным, чем традиционные методы для настройки и диагностики автоматических систем управления производственными процессами. Таким образом, в работе решена комплексная задача анализа возможностей оптимизации архитектуры нейронной сети с учетом особенностей производственного процесса и проведено его сравнение с известными методами. Полученные результаты позволяют обосновать возможность использования нейроподобных сетей для снятия противоречия между возрастающими требованиями диагностики и адаптации и ограничением на время, требуемое для настройки автоматических систем управления производственными процессами в режим, оптимальный по заданному критерию. В ходе проведения диагностики технологических процессов было определено, что возможности сетей обратного распространения при генерализации параметров и поступающих данных, не включенных в треннинговые наборы, определяются выбором входных параметров процесса и количеством нейронов в слое Кохонена с целью переназначения или ассоциации этих параметров и установления наиболее устойчивых зависимостей, позволяющих обеспечить адекватную настройку процессов. Проведенное исследование позволяет учитывать возможности нейросетевых моделей при управлении разноплановыми технологическими процессами, и повышающееся значение нейронных сетей при стимуляции комплексных технологических процессов. Дальнейшие исследования должны быть произведены с учетом выбора наиболее подходящего метода построения архитектур нейронных сетей в зависимости от особенностей технологического процесса, выбираемого для настройки и диагностики. Литература 1. Вихров Н.М., Гаскаров Д.В. Грищенков А.А., Шнуренко А.А. Управление и оптимизация производственно-технологических процессов / Под ред. Д.В. Гаскарова. - СПб. : Энергоатомиздат, 1995. - 303 с. 2. Галушкин А.И. Теория нейронных сетей. М.: Радиотехника, 2000. 416 с. 3. Емельянов С.В., Коровин С.К. Новые типы обратной связи. Управление при неопределенности. - М.: Наука, Физматлит, 1997, - 352 с. 4. Круглов В.В., Борисов В.В. Искусственные нейронные сети. Теория и практика. – 2-е изд. стереотип. – М.: Горячая линия – Телеком, 2002. - 382 с. 5. Методы классической и современной теории автоматического управления: Учебник. В 3-х т. - М.: Изд-во МГТУ им. Н.Э.Баумана, 2000. – 748 с. 6. Ройтенберг Я.Н. Автоматическое управление: учеб. пособие для унтов / Я.Н. Ройтенберг. - 3-е изд., перераб. и доп. - М.: Наука, 1992. - 576 с. 7. Рыков А.С. Методы системного анализа: оптимизация. М.: Экономика, 1999. 8. Guisse A.W., Gimblett H.R. A Kohonen counter-propagation neural net model, School of Renewable Natural Resources, Tucson, Arizona. 9. Ritter, H. and Schulten, K. (1988). Kohonen's self-organizing maps: exploring their computational capabilities. In Proceedings of the ICNN'88, IEEE International Conference on Neural Networks, volume I, pages 109-116. IEEE Service Center, Piscataway, NJ.