Загрузил shamiltinnikov

Раздел 3. Нейронные сети

Раздел 3. Нейронные сети
Биологический прототип искусственных нейронных сетей
Развитие искусственных нейронных сетей вдохновляется биологией.
То есть, рассматривая сетевые конфигурации и алгоритмы, исследователи
мыслят их в терминах организации мозговой деятельности. Но на этом
аналогия может и закончиться. Наши знания о работе мозга столь
ограничены, что мало бы нашлось руководящих ориентиров для тех, кто стал
бы ему подражать. Поэтому разработчикам сетей приходится выходить за
пределы современных биологических знаний в поисках структур, способных
выполнять полезные функции. Во многих случаях это приводит к
необходимости отказа от биологического правдоподобия, мозг становится
просто метафорой, и создаются сети, невозможные в живой материи или
требующие неправдоподобно больших допущений об анатомии и
функционировании мозга.
Несмотря на то, что связь с биологией слаба и зачастую несущественна,
искусственные нейронные сети продолжают сравниваться с мозгом. Их
функционирование часто напоминает человеческое познание, поэтому
трудно избежать этой аналогии. К сожалению, такие сравнения
неплодотворны и создают неоправданные ожидания, неизбежно ведущие к
разочарованию. Исследовательский энтузиазм, основанный на ложных
надеждах, может испариться, столкнувшись с суровой действительностью,
как это уже однажды было в шестидесятые годы, и многообещающая область
снова придет в упадок, если не будет соблюдаться необходимая
сдержанность.
Несмотря на сделанные предупреждения, полезно все же знать кое-что
о нервной системе млекопитающих, так как она успешно решает задачи, к
выполнению которых лишь стремятся искусственные системы. Нервная
система человека, построенная из элементов, называемых нейронами, имеет
ошеломляющую сложность. Около 1011 нейронов участвуют в примерно 1015
передающих связях, имеющих длину метр и более. Каждый нейрон обладает
многими качествами, общими с другими элементами тела, но его уникальной
способностью является прием, обработка и передача электрохимических
сигналов по нервным путям, которые образуют коммуникационную систему
мозга.
На рис. 28 показана структура пары типичных биологических
нейронов. Дендриты идут от тела нервной клетки к другим нейронам, где они
принимают сигналы в точках соединения, называемых синапсами. Принятые
синапсом входные сигналы подводятся к телу нейрона. Здесь они
суммируются, причем одни входы стремятся возбудить нейрон, другие воспрепятствовать его возбуждению. Когда суммарное возбуждение в теле
1
нейрона превышает некоторый порог, нейрон возбуждается, посылая по
аксону сигнал другим нейронам. У этой основной функциональной схемы
много усложнений и исключений, тем не менее, большинство искусственных
нейронных сетей моделируют лишь эти простые свойства.
Рис. 28. Структура биологического нейрона
Основные идеи и области применения нейросетей
Первые нейросети были созданы Розенблатом и Мак - Коллаком в 5665 гг. XXв. это были попытки создать системы, моделирующие человеческий
глаз и его взаимодействие с мозгом. Устройство, созданное ими тогда,
получило название персептрона. Оно умело различать буквы алфавита, но
было чувствительно к их написанию.
Разработка искусственных нейронных сетей началась еще на заре
столетия, но только в 90-х годах, когда были преодолены некоторые
теоретические барьеры, а вычислительные системы стали достаточно
мощными, нейронные сети получили широкое признание. Слово
«искусственные» используется для того, чтобы подчеркнуть, что речь идет об
искусственном устройстве, а о реальных биологических нейронных системах,
которые имеет человек. В сравнении с человеческим мозгом, искусственные
нейронные сети сегодня представляют собой весьма упрощенные
абстракции.
Искусственные нейронные системы могут быть рассмотрены как
упрощенные математические модели систем, подобных мозгу. Они
функционируют как вычислительные сети параллельного распространения.
Однако, в противоположность обычным компьютерам, которые
запрограммированы для выполнения специфических задач, нейронные сети
2
должны быть обучены, или натренированы. Они могут выучить новые
ассоциации, новые функциональные зависимости и новые образы. Хотя при
решении задач, основанных на точных и быстрых арифметических
операциях, компьютер работает лучше, чем биологические и искусственные
нейронные сети, искусственные нейронные системы представляют
многообещающее новое поколение сетей, обрабатывающих информацию.
Нейронные сети сегодня - та область знаний, преставление о которой
должны иметь все научные специалисты, работающие в области
компьютерных технологий, равно как и многие инженеры, и научные
работники смежных специальностей.
Список приложений, которые могут быть решены нейронными сетями,
расширился от тестовых задач малых размеров до больших практических
задач. Были произведены составные нейросетевые чипы.
Ожидается, что искусственные нейронные системы будут
использоваться в приложениях, включающих в себя видение, речь, принятие
решения, рассуждение, а также в преобразователях сигналов, таких как
фильтры, детекторы и системы контроля качества.
Основные компоненты нейронной сети
Искусственные нейронные системы, или нейронные сети - это
физические клеточные системы, которые могут приобретать, сохранять и
использовать опытные знания.
Знания существуют в форме стабильных состояний или отображений,
внедренных в сеть, которые могут быть вызваны в ответ на поданные
сигналы.
Нейронная сеть является совокупностью элементов, соединенных
между собой некоторым образом так, чтобы между ними обеспечивалось
взаимодействие.
Основные обрабатывающие элементы нейронной сети называются
искусственными нейронами, или просто нейронами или узлами. Эти узлы
представляют собой простые процессоры, вычислительные возможности
которых обычно ограничиваются некоторым правилом комбинирования
входных сигналов и правилом активации, позволяющим вычистить выходной
сигнал по совокупности входных сигналов. Выходной сигнал элемента
может посылаться другим элементам по взвешенным связям, с каждой из
которых связан весовой коэффициент или вес.
Характеристики нейронных сетей
1) Множество простых процессоров (узлов, нейронов).
2) Структура связей (представляющим синапсы клетки).
3
3)
4)
5)
6)
Правило распространения сигналов в сети.
Правило комбинирования входящих сигналов.
Правило вычисления сигнала активности.
Правила обучения, корректирующие связи.
Множество простых процессоров
На рис. 29 показана структура искусственной нейронной сети. С
каждым обрабатывающим элементом сети связывается набор входящих
связей, по которым к данному элементу поступают сигналы от других
элементов сети, и набор исходящих связей, по которым сигналы данного
элемента передаются другим элементам.
Элементы, предназначенные для получения сигналов из внешней
среды, называются входными элементами.
выходной сигнал
Y
y1
y2
yn
выходной слой
скрытые слои
входной слой
x1
x2
Х
xk
входной сигнал
Рис. 29. Структура нейронной сети
Элементы для вывода во внешнюю среду результатов вычислений
называются выходными элементами.
Внутренние элементы называет скрытым слоем.
4
Структура связей
Структура связей отражает то, как соединены элементы сети. В
зависимости от модели нейронной сети элементы могут быть
 связаны со всеми другими элементами сети
 организованы в некоторой упорядоченной иерархии, где связи
допускаются только между элементами в смежных слоях
 могут допускаться обратные связи между смежными слоями или
внутри одно слоя, или же допускается посылка сигналов элементами
самим себе.
Каждая связь определяется тремя параметрами:
 элементом, от которого исходит данная связь;
 элементом, к которому данная связь направлена;
 числом (обычно действительным), указывающий весовой коэффициент
(вес связи).
Отрицательное значение веса соответствует подавлению активности
элемента, а положительное значение - усилению его активности. То есть веса
могут быть положительными (возбуждающими) или отрицательными
(тормозящими).
Абсолютное значение весового коэффициента характеризует силу
связи.
Структура связей обычно представляется в виде весовой матрицы W, в
которой каждый элемент wij представляет величину весового коэффициента
для связи, идущей от элемента i к элементу j. Для описания структуры связей
может использоваться не одна, а несколько весовых матиц, если элементы
сгруппированы в слои. Матрица является памятью сети, хранящей
информацию о том, как должна выполняться задача.
Правило распространения сигналов в сети
Правило распространения сигналов сети является правилом
комбинирования входящих сигналов, вычисления исходящего сигнала, а
также посылки сигнала другим элементам. При этом в некоторых моделях
моменты обновления элементов выбираются случайным образом, в других
же моделях обновление некоторых групп элементов допускается только
после обновления определенных групп других элементов.
Правило комбинирования входящих сигналов
Часто входящие сигналы элемента комбинируют путем суммирования
их взвешенных значений (рис. 30).
5
0.7
-0.3
3.1
i
0.1
0.5
0.3
Рис. 30. Метод суммирования сигналов, направленных к i-му элементу.
n
net j   xi wij
i 1
net j  (0.7  0.3)  (0.1  3.1)  (0.3  0.5)  0.25
 0.3
0.7 0.1 0.3 3.1 
0.5 
или в векторном представлении
.
net j - результат комбинирования ввода элемента j, x i - выход
элемента i, а n – число задействованных связей.
Используются и другие формы комбинирования входящих сигналов,
такие как рассмотрение квадрата разности между значением силы связи и
значением передаваемого по связи сигнала с последующим суммированием
таких разностей для всех связей данного элемента.
Правило вычисления сигнала активности
Для всех элементов имеется правило вычисления выходного значения,
которое предполагается передать другим элементам или во внешнюю среду,
если речь идет о выходном элементе, представляющем конечный результат
вычислений. Это правило называют функцией активности (функцией
активации), а соответствующее значение называют активностью f (net ) ,
соответствующего элемента.
Функции активации
Тождественная функция
Функция активности для входных элементов может быть
тождественной функцией, то есть значение активности (сигнал, посылаемый
6
другим элементам) равно комбинированному вводу. Входные элементы
предназначены для распределения вводимых в сеть сигналов между
элементами сети, поэтому для выходных элементов обычно требуется, чтобы
исходящий от элемента сигнал, был таким же, как и входящий. То есть
входные элементы предназначены для того, чтобы распределять сигналы,
получаемые из внешней среды (их даже не считают частью нейронной сети).
Пороговая функция
В большинстве моделей нейронных сетей используются нелинейные
функции активации (активности). Пороговая функция ограничивает
активность значениями 0 или 1 в зависимости от значения комбинированного
ввода в сравнении с некоторой пороговой величиной  (рис 31), то есть:
1, если net j  
f (net )  
0, если net j  
.
f(net)
1

net
Рис. 31. Пороговая функция активации
Часто удобно вычесть пороговое значение (смещение или сдвиг) из
значения комбинированного ввода и рассмотреть пороговую функцию в
форме, показанной на рисунке 31. Значение комбинированного ввода

1, если net j  0
f
(
net
)


net j  w0   xi wij

0, если net j  0 .
i 1
вычисляется по формуле:
n
f(net)
1

net
Рис. 31. Пороговая функция активации со смешением
7
Сигмовидная функция
Сигмовидная функция активации (рис. 32) является наиболее часто
используемой. Выходные значения такой функции непрерывно заполняют
диапазон от 0 до 1:
f (net ) 
1
1  exp( net ) .
Наклон и область выходных значений логической функции могут быть
разными.
f(net)
net
Рис. 32. Сигмовидная функция активации
Правило обучения, корректирующие связи
Одним из главных преимуществ нейронных сетей заключается в том,
что они предполагают наличие правил, с помощью которых сеть может
программироваться автоматически. Типичной формой обучения является
управляемое обучение, когда для каждого набора данных, подаваемого в
процессе обучения на вход сети, соответствующий выходной набор известен.
Обычно в начале обучения весовые коэффициенты устанавливаются
равными случайным малым значениям, так что в первый раз при
предъявлении сети учебного образца маловероятно, что сеть произведет
верный вывод. Расхождение между тем, что даст сеть, и тем, что для данного
учебного набора должно быть получено на самом деле, составляет ошибку,
которая используется для корректировки весов.
В начале обучения весовые коэффициенты устанавливаются равными
малым случайным значениям, например из диапазона [-0.3;0.3]. В процессе
обучения на вход сети подаются образец за образцом, и в результате их
обработки весовые коэффициенты корректируются до тех пор, пока для всех
вводимых образцов ошибки не станут некоторого приемлемого достаточно
малого значения. В завершении процесса сеть тестируется на данных, не
представленных в фазе обучения: в результате можно оценить насколько
8
хорошо сеть работает с данными, которые в процессе обучения были ей
неизвестны.
Качество работы нейронной сети сильно зависит от предъявляемого в
процессе обучения набора учебных данных. Учебные данные должны быть
типичны для задачи, решению которой обучается сеть. Часто необходимо
выполнять и предварительную обработку учебных данных.
Таким образом, задача обучения нейронных сетей является просто
задачей нахождения множества сил (весов) связей, которое позволяет сети
проводить желаемые вычисления. Сеть снабжается множеством примеров
пар вход/выход (тренировочным множеством), и производится изменение ее
связей для того, чтобы аппроксимировать функцию, из которой были взяты
пары вход/выход. Затем сеть проверяется на способность к обобщению.
Процедура обучения с исправлением ошибок состоит в следующем: В
ходе тренировки в сеть подается входной сигнал, он проходит через сеть,
вырабатывая на выходных элементах множество значений. Затем
действительный выход сравнивается с желаемым образцом, и вычисляется
совпадение. Если выход и образец совпадают, то в сети не делается никаких
изменений. Однако если выход отличается от образца, то необходимо
изменить некоторые связи.
Пример 7. Предположим, что мы имеем два булевых входа x1 , x2  0,1 и
один булевый выход o  0, 1, а тренировочное множество задано
следующими парами (таблица 5) вход/выход (логическое И).
Таблица 5
Тренировочное множество для нейронной сети (логическое И)
№ x1 x2 o( x1 , x2 )  x1  x2
1 1 1
1
2 1 0
0
3 0 1
0
4 0 0
0
Тогда задача обучения состоит в том, чтобы найти веса w1 и w2 , а также
пороговое (или настроечное) значение  такое, чтобы вычисленный выход
нашей сети (который задан линейной пороговой функцией) равнялся
желаемому выходу по всем примерам. Простым решением является
w1  w2 
1
,   0,6 .
2
Действительно, из уравнения
1, если x1 / 2 x2 / 2 0.6
o( x1, x2 )  
0, если x1 / 2 x2 / 2 0.6
следует, что выходной нейрон срабатывает тогда и только тогда, когда
оба входа включены.
9
Пример 8. Предположим, что мы имеем два булевых входа x1 , x2  0,1 и
один булевый выход o  0, 1, а тренировочное множество (табл. 6) задано
следующими парами вход/выход (логическое ИЛИ).
Таблица 6
Тренировочное множество для нейронной сети (логическое ИЛИ)
№ x1 x2 o( x1 , x2 )  x1  x2
1 1 1
1
2 1 0
1
3 0 1
1
4 0 0
0
Тогда задача обучения состоит в том, чтобы найти веса w1 и w2 , а также
пороговое (или настроечное) значение  такое, чтобы вычисленный выход
нашей сети (который задан линейной пороговой функцией) равнялся
желаемому выходу по всем примерам.
Простым решением является w1  w2  1 ,   0,8 .
Действительно, из уравнения
.
1, если x1  x2 08
o( x1, x2 )  
.
0, если x1  x2 08
следует, что выходной нейрон срабатывает тогда и только тогда, когда,
как минимум, один вход включен.
Существуют различные правила обучения такие как:
 перцептронное обучающее правило (введенное Розенблатом,
являющееся типичным алгоритмом обучения с исправлением
ошибок для однослойной сети прямой проводимости с линейной
пороговой функцией активации);
 дельта - обучающее правило;
 обучение “победитель получает все”.
Нейронные сети, по существующим в настоящее время
представлениям, способны решать такие задачи, как распознавание образов,
выделение сигнала на фоне шума, исправление ошибок, контроль над
сложной
адаптивной
системой
управления
при
невозможности
формализовать экспертные знания или при отсутствии таковых. Доля
подобных систем на мировом рынке интеллектуальных систем в настоящее
время оценивается около 11%.
10
Контрольные вопросы
1. К какому направлению развития искусственного интеллекта относятся
искусственные нейронные сети (кибернетика «черного ящика» или
нейрокибернетика) и почему?
2. Кем были созданы первые нейросети? Какую задачу решали?
3. Из каких компонентов состоит искусственная нейронная сеть?
4. Что такое вес связи? Тормозящая связь, возбуждающая связь?
5. Как комбинируются входящие сигналы?
6. Что такое функции активации?
7. Какие функции активации Вы знаете?
8. Для чего нужно обучать нейронную сеть?
9. Что такое корректирующие связи?
10.Какие обучающие правила Вы знаете?
11