Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Компьютерные нейросетевые технологии..pdf
Скачиваний:
18
Добавлен:
15.11.2022
Размер:
3.01 Mб
Скачать

Государственное образовательное учреждение высшего профессионального образования

«Пермский государственный технический университет»

Е.В. Долгова, Д.С. Курушин

КОМПЬЮТЕРНЫЕ НЕЙРОСЕТЕВЫЕ ТЕХНОЛОГИИ

Утверждено Редакционно-издательским советом университета в качестве учебного пособия

Издательство

Пермского государственного технического университета

2008

УДК 004.032.26 ББК 32.818

Д64

Рецензенты:

д-р физ.-мат. наук, профессор А.Н. Румянцев (Пермский государственный университет); д-р экон. наук, профессор Р.А. Файзрахманов

(Пермский государственный технический университет)

Долгова, Е.В.

Д64 Компьютерные нейросетевые технологии: учеб, посо­ бие / Е.В. Долгова, Д.С. Курушин. - Пермь: Изд-во Перм. гос. техн. ун-та, 2008. - 87 с.

ISBN 978-5-88151-928-5

Содержит описание теоретических основ и практических примеров построения нейросетевых компьютерных технологий, а также задания для самостоятельного выполнения.

Предназначено для магистрантов, изучающих современные ком­ пьютерные технологии.

УДК 004.032.26 ББК 32.818

ISBN 978-5-88151-928-5

© ГОУ ВПО

 

«Пермский государственный

 

технический университет», 2008

Содержание

 

Введение.............................................................................................................................

4

1. Основные понятия......................................................................................................

5

Вопросы по материалам раздела 1

18

2. Наиболее популярные виды нейронных сетей...................................................

19

2.1. Персептрон.........................................................................................................

19

2.2. Сеть Кохонена...................................................................................................

24

2.3. Сеть Хопфилда..................................................................................................

26

2.4. Сеть Хемминга..................................................................................................

30

2.5. Звезда Гроссберга.............................................................................................

32

2.6. Сеть Counter Propagation (встречного распространения).....................

33

Вопросы по материалам раздела 2 ......................................................................

34

3. Задачи, решаемые при помощи нейросетей.......................................................

35

3.1. Классификация задач......................................................................................

35

3.2. Пример распознавания образов при помощи персептрона.................

36

3.3. Пример прогнозирования процесса при помощи персептрона..........

41

3.4. Пример распознавания при помощи сети Хемминга.............................

45

Вопросы и задания для самостоятельной работы по материалам

 

раздела 3 ......................................................................................................................

48

4. Более сложные случаи применения нейросетей...............................................

50

4 .1. Управление складом при помощи персептрона......................................

50

4.2. Нейросетевое управления материальным потоком

 

на технологическом маршруте.....................................................................

52

4.3. Использование нейросети для экспертного выбора моделей

 

производственно-экономического объекта..............................................

57

4.4. Использование нейросети при распределении

 

производственных ресурсов.........................................................................

61

Вопросы по материалам раздела 4 ......................................................................

73

5. Практика применения нейросетевых.технологий.............................................

74

5.1. Обоснование применения нейросетевых технологий............................

74

5.2. Использование нейросетевых технологий по отраслям.......................

75

5.3. Краткий обзор программного обеспечения..............................................

77

Вопросы по материалам раздела 5 ......................................................................

78

Краткие аннотации к книгам по теории и практике нейросетей

79

Дополнительная литература........................................................................................

85

ВВЕДЕНИЕ

Данное учебное пособие представляет собой курс лекций, посвященный вопросам построения, настройки и использования нейронных сетей и формированию на их основе компьютерных нейросетевых технологий распознавания, прогнозирования и управления в различных научно-технических и управленче­ ских задачах.

Каждый раздел сопровождается вопросами и задачами для самостоятельного выполнения.

Пособие предназначено для магистрантов направления «Информатика и вычислительная техника».

1. ОСНОВНЫЕ ПОНЯТИЯ

Начало развития нейросетевых моделей следует отнести к 1943 г., оно связано с работой Мак Каллока и Питса, изданной в 1943 г. В ней была предложена схема компьютера, основанного на аналогиях с человеческим мозгом, известно, что мозг состоит примерно из 1011 нейронов, связанных между собой. Каждый ней­ рон получает информацию через свои дендриты, а передает ее дальше только через единственный аксон, разветвляющийся на конце на тысячи синапсов (рис. 1.1)

Простейший нейрон может иметь до 10000 дендритов, та­ ким образом, мозг содержит примерно 1015 связей. Нейроны взаимодействуют посредством очень коротких импульсов, каж­ дый из которых представляет собой сигнал с частотой от не­ скольких единиц до сотен герц. Это кажется не быстрым спосо­ бом обработки информации, но следует учитывать, что челове­ ческому мозгу свойственно реальное распараллеливание анало­ говой обработки информации, поскольку нейроны функциони­ руют параллельно.

Искусственная нейронная сеть - это математическая мо­ дель, или устройства параллельных вычислений, представляю­ щие собой систему взаимодействующих между собой искусст­ венных нейронов, соединенных с внешней средой.

Каждый искусственный нейрон такой сети получает сигналы одних искусственных нейронов и передает сигналы другим искус­ ственным нейронам. Будучи соединёнными в достаточно сложную сеть с управляемым взаимодействием, такие локально простые элементы вместе способны решать довольно сложные задачи.

Концепция нейронных сетей, даже если они реализованы эмуляцией на компьютере, существенно отличается от концеп­ ции обычной программной системы. Основное отличие и глав­ ное преимущество подходавозможность обучения, которое формально заключается в нахождении удовлетворяющих требо­ ваниям решаемой задачи коэффициентов связей между нейро­ нами. Обученная сеть способна выявлять зависимости между входными данными и выходными, выполнять обобщения, ре­ шать классификационные задачи. Если обучение прошло ус­ пешно, сеть может правильно работать на основе данных, кото­ рые отсутствовали в обучающей выборке.

Нейроподобный элемент (нейрон, искусственный нейрон) - упрощенная модель нервной клетки.

На рис. 1.2 показана наиболее распространенная схема ней­ роподобного элемента (нейрона):

Рис. 1.2. Нейроподобный элемент

Состояние нейрона вычисляется по формуле

( и

Л

y = f

V /=1

где п - число входов нейрона; xt- значение /-го входа нейрона; а, - вес /-го синапса;/- нелинейность нейроподобного элемента.

В качестве нелинейности / наиболее часто используется

сигмоидная

функция / = ----- \

- г ,

ступенчатая

функция

у = 1 (s - ©)

или кусочно-линейная

/

[F,

S> q

но могут

= | ^

^ ^

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

© в данном случае играет роль параметра нелинейности нейроподобного элемента. В такой модели нейрона все же пре­ небрегают многими известными характеристиками биологиче­ ского прототипа. Например, в ней не учитывают нелинейность пространственно-временного суммирования, эффекты запазды­ вания и частотной модуляции, однако, нейроподобные сети, по­ строенные на основе структурированной системы простых нейроподобных элементов, демонстрируют ассоциативные свойст­ ва, напоминающие свойства биологических объектов.

Функционирование нейронной сети

Сеть функционирует следующим образом. Входной вектор X подается на сеть путем активации входных нейроподобных эле­ ментов. Вектор выходных сигналов нейронов сети Y называют также паттерном активности нейронной сети. Весовые коэффици­ енты связей между нейронами сети представляют в виде матрицы А, элемент которой я,у—вес связи между /-м иу-м нейроподобными элементами. В процессе работы сети производится преобразование входного вектора в выходной, причем конкретный вид выполняе­ мого сетью преобразования зависит не только от характеристик нейроподобных элементов, но и от архитектуры сети в целом.

Архитектура нейронной сети - это способ построения связей между нейроподобными элементами, а также вариант выбора под­ множеств нейроподобных элементов, которые устанавливаются как входные и выходные для данной сети.

По характеру связей различают следующие сети.

1.Сети прямого распространения (Feedforward). Все связи на­ правлены строго от входных нейронов к выходным. Примерами

7

таких сетей являются однослойный и многослойный персептроны. Если обозначить отдельно взятый нейроподобный элемент (ней­ рон, искусственный нейрон) кружком, структура сети будет иметь следующий вид (рис. 1.3):

Рис. 1.3. Сеть прямого распространения

2.Сети с обратными связями. Сигнал с выходных нейронов

или нейронов скрытого слоя частично передается обратно на входы нейронов входного слоя, например, следующим образом (рис. 1.4):

Рекуррентная сеть за счет обратной связи стремится к устой­ чивому состоянию, этому устойчивому состоянию соответствует минимальная энергия системы. Таким образом, за счет «фильтра­ ции» входных данных сеть позволяет решать задачу компрессии. Типичным примером таких сетей является сеть Хемминга.

8

3. Полностью связанные нейронные сети. В таких сетях су­ ществуют связи между каждым и каждым элементом (рис. 1.5).

Рис. 1.5. Полностью связанная сеть

Каждый нейрон передает выходной сигнал всем остальным нейронам, в том числе и самому себе, выходными же сигналами сети могут быть либо все либо некоторые из выходных сигналов нейронов. Причем, в полносвязной сети входной сумматор нейро­ на имеет две компоненты: первая вычисляет линейную функцию от входных сигналов сети, вторая - линейную функцию от выход­ ных сигналов других нейронов, полученных на предыдущем шаге. Если нелинейность для всех нейронов сети одинаковая, то сеть на­ зывают гомогенной, если же нелинейность зависит еще от одного или нескольких параметров, значения которых неодинаковы для разных нейронов, то сеть называют неоднородной гетерогенной.

4. Решетчатые нейронные сети. Такие сети представляют со­ бой массив нейронов, каждый из которых связан с входными ней­ ронами. Размерность массива нейронов определяет размерность решетчатой сети. Такая сеть является прямонаправленной, так как в ней нет обратных связей, однако в ней нельзя выделить скрытые элементы или слои (рис. 1.6).

5. Радиально-базисные (РБФ) сети. Искусственные нейронные сети испольующие в качестве нелинейности функции, которые в общем случае имеют вид:

х~

/(*) е о "

где о - ширина окна функции.

>■

>■

tfc O -* -

Рис. 1.6. Решетчатая сеть

Радиально-базисная сеть имеет следующие особенности:

-у нее только один скрытый слой;

-именно нейроны скрытого слоя используют вышеприве­

денную функцию; - коэффициенты связей входного слоя и скрытого слоя еди­

ничны.

Структура подобной сети выглядит так (рис. 1.7):

Рис. 1.7. Радиально-базисная сеть

6.Самоорганизующиеся карты. Обычно такие сети представ­

ляют собой некую двумерную структуру, составленную из нейронов. В процессе обучения на основе каждой обучающей записи устанавливается точка, соответствующая ей в структуре сети. Нейрон, который находится ближе других к этой точке, объ­ является нейроном-победителем. Веса связей, соединяющих этот нейрон с другими, увеличиваются, тем самым происходит целена­ правленное упорядочение сети. Веса от нейронов, являющихся

ю

«соседями» нейрона-победителя, к другим нейронам также увели­ чиваются, однако в меньшей мере. В конце обучения сеть превра­ щается в набор зон сосредоточения нейронов, именуемых класте­ рами. Примером такой сети является сеть Кохонена (рис. 1.8).

Рис. 1.8. Сеть Кохонена

Одна из часто упоминаемых и описанных в источниках классификаций структур нейросетей приведена на рис. 1.9:

Рис. 1.9. Классификация сетей

Сетью ART в данном случае называется довольно сложная сеть, построенная на основе теории адаптивного резонанса.

Обучение нейросетей

Сеть обучается таким образом, чтобы она на входной вектор реагировала желаемым (или, по крайней мере, близким к нему) вектором выходных сигналов. Обучение осуществляется за счет специальной процедуры обучения, которая производит целена­ правленную корректировку весовых коэффициентов между нейроподобными элементами. По мере этой итеративной настройки функционирование сети улучшается. В этом заключается пре­ имущество нейронных сетей по сравнению с некоторыми дру­ гими системами искусственного интеллекта, например, с экс­ пертными системами, однако, это преимущество проявляется только при решенииспецифичных для нейроструктур задач.

Сеть обучается в процессе взаимодействия с внешней сре­ дой, представленной моделью, особенности этой модели в ко­ нечном счете и определяют принятый способ обучения. Этот способ, в свою очередь, определяет правила модификации весо­ вых коэффициентов.

Существуют два способа обучения: «с учителем», «без учи­ теля», а также смешанные варианты обучения. При обучении с учителем нейронная сеть располагает правильными ответами (выходами сети) на каждый входной сигнал. Веса настраивают­ ся таким образом, чтобы значения выходов сети оказывались как можно более близкими к правильным.

Существует три фундаментальных свойства, связанных с обу­ чением на основе обучающей выборки, составленной из примеров: емкость, сложность образцов и вычислительная сложность. Под емкостью понимается количество образцов, которые может запом­ нить сеть, сложность образцов определяет число обучающих при­ меров, необходимых для достижения цели.

Причем, недостаточное число примеров может вызвать «переобученность» сети. В ситуации переобученности сеть отлично функционирует на примерах обучающей выборки, но очень плохо - на других тестовых примерах, пусть и подчиненных то­ му же статистическому распределению.

Обучение с учителем

Воснове идеи обучения с учителем лежит очевидная идея

отом, что для каждого входного вектора существует другой вектор, представляющий собой требуемый выход. Вместе они составляют обучающую пару, а из многих обучающих пар скла­ дывается обучающая выборка.

На вход сети предъявляется входной вектор из заданной выборки, вычисляется выход сети и сравнивается с соответст­ вующим целевым вектором. Рассчитанная ошибка функциони­ рования используется при коррекции весовых коэффициентов сети, в соответствии с алгоритмом, направленным на ее мини­ мизацию.

Обучение без учителя

Обучающая выборка в этом случае состоит только из векто­ ров входных сигналов. Обучающий алгоритм должен корректи­ ровать весовые коэффициенты связей таким образом, чтобы для достаточно близких входных векторов на выходе нейронной се­ ти получались достаточно близкие сигналы.

Таким образом, хотя предъявление на вход сети вектора из определенного класса дает на выходе соответствующий сигнал, но до обучения невозможно предсказать, какой выходной сиг­ нал будет производиться данным классом входных векторов.

При смешанном обучении часть весовых коэффициентов определяется посредством обучения с учителем, в то время как остальная получается с помощью самообучения.

Алгоритмы обучения

Общая схема обучения нейронной сети представлена на рис. 1.10:

Большинство современных алгоритмов обучения создано на основе концепции Хебба. Согласно этой концепции синапти­ ческий вес (весовой коэффициент связи) возрастает, если акти­ вированы оба нейрона, источник и приемник. Таким образом, часто используемые пути в сети усиливаются, и феномен при­ вычки и обучения через повторение получает объяснение.

Если используется обучение, основанное на правиле Хебба, наращивание весовых коэффициентов зависит от произведения уровней возбуждения передающего и принимающего нейронов. Это можно записать как и^у(и-Н) = w(ri) + ау{у/9 гдеу/, у, - выхо­ ды нейронов, причем /-й считается «входным» дляу-го; wij - ве­ совой коэффициент связи между двумя нейронами.

Рис. 1.10. Обучение нейросети

Однако, в настоящее время используется огромное разнооб­ разие обучающих алгоритмов, как восходящих к правилу Хебба, так и значительно отличающихся от него.

Правило Хопфилда похоже на правило Хебба за исключе­ нием того, что оно определяет величину усиления или ослабле­ ния. «Если одновременно выходной и входной сигнал нейрона активные или неактивные, увеличиваем вес соединения оценкой обучения, иначе уменьшаем вес оценкой обучения».

Правило

«дельта» является модификацией правила Хебба

и базируется

на идее непрерывного изменения синаптических

весов для уменьшения разности («дельта») между значением желаемого и текущего выходного сигнала нейрона

Wv (п+1)=Wv(п)+ay,, (dj - y j ) .

По этому правилу минимизируется среднеквадратичная по­ грешность сети. Это правило также упоминается как правило обучения Видрова-Хоффа и правило обучения наименьших средних квадратов.

В правиле едельта» погрешность, полученная в выходном слое, преобразовывается производной передаточной функцией и последовательно послойно распространяется назад на предыду­ щие слои для коррекции синаптических весов. Процесс обратного распространения погрешностей сети движется до первого слоя. От этого метода вычисления погрешности унаследовала свое имя известная парадигма Back Propagation. При использовании правила «дельта» важным является неупорядоченность множества входных данных. При хорошо упорядоченном или структурированном обу­ чающем множестве результат сети может не достигнуть желаемой точности, и сеть будет считаться неспособной к обучению.

Правило градиентного спуска похоже на правило «дельта» ис­ пользованием производной от передаточной функции для измене­ ния погрешности «дельта» перед применением ее к весам соедине­ ний. К конечному коэффициенту изменения прибавляется пропор­ циональная константа, связанная с оценкой обучения. И хотя про­ цесс обучения сходится медленно, это правило распространено и часто используется. Доказано, что разные оценки обучения для разных слоев сети помогают процессу обучения сходиться быст­ рее. Оценки обучения для слоев, близких к выходу, устанавлива­ ются меньшими, чем для слоев, близких ко входу.

Обучение методом соревнования отличается от обучения, ко­ торое производится по правилу Хебба. При применении метода соревнования выходные нейроны конкурируют между собой за активизацию («победитель получает все»). Такое обучение ана­ логично процессам, происходящим в биологических нейронных сетях, причем происходит кластеризация, то есть похожие с точки зрения корреляции сигналы группируются сетью и представляются одним элементом. Синаптические весы нейрона-победителя моди­ фицируются. Эффект такого правила обучения достигается за счет изменения сохраненного в сети образца (вектора синаптических

весов нейрона-победителя), в сторону близости к входному обу­ чающему сигналу. Нейрон с наибольшим выходным сигналом объявляется победителем и имеет возможность тормозить своих конкурентов и возбуждать соседей. Используется выходной сигнал нейрона-победителя и только ему и его соседям разрешается кор­ ректировать свои веса соединений

(*)] -

При обучении часто встречающейся разновидности сетей, называемой персептроном, (подробнее о персептронах см. раз­ дел 2.1) используется алгоритм обучения с учителем, называе­ мый обратным распространением ошибки (Back Propagation), основанный на правиле Хебба. Он имеет небольшую скорость обучения, однако, обученная с его помощью сеть эффективна и используется во многих задачах, например, в распознавании об­ разов и прогнозировании.

Метод Delta bar Delta был разработан Робертом Джекобсом (Robert Jacobs) как модификация Back Propagation и базируется на неформальном подходе к обучению искусственных сетей, при котором каждый вес имеет свой собственный самоадаптированный фактор обучения и прошлые значения погрешности используются для вычисления будущих значений.

Преимуществом этой парадигмы является ускорение сходи­ мости за счет использования дополнительной информации об из­ менении параметров и весов во время обучения. Однако, на прак­ тике оно заметно только для небольших сетей.

Алгоритм Extended Delta Bar Delta разработали Эли Минай (АН Minai) и Рон Вильямс (Ron Williams) в качестве продолже­ ния разработок Джекобса. В алгоритм встраивается память с возможностью восстановления.

Направленный случайный поиск

Сеть направленного случайного поиска (Directed Random Search) не базируется на алгоритме Back Propagation и корректиру­ ет весовые коэффициенты случайным образом. Для обеспечения

правильного обучения к случайному шагу прибавляется компонен­ та направления, гарантирующая изменение весов в нужную сторо­ ну. Парадигма случайного поиска имеет несколько важных черт. Она быстрая и легкая в использовании, наилучшие результаты по­ лучаются, когда начальные веса находятся близко к наилучшим весам. Однако, алгоритм эффективен лишь для небольшой сети, поскольку при увеличении числа соединений, процесс обучения становится длинным и трудным.

Обучение Больцмана

Это стохастическое правило обучения, которое основано на результатах, полученных в области термодинамики.

Целью обучения, основанного на принципе Больцмана, яв­ ляется настройка весовых коэффициентов, при которой состоя­ ния наблюдаемых нейронов соответствуют требуемому распре­ делению вероятностей.

Хронология развития концепции нейросетей

1942 год - Норберт Винер вместе с соратниками публикует работу о кибернетике. Основной идеей является представление сложных биологических процессов математическими моделями.

1943 го д - Маккалок и Питтс формализуют понятие ней­ ронной сети в фундаментальной статье о логическом исчисле­ нии идей и нервной активности.

1949 год - Хэбб предлагает первый алгоритм обучения.

В 1957 году Розенблаттом изобретен однослойный перцептрон. Перцептрон обретает популярность - его используют для распознавания образов, прогнозирования погоды и т.д. Каза­ лось, что построение полноценного искусственного интеллекта уже не за горами.

В 1969 году Минский публикует формальное доказательст­ во ограниченности персептрона и показывает, что однослойная сеть неспособна решать некоторые элементарные задачи (Про­ блема «четности» и «один в блоке» ). Интерес к нейронным се­ тям резко спадает.

1975 год - Фукушима представляет Когнитронсамоорга­ низующуюся сеть, предназначенную для инвариантного распо­ знавания образов.

1982 год - после длительного упадка интерес к нейросетям вновь возрастает. Хопфилд показал, что нейронная сеть с обрат­ ными связями может представлять собой систему, минимизирую­ щую энергию (так называемая сеть Хопфилда). Кохоненом пред­ ставлена модель сети, решающей задачу кластеризации и обучаю­ щейся без учителя - самоорганизующаяся карта Кохонена.

Изобретение алгоритма обратного распространения ошибки позволило создать многослойные персептроны.

Понятие нейросетевой технологии.

Нейросетевыми технологиями будем называть технологии решения задач (оптимизации, распознавания, управления и т.д.), реализованные при помощи нейронных сетей.

Вопросы по материалам раздела 1

1.Что такое нейроподобный элемент?

2.Для чего нужна нелинейная функция нейроподобного элемента?

3.Какие типы архитектур нейронных сетей вам известны?

4.Чем обучение сети с учителем отличается от обучения сети без учителя?

5.В чем суть концепции Хебба?