Пупков К.А., Коньков В.Г. - Интеллектуальные исследования (Современнаяя теория управления) (1072100), страница 20
Текст из файла (страница 20)
Способность нейронных сетей выделять взаимосвязи в экспериментальных данных и достигать желаемого результата к сожалению связана с невозможностью проследить, каким образом этот результат достигнут. То есть нейронная сеть представляет собой если не “черный ящик”, то , по крайней мере, ящик с полупрозрачными стенками. Однако, при сравнении входных данных и откликов нейронной сети, некоторые тенденции могут быть прослежены и получено объяснение того или иного поведения нейросети.
Не следует недооценивать трудоемкости процедуры обучения нейронной сети. Набор обучающих векторов должен быть составлен таким образом, чтобы точно описать задачу и граничные условия обучения нейросети. Так же как и при обучении человека, именно качество примеров, на которых производится обучение, определяет дальнейшую работоспособность системы.
Процедура обратного распространения. Наиболее часто применяются 12 - 15 различных нейросетевых архитектур, представляющих собой вариации 6 основных парадигм [60]. Самой популярной из них является “back propagation” - архитектура сети с обратным распространением ошибки. Сети этого типа могут работать как с двоичными, так и с десятичными данными и могут быть использованы для решения более широкого, чем у других сетей , круга задач.
Рис. 31.
Процесс разработки нейронной сети можно разделить на следующие этапы: создание архитектуры сети; генерирование и предварительная обработка данных; обучение; тестирование.
Архитектура сети. На рис.31 представлена схема искусственного нейрона, используемого в качестве основного строительного блока в сетях обратного распространения.
На нейрон подается множество сигналов (о1 .. оn), идущих либо извне, либо от предшествующего слоя. Каждый из них умножается на вес (wi), и произведения суммируются. Сумма NET , вычисляемая для каждого нейрона сети, модифицируется с помощью активационной функции F(NET), давая, таким образом, сигнал OUT.
Активационная функция, используемая для обратного распространения имеет вид (рис32):
Рис. 32.
OUT = 1/(1+e-NET) (107)
Сигмоид, который называют также логистической или сжимающей функцией, сжимает диапазон изменения NET так, что значение OUT лежит между нулем и единицей.
Для алгоритма обратного распространения необходимо. чтобы активационная функция была дифференцируема. Сигмоид удовлетворяет этим требованиям. Кроме того, он обеспечивает автоматический контроль усиления.
На рис.33 изображена многослойная сеть, которая может обучаться при помощи процедуры обратного распространения.
рис.33
При проектировании архитектуры нейронной сети необходимо определить число слоев нейронов и количество нейронов в каждом слое. Процедура обратного распространения применима к сетям с любым числом слоев, но традиционно рассматриваются сети, содержащие входной, выходной и скрытый слой. Число нейронов в выходном и входном слоях определяется, соответственно количеством выходов и входов системы. В общем случае, чем меньше нейронов в выходном слое, тем быстрее сеть обучается. Число нейронов в скрытом слое и число скрытых слоев определяется прикладной задачей, но чаще всего подбирается методом проб и ошибок. Чем сложнее связь между входными и выходными переменными, тем большее число нейронов в скрытом слое необходимо предусмотреть.
Обзор обучения. Целью обучения сети является подстройка ее весов таким образом, чтобы приложения некоторого множества входных векторов приводило к требуемому множеству выходов. При обучении предполагается , что каждому вектору входа соответствует целевой вектор выхода. Перед началом обучения весам должны быть присвоены небольшие начальные значения, выбранные случайным образом.
Обучение сети обратного распространения требует выполнения следующих действий:
-
Выбрать очередную обучающую пару из обучающего множества. подать входной вектор на вход сети.
-
Вычислить выход сети.
-
Вычислить разность между выходом сети и требуемым выходом (целевым вектором обучающей пары).
-
Подкорректировать веса сети так, чтобы минимизировать ошибку.
-
Повторять шаги 1-4 для каждого вектора обучающего множества до тех пор, пока ошибка на всем множестве не достигнет приемлемого уровня.
Подробное описание процедуры обратного распространения приведено в [62].
Применение нейросетей в системах управления. Наиболее типичным прикладным применением нейронных сетей является распознавание образов, т.е. анализ визуальных изображений, речи и других сигналов. Помимо этого, нейронные сети могут быть использованы для моделирования и управления различными систетемами и процессами. Функциональная схема аппаратно-программного комплекса АСУ ТП приведена на рис.34
Система управления технологическим процессом сварки на основе нейронной сети. В МГТУ им.Н.Э.Баумана ведется разработка АСУ ТП сварки с использованием нейросетевых технологий для решения следующих задач [60]:
прогнозирование качества сварки с использованием предварительно обученной нейросетевой модели по входному массиву данных о параметрах сборки стыка, записанных в протокольную часть реляционной базы данных - задача имитационного моделирования.
управление формированием шва в процессе сварки по обученной нейросетевой модели, включенной в контур системы управления - управление по эталонной модели.
управление формированием шва по настраиваемой модели с идентификатором в цепи обратной связи - управление по адаптивной модели.
В структуру аппаратно-программного комплекса для решения задачи прогнозирования качества и управления сварочными процессами входит малогабаритный лазерный профилометр, формирующий структурированный поперечный луч, перемещаемый по периметру стыка на изделии. Параметры стыка считываются телекамерой и после предварительной обработки записываются в базу данных (БД) компьютера.
Нейросеть построена по “feed forward” архитектуре и обучена по алгоритму “backpropagation”. Обученная нейросеть в структуре системы управления рассматривается как “нейроконтроллер” с компактной базой данных, в котором установлены “скрытые” связи между входными переменными (параметры режима сварки, сборки и положения стыка) и управляющими воздействиями (сварочный ток, скорости сварки и подачи присадочной проволоки), компенсирующими отклонения показателей качества при случайных возмущениях по входным параметрам.
Программный модуль NEURAL NETWORK CONTROLS для разработки систем управления. Программный модуль NEURAL NETWORK CONTROLS SOFTWARE разработан исследовательским центром Лэнгли (NASA). Программный модуль, получивший название NNET, предназначен для проектирования различных систем управления, например систем управления полетом или АСУ ТП. Пакет представляет собой платформу для разработки нейроконтроллеров. NNET основан на методе обратного распространения и состоит из четырех основных элементов: структурного представления нейросети (архитектура нейросети), карты входов (определяет тип входов нейросети), блоков управления данными (определяют интерфейс между нейронной сетью и объектом) и средств общего назначения (средства генерации сигналов, дискретные фильтры, средства отображения информации). NNET использовался вооруженными силами США в системах управления вертолетами и в программе Space-Suttle.
Нейросетевые технологии в настоящее время находятся на начальной стадии развития. Успешное продолжение работ в этой области связано с разработкой новых методов построения и обучения нейронных сетей. Несомненно, экспертные системы и нейронные сети позволяют достичь больших результатов, чем традиционные вычислительные средства, но лишь в некоторых областях. Для задач, в которых объект или процесс представлен четкой математической моделью, традиционные методы несомненно оказываются предпочтительнее. Тем не менее, нейросетевые технологии значительно расширяют возможности создания интеллектуальных систем управления.
Рис. 34.
ГЛАВА III. ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА
И РЕАЛИЗАЦИЯ ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМ
-
Отображение интеллектуальной системы управления на архитектуру многопроцессорной вычислительной сети.
Интеллектуальные системы управления (ИСУ) с разветвленной структурой характеризуются большим объемом перерабатываемой информации и высокой сложностью используемых алгоритмов обработки информации и принятия решений. Наряду с этим предъявляются жесткие требования к надежности ИСУ. Указанные характеристики ИСУ могут быть обеспечены только за счет использования многопроцессорных вычислительных сетей (МВС), например, транспьютерных систем [63].
В данной статье рассматривается задача оптимального отображения структуры ИСУ на архитектуру МВС [64,65], заключающаяся в таком распределении программ, реализующих подсистемы ИСУ, по процессорам МВС, которое минимизирует заданный критерий эффективности отображения.
Широко известным приближенным методом решения задач отображения является метод балансировки загрузки (см., например, [66,67]). При этом программы назначают процессорам таким образом, чтобы вычислительная загрузка последних была максимально одинаковой. Предлагается формализация задачи оптимального отображения структуры ИСУ на архитектуру МВС в виде задачи глобальной балансировки загрузки [68]. Подход, основанный на математическом программировании, позволяет свести задачу балансировки к задаче булева линейного программирования.
Основной целью работы является исследование эффективности метода решения задачи оптимального отображения структуры ИСУ на архитектуру МВС, в котором указанная задача булева линейного программирования решается приближенно методом релаксации [69]. Идея заключается в решении этой задачи как задачи нецелочисленного линейного программирования (симплекс-методом) и в последующем булевом округлении результата. Целесообразность такого подхода основана на том, что задача булева линейного программирования является NP - сложной, а задача нецелочисленного линейного программирования – Р - сложной [69]. Заметим, что симплекс - метод в большинстве случаев практически также обеспечивает полиномиальное время решения.
Постановка задачи. Пусть - множество подсистем ИСУ; pi - вычислительная сложность (количество арифметических операций) программы, реализующей подсистему Pi;
- коммуникационная матрица ИСУ, где ci,j - количество информации, в байтах, которое подсистема Pi передает подсистеме Pj.
Пусть - множество процессоров МВС; qv -производительность процессора Q;
- коммуникационная матрица МВС, где d, - минимальное время передачи байта данных от процессора Q процессору Q.
Отображение подсистем ИСУ на процессоры МВС зададим отображающей матрицей размером N x n, где
X - множество допустимых отображений.
Имеют место очевидные ограничения: