Справочник от Автор24
Поделись лекцией за скидку на Автор24

Нейронные сети как вычислительные структуры, моделирующие простые биологические процессы

  • 👀 555 просмотров
  • 📌 482 загрузки
Выбери формат для чтения
Загружаем конспект в формате docx
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Нейронные сети как вычислительные структуры, моделирующие простые биологические процессы» docx
ЛЕКЦИЯ №1 Под нейронными сетями подразумеваются вычислительные структуры, которые моделируют простые биологические процессы, ассоциируемые с процессами человеческого мозга. Они представляют собой распределенные и параллельные системы, способные к адаптивному обучению путем анализа положительных и отрицательных воздействий. Элементарным преобразователем в данных сетях является ней­рон, названный так по аналогии с биологическим прототипом. Нервная система и мозг человека состоят из нейронов, со­единенных между собой нервными волокнами. Нервные волокна способны передавать электрические импульсы между нейронами. Все процессы передачи раздражений от кожи, ушей и глаз к мозгу, процессы мышления и управления действиями реализованы в живом организме как передача электрических импульсов между нейронами. Нейрон (нервная клетка) особая биологическая клетка, которая обрабатывает информацию (рис. 1.1). Он состоит из тела (cell body), или сомы (soma), и отростков нервных волокон двух типов - дендритов (dendrites), по которым принимаются им­пульсы, и единственного аксона (ахоn), по которому нейрон может передавать импульс. Тело нейрона включает ядро (nucleus), кото­рое содержит информацию о наследственных свойствах, и плазму, обладающую молекулярными средствами для производства необ­ходимых нейрону материалов. Нейрон получает сигналы (импуль­сы) от аксонов других нейронов через дендриты (приемники) и пе­редает сигналы, сгенерированные телом клетки, вдоль своего ак­сона (передатчика), который в конце разветвляется на волокна (strands). На окончаниях этих волокон находятся специальные об­разования - синапсы (synapses), которые влияют на величину им­пульсов. Рис. 1.1 Взаимосвязь биологических нейронов Синапс является элементарной структурой и функциональ­ным узлом между двумя нейронами (волокно аксона одного нейро­на и дендрит другого). Когда импульс достигает синаптического окончания, высвобождаются химические вещества, называемые нейротрансмиттерами. Нейротрансмиттеры диффундируют через синаптическую щель, возбуждая или затормаживая, в зависимости от типа синапса, способность нейрона-приемника генерировать электрические импульсы. Результативность передачи импульса синапсом может настраиваться проходящими через него сигнала­ми так, что синапсы могут обучаться в зависимости от активности процессов, в которых они участвуют. Эта зависимость от предыс­тории действует как память, которая, возможно, ответственна за память человека. Веса синапсов могут изме­няться со временем, а значит, меняется и поведение соответст­вующих нейронов. Нейроны взаимодействуют короткими сериями импульсов продолжительностью несколько миллисекунд. Сооб­щение передается посредством частотно-импульсной модуляции. Частота может изменяться от нескольких единиц до сотен герц, что в миллион раз медленнее, чем быстродействующие переклю­чательные электронные схемы. Тем не менее сложные задачи распознавания человек решает за несколько сотен миллисекунд. Структура и свойства искусственного нейрона Нейрон состоит из элементов трех ти­пов: умножителей (синапсов), сумматора и нелинейного преобра­зователя. Синапсы осуществляют связь между нейронами, умно­жают входной сигнал на число, характеризующее силу связи, (вес синапса). Сумматор выполняет сложение сигналов, поступающих по синаптическим связям от других нейронов, и внешних входных сигналов. Нелинейный преобразователь реализует нелинейную функцию одного аргумента - выхода сумматора. На рис. 1.2 показана его структура. Рис. 1.2 Структура искусственного нейрона Эта функция на­зывается функцией активации или передаточной функцией нейрона. Нейрон реализует скалярную функцию векторного аргумента. Математическая модель нейрона: где wi - вес (weight) синапса, i = 1...n; b - значение смещения (bias); s - результат суммирования (sum); xi - компонент входного вектора (входной сигнал), i = 1...n; у - выходной сигнал нейрона; п - число входов нейрона; f- нелинейное преобразование (функ­ция активации). В общем случае входной сигнал, весовые коэффициенты и смещение могут принимать действительные значения, а во многих практических задачах - лишь некоторые фиксированные значения. Выход (у) определяется видом функции активации и может быть как действительным, так и целым. Синаптические связи с положительными весами называют возбуждающими, с отрицательными весами - тормозящими. Примеры активационных функций представлены в табл. 1.1 и на рис. 1.3. Одной из наиболее распространенных является нелинейная функция активации с насыщением, так называемая логистическая функция или сигмоид (функция S-бразного вида): При уменьшении а сигмоид становится более пологим, в пределе при а = 0 вырождаясь в горизонтальную линию на уровне 0,5, при увеличении а сигмоид приближается к виду функции единичного скачка с порогом Т. Из выражения для сигмоида очевидно, что выходное значение нейрона лежит в диапазоне (0, 1). Одно из ценных свойств сигмоидальной функции - простое выражение для ее производной, применение которой будет рассмотрено в даль­нейшем: Следует отметить, что сигмоидальная функция дифферен­цируема на всей оси абсцисс, что используется в некоторых алго­ритмах обучения. Кроме того, она обладает свойством усиливать слабые сигналы лучше, чем большие, и предотвращает насыще­ние от больших сигналов, так как они соответствуют областям ар­гументов, где сигмоид имеет пологий наклон. Таблица 1.1 Функции активации нейронов Классификация нейронных сетей и их свойства Нейронная сеть представляет собой совокупность нейронов, определенным образом соединенных друг с другом и с внешней средой с помощью связей, определяемых ве­совыми коэффициентами. В зависимости от функций, выполняе­мых нейронами в сети, можно выделить три их типа: • входные нейроны, на которые подается вектор, кодирую­щий входное воздействие или образ внешней среды; в них обычно не осуществляется вычислительных процедур, а информация пе­редается с входа на выход; • выходные нейроны, выходные значения которых пред­ставляют выходы нейронной сети; • промежуточные нейроны, составляющие основу нейрон­ных сетей. В большинстве нейронных моделей тип нейрона связан с его расположением в сети. Если нейрон имеет только выходные связи, то это входной нейрон, если наоборот - выходной нейрон. Однако возможен случай, когда выход топологически внутреннего нейрона рассматривается как часть выхода сети. В процессе функциониро­вания сети осуществляется преобразование входного вектора в выходной, некоторая переработка информации. Конкретный вид выполняемого сетью преобразования данных обусловливается не только характеристиками нейроподобных элементов, но и особен­ностями ее архитектуры, а именно топологией межнейронных свя­зей, выбором определенных подмножеств нейроподобных элемен­тов для ввода и вывода информации, способами обучения сети, наличием или отсутствием конкуренции между нейронами, на­правлением и способами управления и синхронизации передачи информации между нейронами. С точки зрения топологии можно выделить три основных ти­па нейронных сетей: • полносвязные (рис. 1.4, а); • многослойные или слоистые (рис. 1.4, б); • слабосвязные (с локальными связями) (рис. 1.4, в). Рис. 1.3. Архитектуры нейронных сетей: а - полносвязная сеть, б - многослойная сеть с последовательными связями, в - слабосвязные сети В полносвязных нейронных сетях каждый нейрон передает свой выходной сигнал остальным нейронам, в том числе и самому себе. Все входные сигналы подаются всем нейронам. Выходными сигналами сети могут быть все или некоторые выходные сигналы нейронов после нескольких тактов функционирования сети. В многослойных нейронных сетях нейроны объединяются в слои. Слой содержит совокупность нейронов с едиными входными сигналами. Число нейронов в слое может быть любым и не зави­сит от количества нейронов в других слоях. В общем случае сеть состоит из Q слоев, пронумерованных слева направо. Внешние входные сигналы подаются на входы нейронов входного слоя (его часто нумеруют как нулевой), а выходами сети являются выходные сигналы последнего слоя. Кроме входного и выходного слоев в многослойной нейронной сети есть один или несколько скрытых слоев. Связи от выходов нейронов некоторого слоя q к входам нейронов следующего слоя (q+1) называются последовательными. В свою очередь, среди многослойных нейронных сетей вы­деляют следующие типы. 1) Монотонные. Это частный случай слоистых сетей с дополнительными ус­ловиями на связи и нейроны. Каждый слой кроме вы­ходного разбит на два блока: возбуждающий и тормозящий. Связи между блоками тоже разделяются на тормозящие и возбуждаю­щие. Если от нейронов блока А к нейронам блока В ведут только возбуждающие связи, то это означает, что любой выходной сигнал блока является монотонной неубывающей функцией любого вы­ходного сигнала блока А. Если же эти связи только тормозящие, то любой выходной сигнал блока В является невозрастающей функ­цией любого выходного сигнала блока А. Для нейронов монотон­ных сетей необходима монотонная зависимость выходного сигна­ла нейрона от параметров входных сигналов. 2) Сети без обратных связей. В таких сетях нейроны вход­ного слоя получают входные сигналы, преобразуют их и передают нейронам первого скрытого слоя, и так далее до выходного. Ес­ли не оговорено противное, то каждый выходной сигнал q-гo слоя подастся на вход всех нейронов (q+1)-гo слоя; однако возможен вариант соединения q-го слоя с произвольным (q+р)-м слоем. Среди многослойных сетей без обратных связей различают полносвязанные (выход каждого нейрона q-ro слоя связан с вхо­дом каждого нейрона (q+1)-го слоя) и частично полносвязанные. 3) Сети с обратными связями. В сетях с обратными связя­ми информация с последующих слоев передается на предыдущие. Известные нейронные сети можно разделить по типам струк­тур нейронов на гомогенные (однородные) и гетерогенные. Гомо­генные сети состоят из нейронов с единой функцией активации, а в гетерогенную сеть входят нейроны с различными функциями активации. Существуют бинарные и аналоговые сети. Первые из них оперируют только двоичными сигналами, и выход каждого нейрона может принимать значение либо логического ноля либо логической единицы. Сети можно классифицировать по числу слоев. Теоре­тически число слоев и число нейронов в каждом слое может быть произвольным, однако фактически оно ограничено ресурсами ком­пьютера или специализированных микросхем, на которых обычно реализуется нейронная сеть. Чем сложнее сеть, тем более слож­ные задачи она может решать. Выбор структуры нейронной сети осуществляется в соответ­ствии с особенностями и сложностью задачи. Для решения от­дельных типов задач уже существуют оптимальные конфигурации. Если же задача не может быть сведена ни к одному из известных типов, приходится решать сложную про­блему синтеза новой конфигурации. При этом необходимо руково­дствоваться следующими основными правилами: • возможности сети возрастают с увеличением числа ней­ронов сети, плотности связей между ними и числом слоев; • введение обратных связей наряду с увеличением воз­можностей сети поднимает вопрос о динамической устойчивости сети; • сложность алгоритмов функционирования сети, введение нескольких типов синапсов способствует усилению мощности ней­ронной сети. Вопрос о необходимых и достаточных свойствах сети для решения задач того или иного рода представляет собой целое на­правление нейрокомпьютерной науки. Так как проблема синтеза нейронной сети сильно зависит от решаемой задачи, дать общие подробные рекомендации затруднительно. В большинстве случаев оптимальный вариант получается на основе интуитивного подбо­ра, хотя в литературе приведены доказательства того, что для лю­бого алгоритма существует нейронная сеть, которая может его реализовать. Остановимся на этом подробнее. Многие задачи распознавания образов (зрительных, рече­вых), выполнения функциональных преобразований при обработке сигналов, управления, прогнозирования, идентификации сложных систем, сводятся к следующей математической постановке. Необ­ходимо построить такое отображение X -» У, чтобы на каждый возможный входной сигнал X формировался правильный выход­ной сигнал У. Отображение задается конечным набором пар (<вход>, <известный выход>). Число этих пар (обучающих приме­ров) существенно меньше общего числа возможных сочетаний значений входных и выходных сигналов. Совокупность всех обу­чающих примеров носит название обучающей выборки. В задачах распознавания образов X - некоторое представ­ление образа (изображение, вектор), У - номер класса, к которому принадлежит входной образ. В задачах управления X - набор контролируемых парамет­ров управляемого объекта, У - код, определяющий управляющее воздействие, соответствующее текущим значениям контролируе­мых параметров. В задачах прогнозирования в качестве входных сигналов ис­пользуются временные ряды, представляющие значения контро­лируемых переменных на некотором интервале времени. Выход­ной сигнал - множество переменных, которое является подмноже­ством переменных входного сигнала. При идентификации X и У представляют входные и выход­ные сигналы системы соответственно. В результате отображения X -» У необходимо обеспечить формирование правильных выходных сигналов в соответствии: • со всеми примерами обучающей выборки; • со всеми возможными входными сигналами, которые не вошли в обучающую выборку. Второе требование в значительной степени усложняет зада­чу формирования обучающей выборки. В общем виде эта задача в настоящее время еще не решена, однако во всех известных слу­чаях может быть найдено частное решение. Области применения НС Прогнозирование результатов выборов: данная задача стала классической для демонстрации рабо­ты нейросетевого классификатора. Она компактна, значения всех обучающих параметров представляются в форме «Да-Нет», осно­вана на реальных данных и дает хороший результат. На первый взгляд кажется, что итоги выборов зависит только от личностей кандидатов и от их программ. Однако и программы, и образы кандидатов создаются профессионалами. Оказывается, что если предвыборные компании всех кандидатов отработаны добросовестно и все участники сделали все возможное, то выбор практически предопределяется лишь объективными признаками сложившейся накануне выборов ситуации в стране. А кто победит, можно решать на основании ответов на следующие вопросы. 1) Правящая партия у власти более 1 срока? 2) Правящая партия получила больше 50 % на прошлых вы­борах? 3) В год выборов была активна третья партия? 4) Была серьезная конкуренция при выдвижении кандидата от правящей партии? 5) Кандидат от правящей партии был президентом в год вы­боров? 6) Был ли год выборов временем спада или депрессии? 7) Был ли рост среднего национального валового продукта на душу населения более 2,1%? 8) Произвел ли правящий президент существенные измене­ния в политике? 9) Во время правления были существенные социальные волнения? 10) Администрация правящей партии виновна в серьезной ошибке или скандале? 11) Кандидат правящей партии - национальный герой? 12) Кандидат оппозиционной партии - национальный герой? Обучающая выборка состоит из 31 примера, каждый из кото­рых представляет ситуацию выборов, начиная с 1864 г. (табл. 1.2), где ответы «Да» обозначены единицами, а ответы «Нет» - нулями. Класс 1 означает, что в данной ситуации был избран канди­дат правящей партии, класс 2 - кандидат оппозиционной партии. После обучения сеть должна предсказать ответ для ситуации, от­раженной табл. 6.2, которая не входила в обучающую выборку (ко­гда производились эксперименты, результат выборов 1992 г. еще не был известен). Таблица 6.1 Обучающая выборка для прогнозирования результата выборов президента США Автономное управление автомобилем: нейронные сети могут эффективно использоваться для управле­ния автомобилем. В этом случае достаточно задать системе управле­ния координаты конечной точки движения и автомобиль без участия человека будет двигаться к цели. Такая система разработана в универ­ситете Карнеги-Меллона в рамках ALVINN проекта (Autonomous Land Vehicle In a Neural Networks) [118,119]. В ней предполагается, что автомобиль оборудован видеокамерой, которая отображает дорогу с разметкой. Центральным элементом такой системы является трех­слойная нейронная сеть с прямыми связями (рис.1.4). Входной слой содержит 30x32 нейронных элемента, на которые подается преобразованное от видеокамеры изображение пути. Скры­тый слой состоит из пяти, а выходной слой из 30-ти нейронных эле­ментов. В качестве функции активации используется сигмоидная функция. Активность выходных нейронов характеризует поворот руля в ту или иную сторону. Так, если максимальной активностью обладает центральный нейрон, то это означает движение пря­мо. Когда наибольшую ак­тивность имеет крайний ле­вый нейрон, то это соответ­ствует повороту налево на определенное число граду­сов. Нейронная сеть обуча­ется при управлении авто­мобилем оператором. При этом оператор управляет ав­томобилем при движении со скоростью 9,5 км/ч, модели­руя различные ситуации. Изображение от видеокаме­ры является входом, а текущее направление руля - желаемым выхо­дом. С целью упрощения получения обу­чающей выборки используется про­граммное вращение изображения от ви­деокамеры (рис.1.5) и соответствующим образом меняется реакция нейронной системы. В результате была создана обучающая выборка, объем которой составил 1200 тренировоч­ных наборов. Обучение нейронной сети проводилось с использованием трех станций "Sun-4". Время обучения методом обратного распространения ошибки составило 5 мин. После обучения, как показали эксперименты, нейронная сеть может автономно управлять автомобилем. В на­стоящее время в рамках этого проекта была достигнута скорость движения автомобиля до 70 миль/ч. При этом автомобиль проехал 90 миль к северу от г.Питтсбурга (США). Чтo говорит о большом потенциале нейронных сетей для решения различных задач. Рис.1.4 Отображение изображения дороги на нейронную сеть Рис 1.5 Вращение исходного изображения от видеокамеры Проектирование и оптимизация сетей связи: одна из важнейших задач в области телекоммуникаций - нахождение оптимального пути пересылки трафика между узлами - может быть успешно решена с помощью нейронных сетей. В данном случае важны две особенности: во-первых, решение долж­но быть адаптивным, то есть учитывать текущее состояние сети связи и наличие сбойных участков, а во-вторых, найти оптималь­ное решение нужно очень быстро, в реальном времени. Нейрон­ные сети прекрасно приспособлены для решения такого рода за­дач. Кроме управления маршрутизацией потоков, нейронные сети используются и для проектирования новых телекоммуникационных сетей. При этом удается получить очень эффективные решения. Идентификация динамических объектов: В динамических системах подлежащий распознаванию объект зависит от мгновенных значений обучающих пар, представляющих собой функцию времени. Если принять х в качестве вектора состояния х € Rn , u - входного вектора u € RN, а у - выходного вектора у € RM, то общее описание нелинейной системы, функционирующей в дискретном времени, может быть представлено в виде x(k+1)=f[x(k),u(k)]; y(k)=F[x(k)]. где x(k), u(k), у(k) обозначают векторы мгновенных значений соответствующих переменных, f и F - знаки векторных статистических нелинейных функций, f € Rn,F € RM, определяющих инвариантный во времени конкретный нелинейный объект. В отличие от линейных уравнений связи, определяемые нелинейными зави­симостями, более сложны, и до настоящего времени не существует универсаль­ного метода их аналитического решения. В качестве его заменителя применяются приближенные математические модели, уточняющиеся в процессе обучения. Таким образом, проблема идентификации объекта сводится к построению такой его параметрической модели, чтобы отклики объекта y(k) и модели y’(k) на одно и то же возбуждение u(k) совпадали в пределах допустимой погрешности е, т.е. ||у’-у||<= е. Среди многих возможных подходов к реализации такой нелинейной системы выберем способ, основанный на применении нейронной сигмоидальной сети, в общем случае многослойной. На рис. 1.6 представлена универсальная схема подключения нейронной сети в качестве нелинейной модели динамической системы. Рис. 1.6. Способ подключения нейронной сети для идентификации динамического объекта Если ограничиться одним входом и выходом, а также представить векторы возбуждения u и отклика объекта у состоящими из элементов запаздывания, т.е. u(k) = [u(k), u(k-l), ..., u(k-p)]T, y(k) = [y(k), y(k-1),…,y(k-q)]T, то общее описание нелинейной динамической модели можно выразить без вектора состояния х в форме y’(k+1)=fun(y(k), u(k)). В этом уравнении y(k+1) обозначает отклик нелинейного объекта в момент k+1, a y’(k+1) — отклик нейронной модели этого объекта в тот же момент времени. Разностный сигнал e(k+l) = y(k+l) – y’(k+l) управляет процессом адаптации параметров модели. Ряд элементов запаздывания на входе системы образует линию задержки с ответвлениями (англ.: Tapped Delay Line - TDL). В случае применения для идентификации объектов нейронная сеть, как правило, подключается порядково-параллельным способом и использует для предсказания задерживаемые отклики объекта так, как это показано на рис. 1.6. Достоинства такого подключения - это, во-первых, гарантированная ограничен­ность входных сигналов модели, представляющих собой прошедшие через элементы задержки отклики объекта (он априорно считается устойчивым), во вторых - упрощение формулы генерации градиента. Следует отметить что такое подключение нейронной сети обеспечивает однонаправленное распространение сигналов, поскольку выходной сигнал объекта является сигналом изначально известным (в отличие от выходного сигнала модели) поэтому сеть не должна быть рекуррентной. Поэтому вектор градиента формируется в соответствии со стандартным для многослойной сети методом обратного распространения. При таком подключении отклик y(k) сети зависит от вектора и(k), пред­ставляющего собой ряд прошедших через элементы задержки реализаций возбуждающего сигнала, а также от вектора d(k) = y(k), представляющего со­бой ряд прошедших через элементы задержки реализаций заданного сигнала, составляющих ожидаемый выходной вектор сети. Обработка статических изображений Не менее сложными являются задачи выделения и распо­знавания объектов на статическом тоновом изображении. В част­ности, подобные задачи возникают при автоматической обработке спутниковых изображений земной поверхности. Для их решения разработан и реализован на персональных компьютерах ряд авто­матизированных систем анализа изображений земной поверхности. Системы в автоматическом режиме обеспечивает выделение на обрабатываемых изображениях объектов заданных классов: дорожной сети, кварталов с характерной застройкой, аэродромов и стоящих на них самолетов. Нейросетевые принципы, заложенные в их основу, обеспечивают инвариантность к яркостным характе­ристикам выделяемых и распознаваемых объектов, а также позво­ляют проводить обучение и адаптацию систем. Задачи комбинаторной оптимизации Высокая степень распараллеленности обработки информа­ции позволяет успешно применять нейросетевые технологии для решения задач комбинаторной оптимизации, к которым, в первую очередь следует отметить задачи транспортно-ориентированной оптимизации (например, задача коммивояжера и ее модификации) и задачи распределения ресурсов (задача о назначениях, задача целераспределения и другие). Решение таких задач традиционными методами математи­ческого программирования, большинство из которых изначально ориентировано на вычислительную технику с последовательной архитектурой, сопряжено с большими временными затратами, не­приемлемыми для многих приложений. При соответствующей ап­паратной поддержке нейросетевые методы позволяют значитель­но повысить оперативность решения данного класса задач, сохра­няя высокую точность результата. Управление ценами и производством Руководители предприятий часто недооценивают потери от неоптимального планирования производства. Так как спрос и ус­ловия реализации зависят от времени, сезона, курсов валют и многих других факторов, то и объем производства следует гибко варьировать с целью оптимального использования ресурсов. Уже существуют удачные примеры нейросетевых систем планирова­ния, которые применяются совместно со стандартными методами исследования операций, динамического программирования, а так­же с методами нечеткой логики. Крупное английское издательство, выпускающее газеты, приобрело у фирмы Neural Innovation Ltd. систему планирования цен и затрат, основанную на нейронной сети с использованием генетических алгоритмов. На основе исторических данных система обнаруживает сложные зависимости между затратами на рекламу, объемом продаж, ценой газеты, ценами конкурентов, днем недели, сезоном и т. д. После этого возможен подбор оптимальной страте­гии сточки зрения максимизации объема продаж или прибыли. ЛЕКЦИЯ №2 Однослойную сеть образуют нейроны, расположенные в одной плоскости (рис. 2.1). Каждый i-й нейрон имеет множество связей с весами wij, по кото­рым поступают входные сигналы xj , а также поляризацию (связь с весом wi0, по которой поступает единичный сигнал). Значения весов подбираются в процессе обучения сети, состоящем в приближении выходных сигналов уi к ожидаемым значениям di. Мерой близости считается значение целевой функции. При использовании р обучающих векторов для обучения сети, включающей М выходных нейронов, целевую функ­цию можно определить как: Выходные сигналы нейрона уi являются функциями весов сети wij значения которых уточняются в процессе обучения по критерию минимизации целевой функции. Расположенные на одном уровне нейроны функционируют независимо друг от друга, поэтому возможности такой сети ограничиваются свойствами отдельных нейронов. Веса нейронов образуют определенное пространство решений. Выходной сигнал уi при фиксированных значениях весов зависит от расположения входного вектора х, который определяет гипер­плоскость, разделяющую многомерное пространство на два подпространства. Поэтому задача классификации (приписывания значения 0 или 1 выходному сигналу нейрона) может быть решена с помощью единственного нейрона, если она относится к классу задач линейной сепарации (например, с применением логических функций AND или OR). Рис. 2.1 Структура однослойной НС Продемонстрируем ограниченность возможностей однослойных сетей на примере реализации двухвходовой логической функции исключающее или (XOR). Для упрощения будем использовать функцию активации в виде одноступенчатого порога. ​ Проблема функции ИСКЛЮЧАЮЩЕЕ ИЛИ Один из самых пессимистических результатов Минского показывает, что однослойный персептрон не может воспроизвести такую простую функцию, как ИСКЛЮЧАЮЩЕЕ ИЛИ. Это функция от двух аргументов, каждый из которых может быть нулем или единицей. Она принимает значение единицы, когда один из аргументов равен единице (но не оба). Проблему можно проиллюстрировать с помощью однослойной однонейронной системы с двумя входами, показанной на рис. 2.10. Обозначим один вход через х, а другой через у, тогда все их возможные комбинации будут состоять из четырех точек на плоскости х-у, как показано на рис. 2.5. Например, точка х = 0 и у = 0 обозначена на рисунке как точка А. Табл. 2.1 показывает требуемую связь между входами и выходом, где входные комбинации, которые должны давать нулевой выход, помечены А0 и А1, единичный выход – В0 и В1. Рис. 2.10. Однонейронная система В сети на рис. 2.4 функция F является обычным порогом, так что OUT принимает значение ноль, когда NET меньше 0,5, и единица в случае, когда NET больше или равно 0,5. Нейрон выполняет следующее вычисление: NET = xw1 + yw2 (2.1) Никакая комбинация значений двух весов не может дать соотношения между входом и выходом, задаваемого табл. 2.1. Чтобы понять это ограничение, зафиксируем NET на величине порога 0,5. Сеть в этом случае описывается уравнением (2.2). Это уравнение линейно по х и у, т. е. все значения по х и у, удовлетворяющие этому уравнению, будут лежать на некоторой прямой в плоскости х-у. xw1 + yw2 = 0,5 (2.2) Таблица 2.1. Таблица истинности для функции ИСКЛЮЧАЮЩЕЕ ИЛИ Точки Значения х Значения у Требуемый выход A0 B0 1 1 B1 1 1 A1 1 1 Любые входные значения для х и у на этой линии будут давать пороговое значение 0,5 для NET. Входные значения с одной стороны прямой обеспечат значения NET больше порога, следовательно, OUT=1. Входные значения по другую сторону прямой обеспечат значения NET меньше порогового значения, делая OUT равным 0. Изменения значений w1, w2 и порога будут менять наклон и положение прямой. Для того чтобы сеть реализовала функцию ИСКЛЮЧАЮЩЕЕ ИЛИ, заданную табл. 2.1, нужно расположить прямую так, чтобы точки А были с одной стороны прямой, а точки В – с другой. Попытавшись нарисовать такую прямую на рис. 2.11, убеждаемся, что это невозможно. Это означает, что какие бы значения ни приписывались весам и порогу, сеть неспособна воспроизвести соотношение между входом и выходом, требуемое для представления функции ИСКЛЮЧАЮЩЕЕ ИЛИ. Рис. 2.11. Проблема ИСКЛЮЧАЮЩЕЕ ИЛИ Линейная разделимость Как мы видели, невозможно нарисовать прямую линию, разделяющую плоскость х-у так, чтобы реализовывалась функция ИСКЛЮЧАЮЩЕЕ ИЛИ. К сожалению, этот пример не единственный. Имеется обширный класс функций, не реализуемых однослойной сетью. Об этих функциях говорят, что они являются линейно неразделимыми, и они накладывают определенные ограничения на возможности однослойных сетей. Линейная разделимость ограничивает однослойные сети задачами классификации, в которых множества точек (соответствующих входным значениям) могут быть разделены геометрически. Для нашего случая с двумя входами разделитель является прямой линией. В случае трех входов разделение осуществляется плоскостью, рассекающей трехмерное пространство. Для четырех или более входов визуализация невозможна и необходимо мысленно представить n-мерное пространство, рассекаемое «гиперплоскостью» – геометрическим объектом, который рассекает пространство четырех или большего числа измерений. Несмотря на то, что однослойная сеть имеет небольшое практическое значение, ее продолжают использовать там, где для решения поставленной задачи достаточно и одного слоя нейронов. Многослойная НС Многослойная сеть состоит из нейронов, расположенных на разных уровнях, причем, помимо входного и выходного слоев, имеется еще, как минимум, один скрытый слой. На рис. 2.2 представлена многослойная НС. Рис 2.2. Многослойная нейронная сеть Входной слой (input layer) нейронных элементов выполняет рас­пределительные функции. Выходной слой (output layer) нейронов слу­жит для обработки информации от предыдущих слоев и выдачи резуль­татов. Слои нейронных элементов, расположенные между входным и выходным слоями, называются скрытыми (hidden layers). Как и выходной слой, скрытые слои являются обрабаты­вающими. Выход каждого нейронного элемента предыдущего слоя нейронной сети соединен синаптическими связями со всеми входами нейронных элементов следующего слоя. Таким образом, топология многослойной нейронной сети является однородной и регулярной. В качестве функции активации нейронных элементов обычно используется гиперболический тангенс или сигмоидная функция. Пусть W(i) - матрица весовых коэффициентов i-го слоя многослойной сети. Тогда для нейронной сети с двумя скрытыми слоями выходные значения где Х = (х1,х2,...,хn)- вектор-строка входных сигналов; F- оператор нелинейного преобразования. Общее число синаптических связей многослойной нейронной сети где р - общее количество слоев нейронной сети; k(i) - количество нейронных элементов в i-м слое. Число слоев в многослойной нейронной сети характеризует, ка­ким образом входное пространство может быть разбито на подпро­странства меньшей размерности. Так, двухслойная нейронная сеть с одним слоем нелинейных нейронов разбивает входное пространство образов на классы при помощи гиперплоскости. Трехслойная нейронная сеть, где в качестве двух последних слоев используются нейронные элементы с нелинейной функцией активации, позволяет формировать любые выпуклые области в пространстве решений [37, 38]. Четырехслойная нейронная сеть, которая имеет три нелинейных слоя, дает возможность получать об­ласть решений любой формы и слож­ности, в том числе и невыпуклой. Рекуррентные (Recurrent networks) [48-52] и рециркуляционные (Recirculation networks) нейронные сеги [45, 53-61] характеризуются как прямым (feed forward) так и обратным (feed back) распространением информации. При этом обратное распространение информации осуществляется по-разному для таких нейронных сетей. В рециркуляцион­ных нейронных сетях распространение информации происходит по двунаправленным свя­зям, которые имеют в различных направлениях разные весовые коэффициенты. При об­ратном распространении сигналов в таких сетях осуществляется их преобразование с це­лью восстановления входного образа. При прямом распространении сигналов происходит сжатие входных данных. В результате осуществляется рециркуляция информации. Обу­чение рециркуляционных нейронных сетей производится без учителя. Рекуррентные ней­ронные сети характеризуются обучением с учителем и обратными связями, по которым передаются результаты обработки сетью данных на предыдущем этапе. В результате этого входом рекуррентной нейронной сети в каждый фиксированный момент времени является вектор входных данных и результаты обработки информации сетью на предыдущем этапе. Обучение таких сетей базируется на алгоритме обратного распространения ошибки. Это дало повод, несмотря на различия между рекуррентными и рециркуляционными нейрон­ными сетями, отнести их к одному классу. Рекуррентные нейронные сети Рекуррентными нейронными сетями называются такие сети, в ко­торых выходы нейронных элементов последующих слоев имеют синаптические соединения с нейронами предшествующих слоев. Это приво­дит к возможности учета результатов преобразования нейронной сетью информации на предыдущем этапе для обработки входного вектора на следующем этапе функционирования сети. Рекуррентные сети могут использоваться для решения задач прогнозирования и управления. Архитектура рекуррентных сетей Существуют различные варианты архитектур рекуррентных ней­ронных сетей. Сеть Джордана: В 1986 г. Джордан (Jordan) предложил рекур­рентную сеть (рис.2.3), в которой Выходы нейронных элементов по­следнего слоя соединены посредством специальных входных нейронов с нейронами промежуточного слоя. Такие входные нейронные эле­менты называются контекстными нейронами (context units). Они рас­пределяют выходные данные нейронной сети на нейронные элементы промежуточного слоя. Рис. 2.3. Архитектура рекуррентной ней­ронной сети с обратными связями от нейро­нов выходного слоя. Число контекстных нейронов равняется числу выходных ней­ронных элементов рекуррентной сети. В качестве выходного слоя та­ких сетей используются нейронные элементы с линейной функцией активации. Тогда выходное значение j-го нейронного элемента последнего слоя определяется по формуле где vij - весовой коэффи­циент между i-м нейроном промежуточного и j-м ней­роном выходного слоев; Pi(t)- выходное значение i-го нейрона промежуточ­ного слоя; tj- пороговое значение j-го нейрона вы­ходного слоя. Взвешенная сумма i-ro нейронного элемента промежуточного слоя определяется следующим образом: где wij - весовой коэффициент между j-м нейроном входного и i-м нейроном промежуточного слоев; р - число нейронов выходного слоя; wki— весовой коэффициент между k-м контекстным нейроном и i-м нейроном промежуточного слоя; T - пороговое значение i-го нейрона промежуточного слоя; n - размерность входно­го вектора. Тогда выходное значение i-го нейрона скрытого слоя В качестве функции не­линейного преобразования F обычно используется гипер­болический тангенс или сигмоидная функция. Другой вариант рекур­рентной нейронной сети предложил Элман (Elman) Сеть Элмана: В1990 году. В такой сети выходы нейронных элементов промежуточного слоя соеди­няются с контекстными нейро­нами входного слоя (рис.2.4). Рис. 2.4. Архитектура рекуррентной сети с обратными связями от нейронов скры­того слоя Тогда взвешенная сумма i-го нейронного элемента про­межуточного слоя где т - число нейронов про­межуточного слоя; pk (t-1) - выходное значение k-го нейро­на промежуточного слоя. Для построения рекуррентных нейронных сетей можно исполь­зовать также два приведенных выше подхода. В этом случае су­ществуют обратные связи к контекстным нейронам, как от нейронных элементов выходного, так и промежуточного слоев (рис.2.5). Рис. 2.5. Архитектура рекуррентной сети с обратными связями от нейронов скрытого и выходного слоев Число контекстных нейронов входного слоя равняется общему числу нейронов промежуточного и выходного слоев. Тогда где р - число нейронов выходного слоя. Для обучения рекуррентных нейронных сетей применяется алго­ритм обратного распространения ошибки. Алгоритм обучения рекуррентной нейронной сети в общем слу­чае состоит из следующих шагов: 1. В начальный момент времени t = 1 все контекстные нейроны устанавливаются в нулевое состояние - выходные значения прирав­ниваются нулю. 2. Входной образ подается на сеть и происходит прямое распро­странение его в нейронной сети. 3. В соответствии с алгоритмом обратного распространения ошибки модифицируются весовые коэффициенты и пороговые значе­ния нейронных элементов. 4. Устанавливается t = t +1l и осуществляется переход к шагу 2. Обучение рекуррентной сети производится до тех пор, пока сум­марная среднеквадратичная ошибка сети не станет меньше заданной. Рециркуляционные нейронные сети Рециркуляционные сети характеризуются как прямым Y = f(X), так и обратным X = f(У) преобразованием информации. Задача тако­го преобразования - достижение наилучшего автопрогноза или само­воспроизводимости вектора X. Рециркуляционные нейронные сети применяются для сжатия (прямое преобразование) и восстановления исходной (обратное преобразование) информации. Такие сети явля­ются самоорганизующимися в процессе работы, где обучение произ­водится без учителя. Теоретической основой рециркуляционных нейронных сетей служит анализ главных компонент (principial component analysis). Архитектура рециркуляционной нейронной сети Рециркуляционная нейронная сеть представляет собой совокупность двух слоев нейронных элементов, которые соединены между собой двунаправленными связями (рис.2.6). Рис. 2.6. Архитектура рециркуляцион­ной нейронной сети Каждый из слоев нейрон­ных элементов может использо­ваться в качестве входного или выходного. Если слой нейрон­ных элементов служит в качест­ве входного, то он выполняет распределительные функции. Иначе нейронные элементы слоя являются обрабатывающи­ми. Весовые коэффициенты, соответствующие прямым и обратным связям, характери­зуются матрицей весовых коэффициентов W и W'. Для наглядности рециркуляционную сеть можно представить в развер­нутом виде, как показано на рис.2.7. Такое представление сети является эквивалентным и характеризует полный цикл преобразования информации. При этом промежуточный слой нейронных элементов производит кодирование (сжатие) входных данных X, а последний слой - восстановление сжатой информации Y. Слой нейронной сети, соответствующий матрице связи W, назовем пря­мым, а соответствующий матрице связей W' - обратным. Рис. 2.7. Эквивалентное представление ре­циркуляционной сети Сжатие данных осуществляется при прямом преобразовании информации в соответствии с выражением Y = F(WTX). Восстановление или реконструкция данных происходит при об­ратном преобразовании информации: X = F(W'Y) В качестве функции активации нейронных элементов F может использоваться как линейная, так и нелинейная функции. При исполь­зовании линейной функции активации Y = WTX; X = W'Y. Наилучший автопрогноз достигается тогда, когда матрица весовых коэффициентов сформиро­вана в соответствии с методом главных компонент. Линейные рециркуляционные сети, в которых весовые коэффи­циенты определяются в соответствии с методом главных компонент, называются РСА-сетями. РЕЛАКСАЦИОННЫЕ НЕЙРОННЫЕ СЕТИ Релаксационные нейронные сети характеризуются прямым и обратным распро­странением информации между слоями нейронной сети. В основе функционирования лежит итеративный принцип работы. На каждой итерации процесса происходит обработка данных, полученных на предыдущем шаге. Такая циркуляция информации продолжается до тех пор, пока не установится состоя­ние равновесия. При этом состояния нейронных элементов перестают изменяться и ха­рактеризуются стационарными значениями. Для анализа устойчивости релаксационных нейронных сетей используются функции Ляпунова. Такие сети применяются в качестве ассоциативной памяти и для решения комбинаторных задач оптимизации. К релаксаци­онным относятся нейронные сети Хопфилда, Хэмминга, двунаправлен­ная ассоциативная память и машина Больцмана. Нейронные сети Хопфилда Нейронная сеть Хопфилда реализует существенное свойст­во автоассоциативной памяти - восстановление по искаженному (зашумленному) образу ближайшего к нему эталонного. Входной вектор используется как начальное состояние се­ти, и далее сеть эволюционирует согласно своей динамике. При­чем любой пример, находящийся в области притяжения хранимого образца, может быть использован как указатель для его восста­новления. Выходной (восстановленный) образец устанавливается, когда сеть достигает равновесия. Обучение сети Хопфилда производится по правилу Хебба, методу проекций и D - проекций. Структура сети Хопфилда (рис 2.8) состо­ит из одного слоя нейронов, число которых определяет число вхо­дов и выходов сети. Выход каждого нейрона соединен с входами всех остальных нейронов. Выходные сигналы нейронов являются одновременно входными сигналами сети: Xi(k)=Yi(k-1) Основные зависимости, определяющие сеть Хопфилда, можно представить в виде с начальным условием yi(0) = xj. В процессе функционирования сети Хопфилда можно выделить два режима: обучения и классификации. В режиме обучения на основе известных обучающих выборок х подбираются весовые коэффициенты wij. В режиме классификации при зафиксированных зна­чениях весов и вводе конкретного начального состояния нейронов у(0) = х возникает переходный процесс, протекающий в соответствии с выраже­нием (Формула выше) и завершающийся в одном из локальных минимумов, для которого y(k)=y(k-l). Для безошибочной работы сети Хопфилда число запоми­наемых эталонов N не должно превышать 0,15n(n-число нейронов). Рис. 2.8. Структура нейронной сети Хопфилда Проблема устойчивости сети Хопфилда была решена после того, как Кохеном и Гроссбергом была доказана теорема, опреде­ляющая достаточное условие устойчивости сетей с обратными связями, а именно, сеть с обратными связями является устойчивой, если матрица ее весов симметрична (Wij = Wji) и имеет нули на главной диагонали (Wii = 0). Динамическое изменение состояний сети может быть вы­полнено, двумя способами: синхронно и асин­хронно. В первом случае все элементы модифицируются одно­временно на каждом временном шаге, во втором - в каждый мо­мент времени выбирается и подвергается обработке один эле­мент. Этот элемент может выбираться случайно. Параллельная динамика характеризуется синхронным функ­ционированием нейронных элементов сети. При этом за один такт ра­боты сети все нейроны одновременно изменяют свое состояние: где i = l,n. Последовательная динамика характеризуется асинхронным про­цессом работы нейронной сети. В этом случае за один такт работы ней­ронной сети изменяется состояние только одного нейронного элемента: Нейронная сеть Хэмминга Нейронная сеть Хэмминга была предложена в 1987 г. Р.Липпманом. Она представляет собой релак­сационную многослойную сеть с обратными связями между отдель­ными слоями. Сеть Хэмминга применяется в качестве ассоциативной памяти. При распознавании образов она использует в качестве меры близости расстояние Хэмминга, между тестовым вектором, подаваемым на вход сети, и векторами обучающих выборок, закодированными в структуре сети. Весовые коэффициенты и пороги се­ти Хэмминга определяются из условия задачи, поэтому такая сеть яв­ляется нейронной сетью с фиксированными связями. Архитектура сети Сеть Хэмминга является трехслойной сетью, состоящей из различных классов нейронных сетей: сети с пря­мыми связями, сети Хопфилда и слоя выходных нейронов (рис.2.9). Рис.2.9. Архитектура нейронной сети Хэмминга Сеть с прямы­ми связями состоит из п входных рас­пределительных и т выходных ней­ронных элементов. Она вычисляет меру подобия между входным и эталонными образами, хранящимися в ней. В качестве меры подобия используется число одинаковых разрядов между входным и эталонным образом. Тогда выходное значение i-гo нейрона второго слоя представляет собой меру подо­бия Р, между входным и i-м эталонным образом: Pi=n-di, где d, — расстояние Хэмминга между входным и i-м эталонным паттерном. В процессе функционирования сети можно выделить три фазы. В первой на ее вход подается N-элементный вектор X. После предъявления этого вектора на выходах нейронов первого слоя генерируются сигналы, задающие начальные состояния нейронов второго слоя. Во второй фазе инициировавшие слой Хопфилда сигналы удаляются, и из сформированного ими начального состояния запускается итерационный процесс внутри этого слоя. Итерационный процесс завершается в момент, когда все нейроны, кроме одного (победителя с выходным сигналом, равным 1), перейдут в нулевое состояние. Нейрон-победитель с ненулевым выходным сигналом становится представителем класса данных, к которому принадлежит входной вектор. В третьей фазе этот же нейрон посредством весов, связывающих его с нейронами выходного слоя, формирует на выходе сети реакцию в виде вектора у, соответствующий возбуждающему вектору х. Сеть Хопфилда используется для разрешения возникающих конфликтов, когда входной паттерн является подобным нескольким эталонным образам, хранящимся в сети. При этом на выходе сети ос­тается активным только один нейрон-победитель. Если их несколько, то выбор одного из них происходит случайным образом. Выходной слой нейронной сети состоит из m нейронов, каждый из которых имеет пороговую функцию активации. Если входной образ не совпадает с эталонным, то на выходе сети Хэмминга будет формироваться такой эталонный паттерн, который имеет минимальное расстояние Хэмминга по от­ношению к выходному образу. ЛЕКЦИЯ №3 В процессе функционирования нейронная сеть формирует выходной сигнал У в соответствии с входным сигналом X, реали­зуя некоторую функцию g: Y = g(Х). Если архитектура сети задана, то вид функции g определяется значениями синаптических весов и смещений сети. Обозначим через G множество всех возможных функций g, соответствующих заданной архитектуре сети. Пусть решение некоторой задачи есть функция r. Y = r(Х), заданная парами входных-выходных данных (X1, У1), ..., (Уk, Уk), для которых Уk= r(Xk), k= 1...N. Е- функция ошибки (функционал качества), показывающая для каждой из функций g степень близо­сти к r. Обучить нейронную сеть заданной архитектуры - это значит построить (синтезировать) функцию g € G, подобрав параметры нейронов (синаптические веса и смещения) таким образом, чтобы функционал качества об­ращался в оптимум для всех пар (Xk, Уk). Функция Е может иметь произвольный вид. Если выбраны множество обучающих примеров и способ вычисления функции ошибки, обучение нейронной сети превращается в задачу много­мерной оптимизации, для решения которой могут быть использо­ваны следующие методы: • локальной оптимизации с вычислением частных произ­водных первого порядка; • локальной оптимизации с вычислением частных произ­водных первого и второго порядка; • стохастической оптимизации; • глобальной оптимизации. К первой группе относятся: градиентный метод (наискорей­шего спуска); методы с одномерной и двумерной оптимизацией целевой функции в направлении антиградиента; метод сопряжен­ных градиентов; методы, учитывающие направление антиградиен­та на нескольких шагах алгоритма. Ко второй группе относятся: метод Ньютона, методы опти­мизации с разреженными матрицами Гессе, квазиньютоновские методы, метод Гаусса-Ньютона, метод Левенберга-Маркардта. Стохастическими методами являются: поиск в случайном направлении, имитация отжига, метод Монте-Карло (численный метод статистических испытаний). Задачи глобальной оптимизации решаются с помощью пе­ребора значений переменных, от которых зависит целевая функ­ция. Для сравнения методов обучения нейронных сетей необхо­димо использовать два критерия: • количество шагов алгоритма для получения решения; • количество дополнительных переменных для организа­ции вычислительного процесса. Обучение персептрона Первое систематическое изучение искусственных нейронных сетей было предпринято Маккалокком и Питтсом в 1943 г. [I]. Позднее в работе [3] они исследовали сетевые парадигмы для распознавания изображений, подвергаемых сдвигам и поворотам. Простая нейронная модель, показанная на рис. 2.1, использовалась в большей части их работы. Рис. 2.1. Персептронный нейрон Простая нейронная модель, показанная на рис. 2.1, использовалась в большей части их работы. Элемент Σ умножает каждый вход х на вес w и суммирует взвешенные входы. Если эта сумма больше заданного порогового значения, выход равен единице, в противном случае – нулю. Эти системы (и множество им подобных) получили название персептронов. Они состоят из одного слоя искусственных нейронов, соединенных с помощью весовых коэффициентов с множеством входов (см. рис. 2.2), хотя в принципе описываются и более сложные системы. Персептрон обучают, подавая множество образов по одному на его вход и подстраивая веса до тех пор, пока для всех образов не будет достигнут требуемый выход. Алгоритм обучения может быть представлен следующим образом: 1. Подать входной образ и вычислить Y. 2 а. Если выход правильный, то перейти на шаг 1; б. Если выход неправильный и равен нулю, то добавить все входы к соответствующим им весам; или в. Если выход неправильный и равен единице, то вычесть каждый вход из соответствующего ему веса. 3. Перейти на шаг 1. За конечное число шагов сеть научится разделять входные вектора на два класса при условии, что множество цифр линейно разделимо. Это значит, что для одних образов выход будет больше порога, а для других – меньше. Отметим, что это обучение глобально, т. е. сеть обучается на всем множестве образов. Возникает вопрос о том, как это множество должно предъявляться, чтобы минимизировать время обучения. Должны ли элементы множества предъявляться последовательно друг за другом или их следует выбирать случайно? Дельта-правило Важное обобщение алгоритма обучения персептрона, называемое дельта-правилом, переносит этот метод на непрерывные входы и выходы. Шаг 2 алгоритма обучения персептрона может быть сформулирован в обобщенной форме с помощью введения величины δ, которая равна разности между требуемым или целевым выходом T и реальным выходом Y δ = (T - Y). (2.3) Случай, когда δ=0, соответствует шагу 2а, когда выход правилен и в сети ничего не изменяется. Шаг 2б соответствует случаю δ > 0, а шаг 2в случаю δ < 0. В любом из этих случаев персептронный алгоритм обучения сохраняется, если δ умножается на величину каждого входа хi и это произведение добавляется к соответствующему весу. С целью обобщения вводится коэффициент «скорости обучения» η), который умножается на δхi, что позволяет управлять средней величиной изменения весов. В алгебраической форме записи Δi = ηδxi, (2.4) w(n+1) = w(n) + Δi, (2.5) где Δi – коррекция, связанная с i-м входом хi; wi(n+1) – значение веса i после коррекции; wi{n) -значение веса i до коррекции. Дельта-правило модифицирует веса в соответствии с требуемым и действительным значениями выхода каждой полярности как для непрерывных, так и для бинарных входов и выходов. Эти свойства открыли множество новых приложений. Обучение без учителя Правило обучения Хебба.(+Кохонена) Согласно этому правилу, обучение происходит в результате усиления силы связи (синаптического веса) между одновременно активными нейронами. Исхо­дя из этого, часто используемые в сети связи усиливаются, что объясня­ет феномен обучения путем повторения и привыкания. Пусть имеются два нейронных элемента i и j, между которыми существует сила связи, равная wij (рис. 3.1): Рис. 3.1 Взаимосвязь двух нейронов Тогда правило обучения Хебба можно записать следующим образом: wij (t + 1) = wij (t) + xiyj где t - время; х, и у,- - соответственно выходное значение i-го и j-го нейронов. В начальный момент времени предполагается, что wij (t=0)=0, для всех i и j. Рассмотрим применение пра­вила Хебба для простейшей ней­ронной сети, состоящей из двух входных и одного выходного ней­ронов (см.рис. 3.2). В такой сети по­рог выходного нейронного элемен­та является скрытым в этом эле­менте. При операциях с нейронны­ми сетями порог нейронного элемента можно вынести за его пределы и изобразить как синаптическую связь (рис. 3.2) с весовым коэффициентом, равным значению Т . Рис. 3.2. Представление порогового значения в виде синаптической связи Так как входное значение, подаваемое на дополнительный ней­рон, равняется -1, то взвешенная сумма S=w11x1+w21x2-T Обучение ней­ронной сети происходит путем настройки весовых коэффициентов и порогов нейронных элементов. Поэтому рассмотренное выше преоб­разование позволяет настраивать весовые коэффициенты и пороги се­ти как единое целое. Правило Хебба для нейронной сети, изображенной на рис. 3.2, можно представить в виде выражений w11 (t + 1) = w11 (t) + x1y1 w21 (t + 1) = w21 (t) + x2y1 T(t+1)=T(t)-y1 Аналогичным образом правило Хебба записывается для нейрон­ной сети большей размерности. Рассмотрим матричную формулировку правила Хебба. Пусть L -число входных образов, подаваемых на нейронную сеть, n - размер­ность одного образа. Тогда совокупность входных образов можно представить в виде матрицы где соответствует L -му входному образу. Весовые коэффициенты нейронной сети, можно также предста­вить в виде матрицы. Тогда матрица взвешенной суммы S = XW а матрица выходных значений нейронной сети Y = F(S) Правило Хебба в матричной форме можно представить в сле­дующем виде: W = XTY. Правило Хебба может использоваться как при обучении с учите­лем, так и без него. Если в качестве выходных значений у нейронной сети используются эталонные значения, то это правило будет соответ­ствовать обучению с учителем. При использовании в качестве y ре­альных значений, которые получаются при подаче на вход сети вход­ных образов, правило Хебба соответствует обучению без учителя. В последнем случае весовые коэффициенты нейронной сети в начальный момент времени инициализируются случайным образом. Обучение с использованием правила Хебба заканчивается после пода­чи всех имеющихся входных образов на нейронную сеть. В общем случае правило Хебба не гарантирует сходимости процедуры обучения нейронной сети. Дельта-правило где xi – выход предыдущего i-ого нейрона, желаемая и имеющаяся реакции j-ого нейрона соответственно, коэффициент, влияющий на скорость обучения. Расширенное дельта-правило где – производная активационной функции, используемая в j-м нейроне; индекс j используется для обозначения всех нейронов последующих слоев, связанных с нейроном Лекция №4 Метод обратного распространения сигнала ошибки Алгоритм обратного распространения (backpropagation algorithm) представляет собой расширение концепции персептрона или АДАЛИНА [15] на многослойные нейронные сети. В алгоритме обратного распространения используется не менее трех слоев обрабатывающих элементов (нейронов). Архитектура типичной нейронной сети для алгоритма обратного распространения показана на рисунке 2.2.1. Левый слой элементов – это входной слой, на который подаются входные данные. Правый слой – выходной. Слои на рисунке 2.2.1 являются полностью взаимосвязанными; это значит, что каждый обрабатывающий элемент связан с каждым элементом в предыдущем и следующих слоях. При этом элементы не связаны с другими элементами того же слоя. Следует обратить внимание на то, что сети обратного распространения не обязательно являются полностью связанными, а количество скрытых слоев может быть любым. Обозначения Для простоты будем рассматривать трехслойные нейронные сети, аналогичной показанной на рис. 2.2.1, где Ok, Oj и Oi - выходные величины выходного, скрытого и входного слоев соответственно. Вес связи между j-м элементом скрытого слоя и k-м элементом выходного слоя будем обозначать как Wkj. Аналогично вес связи между i-м элементом входного слоя и j-м элементом скрытого слоя будем обозначать как Wji. Таким образом, на выходном слое Ok = f(netk), (2.2.1) netk = ∑ wkj Oj + θk, (2.2.2) i а на скрытом слое Oj = f(netj), (2.2.3) netj = ∑ wji Oi + θj, (2.2.4) i где f(x) = , (2.2.5) Рис. 2.2.1. Многослойный персептрон Процедура обучения включает представление набора пар входных и выходных образов. Сначала нейронная сеть на основе входного образа создает собственный выходной образ, а затем сравнивает его с желаемым (целевым) выходным образом. Если различий между фактическим и целевым образом нет, то обучение не происходит. В противном случае веса связей изменяются таким образом, чтобы различие уменьшилось. Мерой различия, используемой в рассматриваемом примере, является функция квадрата ошибки Е, задаваемая следующим образом: E = ∑ Ep, (2.2.6) i Ep = ∑ (τpk – Opk ), (2.2.7) k где – τpk желаемый выход для k-й компоненты р-го выходного образа и Оpk – соответствующий фактический выход. Таким образом, Ер – мера ошибки вход/выход для р-го образа, а Е – общая мера ошибки. Вывод алгоритма обратного распространения Вывод строится на основе одного из градиентных методов, например метода наискорейшего спуска. Здесь показан процесс адаптации весов связей между слоями в многослойной нейронной сети. Зададим сначала функцию ошибки и критерий адаптации весов, пропорциональный отношению производной меры ошибки к каждому из весов. Получим сначала алгоритм обратного распространения для конкретного образа р, т.е. найдём минимизирующую последовательность ЕР. Для простоты будем опускать индекс p. Тогда Ep = ∑ (τk – Ok )2 (2.2.8) k Правило для выходного слоя В соответствии с методом наискорейшего спуска Δ wkj = - , где Δ wkj - необходимое изменение веса связи wkj, т.е. Δ wkj = wkj (new) - wkj (old). (2.2.9) Такое изменение показано на рис. 2.2.2. Следует обратить внимание, что метод наискорейшего спуска может сходиться к локальному минимуму, как показано на рис. 2.2.3. Поэтому возьмем Δ wkj = - η , η > 0, (2.2.10) где η - скорость обучения. Введём величину обобщения сигнала ошибки δk, задаваемую выражением δk = - . (2.2.11) Затем, используя известное цепное правило, получим: = = - δk . (2.2.12) Это означает, что выражение может быть представлено как произведение двух членов. Один из них представляет собой изменение ошибки в зависимости от изменения входного сигнала, а второй- влияние конкретного веса связи на входной сигнал сети. Из выражения (2.2.2) получим: = = Рис. 2.2.2 Принцип работы метода наискорейшего пуска Откуда wkj = η δk . (2.2.13) Для вычисления множителя dk применим цепное правило. Используя его, получим: δk = - = - . (2.2.14) Таким образом, выражение δk представляет собой произведение двух членов. Первый из них отражает изменение ошибки по отношению к выходу элемента, а второй – изменение выхода по отношению к изменению входа сети. Из уравнения (2.2.8) получим: = - (τk - ) , (2.2.15) а из выражения (2.2.1) = () , (2.2.16) где () - производная от f() по . из выражения (2.2.5) получим: () = = (1 - ) = f(x)(1-f(x)) , (2.2.17) откуда = (1 - ). (2.2.18) Таким образом, имеем: Δ wkj = ηδk , (2.2.19) δk = (1 - )( (τk - )). Правило для скрытого слоя Как показано в предыдущем разделе, правило изменения весов связей для скрытого слоя в соответствии с методом наискорейшего спуска имеет вид: Δ wji = - η , (2.2.20) Используя цепное правило, как и раньше, получим: = , (2.2.21) Зададим множитель δj следующей формулой: δj = . (2.2.22) Из уравнения (2.2.4) получим: = Oi ., и, таким образом, Δ wji = ηδj. (2.2.23) Используя цепное правило, получим: δj = = -∑. (2.2.24) i Заметим, что изменение величины netj влияет на все выходы Оk, поэтому в приведённом выше цепном правиле требуется суммирование по k. Используя выражения (2.2.11), (2.2.2), (2.2.3) и (2.2.5), получим δj = ∑ δk wkj (netj) = (1 - ) ∑ δk wkj . (2.2.25) k k Таким образом, получаем следующий алгоритм изменения весов связей: Δ wkj = ηδk , (2.2.26) Δ wji = ηδj , (2.2.27) δk = (1 - )( (τk - )) , (2.2.28) δj = (1 - ) ∑ δk wkj . (2.2.29) k Чтобы повысить скорость обучения, не вызывая при этом колебаний в выходном сигнале, изменим уравнения (2.2.6) и (2.2.7), включив в них момент времени. Это можно сделать по следующему правилу: Δ wkj (t+1) = ηδk + α Δ wkj (t) , (2.2.30) Δ wj i (t+1) = ηδj + α Δ wji (t) . (2.2.31) где t- время представления, h- скорость обучения, a- константа, определяющая влияние предыдущего изменения весов на текущее направление движения в пространстве весов связей. Рассматривая эти выражения с выражениями: =∑ или =∑ , (2.2.32) p p приходим к выводу, что изменение весов связей после одного полного цикла предъявления образов пропорционально вышеприведённой производной. Это означает, что алгоритм обратного распространения, действительно, обеспечивает наискорейшее уменьшение величины Е. Конечно, данный вывод является строгим только при условии, что величины весов связей не изменяются во время цикла. Алгоритмы обратного распространения: порядок реализации Алгоритм обратного распространения может быть предъявлен в виде следующих шагов: Шаг 1. Присвоить начальные значения величинам Wji , Wkj , θk, θj, η и α Шаг 2. Подать не нейронную сеть входной сигнал. Задать соответствующий ему желаемый выход τk, вычислить Ok, Oj и δk по формуле: δk = (1 - )( (τk - )). (2.2.33) Шаг 3. Изменить веса связей на величину: Δ wkj (t+1) = ηδk + α Δ wkj (t). (2.2.34) Шаг 4. Вычислить δj по формуле: δj = (1 - ) ∑ δk wkj . (2.2.35) k Шаг 5. Изменить веса связей на величину: Δ wj i (t+1) = ηδj + α Δ wji (t) (2.2.36) Шаг 6. Положить t→t+1 и перейти к шагу 2. Обсуждение алгоритма обратного распространения Алгоритм обратного распространения, полученный на ос­нове градиентного метода наискорейшего спуска, предназна­чен для поиска минимума ошибки, что приводит, однако, к поиску локального минимума или точки перегиба (плато), как показано на рис. 2.2.3. В идеальном случае должен отыски­ваться глобальный минимум, представляющий собой нижнюю точку на всей области определения. Так как локальный мини­мум окружен более высокими точками, стандартный алгоритм обратного распространения обычно не пропускает локальных минимумов. Вид локального минимума не всегда представляет суще­ственный интерес. Можно ожидать, что в ходе обучения в со­ответствии с алгоритмом обратного распространения ошибка сети будет сходиться к приемлемому значению, если обучаю­щие образцы четко различимы. Чтобы избежать «ловушек" па локальных минимумах, можно изменять параметры обуче­ния, количество скрытых слоев, начальные значения весов связей. Обычно эти методы разрабатываются так, чтобы по­пытаться изменить сценарий перемещения по участку, содер­жащему локальные минимумы и максимумы. Для поиска дос­таточно приемлемых значений параметров алгоритма обрат­ного распространения в последнее время используется генети­ческий алгоритм. Для вывода алгоритма обратного распространения, пред­ставленного в разделе 2.2.2, использована сигмоидная функ­ция (2.2.5). Могут использоваться и другие функции актива­ции. Если, например, использовать функцию вида: f(x) = , (2.2.37) то получим f’(x) = f(x) (1 - f(x)). Таким образом, потребовалось только заменить выражения, δk и δj Таким образом, потребовалось только заменить выражения, полученные по формулам (2.2.33) н (2.2.35), на выражения и соответственно. Если выбрать меньшее значение Т, то δk и δj увеличатся, и в результате скорость изменения весов связей также увеличится. Однако если выбрать большее значение Т, то δk и δj уменьшится, и в результате скорость изме­нения весов связей также уменьшится. Таким образом, изме­няя величину Т в процессе обучения, можно управлять скоростью сходимости алгоритма обратного распространения. Следует отметить, что в практической ситуации обучения, когда желаемые выходы являются бинарными (т.е. представ­ляют собой значения из множества {0,1}), система достигает этих значений выхода только при условии, что отношение х/Т стремится к бесконечности. Таким образом, если выбрать мень­шее значение Т, то сходимость выхода сети будет иметь тенденцию к ускорению. Рис.2.2.3 Локальный минимум в алгоритме обратного распространения При Т = 1 производные Ok(l-Ok) и Oj(l-Oj) достигают максимальных значений при Ok = Oj = 0.5. В связи с тем, что 0 ≤ Ok, Oj ≤ 1, минимумы производных дости­гаются при приближении этих величии к нулевому или еди­ничному значениям. Так как величина изменения конкретно­го веса связи пропорциональна производной, эти веса будут изменяться в основном для этих значений. Другое свойство функции активации состоит в том, что ней­ронная сеть не может достигать предельных значений 0 и 1, если веса связей не являются бесконечно большими. Таким образом, в практической ситуации обучения, когда желаемые выходы являются бинарными ({0,1}), нейронная сеть никогда не достигнет этих значений. Поэтому в качестве желаемых ве­личин можно рассматривать 0,1 и 0,9, даже если в действи­тельности желаемыми величинами являются 0 и 1. Скорость обучения h — это константа, представляющая со­бой коэффициент пропорциональности между изменением веса связи и градиентом ошибки Е относительно веса. Чем больше данная константа, тем больше изменения в весах связей. Обыч­но скорость обучения выбирается как можно большей, но та­кой, чтобы не возникало осцилляции. Так как для исключе­ния осцилляции в формулы был введен момент времени, тре­буется выбрать подходящее значение α. Введение момента вре­мени «отфильтровывает» высокочастотные изменения поверхности ошибки в пространстве весов связей. Это полезно в случаях, когда пространство весов связей содержит длинные овраги с острыми искривлениями. В связи с тем, что такое ис­кривление вызывает резкие расходящиеся колебания в доли­не, необходимо выбирать небольшой размер шага, для чего требуется небольшая скорость обучения. В книге Румельхарта (Rumelhart) и др. рекомендуется использовать величи­ну α, приблизительно равную 0,9. Другой проблемой является выбор количества скрытых уз­лов или скрытых слоев. Из регрессионного анализа известно, что если выбрать достаточно много видов описывающих переменных, то ошибка предсказания окажется небольшой. Пусть, например, для оценки линейной регрессии yk = a0 + a1x1k +… apxpk + ep, где k = 1.2.....N, выбрано р видов описывающих переменных X1, X2,..Xp и одна целевая переменная у. Если выбрать N=p, то ошибки предсказания ек (к = 1, 2...р) могут быть равными нулю. Может показаться, что с помо­щью уравнения регрессии можно достичь точного предсказа­ния. На практике это невозможно, так как N должно быть больше р. Поэтому необходимо отметить, что минимизация квадрата ошибки, достигаемая за счет увеличения количества нейронов, не означает построения хорошей нейронной сети. Если использовать большое количество нейронов, то нейрон­ная сеть может с высокой точностью обучаться на «зашумленных» данных. В этом случае следует выбрать нейронную сеть Рис. 2.2.4. Явление избыточного подбора меньшего размера, даже если ошибка при этом оказывается не такой малой, как показано на рис. 2.2.4. На этом рисунке Ê представляет кривую ошибки, полученную при точном обуче­нии на наблюдаемых данных, а Е° - кривую ошибки, обеспе­чивающую наименьшую ошибку предсказания для невидимых данных. Это явление называется проблемой избыточного под­бора. Для ее решения предложено несколько методов, кото­рые позволяют уменьшить размер нейронной сети. Недостатки алгоритма обратного распростране­ния ошибки 1. Блокировка сети – когда значение активационной функции равно единице. В этом случае для придания процессу коррекции весов некоторой инерционности, сглаживающей резкие скачки при перемещении по поверхности целевой функции, в формулу коррекции веса вводится коэффициент инерционности – α, позволяющий корректировать приращение веса на предыдущей итерации. Введение инерционности позволяет преодолевать мелкие локальные минимумы. 2. Медленная сходимость процесса обучения. Сходимость ВР доказана для изменения весов с использованием бесконечно малых шагов. Отсюда следует: а) бесконечно малые шаги дают бесконечно большое время обучения; б) при конечных шагах сходимость алгоритма обучения не гарантируется. К выбору шага: так как к моменту выбора шага для следующей итерации градиент ошибки в методе ВР уже вычислен, то можно интерпретировать функцию ошибки как функцию шага E(h) => 1) сделать пробный шаг h, полученный на предыдущем шаге обучения и вычислить E(h). 2) Если E(h) > E(h0), то h=h/4 (наказание), переход к пункту 1. 3) Если E(h) 0, повторить L раз следующие действия: • выбрать новое решение w' из окрестности w; • рассчитать изменение целевой функции Δ = E(w') - E(w); • если Δ <= 0, принять w = w'; в противном случае (при Δ > 0) принять, что w = w' с вероятностью ехр(-Δ /Т) путем генерации случайного числа R из интервала (0,1) с последующим сравнением его со зна­чением ехр(-Δ /Т); если ехр(-Δ /Т) > R, принять новое решение w = w '; в противном случае проигнорировать его. 3. Уменьшить температуру (Т < rТ) с использованием коэффициента уменьшения r, выбираемого из интервала (0,1), и вернуться к п. 2. 4. После снижения температуры до нулевого значения провести обучение сети любым из представленных выше детерминированных методов, вплоть до достижения минимума целевой функции. В описании алгоритма в качестве названия параметра, влияющего на вероятность увеличения значения целевой функции, используется выбран­ный его автором Н. Метрополисом термин "температура", хотя с формальной точки зрения приведенная модель оптимизации является только математической аналогией процесса отжига. Алгоритм имитации отжига выглядит кон­цептуально несложным и логически обоснованным. В действительности приходится решать много фундаментальных проблем, которые влияют на его практическую применимость. Первой следует назвать проблему длительности имитации. Для повышения вероятности достижения глобального минимума длительность отжига (представляемая количеством циклов L, повторяемых при одном и том же значении температуры) должна быть достаточно большой, а коэффициент уменьшения температуры r - низким. Это увели­чивает продолжительность процесса моделирования, что может дискреди­тировать его с позиций практической целесообразности. Возникает проблема конкурентоспособности метода по сравнению, например, с методами локальной оптимизации в связи с возможностью многократного возобновления процесса из различных точек в пространстве параметров. При таком подходе грамотная статистическая обработка позволяет с высокой вероятностью и достаточно быстро локализовать зону глобального минимума и достичь его с применением технологии детерминированной оптимизации. Большое влияние на эффективность метода имитации отжига оказывает выбор таких параметров, как начальная температура Tmах, коэффициент уменьшения температуры г и количество циклов L, выполняемых на каждом температурном уровне. Максимальная температура подбирается по результатам многочисленных предварительных имитационных экспериментов. На их основе строится распределение вероятности стохастических изменений текущего решения при конкретных значениях температуры (зависимость А = f/(T)). В последующем, задаваясь процентным значением допустимости изменений в качестве порогового уровня, из сформированного распределения можно найти искомую начальную температуру. Главной проблемой остается определение порогового уровня, оптимального для каждой реализации процесса имитации отжига. Для отдельных практических задач этот уровень может иметь различные значения, однако общий диапазон остается неизменным. Как правило, начальная температура подбирается так, чтобы обеспечить реализацию порядка 50% последующих случайных изменений решения. Поэтому знание предварительного распределения вероятностей таких изменений позволяет получить приблизительную оценку начальной температуры. Методики выбора как максимального количества циклов L для кон­кретных температурных уровней, так и определение значения коэффи­циента уменьшения температуры r не столь однозначны. При подборе этих параметров приходится учитывать динамику изменения величины целевой функции в зависимости от количества выполненных циклов обучения. Большая часть вычислительных ресурсов расходуется на начальной стадии процесса, когда средняя скорость изменения целевой функции неве­лика и прогресс оптимизации минимален. Это "высокотемпературная" стадия имитационного процесса. Быстрее всего величина целевой функции уменьшается на средней стадии процесса при относительно небольшом количестве приходящихся на нее итераций. Завершающая стадия процесса имеет стабилизационный характер. На ней независимо от количества итераций прогресс оптимизации становится практически незаметным. Такое наблюдение позволяет существенно редуцировать начальную стадию отжига без снижения качества конечного результата. Модификации обычно подвергается количество циклов, выполняемых при высоких температурах, оно сокращается в случае, когда оказался выполненным весь запланированный объем изменений текущего решения. Такой подход позволяет сэкономить до 20% времени. Исключение последней, плоской части характеристической кривой целевой функции также возможно. В соответствии с обычным критерием остановки алгоритма, если при нескольких последовательных снижениях температуры не регистрируется уменьшение величины целевой функции, то процесс останавливается, а наилучшее достигнутое решение считается глобальным минимумом. Дальнейшее уменьшение критерия остановки не рекомендуется, поскольку оно ведет к снижению вероятности достижения глобального минимума. В то же время заметное влияние на конечную стадию процесса оказывают коэффициент понижения температуры r и количество циклов L. Ее длительность удается сократить более частым изменением температуры при уменьшении количества циклов, но при сохранении неизменным общего объема итераций. Еще одна проблема связана с определением длительности моделирования процесса отжига, пропорциональной суммарному количеству итераций. Поскольку отводимое для оптимизации время всегда ограничено, все его можно потратить либо на одну реализацию процесса с соответствующим удлинением циклов, либо сократить длительность всех циклов, а за счет этого выполнить несколько реализаций и принять в качестве результата наилучшее решение. В ходе различных компьютерных экспериментов установлено, что при малом лимите времени лучшие результаты дает единичная реализация. Если же моделирование может быть более длительным, статистически лучшие результаты достигаются при многократной реализации процесса имитации отжига, при больших (близких к 1) значениях коэффициента r. Наибольшее ускорение процесса имитации отжига можно достичь путем замены случайных начальных значений весов w тщательно подобранными значениями с использованием любых доступных способов предварительной обработки исходных данных. В такой ситуации в зависимости от количества оптимизируемых весов и степени оптимальности начальных значений удается добиться даже многократного сокращения времени моделирования. Таким образом, метод имитации отжига оказывается особенно удачным для полимодальных комбинаторных проблем с весьма большим количеством возможных решений, например, для машины Больцмана, в которой каждое состояние системы считается допустимым. При решении наиболее распространенных задач обучения многослойных нейронных сетей наилучшие результаты в общем случае достигаются применением стохастически управляемого метода повторных рестартов совместно с детерминированными алгоритмами, приведенными в предыдущем подразделе. Генетические алгоритмы Идея генетических алгоритмов была предложена Дж. Холландом в 70-х годах XX в., а их интенсивное развитие и практическая реализация для численных оптимизационных расчетов были инициированы Д. Гольдбергом. Эти алгоритмы имитируют процессы наследования свойств живыми организмами и генерируют последовательности новых векторов w, содержащие оптимизированные переменные: w = [w1, w2,...,wn]T. При этом выполняются операции трех видов: селекция, скрещивание и мутация. Отдельные компоненты вектора w могут кодироваться в двоичной системе либо натуральными числами. При двоичном кодировании применяется обычный код, или код Грея. После соответствующего масштабирования отдельные биты представляют конкретные значения параметров, подлежащих оптимизации. Каждому вектору w сопоставляется определенное значение целевой функции. Генетические операции (селекция, скрещивание и мутация) выполняются для подбора таких значений переменных wi вектора w, при которых максимизируется величина функции приспо­собленности (англ.: fitness function). Функция приспособленности F(w) определяется через целевую функцию E(w) путем ее инвертирования (целевая функция минимизируется, а функция приспособленности максимизируется). Например, она может иметь вид: F(w) = -E(w). На начальной стадии выполнения генетического алгоритма инициали­зируется определенная популяция хромосом (векторов w). Она формируется случайным образом, хотя применяются также и самонаводящиеся спо­собы (если их можно определить заранее). Размер популяции, как правило, пропорционален количеству оптимизируемых параметров. Слишком малая популяция хромосом приводит к замыканию в неглубоких локальных минимумах. Слишком большое их количество чрезмерно удлиняет вычислительную процедуру и также может не привести к точке глобального минимума. При случайном выборе векторов w, составляющих исходную популяцию хромосом, они статистически независимы и представляют собой начальное погружение в пространство параметров. Одна часть этих хро­мосом лучше "приспособлена к существованию" (у них большие значения функции соответствия и меньшие - целевой функции), а другая часть хуже. Упорядочение хромосом в популяции, как правило, производится в направлении от лучших к худшим. Хромосомы отбираются (подвергаются селекции) для формирования очередного поколения по значениям функции соответствия. Селекция хромосом для создания нового поколения может основываться на различных принципах. Одним из наиболее распространенных считается принцип элитарности, в соответствии с которым наиболее приспособленные хромосомы сохраняются, а наихудшие отбраковываются и заменяются вновь созданным потомством, полученным в результате скрещивания пар родителей. На этапе скрещивания подбираются такие пары хромосом, потомство которых может быть включено в популяцию путем селекции. В случае турнирной системы случайным образом отбирается несколько хромосом, среди которых определяются наиболее приспособленные (с наименьшим значением целевой функции). Из победителей последовательно проведенных турниров формируются пары для скрещивания. При взвешенно-случайной системе в процессе отбора учитывается информация о текущем значении функции приспособленности. Отбор может происходить по принципу "рулетки", при этом площадь сегмента колеса рулетки, сопоставленного конкретной хромосоме, пропорциональна величине ее относительной функции приспособленности. Ситуация, типичная для такого отбора, иллюстрируется на рис. 3.5. Полная площадь круга соответствует сумме значений функций приспособленности всех хромосом данной популяции. Каждый выделенный сегмент отвечает конкретной хромосоме. Наиболее приспособленным особям отводятся большие сегменты колеса рулетки, увеличивающие их шансы попадания в переходную популяцию. Рис. 3.5. Схема "рулетки", используемая при выборе родителей для будущего поколения. Площадь отдельных сегментов пропорциональна значениям соответствующих функций приспособленности Процесс скрещивания основан на рассечении пары хромосом на две части (рис. 3.10) с последующим обменом этих частей в хромосомах родителей. Место рассечения также выбирается случайным образом. Рис. 3.6. Иллюстрация операции скрещивания, применяемой в генетическом алгоритме В ситуации, показанной на рис. 3.6, после скрещивания хромосомы 1 с хромосомой 2 образовалась пара новых хромосом: хромосома 3 и хромосома 4. Количество новых потомков равно количеству отбракованных в результате селекции. После их добавления к оставшимся хромосомам размер популяции остается неизменным. Как правило, признается допустимым перенос в очередное поколение некоторых случайно выбранных хромосом вообще без скрещивания. Это соответствует ситуации, когда скрещивание достигает успеха с определенной вероятностью, обычно на уровне 0,6-1. Мутация – это генетическая операция состоящая в замене значений отдельных битов (при двоичном кодировании) на противоположные. При кодировании натуральными десятичными цифрами мутация заключается в замене значения какого-либо элемента вектора другим, случайно выбранным допустимым значением. Мутация обеспечивает защиту как от слишком раннего завершения алгоритма (в случае выравнивания значений всех хромосом и целевой функции), так и от представления в какой-либо конкретной позиции всех хромосом одного и того же значения. Однако необходимо иметь в виду, что случайные мутации приводят к повреждению уже частично приспособленных векторов. Обычно мутации подвергается не более 1-5% бит всей популяции хромосом. Как и при выполнении большинства генетических операций, элемент, подвергаемый мутации, отбирается случайным образом. Исследованиями доказано, что каждое последующее поколение, сформированное после выполнения селекции, скрещивания и мутации, имеет статистически лучшие средние показатели приспособленности (меньшие значения целевой функции). В качестве окончательного решения принимается наиболее приспособленная хромосома, имеющая минимальное значение целевой функции. Генетический процесс завершается либо в момент генерации удовлетворяющего нас решения, либо при выполнении максимально допустимого количества итераций. При реализации генетического процесса отслеживается, как правило, не только минимальное значение целевой функции, но и среднее значение по всей популяции хромосом, а также их вариации. Решение об остановке алгоритма может приниматься и в случае отсутствия прогресса минимизации, опреде­ляемого по изменениям названных характеристик. Хорошие результаты обучения приносит объединение алгоритмов глобальной оптимизации с детерминированными методами. На первом этапе обучения сети применяется выбранный алгоритм глобальной оптимизации, а после дости­жения целевой функцией определенного уровня включается детермини­рованная оптимизация с использованием какого-либо локального алгоритма (наискорейшего спуска, переменной метрики, Левенберга-Марквардта или сопряженных градиентов). Лекция № 6 Методы инициализации весов Обучение нейронных сетей, даже при использовании самых эффективных алгоритмов, представляет собой трудоемкий процесс, далеко не всегда дающий ожидаемые результаты. Проблемы возникают из-за нелинейных функций активации, образующих многочисленные локальные минимумы, к которым может сводиться процесс обучения. Конечно, применение продуманной стратегии поведения (например, имитации отжига, метода мультистара, генетических алгоритмов) уменьшает вероятность остановки процесса в точке локального минимума, однако платой за это становится резкое увеличение трудоемкости и длительности обучения. Кроме того, для применения названных методов необходим большой опыт в области решения сложных проблем глобальной оптимизации, особенно для правильного подбора управляющих параметров. На результаты обучения огромное влияние оказывает подбор начальных значений весов сети. Идеальными считаются начальные значения, достаточно близкие к оптимальным. При этом удается не только устранить задержки в точках локальных минимумов, но и значительно ускорить процесс обучения. По причине отсутствия универсального метода подбора весов в большинстве практических реализаций чаще всего применяется случайный подбор весов с равномерным распределением значений в заданном интервале. Неправильный выбор диапазона случайных значений весов может вызвать слишком раннее насыщение нейронов, в результате которого, несмотря на продолжающееся обучение, среднеквадратичная погрешность будет оставаться практически постоянной. Явление этого типа не означает попадания в точку локального минимума, а свидетельствует о достижении седловой зоны целевой функции вследствие слишком больших начальных значений весов. При определенных обучающих сигналах в узлах суммирующих нейронов генерируются сигналы co значениями, соответствующими глу­бокому насыщению сигмоидальной функции активации. При этом поляри­зация насыщения обратна ожидаемой (выходной сигнал нейрона равен +1 при ожидаемой величине -1 и обратно). Значение возвратного сигнала, генерируемое в методе обратного распространения, пропорционально величине производной от функции активации , в точке насыщения близко нулю. Поэто­му изменения значений весов, выводящие нейрон из состояния насыщения, происходят очень медленно. Процесс обучения надолго застревает в седловой зоне. В состоянии насыщения может находиться одна часть нейронов, тогда как другая часть остается в линейном диапазоне, и для них обратный обучающий сигнал принимает нормальный вид. Это означает, что связанные с такими нейронами веса уточняются нормальным образом, и процесс их обучения ведет к быстрому уменьшению погрешности. Как следствие, нейрон, остающийся в состоянии насыщения, не участвует в отображении данных, сокращая таким образом эффективное количество нейронов в сети. В итоге процесс обучения чрезвычайно замедляется, поэтому состояние насыщения отдельных нейронов может длиться практически непрерывно вплоть до исчерпания лимита итераций. Случайная инициализация, считающаяся единственным универсальным способом приписывания начальных значений весам сети, должна обеспечить такую стартовую точку активации нейронов, которая лежала бы достаточно далеко от зоны насыщения. Это достигается путем ограничения диапазона допустимых разыгрываемых значений. Оценки нижней и верхней границ такого диапазона, предлагаемые различными исследователями на основании многочисленных компьютерных экспериментов, отличаются в деталях, однако практически все лежат в пределах (0 , 1). Предлорается равномерное распределение весов, нормализованное для каждого нейрона по амплитуде , где nin означает количество входов нейрона. Значения весов поляризации для нейронов скрытых слоев должны принимать случайные значения из интервала , а для вы­ходных нейронов - нулевые значения. Д. Нгуен и Б. Видроу в своих рассуждениях на тему оптимальных значений начальных весов используют кусочно-линейную аппроксимацию сигмоидальной функции активации. На этой основе они определили оптимальную длину случайного вектора весов нейронов скрытых слоев равной , где Nh, означает количество нейронов в скрытом слое, а nin - количество входов данного нейрона. Оптимальный диапазон весов поляризации для нейронов скрытого слоя определен в пределах . Начальные веса выходных нейронов, по мнению упомянутых авторов, не должны зависеть от топологии области допустимых значений и могут выбираться случайным образом из интервала [-0,5,0,5]. Решение представленных проблем случайной инициализации весов сети опирается либо на интуицию исследователя, либо на результаты большого количества численных экспериментов. Практическое использование НС Предварительный подбор архитектуры сети Для решения какой-либо задачи следует спроектировать структуру сети, адекватную поставленной задаче. Это предполагает выбор количества слоев сети и нейронов в каждом слое, а также определение необходимых связей между слоями. Подбор количества нейронов во входном слое обусловлен размерностью входного вектора х. Подобная ситуация и с выходным слоем, в котором количество нейронов принимается равным размерности ожидаемого вектора d. Серьезной проблемой остается подбор количества скрытых (внутренних) слоев и числа нейронов в каждом из них. Следует отметить, что ИНС выступает в роли универсального аппроксиматора обучающих данных (х, d). В процессе обучения подбираются его функциональные коэффициенты (векторы весов отдельных нейронов). На этапе функционирования при зафиксированных значениях весов производится простой расчет значения аппроксимирующей функции при заданном входном векторе. Определение минимального количества скрытых слоев сети основано на использовании свойств аппроксимирующих функций. Каждая заданная функция может быть выражена линейной комбинацией локальных импульсов, которые имеют ненулевое значение только в ближайшей окрестности текущего значения х. Импульсная функция определенной структуры может быть сформирована как суперпозиция двух функций, сдвинутых относительно друг друга. На рис. 5.1 демонстрируется способ формирования импульса для одномерной сети (имеющей единственный вход). Две сдвинутые относительно друг друга идентичные сигмоиды у1 и у2 создают в результате вычитания импульс с длительностью, пропорциональной разности смещений этих сигмоидальных функций. Соответствующим подбором функциональных параметров можно добиться формирования такого импульса, который будет возникать в необходимом для нас месте, будет иметь требуемую ширину и крутизну нарастания. Рис. 5.1. Иллюстрация способа формирования локального одномерного импульса из двух сигмоидальных функций В случае двухмерной сети можно аналогичным способом сформировать импульс на плоскости. Разность двух определенных на плоскости и сдвинутых относительно друг друга сигмоидальных функций образует гребень бесконечной длины. Добавляя следующую пару сдвину­тых относительно друг друга сигмоидальных функций и вычисляя их разность, можно получить второй гребень бесконечной длины. При подборе параметров обеих сигмоидальных пар таким образом, чтобы их гребни располагались под определенным углом (например, 90°), можно получить в результате суммирования этих гребней структуру двухмерного горба. В месте пересечения гребней образуется импульс двухмерной формы, ограниченный с четырех сторон ответвлениями бесконечной длительности. Эти ответвления можно ликвидировать передачей всего импульса на следующую сигмоидальную функцию (дополнительный слой нейронов) с соответственно подобранным порогом. Как следствие, выполняется фильтрация значения суммы на определенном уровне, по­добранном так, что импульс, сформированный сложением двух гребней, пропускается, тогда как ответвления гребней отсекаются. Созданная этим способом двухвходовая ИНС содержит скрытый слой, состоящий из четырех нейронов, и выходной слой, на котором рас­положен один нейрон сигмоидального типа. При построении сигмоидальной функции активации с соответствующим порогом он выполняет суммирование сигналов от предыдущих четырех нейронов и отсечение ответвлений. Согласно теории Колмогорова. Если ограничиться непрерывной функцией, трансформирующей N-мерное множество входных данных x в M-мерный выходной вектор d, то можно доказать, что аппроксимация такого типа осуществима при использовании сети с одним скрытым слоем. При N входных нейронах будет достаточно использовать для реализации этой функциискрытый слой с (2N + 1) нейронами. В случае дискретного преобразования х —> у одного скрытого слоя уже недостаточно и необходимо создание еще одного слоя нейронов. Это означает, что независимо от вида многовходовой аппроксимирующей функции максимальное количество скрытых слоев, достаточных для аппроксимации заданного преобразования, не превышает двух. Результат, полученный благодаря применению теоремы Колмогорова, носит теоретический характер. Он определяет максимальное количество слоев и число нейронов в отдельных слоях, достаточных для аппроксимации задан­ного преобразования. Теорема не уточняет ни вид нелинейных функций, ни методы обучения сети, создаваемой для реализации данного преобразования. Однако она представляет собой фактор, важный для минимизации структуры ИНС. В практических реализациях сетей как количество слоев, так и число нейронов в каждом из них может отличаться от предлагаемых теоремой Колмогорова. Для оценки числа нейронов в скрытых слоях однородных нейронных сетей можно воспользоваться формулой для оценки необходимого числа синаптических весов Lw в многослойной сети с сигмоидальными передаточными функциями: где n - размерность входного сигнала, m - размерность выходного сигнала, N- число элементов обучающей выборки. Оценив необходимое число весов, можно рассчитать число нейронов в скрытых слоях. Например, для двухслойной сети это число составит: Способность к обобщению Способность к обобщению полученных знаний для НС проявляется в том что сеть, натренированная на некотором множестве обучающих выборок, генерирует ожидаемые результаты при подаче на ее вход данных, относящихся к тому же множеству, но не участвовавших непосредственно в процессе обучения. Разделение данных на обучающее и тестовое подмножества представлено на рис. 5.2. Рис. 5.2. Иллюстрация разделения данных, подчиняющихся правилу R, на обучающее подмножество L, тестовое подмножество G и контрольное подмножество V Множество данных, на котором считается истинным некоторое правило R, разбито на под­множества L и G, при этом в составе L, в свою очередь, можно выделить опреде­ленное подмножество контрольных данных V, используемых для верифи­кации степени обучения сети. Обучение проводится на данных, составляющих подмножество L. Способность отображе­ния сетью элементов L может считаться показателем степени накопления обу­чающих данных, тогда как способность распознавания данных, входящих во множество G и не использованных для обучения, характеризует ее возможности обобщения (генерализации) знаний. Дан­ные, входящие и в L, и в G, должны быть типичными элементами множества R. В обучающем подмножестве не должно быть уникальных данных, свойства которых отличаются от ожидаемых значений. Подбор весов сети в процессе обучения имеет целью найти такую комбинацию их значений, которая наилучшим образом воспроизводила бы последовательность ожидаемых обучающих пар (xi, di). Наблюдается тесная связь между количеством весов сети (числом степеней свободы) и количеством обучающих выборок. Если бы целью обучения было только запоминание обучающих выборок, их количество могло быть равным числу весов. В таком случае каждый вес соответствовал бы единственной обучающей паре. К сожалению, такая сеть не будет обладать свойством обобщения и сможет только восстанавливать данные. Для обретения способности обобщать информацию сеть должна тренироваться на избыточном множестве данных, так как веса будут адаптироваться не к уникальным выборкам, а к их статистически усредненным совокупностям. Собственно обучение ведется путем минимизации целевой функции E(w), определяемой только на обучающем подмножестве L. Истинная цель обучения состоит в таком подборе архитектуры и параметров сети, которые обеспечат минимальную погрешность распознавания тестового подмножества данных, не участвовавших в обучении - погрешностью обобщения eg(w). Co статистической точки зрения погрешность обобщения зависит от уровня погрешности обучения eL(w) и от доверительного интервала е. Она характеризуется отношением: Значение е функционально зависит от уровня погрешности обучения eL(w) и от отношения количества обучающих выборок р к фактическому значению h параметра, называемого мерой Вапника-Червоненкиса и обозначаемого FCdim. Мера FCdim отражает уровень сложности нейронной сети и тесно связана с количеством содержащихся в ней весов. Значение е уменьшается по мере возрастания отношения количества обучающих выборок к уровню сложности сети. Метод точного определения этой меры не известен, ее значение функционально зависит от количества синаптических весов, связывающих нейроны между собой. Чем больше количество различных весов, тем больше сложность сети и соответственно значение меры FCdim: где [ ] обозначена целая часть числа, N - размерность входного вектора, К -количество нейронов скрытого слоя, Nw - общее количество весов сети, a Nn -общее количество нейронов сети. Из выражения следует, что нижняя граница диапазона приблизительно равна количеству весов, связывающих входной и скрытый слои, тогда как верхняя граница превышает двукратное суммарное количество всех весов сети. В качестве ее приближенного значения используется общее количество весов нейронной сети. Таким образом, на погрешность обобщения оказывает влияние отношение количества обучающих выборок к количеству весов сети. Небольшой объем обучающего подмножества при фиксированном количестве весов вызывает хорошую адаптацию сети к его элементам, однако не усиливает способности к обобщению, так как в процессе обучения наблюдается относительное превышение числа подбираемых параметров (весов) над количеством пар фактических и ожидаемых выходных сигналов сети. Эти параметры адаптируются с чрезмерной (а вследствие превышения числа параметров над объемом обучающего множества - и неконтролируемой) точностью к значениям конкретных выборок, а не к диапазонам, которые эти выборки должны представлять. Фактически задача аппроксимации подменяется в этом случае задачей приближенной интерполяции. В результате всякого рода нерегулярности обучающих данных и измерительные шумы могут восприниматься как существенные свойства процесса. Функция, воспроизводимая в точках обучения, будет хорошо восстанавливаться только при соответствующих этим точкам значениях. Даже минимальное отклонение от этих точек вызовет значительное увеличение погрешности, что будет восприниматься как ошибочное обобщение. По результатам разнообразных численных экспериментов установлено, что высокие показатели обобщения достигаются в случае, когда количество обучающих выборок в несколько раз превышает меру FCdim. На практике подбор количества скрытых нейронов (и связанный с ним подбор количества весов) может, в частности, выполняться путем тренинга нескольких сетей с последующим выбором той из них, которая содержит наименьшее количество скрытых нейронов при допустимой погрешности обучения. Решение по выбору окончательной схемы сети может быть принято только после полноценного обучения (с уменьшением погрешности до уровня, призна­ваемого удовлетворительным) различных вариантов ее структуры. Однако нет никакой уверенности в том, что этот выбор будет оптимальным, поскольку тренируемые сети могут отличаться различной чувствительностью к подбору начальных значений весов и параметров обучения. По этой причине базу для ре­дукции сети составляют алгоритмы отсечения взвешенных связей либо исключения нейронов в процессе обучения или после его завершения. Большинство применяемых в настоящее время алгоритмов редукции сети можно разбить на две категории. Методы первой группы исследуют чувствительность целевой функции к удалению веса или нейрона. С их помощью устраняются веса с наименее заметным влиянием, оказывающие минимальное воздействие на величину целевой функции, и процесс обучения продолжается уже на редуцированной сети. Простейшим критерием редукции считается учет величины весов. Веса, которые значительно меньше средних, оказывают незначительное влияние на общий уровень выходного сигнала связанного с ними нейрона. Поэтому их можно отсечь без существенного вреда для его функционирования. Без серьезных последствий для сети из нее могут быть исключены только те веса, чувствительность к изменениям которых оказывается минимальной. Рекомендуется отсекать веса только по завершении процесса обучения, когда все нейроны обретут свои постоянные характеристики. Одним из способов регуляризации сети считается метод, предложенный ЛеКуном. Он называется OBD (англ.: Optimal Brain Damage). Исходная позиция этого метода - разложение целевой функции в ряд Тейлора в окрестности текущего решения. В качестве меры значимости веса wij используется показатель Sij, называемый коэффициентом асимметрии, который определяется в виде Отсечение весов с наименьшими значениями коэффициентом асимметрии не вызовет существенных изменений в процессе функционирования сети. Процедуру OBD редукции сети можно описать в следующем виде: 1. Полное предварительное обучение сети выбранной структуры с использо­ванием любого алгоритма. 2. Определение диагональных элементов гессиана соответствующих каждому весу, и расчет значений параметра характеризующего значимость каждой синаптической связи для сети в целом. 3. Сортировка весов в порядке убывания приписанных им параметров Sij и отсечение тех из них, которые имеют наименьшие значения. 4. Возврат к п. 1 для обучения сети с редуцированной структурой и повторение процесса отсечения вплоть до исключения всех весов, оказывающих наимень­шее влияние на величину целевой функции. Методы второй группы связаны с модификацией целевой функции, в которую вводятся компоненты, штрафующие за неэффективную структуру сети. Чаще всего это бывают элементы, усиливающие малые значения амплитуды весов. Такой способ менее эффективен по сравнению с методами первой группы, поскольку малые значения весов не обязательно ослабляют их влияние на функционирование сети. В отличие от методов учета чувствительности здесь сама целевая функция модифицируется таким образом, чтобы в процессе обучения значения весов минимизировались автоматически вплоть до достижения определенного порога, при пересечении которого значения соответствующих весов приравниваются к нулю. Простейший метод модификации целевой функции предусматривает добавление в нее слагаемого, штрафующего за большие значения весов: В этой формуле означает стандартно определенную целевую функ­цию, заданную, например, в виде эвклидовой нормы, а - коэффициент штрафа за достижение весами больших значений. При этом каждый цикл обучения складывается из двух этапов: минимизации величины функции стандартным методом обратного распространения и кор­рекции значений весов, обусловленной модифицирующим фактором. Принципиально иной подход состоит в начале обучения при минимальном (обычно нулевом) количестве скрытых нейронов и последовательном их добавлении вплоть до достижения требуемого уровня натренированности сети на исходном множестве обучающих выборок. Добавление нейронов, как правило, производится по результатам оценивания способности сети к обобщению после определенного количества циклов обучения. При обсуждении способности сети к обобщению невозможно обойти вниманием влияние на ее уровень длительности обучения. Численные эксперименты показали, что погрешность обучения при увеличении количества итераций монотонно уменьшается, тогда как погрешность обобщения снижается только до определенного момента, после чего начинает расти. Следовательно слишком долгое обучение может привести к "переобучению" сети, которое выражается в слишком детальной адаптации весов. Такая ситуация имеет место при использовании сети с чрезмерным (по сравнению с необходимым) количеством весов, и она тем более заметна, чем больше "лишних" весов содержит сеть. Излишние веса адаптируются к любым нерегулярностям обучающих данных, воспринимая их в качестве важных характеристик. Как следствие, на этапе тестирования они становятся причиной возникновения значительных погрешностей воспроизведения. Для предупреждения переобучения в обучающем множестве выделяется область контрольных данных (подмножество V на рис. 5.2), которые в процессе обучения применяются для оперативной проверки фактически набранного уровня обобщения. Обучение прекращается, когда погрешность обобщения на этом подмно­жестве достигнет минимального значения (или начнет возрастать). Лекция №7 ПИД управление Пропорционально-интегрально-дифференциальный ре­гулятор включает все три составляющих и его уравне­ние Регулирующее воздействие ПИД-регулятора форми­руется как сумма трех составляющих: пропорциональ­ной, интегральной и дифференциальной. Переходная функция (рис. 8.2) является суммой переходных функций пропор­циональной идеальных интегрирующего и дифферен­цирующего звеньев. Рис 8.2 Переходные функции идеальных (1) и реальных (2) – а- П; б - И; в - ПИ; г - ПД; д - ПИД Передаточная функция ПИД-регулятора Структурно ПИД-регулятор представляет собой па­раллельное соединение пропорционального, идеального интегрирующего и идеального дифференцирующего звеньев. ПИД - регулятор — это наиболее распространенная структура управления в про­мышленных системах. ПИД регуляторы строятся на основе классической теории управления и просты для понимания. Установление связей между параметрами и управление действиями системы могут осуществляться инженера­ми-практиками и операторами. Оптимальные значения ПИД параметров чаще всего достига­ются путем минимизации взвешенного интеграла квадратичной ошибки. Причина популярности регулятора в том, что большинство процессов можно аппроксимировать динамической моделью невысокого порядка. ПИД - регу­лятор, представляющий собой систему второго порядка, дает практичное и недоро­гое решение, обеспечивая большую гибкость при работе в замкнутых системах регу­лирования. Однако ПИД - регулятор не подходит для системы с более сложными динамичес­кими свойствами, а также он может не обеспечить оптимальных характеристик для управления процессами, в кото­рых значительную роль играют следующие факторы: - временные задержки; - колебательный характер динамики системы; - изменения параметров, как предсказуемые, так и непредсказуемые; - несколько входов и выходов; - нелинейности в системе. Например, если рабочая точка процесса изменяется из-за возмущений, параметры контроллера требуется перенастраивать вручную, чтобы получить новую оптимальную настройку. Настройка должна выполняться опытным оператором. Для систем с взаи­модействующими контурами эта процедура может быть сложной и занимать много вре­мени. Интегральное насыщение представляет собой эффект, который наблюдается, когда ПИ- или ПИД-регулятор в течение длительного времени должен компенсировать ошибку, лежащую за пределами диапазона управляемой перемен­ной. Поскольку выход регулятора ограничен, ошибку сложно свести к нулю. Если ошибка управления длительное время сохраняет знак, величина интеграль­ной составляющей ПИД-регулятора становится очень большой. Это, в частности, происходит, если управляющий сигнал ограничен настолько, что расчетый выход ре­гулятора отличается от реального выхода исполнительного механизма. Так как ин­тегральная часть становится равной нулю лишь некоторое время спустя после того, как значение ошибки изменило знак, интегральное насыщение может привести к большому перерегулированию. Интегральное насыщение является ре­зультатом нелинейностей в системе, связанных с ограничением выходного управля­ющего сигнала, и может никогда не наблюдаться в действительно линейной системе. Рассмотрим сказанное на примере. ПИ-регулятор, основанный на позиционном алгоритме, используется для управления сервомотором. Опорное значение для угла поворота оси двигателя изменяется настолько, что происходит насыщение выходно­го управляющего сигнала — напряжения, подаваемого на двигатель. В действитель­ности ускорение двигателя ограничено. Переходная характеристика угла поворота оси двигателя показана на рис. 8.3. Рис.8.3. Иллюстрация проблемы интегрального насыщения для привода позицио­нирования с ПИ-регулятором А) соответствует переходной характеристике без ограничения управляющего сигнала, поэтому насыщения нет; значения параметров управления. Б) управляющий сигнал ограничен величиной 0.1. Нелинейные системы Некоторые системы при некоторых допущениях можно аппроксимировать линейными уравнениями. Другие типы нелинейностей нельзя свести к линейному описанию. Наиболее часто встречающий­ся пример — релейные системы. Реле вырабатывают бинарные сигналы типа "вклю­чено/выключено". Примеры систем с существенными нелинейностями: - различные виды реле (с зоной нечувствительности, гистерезисом и т. д.); - клапаны (зоны нечувствительности, насыщение); - нелинейные деформации механических пружин; - падение давления в сужении трубы; - силы трения; - аэродинамическое сопротивление; - свойства пара; - двигатели постоянного тока с последовательной обмоткой возбуждения (мо­мент — функция квадрата тока роторной цепи); - двигатели переменного тока. Датчики тоже могут вести себя нелинейно. В частности, у датчиков тем­пературы или давления выходной сигнал нелинейно зависит от измеряемой физи­ческой величины. Такая зависимость может быть линейной для малых значений сиг­нала и нелинейной — для больших. Адаптивное управление Процедура непрерывной автоматической настройки параметров регулятора называется адаптивным управлением. Адаптивные регуляторы включают в себя две различные подсистемы (см. рис. 2), одну для оценки и вторую для управления. Каждая решает свою задачу в замкнутом цикле обратной связи. Первая из них — сбор информации о текущем состоянии управляемого процесса. К данной задаче относится постоянное определение текущего состояния управ­ляемого процесса на основе измеримых данных о входе и выходе процесса, а также сигна­лов состояния. Полученная информация используется для идентификации системы, которая вклю­чает определение структуры модели, оценку ее параметров, а также оценку параметров неконтролируемых сигналов (например, шумовых сигналов в стохастических системах). Определение структуры модели требует построения вида математического представления системы, соответствующего решаемой задаче. Оценка параметров представляет собой ключевой элемент самонастройки. В идеале она выполняется в оперативном режиме. Для управле­ния с самонастройкой может использоваться схема оценки параметров на основе метода наимень­ших квадратов. Вторая задача системы самонастройки — задача проектирования регулятора; ее решение обычно базируется на оптимизации критерия оптимальности управления. Цель управления задается для каждой конкретной системы; при этом требуется принять реше­ния в отношении того, как контроллер должен адаптироваться или настраиваться. На этой основе рассчитывается новый набор параметров контроллера, взамен прежних парамет­ров в цикле управления. Рис. 2 Основные элементы адаптивного регулятора Но даже если основные алгоритмы достаточно просты с точки зрения программирования, адаптивное управление должно быть ограничено целым набором правил безопасности, позволяющих предотвратить его неправильное при­менение. Лекция №8 Многослойные сети в МatLab Функция NEWFF Сеть прямой передачи FF Синтаксис: net = newff(PR,[S1 S2...SNI],{TF1 TF2...TFNI},btf,blf,pf) Описание: Функция newff предназначена для создания многослойных нейронных сетей прямой передачи сигнала с заданными функциями обучения и настройки, которые используют метод обратного распространения ошибки. Функция net = newff(PR, [SI S2 ... SN1], (TF1 TF2 ... TFN1}, btf, blf, pf) формирует многослойную нейронную сеть. Входные аргументы: PR - массив размера Rx2 минимальных и максимальных значений для R векторов входа; Si - количество нейронов в слое i; TFi - функция активации слоя i, по умолчанию tansig; btf - обучающая функция, реализующая метод обратного распространения, по умол­чанию trainlm; blf- функция настройки, реализующая метод обратного распространения, по умолча­нию learngdm; pf- критерий качества обучения, по умолчанию mse. Выходные аргументы: net - объект класса network object многослойной нейронной сети. Свойства сети: Функциями активации могут быть любые дифференцируемые функции, например tansig, logsig или purelin. Обучающими функциями могут быть любые функции, реализующие метод обратного распространения: trainlm, trainbfg, trainrp, traingd и др. Функция trainlm является обучающей функцией по умолчанию, поскольку обеспечи­вает максимальное быстродействие, но требует значительных ресурсов памяти. Если ре­сурсы памяти недостаточны, воспользуйтесь следующими рекомендациями: • установите значение свойства net.trainParam.mеm_reduc равным 2 или более, что сни­зит требования к памяти, но замедлит обучение; • воспользуйтесь обучающей функцией trainbfg, которая работает медленнее, но требует меньшей памяти, чем М-функция trainlm; • перейдите к обучающей функции trainrp, которая работает медленнее, но требует меньшей памяти, чем М-функция trainbi'g. Функциями настройки могут быть функции, реализующие метод обратного распро­странения: learngd, learngdm. Критерием качества обучения может быть любая дифференцируемая функция: mse, msereg. Пример: Создать нейронную сеть, чтобы обеспечить следующее отображение последователь­ности входа Р в последовательность целей Т: Р= [0 1 2 3 4 5 6 7 8 9 10] ; Т= [0 1 2 3 4 3 2 1 2 3 4]; Архитектура нейронной сети: двухслойная сеть с прямой передачей сигнала; первый слой - 5 нейронов с функцией активации tansig; второй слой - 1 нейрон с функцией акти­вации purelin; диапазон изменения входа [0 10]. net = newff([0 10],[5 1],{‘tansig’ ‘purelin’}); gensim(net) Выполним моделирование сети и построим графики сигналов выхода и цели. Y = sim(net,P); plot(P, Т, P, Y, 'о') Обучим сеть в течение 50 циклов: net.trainParam.epochs = 50; net = train(net,P,T); NEWFFTD Динамическая нейронная сеть FFTD Сеть прямой передачи с запаздыванием Синтаксис: net = newfftd(PR, ID, [S1 S2 ... SNI], {TF1 TF2 ... TFNI}, btf, blf, pf) Описание: Функция newfftd предназначена для создания многослойных нейронных сетей прямой передачи сигнала с линиями задержки и заданными функциями обучения и настройки, использующими метод обратного распространения ошибки. Функция net = newfftd(PR, ID, [SI S2 ... SNI], {TF1 TF2 ... TFNI}, btf, blf, pf) формирует динамическую многослойную нейронную сеть. Входные аргументы: PR - массив размера Rx2 минимальных и максимальных значений для R векторов входа; ID - вектор параметров линии задержки на входе сети; Si - количество нейронов в слое г; TFi - функция активации слоя /, по умолчанию tansig; btf - обучающая функция, реализующая метод обратного распространения, по умол­чанию trainlm; blf- функция настройки, реализующая метод обратного распространения, по умолча­нию learngdm; pf- критерий качества обучения, по умолчанию mse. Выходные аргументы: net - объект класса network object динамической многослойной нейронной сети. Свойства сети: Функциями активации могут быть любые дифференцируемые функции, например tansig, logsig или purelin. Обучающими функциями могут быть любые функции, реализующие метод обратного распространения: trainlm, trainbfg, trainip, traingd и др. TRAIN Обучение нейронной сети Синтаксис: [net, TR] = train(net,P,T,Pi,Ai) [net, TR] = train(net,P,T,Pi,Ai,VV,TV) Описание: Функция [net, TR] = train(net, P, T, Pi, Ai) является методом для объектов класса network object, который реализует режим обучения нейронной сети. Эта функция характе­ризуется следующими входными и выходными аргументами. Входные аргументы: net - имя нейронной сети; Р - массив входов; Т - вектор целей, по умолчанию нулевой вектор; Pi - начальные условия на линиях задержки входов, по умолчанию нулевой вектор; Ai - начальные условия на линиях задержки слоев, по умолчанию нулевой вектор. Выходные аргументы: net - структура объекта network object после обучения; TR - характеристики процедуры обучения: TR.timesteps - длина последней выборки; TR.perf - значения функции качества на последнем цикле обучения. Заметим, что входной аргумент Т используется только при наличии целевых выходов. Аргументы Pi и Pf используются только в случае динамических сетей, имеющих линии задержки на входах или в слоях. Входные аргументы Р и Т могут иметь 2 формата: cell array и double array. Формат cell aray наиболее прост для понимания и соответствует последовательному представлению данных. GENSIM Формирование S-модели нейронной сети Синтаксис: gensim(net, ST) Описание: Функция gensim(net, ST) формирует S-модель нейронной сети с именем net для ее за­пуска в среде системы Simulink; аргумент ST задаст такт дискретности, который необхо­дим для моделирования динамических сетей. Если сеть не имеет ЛЗ, т. е. является стати­ческой системой, то значение ST следует задать равным -1, что соответствует неопределенному такту дискретности. Функции активации: Purelin – реализует линейную функцию активации во всем диапазоне изменения входного аргумента. Logsig – реализует сигмоидальную функцию активации Tansig - реализует гиперболическую тангенциальную функцию активации Примерный программный код net=newff([0 200;0 200;0 200;0 200],[12 1],{'tansig','purelin'}); s=[y;y;y1;y2]; net.trainParam.epochs=800; net=train(net,s,u); gensim(net,-1); Transport delay(Simulink-Continious) Блок фиксированной задержки – обеспечивает временную задержку входного сигнала на заданное время. Параметры блока: Time delay – время задержки; Initial input – начальный уровень входа; Transfer Fcn(Simulink-Continious) Блок передаточной характеристики – создает передаточную функцию H(s)=y(s)/u(s) в виде отношения полиномов заданной степени. Numerator – вектор коэффициентов полиномов числителя; Denominator - вектор коэффициентов полиномов знаменателя. Пример: (s2+2s+3)/(s3+s2+3s+4) Numerator = [1 2 3]; Denominator = [1 1 3 4]. Ramp(Simulink-Sources) Источник линейно нарастающего воздействия вида F(t)=k*t. Параметры источника: Slope — угловой коэффициент временной зависимости k; Start time — время, начиная с которого воздействие нарастает; Initial value — начальный уровень воздействия. Step(Simulink-Sources) Источник воздействия в виде одиночного перепада. Параметры источника: Step time — время появления перепада (скачка); Initial value — начальное значение воздействия (до перепада); Final value — конечное значение воздействия (после перепада); Sample time — эталонное время. Перепад можно задавать как поло­жительным, так и отрицательным. Для задания отрицательного перепада начальное значение должно быть больше, чем конечное. Эти значения могут быть как положительными, так и отрицатель­ными. Scope (Simulink-Sinks) Виртуальный осциллограф позволяет представить результаты моделиро­вания в виде временных диаграмм с оцифрованной масштабной сеткой. основные параметры вкладки General: Number of axes — число осей (каналов) осциллографа, позволяет превратить одноканальный осциллограф в многоканальный. При этом осциллограф приобретает несколько входных портов, к которым можно подключать различ­ные сигналы; Time range — пределы временного интервала; Tick labels — вывод/скрытие отметок по осям; Sampling — установка временных соотношений: Decimation (в десятичных долях времени со значением по умолчанию 1) или Sample Time (в тактах эталонного времени, по умолчанию 0). На вкладке Data history можно задать максимальное число точек осциллограмм для хранения и задать параметры хранения ос­циллограмм в рабочем пространстве системы MATLAB. То Workspace(Simulink-Sinks) Блок позволяет записывать входные данные в виде матриц. На каждом такте моделирования формируется колонка, содержа­щая время такта и входные данные. Блок То Workspace записывает указанную матрицу (но без строки от­счетов времени) в рабочее пространство. Необходимо использовать представление данных в виде массива – Array. Mux(Simulink-Signals & Systems) Блок реализует ф-ю мультиплексора. Схема создания обучающей выборки Схема моделирования Лекция №9 Схемы нейроуправления Нейронным управлением называется применение полнос­тью определенных нейронных сетей для выработки действительных управляющих сигналов. Причины, породившие ин­терес к применению нейронных сетей для задач управления в качестве альтернативы традиционным методам: 1. Нейронные сети могут обучаться любым функциям; требуется только, чтобы в процессе обучения был предоставлен достаточно большой объем информа­ции, а также правильный выбор самой нейронной модели. Таким образом, способность нейронных сетей к са­мообучению избавляет от необходимости использовать сложный математический аппарат в отличие от многих традиционных методов адаптивного и оптимального управления. 2. Включение сигмоидных функций активации (или неко­торых нелинейных функций общего вида) в скрытые нейроны многослойных нейронных сетей обеспечивает возможность реализации нелинейных отображений. Это важно для решения задач управления с существенными нелинейностями, для которых традиционные подходы пока не дают практически реализуемых решений. Воз­можно, это достоинство нейронных сетей—наиболее важ­ное с точки зрения теории управления. 3. Необходимым условием применения традиционных ме­тодов оптимального и адаптивного управления являет­ся наличие большого объема априорной информации об объекте управления, например, данных математическо­го моделирования. Благодаря способности ней­ронных сетей к самообучению, для нейроконтроллеров такой объем информации не требуется. В связи с этим можно полагать, что нейроконтроллеры пригодны для управления в условиях существенных неопределеннос­тей. 4. Высокая степень параллельности нейронных сетей по­зволяет реализовывать очень быстрые методы мульти­процессорной обработки на основе использования ней­ронных кристаллов или параллельных аппаратных средств. Фирмой American Neurologix Inc. разработан нейронный процессор (NLX420), уже поступивший на рынок [15]. 5. Благодаря реализуемой в нейронной сети архитектуре параллельной обработки, повреждение отдельных эле­ментов технических средств сети не может существенно влиять на работу сети в целом. В архитектуре обобщенного обу­чения, показанной на рис. 9.1., сеть обучается автономно, с использованием образцов, полученных по характеристикам разомкнутого или замкнутого объекта управления. Ме­тод аналогичен обучению на примерах в задаче распознава­ния образов. Обученная таким образом сеть настраивается на работу в качестве контроллера для объекта управления, по­добно обычной системе управления с обратной связью. Рис. 9.1. Обобщенное обучение, или архитектура прямого инверсного управления. Архи­тектура специализированного обучения (рис. 9.2.) используется для непосредственного (или «управляемого целью») обучения сети; при этом ошибка выполнения распространя­ется по сети в обратном направлении при каждой выборке. Однако при этом требуется знать якобиан объекта управле­ния. Чтобы избежать возникающих при этом трудностей, вме­сто элементов якобиана могут использоваться знаки этих эле­ментов, которые представляют собой направления воздей­ствия параметров управления на выходы объекта управления. Рис. 9.2. Архитектура специализированного обучения. Модель нейронной сети непосредственно обучается на инверсной модели объекта управления (на основе обратного распространения ошибки) Схема параллельного нейронного управления. В этой схеме (показанной на рис. 9.3.) ней­ронная сеть настраивается параллельно обычному контролле­ру с обратной связью. Сеть обучается непосредственно, путем повторения циклов желаемой траек­тории; при этом ошибка обратной связи распространяется по сети в обратном направлении. Сходимость достигается, когда нейронная сеть, завершив обучение на инверсии объекта управления, принимает на себя управление объектом, устраняя действие контроллера с обратной связью. Рис. 9.3. Архитектура обучения с ошибкой обратной связи. Модель нейронной сети непосредственно обучается на инверсии модели объекта управления путем обратного распространения выходного сигнала контроллера с обратной связью Метод обучения на основе ошибки обратной связи для параллельного нейронного управления состоит в много­кратном повторении цикла желаемой траектории. Поэтому его практическое применение ограничивается только некоторыми типами систем, в частности, системами управления рукой ро­бота и сервомоторами. В схеме с эмулятором и контроллером для управления объек­том используются две нейронные сети, как показано на рис. 9.4. Первая сеть используется как эмулятор, вторая — как контроллер. Сеть-эмулятор может обучаться автономно, с ис­пользованием архитектуры обобщенного управления, или даже непосредственно, путем ввода случайных входных сиг­налов для обучения динамике объекта управления. Данная архитектура обеспечивает более точное непосред­ственное обучение нейроконтроллера, так как ошибка может распространяться в обратном направлении через эмулятор в каждой выборке. Рис. 9.4. Схема нейронного управления с эмулятором и контроллером, или «обратное распространение во времени». Нейроконтроллер обучается на инверсной модели объекта управления, а нейроэмулятор — на обычной модели-объекта управления. Нейроконтроллер может обучаться непосредственно, на основе обратного распространения ошибки через нейроэмулятор Схема нейронного управления с самонастройкой Схема нейронного управления с самонастройкой показана нарис. 9.5. Здесь нейронная сеть используется для настрой­ки параметров обычного контроллера подобно настройке, вы­полняемой человеком-оператором. Человек-оператор накапливает определенный опыт и зна­ния о системе управления. Однако он не может помнить все данные о прошлом системы для всех видов рабочих состояний. Компь­ютер может легко хранить такую информацию и мгновенно отыскивать ее. Таким образом, если включить знания и опыт оператора в нейронную сеть и обучить ее на основе дан­ных о прошлом системы, то обученную таким образом сеть мож­но использовать как средство оперативной настройки параметров контроллера. Такой подход может непосредственно применяться для мно­гих традиционных технологий управления, включающих ме­тоды адаптивного управления. Многие методы адаптивного управления включают ряд параметров или задаваемых пользо­вателем полиномиальных коэффициентов, которые требуется выбирать или настраивать предварительно. Обычно они выби­раются методом проб и ошибок. Встроив в схему управления нейронную сеть, можно затем использовать эту сеть для оперативной настройки указанных параметров. Таким образом, стра­тегия нейронного управления с самонастройкой может приме­няться во многих традиционных технологиях управлении. Рис. 9.5. Схема нейронного управления с самонастройкой. Лекция №10 Последовательная схема нейронного управления Последовательная схема нейронного управления показана на рис. 10.1. При « инверсно-прямом управлении» нейронная сеть может реализовывать обратную динамику объекта управления. Если обозначить соответствие между входом и выходом как fp(u), т.е. y=fp(u), то нейронная сеть реализует обратное отображение: u=fр-1(y), где fр-1— отображение, обратное отображению fp . Таким образом, если подать на нейронную сеть опорный сиг­нал r, то выходной сигнал объекта управления принимает значение r, так как y = fp(u) = fp(fр-1(r))) = r где u — входной сигнал объекта управления, соответствующий опорному сигналу r, а у — выходной сигнал, соответствующий u. Рис. 10.1. Последовательная схема нейронного управления Можно использовать два способа реализации схемы. Первый из них, называется «специали­зированное обратное отображение», показан нарис. 10.2. Рис. 10.2. Специализированное нейронное управление с обратным отображением; пунктирной линией выделена цепь прямой связи (ЦПС) Нейронная схема, показанная на ней, обучается таким обра­зом, чтобы минимизировать квадрат ошибки. Если ошибка становится близкой к нулю, можно считать, что нейронная сеть реализует инверсную динамику объекта управления. Заклю­ченная в пунктирную линию часть схемы, называемая цепью прямой связи (ЦПС). В этом случае для использования алгоритма обратного распространения необходимо знать яко­биан системы. Для схемы, показанной на рис. 10.2, простейшая внутрен­няя структура нейронной сети показана на рис. 10.3, где ис­пользуется один нейрон во входном и один в выходном слоях. На рис. 10.3 входным сигналом для нейронной сети является только сигнал r, а выходным — только сигнал u. Рис. 10.3. Внутренняя структура нейроконтроллера. При практическом применении алгоритма ОРОО возника­ют трудности. Одна из них - соответствие «вход — выход», задаваемое нейронной се­тью, показанной на рис. 10.3, является не динамическим, а скорее статическим отображением координат u на у. В практи­ческих задачах управления динамические отображения являются более правильными. Поэтому нейронная сеть должна не­посредственно подавать на вход объекта управления много сигналов, равных прошлым входным сигналам, или эти про­шлые входные сигналы должны сохраняться. В первом случае выходами нейронной сети будет не только значение u(t) в те­кущий момент времени, но и значения того же процесса в пред­шествующие моменты u(t-m), m=l,2,.. .,q. Во втором — вхо­дами нейронной сети становятся значения r(t-i), i=l ,2,... ,k. На вход нейронной сети можно подавать больше информации, чтобы ускорить сходимость обучения. Если известны какие-либо факторы, способные улучшить управля­ющий сигнал, то следует использовать такую информацию в качестве входного вектора нейронной сети. Следующая трудность. Нейронные сети где в качестве функ­ции активации используется сигмоидная функция могут принимать выходные значения между 0 и 1 (то есть сигнал управления). Поэтому если в качестве управляющих вход­ных сигналов используются только положительные величины, то управляющий сигнал u необходимо умножить на некоторую положительную константу С, а если в качестве управляющих входных сигналов используются только отрицательные вели­чины, то управляющие сигналы требуется умножать на отрица­тельную константу С. Существенная сложность состоит в вычислении якобиана системы f p(u(t)). Как правило, выражение f'p неизвестно, и требуется искать его аппроксимацию. Один из способов состоит в использовании численной аппроксимации: где Другой подход состоит в том, чтобы выполнить имитацион­ное моделирование объекта управления, используя другую ней­ронную сеть, реализующую отображение «вход — выход» для объекта управления. В этом случае данная нейронная сеть ис­пользуется в качестве идентификатора системы (применя­ется термин «эмулятор»). Таким образом, используя эмулятор, можно вычислить якобиан системы, как если бы эмулятор пред­ставлял собой действительный объект управления. где — отображение «вход/выход» для эмулятора. Простая процедура обучения для эмулятора показана на рис. 10.4. Рис. 10.4. Схема обучения для получения нейроэмулятора. Для ускорения сходимости процесса обучения можно ис­пользовать другую модель эмулятора, показанную на рис. 10.5. Здесь в качестве условной модели используется простая мате­матическая модель или физически точная модель, даже если сама система является достаточно сложной и нелинейной. Если между действительным выходным сигналом и выходным сигналом модели имеется несоответствие, то нейронная сеть вы­полняет самонастройку с целью минимизации ошибки. Выход модели обозначен как у , а выход нейронной сети — как у2. Их сумма представляет собой оценку предсказания действитель­ного выхода у; расхождение между величинами у и у обознача­йся как е. Рис. 10.5. Альтернативный метод моделирования с использованием нейронных сетей. Эмулятор рассматривается здесь как «сумма» условной модели и нейронной сети, но настраиваться (изменяться) может только нейронная сеть. Этот метод моделирования является подходящим для практических задач управления, так как условная модель может не обеспечивать достаточной точности предсказания дей­ствительного выходного сигнала. Таким образом, общая конфигурация схемы управления на основе нейронной сети показана нарис. 10.6, где NN1 — нейросетевой эмулятор (или просто — нейроэмулятор), a NN2 — нейроконтроллер, реали­зующий инверсно-динамическое отображение. Рис. 10.6. Общая схема инверсно-динамического нейроконтроллера. Другая схема реализации инверсной динамики с помощью нейронной сети показана на рис. 10.7, где нейронная сеть NN1 используется для обучения инверсному отображению, а математическая модель NN2 копируется с модели NN1 после того, как заканчивается обучение последней. Рис. 10.7. Другая схема обратного отображения Алгоритм обучения для параллельной схемы управления Общая конфигурация управления для нейроконтроллера параллельного типа показана на рис. 10.8. На этой схеме блок NN 1 представляет собой нейронную сеть для эмулятора объек­та управления, создающего оценку у выходной координаты объекта управления у. Управляющий сигнал и2, представляю­щий собой выходной сигнал нейронной сети NN2, использует­ся для коррекции управляющего сигнала и1Э создаваемого обыч­ным контроллером. Коррекция выполняется таким образом, чтобы обеспечить минимизацию рассогласования между опорным сигналом и выходом объекта управления. Таким образом, блок Рис. 10.8 Нойроконтроллер параллельного типа с эмулятором. NN1 используется для эмуляции якобиана системы, не­обходимого для получения эквивалентной ошибки на выходе блока NN2. Обозначим через е рассогласование (ошибку) между опор­ным сигналом r и фактическим выходным сигналом объекта управления у. Необходимо обучить сеть NN2 таким образом, чтобы она могла минимизировать среднеквадратическую ошиб­ку. Обозначим ее через Е и определим в виде Е=(r-у)2 Предполо­жим, что используется трехслойная нейронная сеть, на вход которой поступает сигнал ri(t), а на выходе появляется сигнал Ok(t). Для упрощения рассуждений будем считать, что i=l, k=l. Алгоритм: (от руки) Схема нейронного управления с эмулятором и контроллером (схема обратного распространения во времени) Данная схема нейронного управления представляет собой в основном интегрированный и модифици­рованный вариант инверсно-прямой схемы управления и схемы специализированного обучения. При таком подходе для приближенного нахождения якобиана объек­та, или частных производных ду/ди, используется эмулятор нейронной сети. Сначала схема использует автономное обучение нейросетевых моделей с целью изуче­ния динамики инверсной и прямой нейросетевых моделей объекта управ­ления. Нейросетевая модель, обученная инверсии объекта, используется в каче­стве контроллера. Нейросетевая модель, обу­ченная прямой динамике объекта, используется как средство для обратного распространения ошибки характеристики сис­темы (с целью получения эквивалентной ошибки на выходе нейроконтроллера). Автономное обучение нейроконтроллера и эмулятора Для обучения инверсной динамики используются выходные сигналы объекта управления вместе с несколькими задержанными значениями (в качестве образцов входных сигналов) и соответствующими входными сигналами объекта управления (в качестве желаемых образцов). Нейроэмуляторы обучаются прямой динамике объекта управления, используя для этого входные сигналы вместе с несколькими задержанными значениями (в качестве образцов входных сиг­налов) и соответствующими выходными сигналами (в качестве желаемых образцов). При автономном обучении нейронной сети сигнал обратного распространения ошибки между выходным и скрытым слоями выражается сле­дующим образом: где tk — заданный (желаемый) образец, a Ok — действительный выходной сигнал нейронной сети. Между скрытым и входным слоем модели объекта управления, сигнал обратного распрост­ранения ошибки имеет вид Здесьf' — производная функции f, гдеf(x)=l/(l+exp(-x)). Веса связей между входным и скрытым слоями корректируют­ся следующим образом: а между скрытым и выходным слоями — в соответствии с вы­ражением где Оi и Оj — выходные сигналы входного и скрытого слоев со­ответственно; | — скорость обучения; а и — коэффициенты мгновенного значения и ускорения соответственно. Констан­ты , a и выбираются эмпирическим путем. Оперативное обучение Коррекция весов нейросетевого контроллера производится на основе характеристики ошибки: Е = .5*[r-у]2, где r и у — соответственно заданная (желаемая) и фактическая выходные координаты объекта управления. Эта ошибка рас­пространяется в обратном направлении через эмулятор. Так как функция выходных нейронов является линейной, сигнал ошибки между скрытым и выходным слоями эмулятора выра­жается как где индекс Е обозначает эмулятор, а индекс k — выходной слой. Сигнал ошибки между скрытым и входным слоем эмулятора определяется формулой где и — соответственно выходной и входной сигналы нейронов скрытого слоя эмулятора. Используя цепное прави­ло, получим выражение где - — вес связи между скрытым и выходным слоем эмуля­тора. Сигнал ошибки между скрытым и выходным слоем кон­троллера: где и — соответственно выходной и входной сигналы нейронов выходного слоя контроллера. Так как выходные ней­роны контроллера описываются линейной функцией с насыщением, то и, таким образом, . Для скрытого и входного слоев контроллера сигнал ошибки имеет вид: где — выходной сигнал нейронов скрытого слоя контрол­лера.
«Нейронные сети как вычислительные структуры, моделирующие простые биологические процессы» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ
Получи помощь с рефератом от ИИ-шки
ИИ ответит за 2 минуты

Тебе могут подойти лекции

Смотреть все 588 лекций
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot