Таллиннский Технический Университет
Дипломная работа
Ольга Карпухина
2003
Аннотация
В этой работе рассматривается одно из применений искусственных нейронных сетей -идентификация многомерных систем. Изучаемые объекты относятся к классу линейных MIMO динамических систем. В теоретической части рассмотрены такие понятия, как искусственный нейрон и искусственная нейронная сеть. Детально описывается структура многослойного перцептрона. Подробно рассмотрены алгоритмы обучения с обратным распространением ошибки и Левенберга-Маквардта для многослойных сетей, а также применение нейронных сетей для решения задач идентификации. В экспериментальной части работы при помощи сетей прямого распространения были созданы модели для двух тестовых объектов и также исследуются характеристики полученных моделей.
Ключевые слова: нейронные сети, многомерные системы, идентификация.
Введение
Теория искусственных нейронных сетей развивается в течении последнего полувека, но практическое ее применение стало возможно только в последние 10-15 лет, когда была создана необходимая элементная база для реализации нейронных сетей. Нейронные сети представляют собой новое направление в практике создания технических систем. Возможности нейронных сетей выполнять операции сравнения по образцу и классификации объектов, недоступные для традиционной математики, позволяют создавать искусственные системы для решения задач распознавания образов, диагностики заболеваний, автоматического анализа документов и многих других нетрадиционных приложений [8] .
Данная работа посвящена вопросу применения искусственных нейронных сетей для решения задач идентификации и построения моделей линейных многомерных динамических систем. В работе будет использована структура сети прямого распространения, то есть многослойного перцептрона для построения математических моделей.
Для идентификации объекта хорошо подходят искусственные нейронные сети, так как они могут работать с большинством сложных систем. Не требуя предварительных знаний о них. Все что надо для получения модели - это обучающая выборка входов-выходов системы, которая подается на нейронную сеть.
Основной целью нейронных сетей является то, что после успешного обучения модель на нейронной сети сможет воспроизводить свойства системы, такая процедура решается как задача аппроксимации сети.
Работа состоит из двух частей - теоретической и практической. В теоретической части рассматривается структура искусственного (формального) нейрона как упрощённая математическая модель биологического нейрона. Рассматривается подробная архитектура сети, то есть объединение нейронов в сети, выбор оптимального количества слоёв, числа нейронов на каждом слое, вид функции активации нейронов, а также числа элементов обучающей выборки. Подробно рассмотрены алгоритмы обучения: градиентный метод обратного распространения ошибки и Левенберга-Маквардта. Описаны такие классические методы идентификации, как параметрические и непараметрические.
В практической части работы рассматриваются эксперименты с двумя линейными многомерными динамическими системами с различной сложностью. Математические модели идентификационных сетей были получены в виде линейных нейронных сетей. Для аппроксимации систем были использованы сети с прямой передачей сигнала (многослойного перцептрона).
Целью данной работы было показать на примерах нескольких реальных систем, что искусственные нейронные сети могут быть использованы для идентификации линейных многомерных объектов.
1 Искусственные нейронные сети
Искусственные нейронные сети - совокупность моделей биологических нейронных сетей (И.В. Заенцев) [2].
В последние десятилетия в мире бурно развивается новая прикладная область математики, специализирующаяся на искусственных нейронных сетях. Актуальность исследований в этом направлении подтверждается массой различных применений нейронных сетей. Это автоматизация процессов распознавания образов, адаптивное управление, аппроксимация функционалов, прогнозирование, создание экспертных систем, организация ассоциативной памяти и многие другие приложения. Появились новые возможности использования вычислений в сферах, до этого относящихся лишь к области человеческого интеллекта, возможности создания машин, способность которых учиться и запоминать удивительным образом напоминает мыслительные процессы человека. Специалисты из таких далеких областей, как философия, физиология и психология, заинтригованы возможностями, предоставляемыми этой технологией, и ищут приложения им внутри своих дисциплин. Это возрождение интереса было вызвано как теоретическими, так и прикладными достижениями. [3]
Наблюдаются следующие тенденции внедрения нейронных сетей:
- Нейронные сети - исключительно мощный метод моделирования процессов и явлений, с помощью которого можно воспроизводить чрезвычайно сложные зависимости ( в частности нелинейных зависимостей).
- Моделирование нелинейных явлений в случае большого числа переменных требует огромного количества вычислительных ресурсов, с этой проблемой так называемой «проклятие размерности» во многих случаях успешно справляются нейронные сети.
- Возможность использования вычислений в сферах, которые до этого относились лишь к области человеческого интеллекта, возможности создания машин, способность которых учиться и запоминать довольно близко напоминает мыслительные процессы человека.
- Пользователю нейронной сети несомненно нужно иметь какой-то набор знаний о том, как следует отбирать и подготавливать данные, выбирать нужную архитектуру сети и интерпретировать результаты, требуется гораздо меньший уровень знаний необходимый для успешного использования нейронных сетей, чем , например, при использовании традиционных методов.
Любая область знаний ставит множество задач, часть из которых успешно решается при помощь компьютеров. Процесс решения задачи компьютером достаточно очевиден и состоит из ввода данных, вычислений и вывода данных. Однако основная работа по решению задачи остается за пределами этого процесса. Это составление алгоритма решения задачи. Ранее этой проблемой занимались экспертные системы, однако они имеют один существенный недостаток: при создании сложных систем большое количество времени требуется для составления алгоритмов их работы. С появлением дешевых компьютеров появилась возможность использовать в этой области нейронные сети.
Перечислим основные задачи, решаемые нейронными сетями:
- Предсказание/прогноз. Пусть заданы n дискретных отсчетов {y(t1), y(t2)..., y(tn)} в последовательные моменты времени t1, t2,..., tn . Целью задачи является предсказать значения y(tn+1) в некоторый будущий момент времени tn+1. Предсказание показателей биржевого рынка, предсказание финансовых временных рядов и прогноз погоды являются типичными приложениями техники предсказания/прогноза.[3]
- Управление. В системах управления с эталонной моделью целью управления является расчет такого входного воздействия u(t), при котором система следует по желаемой траектории, диктуемой эталонной моделью. Примером является оптимальное управление двигателем.
- Оптимизация. В задачу алгоритма оптимизации входит нахождение такого решения, которое удовлетворяет системе ограничений и максимизирует или минимизирует целевую функцию.
- Память, адресуемая по содержанию (ассоциативная память). Ассоциативная память доступна по указанию заданного содержания. Содержимое памяти может быть вызвано даже по частичному входу или искаженному содержанию. Ассоциативная память часто применяется при создании мультимедийных информационных баз данных.
- Распознавание образов. Задачи распознавания образов требуют способности обрабатывать большое количество входной информации одновременно и выдавать категорический или обобщённый ответ. Для этого нейронная сеть обладает внутренним параллелизмом.
- Кластеризация/категоризация. При решении задачи кластеризации отсутствует обучающая выборка с метками классов. Алгоритм кластеризации основан на подобии образов и размещает близкие образы в один кластер. Кластеризация очень полезна при извлечении знаний, сжатии данных и исследовании свойств данных.
- Классификация образов. Данная задача состоит в указании принадлежности входного образа (например, речевого сигнала или рукописного символа), к одному из заранее указанных классов. К наиболее известным приложениям относятся распознавание букв, распознавание речи, классификация сигнала электрокардиограммы, классификация клеток крови.
Искусственные нейронные сети основаны на весьма простой биологической модели нервной системы. Нервная система человека, построенная из элементов, называемых нейронами, имеет очень сложную структуру. Эти элементы организуются по способу, который может соответствовать (или не соответствовать) анатомии мозга. Несмотря на такое поверхностное сходство, искусственные нейронные сети демонстрируют удивительное число свойств присущих мозгу.
Теория нейронных сетей возникла из исследований в области искусственного интеллекта, а именно из попыток воспроизвести способность нервных биологических систем обучаться и исправлять ошибки, моделируя низкоуровневую структуру мозга.
1.1 Биологический нейрон
Основу каждой нейронной сети составляют относительно простые, в большинстве случаев - однотипные элементы, имитирующие, работу нейронов головного мозга. Центральная нервная система имеет клеточное строение. Единица - нервная клетка , нейрон. Нервная клетка получает, обрабатывает и передает информацию, закодированную в виде электрических или химических сигналов. В коре головного мозга человека их насчитывают, по крайней мере, 14 миллиардов. Нейрон состоит из тела клетки сомы (soma), и двух типов внешних древо-подобных ветвей: аксона (axon) и дендритов (dendrites). Тело клетки включает ядро (nucleus), которое содержит информацию о наследственных свойствах, и плазму, обладающую молекулярными средствами для производства необходимых нейрону материалов. Нейрон получает сигналы (импульсы) от других нейронов через дендриты и передает сигналы, сгенерированные телом клетки, вдоль аксона, который в конце разветвляется на волокна (strands). На окончаниях этих волокон находятся синапсы (synapses). [4]
рис. 1.1.1. Биологический нейрон
Аксон всегда один или ни одного у каждой клетки, может быть длинным (до 1м). Аксон является выходной связью данного нейрона, с которой сигнал (возбуждения или торможения) поступает на синапсы других нейронов. Ближе к концу аксон часто ветвится. Дендриты - это отростки нейрона, проводящие импульсы к телу нейрона. Они, как правило, короткие, относительно широкие, сильно ветвящиеся, образуют множество синапсов с другими нервными клетками. Активность в дендритах меняется плавно. Синапс является местом контакта нервных волокон и в его функцию входит передавать возбуждение от клетки к клетке. Передача через синапс почти всегда однонаправленная. Различают возбуждающие синапсы, которые передают импульсы, активизирующей нейрон, и тормозящие синапсы, которые передают импульсы, тормозящие его активность. Интенсивность сигнала, получаемого нейроном, сильно зависит от активности синапсов. Каждый синапс имеет протяженность, и специальные химические вещества передают сигнал вдоль него. Нейроны взаимодействуют посредством короткой серии импульсов. Импульсы по волокну передаются в виде скачков потенциала внутриклеточной среды по отношению к внешней среде, окружающей клетку. Скорость передачи - от 1 до 100 м/с.
Кора головного мозга человека является протяженной, образованной нейронами поверхностью толщиной от 2 до 3 мм с площадью около 2200 см2, что вдвое превышает площадь поверхности стандартной клавиатуры. Кора головного мозга содержит около 1011 нейронов, что приблизительно равно числу звезд Млечного пути. Каждый нейрон связан с 103 - 104 другими нейронами. В целом мозг человека содержит приблизительно от 1014 до 1015 взаимосвязей. [4]
1.2 Модель искусственного нейрона
Искусственный нейрон является упрощенной математической моделью биологического нейрона. Введено множество моделей, различающихся вычислительной сложностью и сходством с реальным нейроном. Одна из важнейших - формальный нейрон. Не смотря на простоту формального нейрона, сети, построенные из таких нейронов, могут сформировать произвольную многомерную функцию на выходе.
рис. 1.2.1. Формальный нейрон
Нейрон состоит из взвешенного сумматора и нелинейного элемента. Имеется множество входных сигналов, обозначенных x1, x2...xi которые поступают на нейрон. Эти входные
сигналы, в совокупности обозначаемые вектором X, соответствуют сигналам, приходящим в синапсы биологического нейрона.
┌ ┐
│x1 │
│x2 │
X=│... │ (1.2.1)
│xn │
└ ┘
Каждый вход умножается на соответствующий весовой коэффициент wi. иногда называемый синаптическим весом ( synaptic weight). Каждый вес соответствует "силе" одной биологической синаптической связи. Множество весов в совокупности образует вектор весов W и влияет на прохождение сигналов.
W = [ w1w2...wn ] (1.2.2)
Вес может иметь как положительное, так и отрицательное значение :
если wi > 0, тогда связь называется возбуждающей; если wi < 0, тогда связь называется тормозящей.
После того, как каждый вход х домножается на весовой коэффициент w, полученная последовательность {wixi} поступает на суммирующий блок. Сумматор,
соответствующий телу биологического элемента, складывает взвешенные входы алгебраически (происходит накопление общего входного сигнала) и создает выход, который мы будем называть взвешенной суммой входных сигналов NET.
NET = ∑i wixi = W*X (1.2.3)
Данная сумма передается в качестве параметра некой функции активации F (activation function), которая возвращает новое значение сигнала, после чего это новое значение рассылается всем нейронам подсоединенным к данному нейрону. Преобразованный активационной функцией F сигнал NET назовём выходным нейронным сигналом OUT.
0UT = F(NET- Θ), (1.2.4)
где Θ - пороговый уровень данного нейрона (threshold) или смещение( bias).
В данной модели нейрона отсутствуют временные задержки входных сигналов, поэтому значение NET определяет полное внешнее возбуждение, воспринятое нейроном.
Отклик нейрона далее описывается по принципу "все или ничего", т.е. переменная подвергается нелинейному пороговому преобразованию, при котором выход OUT устанавливается равным единице, если NET > Θ, и OUT = 0 в обратном случае, но данный случай относится только к одному из видов функции активации, который имеет маленькое практическое применение. Зависимость сигнала OUT от функции активации F рассмотрим более конкретно в следующем разделе.
Сети со смещением позволяют формировать более сложные связи между входами и выходами, чем сети без смещения. Например, нейрон без смещения, когда все входы нулевые, будет всегда задавать вход функции активации равным нулю, однако нейрон со смещением может быть обучен так, чтобы при тех же условиях задать вход функции активации произвольной формы.
Итак, нейрон имеет несколько входов X и один выход OUT. Параметрами нейрона, определяющими его работу, являются: вектор весов W, пороговый уровень 0 и вид функции активации F.
Подводя итоги, можно сделать вывод, что рассмотренная простая модель искусственного нейрона игнорирует многие свойства своего биологического двойника. Например, она не принимает во внимание задержки во времени, которые воздействуют на динамику системы. Входные сигналы сразу же порождают выходной сигнал. И что более важно, она не учитывает воздействий функции частотной модуляции или синхронизирующей функции биологического нейрона, которые ряд исследователей считают решающими. Несмотря на эти ограничения, сети, построенные из этих нейронов, обнаруживают свойства, сильно напоминающие биологическую систему. Только время и исследования смогут ответить на вопрос, являются ли подобные совпадения случайными или следствием того, что в модели верно схвачены важнейшие черты биологического нейрона.