- •1) Монотонные.
- •Проблема функции исключающее или
- •Линейная разделимость
- •Релаксационные нейронные сети
- •Методы инициализации весов
- •Train Обучение нейронной сети
- •Initial input – начальный уровень входа;
- •Нелинейные системы
- •Адаптивное управление
- •Автономное обучение нейроконтроллера и эмулятора
- •Оперативное обучение
ЛЕКЦИЯ №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. Мерой близости считается значение целевой функции. При использовании р обучающих векторов <x,d> для обучения сети, включающей М выходных нейронов, целевую функцию можно определить как:
Выходные сигналы нейрона уi являются функциями весов сети wij значения которых уточняются в процессе обучения по критерию минимизации целевой функции.
Расположенные на одном уровне нейроны функционируют независимо друг от друга, поэтому возможности такой сети ограничиваются свойствами отдельных нейронов. Веса нейронов образуют определенное пространство решений. Выходной сигнал уi при фиксированных значениях весов зависит от расположения входного вектора х, который определяет гиперплоскость, разделяющую многомерное пространство на два подпространства. Поэтому задача классификации (приписывания значения 0 или 1 выходному сигналу нейрона) может быть решена с помощью единственного нейрона, если она относится к классу задач линейной сепарации (например, с применением логических функций AND или OR).
Рис. 2.1 Структура однослойной НС
Продемонстрируем ограниченность возможностей однослойных сетей на примере реализации двухвходовой логической функции исключающее или (XOR). Для упрощения будем использовать функцию активации в виде одноступенчатого порога.