Теории искусственных нейронных сетей
Нейронные сети и вычислительные системы на их основе. Алгоритмы генетического поиска для построения топологии и обучения нейронных сетей. Линейные преобразования векторов. Биологический нейрон и его строение. Признаковое и конфигурационное пространство.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курс лекций |
Язык | русский |
Дата добавления | 17.01.2011 |
Размер файла | 487,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Число переменных N |
Полное число возможных логических функций |
Из них линейно разделимых функций |
|
1 |
4 |
4 |
|
2 |
16 |
14 |
|
3 |
256 |
104 |
|
4 |
65536 |
1882 |
|
5 |
> 1000000000 |
94572 |
Видно, что однослойный персептрон крайне ограничен в своих возможностях точно представить наперед заданную логическую функцию. Нужно отметить, что позднее, в начале 70-х годов, это ограничение было преодолено путем введения нескольких слоев нейронов, однако критическое отношение к классическому персептрону сильно заморозило общий круг интереса и научных исследований в области искусственных нейронных сетей.
В завершении остановимся на тех проблемах, которые остались открытыми после работ Ф.Розенблатта. Часть из них была впоследствии решена (и будет частично рассмотрена в следующих лекциях), некоторые остались без полного теоретического решения.
1. Практическая проверка условия линейной разделимости множеств. Теорема Розенблатта гарантирует успешное обучение только для персептронно представимых функций, однако ничего не говорит о том, как это свойство практически обнаружить до обучения
2. Сколько шагов потребуется при итерационном обучении? Другими словами, затянувшееся обучение может быть как следствием непредставимости функции (и в этом случае оно никогда не закончится), так и просто особенностью алгоритма.
3. Как влияет на обучение последовательность предъявления образов в течение эпохи обучения?
4. Имеет ли вообще ? -правило преимущества перед простым перебором весов, т.е. является ли оно конструктивным алгоритмом быстрого обучения?
5. Каким будет качество обучения, если обучающая выборка содержит не все возможные пары векторов? Какими будут ответы персептрона на новые вектора?
Последний вопрос затрагивает глубокие пласты вычислительной нейронауки, касающиеся способностей искусственных систем к обобщению ограниченного индивидуального опыта на более широкий класс ситуаций, для которых отклик был заранее не сообщен нейросети. Ситуация, когда системе приходится работать с новыми образами, является типичной, так как число всех возможных примеров экспоненциально быстро растет с ростом числа переменных, и поэтому на практике индивидуальный опыт сети всегда принципиально не является полным.
Возможности обобщения в нейросетях будут подробнее рассмотрены на следующей лекции.
ЛЕКЦИЯ 5. Свойства процессов обучения в нейронных сетях
нейронный сеть преобразование вектор
Обучение нейронных сетей на примерах. Формирование обобщений (категорий) при обучении. Признаковое и конфигурационное (фазовое) пространство нейронной сети. Обучение как задача многофакторной оптимизации.
Задача обучения нейронной сети на примерах.
По своей организации и функциональному назначению искусственная нейронная сеть с несколькими входами и выходами выполняет некоторое преобразование входных стимулов - сенсорной информации о внешнем мире - в выходные управляющие сигналы. Число преобразуемых стимулов равно n - числу входов сети, а число выходных сигналов соответствует числу выходов m. Совокупность всевозможных входных векторов размерности n образует векторное пространство X, которое мы будем называть признаковым пространством (При рассмотрении соответствующих пространств предполагается использование обычных векторных операций сложения и умножения на скаляр (подробнее см. Лекцию 2). Аналогично, выходные вектора также формируют признаковое пространство, которое будет обозначаться Y. Теперь нейронную сеть можно мыслить, как некоторую многомерную функцию F: X ? Y , аргумент которой принадлежит признаковому пространству входов, а значение - выходному признаковому пространству.
При произвольном значении синаптических весовых коэффициентов нейронов сети функция, реализуемая сетью также произвольна. Для получения требуемой функции необходим специфический выбор весов. Упорядоченная совокупность всех весовых коэффициентов всех нейронов может быть представлена, как вектор W. Множество всех таких векторов также формирует векторное пространство, называемое пространством состояний или конфигурационным (фазовым) пространством W. Термин "фазовое пространство" пришел из статистической физики систем многих частиц, где под ним понимается совокупность координат и импульсов всех частиц, составляющих систему.
Задание вектора в конфигурационном пространстве полностью определяет все синаптические веса и, тем самым, состояние сети. Состояние, при котором нейронная сеть выполняет требуемую функцию, называют обученным состоянием сети W*. Отметим, что для заданной функции обученное состояние может не существовать или быть не единственным. Задача обучения теперь формально эквивалентна построению процесса перехода в конфигурационном пространстве от некоторого произвольного состояния W0 к обученному состоянию.
Требуемая функция однозначно описывается путем задания соответствия каждому вектору признакового пространства X некоторого вектора из пространства Y. В случае сети из одного нейрона в задаче детектирования границы, рассмотренной в конце третьей Лекцииhttp://www.alife.narod.ru/lectures/neural/Neu_ch03.htm, полное описание требуемой функции достигается заданием всего четырех пар векторов. Однако в общем случае, как например, при работе с видеоизображением, признаковые пространства могут иметь высокую размерность, поэтому даже в случае булевых векторов однозначное определение функции становится весьма громоздким (при условии, конечно, если функция не задана явно, например, формулой; однако для явно заданных функций обычно не возникает потребности представления их нейросетевыми моделями). Во многих практических случаях значения требуемых функций для заданных значений аргумента получаются из эксперимента или наблюдений, и, следовательно, известны лишь для ограниченной совокупности векторов. Кроме того, известные значения функции могут содержать погрешности, а отдельные данные могут даже частично противоречить друг другу. По этим причинам перед нейронной сетью обычно ставится задача приближенного представления функции по имеющимся примерам. Имеющиеся в распоряжении исследователя примеры соответствий между векторами, либо специально отобранные из всех примеров наиболее представительные данные называют обучающей выборкой. Обучающая выборка определяется обычно заданием пар векторов, причем в каждой паре один вектор соответствует стимулу, а второй - требуемой реакции. Обучение нейронной сети состоит в приведении всех векторов стимулов из обучающей выборки требуемым реакциям путем выбора весовых коэффициентов нейронов.
Общая проблема кибернетики, заключающаяся в построении искусственной системы с заданным функциональным поведением, в контексте нейроных сетей понимается, как задача синтеза требуемой искусственной сети. Она может включать в себя следующие подзадачи: 1) выбор существенных для решаемой задачи признаков и формирование признаковых пространств; 2) выбор или разработка архитектуры нейронной сети, адекватной решаемой задаче; 3) получение обучающей выборки из наиболее представительных, по мнению эксперта, векторов признаковых пространств; 4) обучение нейронной сети на обучающей выборке.
Отметим, что подзадачи 1)-3) во многом требуют экспертного опыта работы с нейронными сетями, и здесь нет исчерпывающих формальных рекомендаций. Эти вопросы рассматриваются на протяжении всей книги в применении к различным нейросетевым архитектурам, с иллюстрациями особенностей их обучения и применения.
Классификация и категоризация.
В случае, когда выходное признаковое пространство представляет собой дискретный перечень из двух или более групп данных, задачей нейронной сети является отнесение входных векторов к одной из этих групп. В этом случае говорят, что нейросетевая система выполняет классификацию или категоризацию данных.
Эти две интеллектуальные задачи, по-видимому, следует отличать друг от друга. Термин класс можно определить, как совокупность предметов или понятий (образов), выделенных и сгруппированных по определенным признакам или правилам. Под классификацией мы будем понимать отнесение некоторого образа к классу, выполняемое по этим формальным правилам по совокупности признаков. Категория же (если отвлечься от специфического философского характера этого понятия) определяет лишь некоторые общие свойства образов и связи между ними. Задача категоризации, т.е. определения отношения данного образа к некоторой категории, гораздо менее определена, чем задача отношения к классу. Границы различных категорий являются нечеткими, расплывчатыми, и обычно сама категория понимается не через формальное определение, а только в сравнении с другими категориями. Границы классов, напротив, определены достаточно точно - образ относится к данному классу, если известно, что он обладает необходимым числом признаков, характерных для этого класса.
Итак, задачей систем-классификаторов является установление принадлежности образа к одному из формально определенных классов. Примерами такой задачи является задача классификации растений в ботанике, классификация химических веществ по их свойствам и типам возможных реакций, в которые они вступают, и другие. Формальные признаки могут быть определены посредством правил типа “если..-то..”, а системы, оперирующие с такими правилами, получили название экспертных систем. Традиционной областью применения классификаторов на нейронных сетях является экспериментальная физика высоких энергий, где одной из актуальных задач выступает выделение среди множества зарегистрированных в эксперименте событий с элементарными частицами событий, представляющих интерес для данного эксперимента.
Проблема категоризации находится на ступеньку выше по сложности в сравнении с классификацией. Особенность ее заключается в том, что помимо отнесения образа к какой-либо группе, требуется определить сами эти группы, т.е. сформировать категории.
В случае обучения с учителем (например, в персептроне) формирование категорий происходит методом проб и ошибок на основе примеров с известными ответами, предоставляемыми экспертом. Формирование категорий весьма напоминает процесс обучения у живых организмов, поэтому обычно эксперта называют “супервизором” или учителем. Учитель управляет обучением при помощи изменения параметров связей и, реже, самой топологии сети.
Задачей системы-категоризатора является формирование обобщающих признаков в совокупности примеров. При увеличении числа примеров несущественные, случайные признаки сглаживаются, а часто встречающиеся - усиливаются, при этом происходит постепенное уточнение границ категорий. Хорошо обученная нейросетевая система способна извлекать признаки из новых примеров, ранее неизвестных системе, и принимать на их основе приемлемые решения.
Важно отметить различие в характере неявных “знаний”, запомненных искусственной нейронной сетью, и явных, формальных “знаний”, заложенных в экспертных системах. Некоторые сходства и различия представлены в следующей таблице.
Экспертные системы (ЭС) |
Нейросетевые системы (НС) |
||
Источник знаний |
Формализованный опыт эксперта, выраженный в виде логических утверждений - правил и фактов, безусловно принимаемых системой |
Совокупный опыт эксперта-учителя, отбирающего примеры для обучения + индивидуальный опыт обучающейся на этих примерах нейронной сети |
|
Характер знаний |
Формально-логическое “левополушарное” знание в виде правил |
Ассоциативное “правополушарное” знание в виде связей между нейронами сети |
|
Развитие знаний |
В форме расширения совокупности правил и фактов (базы знаний) |
В форме дообучения на дополнительной последовательности примеров, с уточнением границ категорий и формированием новых категорий |
|
Роль эксперта |
Задает на основе правил полный объем знаний экспертной системы |
Отбирает характерные примеры, не формулируя специально обоснование своего выбора |
|
Роль искусственной системы |
Поиск цепочки фактов и правил для доказательства суждения |
Формирование индивидуального опыта в форме категорий, получаемых на основе примеров и категоризация образов |
Различия в характере экспертных и нейросетевых систем обуславливают и различия в их сферах применения. Экспертные системы применяются в узких предметных областях с хорошо структурированными знаниями, например в классификации неисправностей конкретного типа оборудования, фармакологии, анализе химсостава проб и т.д. Нейронные сети применяются кроме перечисленных областей и в задачах с плохо структурированной информацией, например при распознавании образов, рукописного текста, анализе речи и т.д.
Обучение нейронной сети с учителем, как задача многофакторной оптимизации.
Понятие о задаче оптимизации.
Возможность применения теории оптимизации и обучению нейронных сетей крайне привлекательна, так как имеется множество хорошо опробованных методов оптимизации, доведенных до стандартных компьютерных программ. Сопоставление процесса обучения с процессом поиска некоторого оптимума также не лишено и биологических оснований, если рассматривать элементы адаптации организма к окружающим условиям в виде оптимального количества пищи, оптимального расходования энергии и т.п. Подробное рассмотрение методов оптимизации выходит за рамки данных лекций, поэтому здесь мы ограничимся лишь основными понятиями. Для более подробного знакомства можно порекомендовать книгу Б.Банди.
Функция одной действительной переменной f(x) достигает локального минимума в некоторой точке x0, если существует такая ? -окрестность этой точки, что для всех x из этой окрестности, т.е. таких, что | x - x0 | < ?, имеет место f(x) > f(x0).
Без дополнительных предположений о свойствах гладкости функции выяснить, является ли некоторая точка достоверной точкой минимума, используя данное определение невозможно, поскольку любая окрестность содержит континуум точек. При применении численных методов для приближенного поиска минимума исследователь может столкнуться с несколькими проблемами. Во-первых, минимум функции может быть не единственным. Во-вторых, на практике часто необходимо найти глобальный, а не локальный минимум, однако обычно не ясно, нет ли у функции еще одного, более глубокого, чем найденный, минимума.
Математическое определение локального минимума функции в многомерном пространстве имеет тот же вид, если заменить точки x и x0 на вектора, а вместо модуля использовать норму. Поиск минимума для функции многих переменных (многих факторов) является существенно более сложной задачей, чем для одной переменной. Это связано прежде всего с тем, что локальное направление уменьшения значения функции может не соответствовать направлению движения к точке минимума. Кроме того, с ростом размерности быстро возрастают затраты на вычисление функции.
Решение задачи оптимизации во многом является искусством, общих, заведомо работающих и эффективных в любой ситуации методов нет. Среди часто используемых методов можно рекомендовать симплекс-метод Нелдера, некоторые градиентные методы, а также методы случайного поиска. В Приложении 2 для решения задачи оптимизации рассматриваются методы имитации отжига и генетического поиска, относящиеся к семейству методов случайного поиска.
В случае, если независимые переменные являются дискретными и могут принимать одно значение из некоторого фиксированного набора, задача многомерной оптимизации несколько упрощается. При этом множество точек поиска становится конечным, а следовательно задача может быть, хотя бы в принципе, решена методом полного перебора. Будем называть оптимизационные задачи с конечным множеством поиска задачами комбинаторной оптимизации.
Для комбинаторных задач также существуют методы поиска приближенного решения, предлагающие некоторую стратегию перебора точек, сокращающую объем вычислительной работы. Отметим, что имитация отжига и генетический алгоритм также применимы и к комбинаторной оптимизации.
Постановка задачи оптимизации при обучении нейронной сети
Пусть имеется нейронная сеть, выполняющая преобразование F:X?Y векторов X из признакового пространства входов X в вектора Y выходного пространства Y. Сеть находится в состоянии W из пространства состояний W. Пусть далее имеется обучающая выборка (X?,Y?), ? = 1..p. Рассмотрим полную ошибку E, делаемую сетью в состоянии W.
Отметим два свойства полной ошибки. Во-первых, ошибка E=E(W) является функцией состояния W, определенной на пространстве состояний. По определению, она принимает неотрицательные значения. Во-вторых, в некотором обученном состоянии W*, в котором сеть не делает ошибок на обучающей выборке, данная функция принимает нулевое значение. Следовательно, обученные состояния являются точками минимума введенной функции E(W).
Таким образом, задача обучения нейронной сети является задачей поиска минимума функции ошибки в пространстве состояний, и, следовательно, для ее решения могут применяться стандартные методы теории оптимизации. Эта задача относится к классу многофакторных задач, так, например, для однослойного персептрона с N входами и M выходами речь идет о поиске минимума в NxM-мерном пространстве.
На практике могут использоваться нейронные сети в состояниях с некоторым малым значением ошибки, не являющихся в точности минимумами функции ошибки. Другими словами, в качестве решения принимается некоторое состояние из окрестности обученного состояния W*. При этом допустимый уровень ошибки определяется особенностями конкретной прикладной задачи, а также приемлемым для пользователя объемом затрат на обучение.
Задача
Синаптические весовые коэффициенты однослойного персептрона с двумя входами и одним выходом могут принимать значения -1 или 1. Значение порога равно нулю. Рассмотреть задачу обучения такого персептрона логической функции “и”, как задачу многофакторной комбинаторной оптимизации. Для обучающей выборки использовать все комбинации двоичных входов.
ЛЕКЦИЯ 6. Многослойный ПЕРСЕПТРОН
Ограничения однослойных нейронных сетей. Необходимость иерархической организации нейронной системы. Многослойный ПЕРСЕПТРОН. Алгоритм обратного распространения ошибок.
Необходимость иерархической организации нейросетевых архитектур.
На предыдущих лекциях нам уже пришлось встретиться с весьма жесткими ограничениями на возможности однослойных сетей, в частности с требованием линейной разделимости классов. Особенности строения биологических сетей подталкивают исследователя к использованию более сложных, и в частности, иерархических архитектур. Идея относительно проста - на низших уровнях иерархии классы преобразуются таким образом, чтобы сформировать линейно разделимые множества, которые в свою очередь будут успешно распознаваться нейронами на следующих (высших) уровнях иерархии.
Однако основной проблемой, традиционно ограничивающей возможные сетевые топологии простейшими структурами, является проблема обучения. На этапе обучения сети предъявляются некоторые входные образы, называемые обучающей выборкой, и исследуются получаемые выходные реакции. Цель обучения состоит в приведении наблюдаемых реакций на заданной обучающей выборке к требуемым (адекватным) реакциям путем изменения состояний синаптических связей. Сеть считается обученной, если все реакции на заданном наборе стимулов являются адекватными. Данная классическая схема обучения с учителем требует явного знания ошибок при функционировании каждого нейрона, что, разумеется, затруднено для иерархических систем, где непосредственно контролируются только входы и выходы. Кроме того, необходимая избыточность в иерархических сетях приводит к тому, что состояние обучения может быть реализовано многими способами, что делает само понятие “ошибка, делаемая данным нейроном” весьма неопределенным.
Наличие таких серьезных трудностей в значительной мере сдерживало прогресс в области нейронных сетей вплоть до середины 80-х годов, когда были получены эффективные алгоритмы обучения иерархических сетей.
Многослойный ПЕРСЕПТРОН.
Рассмотрим иерархическую сетевую структуру, в которой связанные между собой нейроны (узлы сети) объединены в несколько слоев (Рис. 6.1). На возможность построения таких архитектур указал еще Ф.Розенблатт, однако им не была решена проблема обучения. Межнейронные синоптические связи сети устроены таким образом, что каждый нейрон на данном уровне иерархии принимает и обрабатывает сигналы от каждого нейрона более низкого уровня. Таким образом, в данной сети имеется выделенное направление распространения нейроимпульсов - от входного слоя через один (или несколько) скрытых слоев к выходному слою нейронов. Нейросеть такой топологии мы будем называть обобщенным многослойным персептроном или, если это не будет вызывать недоразумений, просто персептроном.
Рис.6.1. Структура многослойного персептрона с пятью входами, тремя нейронами в скрытом слое, и одним нейроном выходного слоя.
Персептрон представляет собой сеть, состоящую из нескольких последовательно соединенных слоев формальных нейронов МакКаллока и Питтса. На низшем уровне иерархии находится входной слой, состоящий из сенсорных элементов, задачей которого является только прием и распространение по сети входной информации. Далее имеются один или, реже, несколько скрытых слоев. Каждый нейрон на скрытом слое имеет несколько входов, соединенных с выходами нейронов предыдущего слоя или непосредственно со входными сенсорами X1..Xn, и один выход. Нейрон характеризуется уникальным вектором весовых коэффициентов w. Веса всех нейронов слоя формируют матрицу, которую мы будем обозначать V или W. Функция нейрона состоит в вычислении взвешенной суммы его входов с дальнейшим нелинейным преобразованием ее в выходной сигнал:
(6.1)
Выходы нейронов последнего, выходного, слоя описывают результат классификации Y=Y(X). Особенности работы персептрона состоят в следующем. Каждый нейрон суммирует поступающие к нему сигналы от нейронов предыдущего уровня иерархии с весами, определяемыми состояниями синапсов, и формирует ответный сигнал (переходит в возбужденное состояние), если полученная сумма выше порогового значения. Персептрон переводит входной образ, определяющий степени возбуждения нейронов самого нижнего уровня иерархии, в выходной образ, определяемый нейронами самого верхнего уровня. Число последних, обычно, сравнительно невелико. Состояние возбуждения нейрона на верхнем уровне говорит о принадлежности входного образа к той или иной категории.
Традиционно рассматривается аналоговая логика, при которой допустимые состояния синаптических связей определяются произвольными действительными числами, а степени активности нейронов - действительными числами между 0 и 1. Иногда исследуются также модели с дискретной арифметикой, в которой синапс характеризуется двумя булевыми переменными: активностью (0 или 1) и полярностью (-1 или +1), что соответствует трехзначной логике. Состояния нейронов могут при этом описываться одной булевой переменной. Данный дискретный подход делает конфигурационное пространство состояний нейронной сети конечным (не говоря уже о преимуществах при аппаратной реализации).
Здесь будет в основном описываться классический вариант многослойной сети с аналоговыми синапсами и сигмоидальной передаточной функцией нейронов, определяемой формулой (6.1).
Обучение методом обратного распространения ошибок.
Для обучения многослойной сети в 1986 г. Руммельхартом и Хинтоном (Rummelhart D.E., Hinton G.E., Williams R.J., 1986) был предложен алгоритм обратного распространения ошибок (error back propagation). Многочисленные публикации о промышленных применениях многослойных сетей с этим алгоритмом обучения подтвердили его принципиальную работоспособность на практике.
В начале возникает резонный вопрос - а почему для обучения многослойного персептрона нельзя применить уже известное ? -правило Розенблатта (см. Лекцию 4)? Ответ состоит в том, что для применения метода Розенблатта необходимо знать не только текущие выходы нейронов y, но и требуемые правильные значения Y. В случае многослойной сети эти правильные значения имеются только для нейронов выходного слоя. Требуемые значения выходов для нейронов скрытых слоев неизвестны, что и ограничивает применение ? -правила.
Основная идея обратного распространения состоит в том, как получить оценку ошибки для нейронов скрытых слоев. Заметим, что известные ошибки, делаемые нейронами выходного слоя, возникают вследствие неизвестных пока ошибок нейронов скрытых слоев. Чем больше значение синаптической связи между нейроном скрытого слоя и выходным нейроном, тем сильнее ошибка первого влияет на ошибку второго. Следовательно, оценку ошибки элементов скрытых слоев можно получить, как взвешенную сумму ошибок последующих слоев. При обучении информация распространяется от низших слоев иерархии к высшим, а оценки ошибок, делаемые сетью - в обратном напаравлении, что и отражено в названии метода.
Перейдем к подробному рассмотрению этого алгоритма. Для упрощения обозначений ограничимся ситуацией, когда сеть имеет только один скрытый слой. Матрицу весовых коэффициентов от входов к скрытому слою обозначим W, а матрицу весов, соединяющих скрытый и выходной слой - как V. Для индексов примем следующие обозначения: входы будем нумеровать только индексом i, элементы скрытого слоя - индексом j, а выходы, соответственно, индексом k.
Пусть сеть обучается на выборке (X?,Y?), ? =1..p. Активности нейронов будем обозначать малыми буквами y с соответствующим индексом, а суммарные взвешенные входы нейронов - малыми буквами x.
Общая структура алгоритма аналогична рассмотренной в Лекции 4, с усложнением формул подстройки весов.
Таблица 6.1. Алгоритм обратного распространения ошибки.
Шаг 0. |
Начальные значения весов всех нейронов всех слоев V(t=0) и W(t=0) полагаются случайными числами. |
|
Шаг 1. |
Сети предъявляется входной образ X?, в результате формируется выходной образ y? Y?. При этом нейроны последовательно от слоя к слою функционируют по следующим формулам: скрытый слой выходной слой Здесь f(x) - сигмоидальная функция, определяемая по формуле (6.1) |
|
Шаг 2. |
Функционал квадратичной ошибки сети для данного входного образа имеет вид: Данный функционал подлежит минимизации. Классический градиентный метод оптимизации состоит в итерационном уточнении аргумента согласно формуле: Функция ошибки в явном виде не содержит зависимости от веса Vjk, поэтому воспользуемся формулами неявного дифференцирования сложной функции: Здесь учтено полезное свойство сигмоидальной функции f(x): ее производная выражается только через само значение функции, f'(x)=f(1-f). Таким образом, все необходимые величины для подстройки весов выходного слоя V получены. |
|
Шаг 3. |
На этом шаге выполняется подстройка весов скрытого слоя. Градиентный метод по-прежнему дает: Вычисления производных выполняются по тем же формулам, за исключением некоторого усложнения формулы для ошибки ? j. При вычислении ? j здесь и был применен принцип обратного распространения ошибки: частные производные берутся только по переменным последующего слоя. По полученным формулам модифицируются веса нейронов скрытого слоя. Если в нейронной сети имеется несколько скрытых слоев, процедура обратного распространения применяется последовательно для каждого из них, начиная со слоя, предшествующего выходному, и далее до слоя, следующего за входным. При этом формулы сохраняют свой вид с заменой элементов выходного слоя на элементы соответствующего скрытого слоя. |
|
Шаг 4. |
Шаги 1-3 повторяются для всех обучающих векторов. Обучение завершается по достижении малой полной ошибки или максимально допустимого числа итераций, как и в методе обучения Розенблатта. |
Как видно из описания шагов 2-3, обучение сводится к решению задачи оптимизации функционала ошибки градиентным методом. Вся “соль” обратного распространения ошибки состоит в том, что для ее оценки для нейронов скрытых слоев можно принять взвешенную сумму ошибок последующего слоя.
Параметр h имеет смысл темпа обучения и выбирается достаточно малым для сходимости метода. О сходимости необходимо сделать несколько дополнительных замечаний. Во-первых, практика показывает что сходимость метода обратного распространения весьма медленная. Невысокий темп сходимости является “генетической болезнью” всех градиентных методов, так как локальное направление градиента отнюдь не совпадает с направлением к минимуму. Во-вторых, подстройка весов выполняется независимо для каждой пары образов обучающей выборки. При этом улучшение функционирования на некоторой заданной паре может, вообще говоря, приводить к ухудшению работы на предыдущих образах. В этом смысле, нет достоверных (кроме весьма обширной практики применения метода) гарантий сходимости.
Исследования показывают, что для представления произвольного функционального отображения, задаваемого обучающей выборкой, достаточно всего два слоя нейронов. Однако на практике, в случае сложных функций, использование более чем одного скрытого слоя может давать экономию полного числа нейронов.
В завершение лекции сделаем замечание относительно настройки порогов нейронов. Легко заметить, что порог нейрона может быть сделан эквивалентным дополнительному весу, соединенному с фиктивным входом, равным -1. Действительно, выбирая W0=?, x0=-1 и начиная суммирование с нуля, можно рассматривать нейрон с нулевым порогом и одним дополнительным входом:
Дополнительные входы нейронов, соответствующие порогам, изображены на Рис. 6.1 темными квадратиками. С учетом этого замечания, все изложенные в алгоритме обратного распространения формулы суммирования по входам начинаются с нулевого индекса.
ЛЕКЦИЯ 7. Другие иерархические архитектуры
Командные нейроны и нейроны-детекторы Гроссберга. Принцип "Победитель Забирает Все" (WTA). Модель Липпмана-Хемминга. Карта самоорганизации Кохонена. Сети встречного распространения.
В этой лекции будут рассмотрены различные компоненты однородных (состоящих из нейронов одного типа) и неоднородных нейронных сетей. Некоторые преимущества иерархических архитектур - более развитая способность к обобщению, отсутствие жестких ограничений на типы представимых отображений с сохранением простоты нейронной функции и свойства массивной параллельности при обработке информации - уже были нами изучены на лекции, посвященной многослойному персептрону с обучением методом обратного распространения ошибок. Теперь мы познакомимся с иными подходами к построению нейросетей и методам обучения, и в частности, с методом обучения без учителя на основе самоорганизации.
Звезды Гроссберга
Идеи, отраженные в исследованиях Стефана Гроссберга на заре биологической кибернетики, положены в основу многих последующих нейросетевых разработок. Поэтому мы начинаем наше рассмотрение иерархических архитектур с конфигураций входных и выходных звезд Гроссберга (S. Grossberg, 1969).
Нейрон в форме входной звезды имеет N входов X1..XN, которым соответствуют веса W1..XN, и один выход Y, являющийся взвешенной суммой входов. Входная звезда обучается выдавать сигнал на выходе всякий раз, когда на входы поступает определенный вектор. Таким образом, входная звезда является детектором совокупного состояния своих входов. Процесс обучения представляется в следующей итерационной форме:
Темп обучения ? имеет начальное значение масштаба 0.1 и постепенно уменьшается в процессе обучения. В процессе настройки нейрон учится усредненным обучающим векторам.
Выходная звезда Гроссберга выполняет противоположную функцию - функцию командного нейрона, выдавая на выходах определенный вектор при поступлении сигнала на вход. Нейрон этого типа имеет один вход и M выходов с весами W1..M, которые обучаются по формуле:
Рекомендуется начать c ? порядка единицы и постепенно уменьшать до нуля в процессе обучения. Итерационный процесс будет сходиться к собирательному образу, полученному из совокупности обучающих векторов.
Особенностью нейронов в форме звезд Гроссберга является локальность памяти. Каждый нейрон в форме входной звезды помнит "свой" относящийся к нему образ и игнорирует остальные. Каждой выходной звезде присуща также конкретная командная функция. Образ памяти связывается с определенным нейроном, а не возникает вследствие взаимодействия множества нейронов в сети.
Принцип Winner Take All (WTA) - Победитель Забирает Все - в модели Липпмана-Хемминга.
Рассмотрим задачу о принадлежности образа ? некоторому классу Xk, определяемому заданными библиотечными образами xk. Каждый из заданных образов обучающей выборки непосредственно определяет свой собственный класс, и таким образом, задача сводится к поиску "ближайшего" образа. В случае двух двоичных (0-1) образов расстояние между ними может быть определено по Хеммингу, как число несовпадающих компонент. Теперь после вычисления всех попарных расстояний искомый класс определяется по наименьшему из них.
Нейросетевое решение этой задачи может быть получено на основе архитектуры Липпмана-Хемминга (Lippman R., 1987). Сеть имеет один слой одинаковых нейронов, число которых равно количеству классов. Таким образом, каждый нейрон "отвечает" за свой класс. Каждый нейрон связан с каждым из входов, число которых равно размерности рассматриваемых библиотечных образов. Веса связей полагаются равными нормированным библиотечным образам:
Здесь - значение веса связи от n-го входа к m-му нейрону (см. рис.7.1.). Процесс поступления информации о векторе ? в нейронную сеть является безитерационным. При этом входной вектор сначала нормируется:
и нейроны принимают начальные уровни активности:
Здесь f(x) - переходная функция (функция активации) нейрона, которая выбирается равной нулю при x<0, и f(x)=x при x>0. Пороги ? полагаются обычно равными нулю.
Рис. 7.1. Нейронная сеть Липпмана-Хемминга.
При поступлении входного вектора начальное возбуждение получают все нейроны, скалярное произведение векторов памяти которых с входным вектором превышает порог. В дальнейшем среди них предстоит выбрать один, для которого оно максимально. Это достигается введением дополнительных обратных связей между нейронами, устроенных по принципу "латерального торможения". Каждый нейрон получает тормозящее (отрицательное) воздействие со стороны всех остальных нейронов, пропорционально степени их возбуждения, и испытывает возбуждающее (положительное) воздействие самого на себя. Веса латеральных связей в нейронном слое нормируются таким образом, что суммарный сигнал является возбуждающим только для нейрона с максимальной исходной активностью. Остальные нейроны испытывают торможение:
По выполнении некоторого числа итераций t для всех нейронов кроме одного значение аргумента функции f(x) становится отрицательным, что обращает их активность ym в нуль. Единственный, оставшийся активным, нейрон является победителем. Он и указывает на тот класс, к которому принадлежит введенный образ. Такой механизм получил название "Победитель-Забирает-Все" ( Winner Take All - WTA ). Механизм WTA используется и в других нейросетевых архитектурах. Заложенный в его основе принцип латерального торможения имеет глубокие биологические основания и весьма широко распространен в нейронных сетях живых организмов.
Нейросетевая парадигма Липпмана-Хемминга является моделью с прямой структурой памяти. Информация, содержащаяся в библиотечных образах никак не обобщается, а непосредственно запоминается в синаптических связях. Память здесь не является распределенной, так как при выходе из строя одного нейрона полностью теряется информация обо всем соответствующем ему образе памяти.
Карта самоорганизации Кохонена.
В противоположность хемминговой сети модель Кохонена (T.Kohonen, 1982) выполняет обобщение предъявляемой информации. В результате работы НС Кохонена получается образ, представляющий собой карту распределения векторов из обучающей выборки. Таким образов, в модели Кохонена выполняется решение задачи нахождения кластеров в пространстве входных образов.
Данная сеть обучается без учителя на основе самоорганизации. По мере обучении вектора весов нейронов стремятся к центрам кластеров - групп векторов обучающей выборки. На этапе решения информационных задач сеть относит новый предъявленный образ к одному из сформированных кластеров, указывая тем самым категорию, к которой он принадлежит.
Рассмотрим архитектуру НС Кохонена и правила обучения подробнее. Сеть Кохонена, также как и сеть Липпмана-Хемминга, состоит из одного слоя нейронов. Число входов каждого нейрона равно размерности входного образа. Количество же нейронов определяется той степенью подробности с которой требуется выполнить кластеризацию набора библиотечных образов. При достаточном количестве нейронов и удачных параметрах обучения НС Кохонена может не только выделить основные группы образов, но и установить "тонкую структуру" полученных кластеров. При этом близким входным образам будет соответствовать близкие карты нейронной активности.
Рис. 7.2. Пример карты Кохонена. Размер каждого квадратика соответствует степени возбуждения соответствующего нейрона.
Обучение начинается с задания случайных значений матрице связей . В дальнейшем происходит процесс самоорганизации, состоящий в модификации весов при предъявлении на вход векторов обучающей выборки. Для каждого нейрона можно определить его расстояние до вектора входа:
Далее выбирается нейрон m=m*, для которого это расстояние минимально. На текущем шаге обучения t будут модифицироваться только веса нейронов из окрестности нейрона m*:
Первоначально в окрестности любого из нейронов находятся все нейроны сети, в последствии эта окрестность сужается. В конце этапа обучения подстраиваются только веса самого ближайшего нейрона. Темп обучения ?(t)<1 с течением времени также уменьшается. Образы обучающей выборки предъявляются последовательно, и каждый раз происходит подстройка весов. Нейронная сеть Кохонена может обучаться и на искаженных версиях входных векторов, в процессе обучения искажения, если они не носят систематический характер, сглаживаются.
Для наглядности представления карты нейроны Кохонена могут быть упорядочены в двумерную матрицу, при этом под окрестностью нейрона-победителя принимаются соседние (по строкам и столбцам) элементы матрицы. Результирующую карту удобно представить в виде двумерного изображения, на котором различные степени возбуждения всех нейронов отображаются квадратами различной площади. Пример карты, построенной по 100 нейронам Кохонена, представлен на рис.7.2.
Каждый нейрон несет информацию о кластере - сгустке в пространстве входных образов, формируя для данной группы собирательный образ. Таким образом НС Кохонена способна к обобщению. Конкретному кластеру может соответствовать и несколько нейронов с близкими значениями векторов весов, поэтому выход из строя одного нейрона не так критичен для функционирования НС Кохонена, как это имело место в случае хемминговой сети.
Нейронная сеть встречного распространения.
Архитектура встречного распространения (counter propagation) удачно объединяет в себе преимущества возможности обобщения информации сети Кохонена и простоту обучения выходной звезды Гроссберга. Создатель сети встречного распространения Р.Хехт-Нильсен (R.Hecht-Nielsen, 1987) рекомендует использование этой архитектуры для быстрого моделирования систем на начальных этапах исследований с дальнейшим переходом, если это потребуется, на значительно более дорогой, но более точный метод обучения с обратным распространением ошибок.
НС встречного распространения (ВР) обучается на выборке пар векторов (X,Y)? задаче представления отображения X?Y. Замечательной особенностью этой сети является способность обучению также и отображению совокупности XY в себя. При этом, благодаря обобщению, появляется возможность восстановления пары (XY) по одной известной компоненте (X или Y). При предъявлении на этапе распознавания только вектора X (с нулевым начальным Y) производится прямое отображение - восстанавливается Y, и наоборот, при известном Y может быть восстановлен соответствующий ему X. Возможность решения как прямой, так и обратной задачи, а также гибридной задачи по восстановлению отдельных недостающих компонент делает данную нейросетевую архитектуру уникальным инструментом.
Сеть ВР состоит из двух слоев нейронов (см. Рис.7.3.) - слоя Кохонена и слоя Гроссберга. В режиме функционирования (распознавания) нейроны слоя Кохонена работают по принципу Победитель-Забирает-Все, определяя кластер, к которому принадлежит входной образ. Затем выходная звезда слоя Гроссберга по сигналу нейрона-победителя в слое Кохонена воспроизводит на выходах сети соответствующий образ.
Рис. 7.3. Архитектура сети встречного распространения (для упрощения изображения показаны не все связи).
Обучение весов слоя Кохонена выполняется без учителя на основе самоорганизации (см. предыдущий пункт). Входной вектор (аналоговый) вначале нормируется, сохраняя направление. После выполнения одной итерации обучения определяется нейрон победитель, состояние его возбуждения устанавливается равным единице, и теперь могут быть модифицированы веса соответствующей ему звезды Гроссберга. Темпы обучения нейронов Кохонена и Гроссберга должны быть согласованы . В слое Кохонена обучаются веса всех нейронов в окрестности победителя, которая постепенно сужается до одного нейрона.
Обученная нейронная сеть ВР может функционировать и в режиме интерполяции, когда в слое Кохонена оставляется не один, а несколько победителей. Тогда уровни их активности пропорционально нормируются, чтобы в сумме составлять единицу, а выходной вектор определяется по сумме выходных векторов каждой из активных звезд Гроссберга. Таким образом НС производит линейную интерполяцию между значениями выходных векторов, отвечающих нескольким кластерам. Однако режим интерполяции в сети встречного распространения изучен не столь достаточно, чтобы можно было рекомендовать его широкое использование.
ЛЕКЦИЯ 8. Модель Хопфилда
Конфигурация и устойчивость сетей с обратными связями. Модель Хопфилда. Правило обучения Хебба. Ассоциативная память. Распознавание образов.
Модель Хопфилда (J.J.Hopfield, 1982) занимает особое место в ряду нейросетевых моделей. В ней впервые удалось установить связь между нелинейными динамическими системами и нейронными сетями. Образы памяти сети соответствуют устойчивым предельным точкам (аттракторам) динамической системы. Особенно важной оказалась возможность переноса математического аппарата теории нелинейных динамических систем (и статистической физики вообще) на нейронные сети. При этом появилась возможность теоретически оценить объем памяти сети Хопфилда, определить область параметров сети, в которой достигается наилучшее функционирование.
В этой лекции мы последовательно начнем рассмотрение с общих свойств сетей с обратными связями, установим правило обучения для сети Хопфилда (правило Хебба), и затем перейдем к обсуждению ассоциативных свойств памяти этой нейронной сети при решении задачи распознавания образов.
Сети с обратными связями
Рассмотренный нами ранее ПЕРСЕПТРОН относится к классу сетей с направленным потоком распространения информации и не содержит обратных связей. На этапе функционирования каждый нейрон выполняет свою функцию - передачу возбуждения другим нейронам - ровно один раз. Динамика состояний нейронов является безитерационной.
Несколько более сложной является динамика в сети Кохонена. Конкурентное соревнование нейронов достигается путем итераций, в процессе которых информация многократно передается между нейронами.
В общем случае может быть рассмотрена нейронная сеть (см. Рис. 8.1), содержащая произвольные обратные связи, по которым переданное возбуждение возвращается к данному нейрону, и он повторно выполняет свою функцию. Наблюдения за биологическими локальными нейросетями указывают на наличие множественных обратных связей. Нейродинамика в таких системах становится итерационной. Это свойство существенно расширяет множество типов нейросетевых архитектур, но одновременно приводит к появлению новых проблем.
Рис. 8.1. Фрагменты сетей с прямым рапространением (A) и с наличием обратных связей (B).
Безитерационная динамика состояний нейронов является, очевидно, всегда устойчивой. Обратные связи могут приводить к возникновению неустойчивостей, подобно тем, которые возникают в усилительных радиотехнических системах при положительной обратной связи. В нейронных сетях неустойчивость проявляется в блуждающей смене состояний нейронов, не приводящей к возникновению стационарных состояний. В общем случае ответ на вопрос об устойчивости динамики произвольной системы с обратными связями крайне сложен и до настоящего времени является открытым.
Ниже мы остановимся на важном частном случае нейросетевой архитектуры, для которой свойства устойчивости подробно исследованы.
Нейродинамика в модели Хопфилда
Рассмотрим сеть из N формальных нейронов, в которой степень возбуждения каждого из нейронов Si, i=1..N, может принимать только два значения {-1, +1}. Любой нейрон имеет связь со всеми остальными нейронами Sj, которые в свою очередь связаны с ним. Силу связи от i-го к j-му нейрону обозначим как Wij.
В модели Хопфилда предполагается условие симметричности связей Wij=Wji, с нулевыми диагональными элементами Wii=0. К сожалению, это условие имеет весьма отдаленное отношение к известным свойствам биологических сетей, в которых, наоборот, если один нейрон передает возбуждение другому, то тот, в большинстве случаев, непосредственно не связан с первым. Однако именно симметричность связей, как будет ясно из дальнейшего, существенно влияет на устойчивость динамики.
Изменение состояния каждого нейрона Sj в модели Хопфилда происходит по известному правилу для формальных нейронов МакКаллока и Питтса. Поступающие на его входы сигналы Si в момент t взвешиваются с весами матрицы связей Wij и суммируются, определяя полный уровень силы входного сигнала:
Далее в момент t+1 нейрон изменяет состояние своего возбуждения в зависимости от уровня сигнала h и индивидуального порога каждого нейрона T:
Изменение состояний возбуждения всех нейронов может происходить одновременно, в этом случае говорят о параллельной динамике. Рассматривается также и последовательная нейродинамика, при которой в данный момент времени происходит изменение состояния только одного нейрона. Многочисленные исследования показали, что свойства памяти нейронной сети практически не зависят от типа динамики. При моделировании нейросети на обычном компьютере удобнее последовательная смена состояний нейронов. В аппаратных реализациях нейросетей Хопфилда применятся параллельная динамика.
Совокупность значений возбуждения всех нейронов Si в некоторый момент времени образует вектор состояния S сети. Нейродинамика приводит к изменению вектора состояния S(t). Вектор состояния описывает траекторию в пространстве состояний нейросети. Это пространство для сети с двумя уровнями возбуждения каждого нейрона, очевидно, представляет собой множество вершин гиперкуба размерности, равной числу нейронов N. Возможные наборы значений координат вершин гиперкуба (см. Рис.8.2) и определяют возможные значения вектора состояния.
Рис. 8.2. Проекция 4-х мерного гиперкуба на плоскость. Указанные на рисунке три точки служат примерами возможных состояний нейронной сети из 4-х нейронов.
Рассмотрим теперь проблему устойчивости динамики изменения состояний. Поскольку на каждом временном шаге некоторый нейрон i изменяет свое состояние в соответствии со знаком величины (hi - Ti), то приведенное ниже соотношение всегда неположительно:
Таким образом, соответствующая величина E, являющаяся суммой отдельных значений Ei, может только убывать, либо сохранять свое значение в процессе нейродинамики.
Введенная таким образом величина E является функцией состояния E=E(S) и называется энергетической функцией (энергией) нейронной сети Хопфилда. Поскольку она обладает свойством невозрастания при динамике сети, то одновременно является для нее функцией Ляпунова (А.М. Ляпунов, 1892). Поведение такой динамической системы устойчиво при любом исходном векторе состояния S(t=0) и при любой симметричной матрице связей W с нулевыми диагональными элементами. Динамика при этом заканчивается в одном из минимумов функции Ляпунова, причем активности всех нейронов будут совпадать по знаку с входными сигналами h.
Поверхность энергии E(S) в пространстве состояний имеет весьма сложную форму с большим количеством локальных минимумов, образно напоминая стеганое одеяло. Стационарные состояния, отвечающие минимумам, могут интерпретироваться, как образы памяти нейронной сети. Эволюция к такому образу соответствует процессу извлечения из памяти. При произвольной матрице связей W образы также произвольны. Для записи в память сети какой-либо осмысленной информации требуется определенное значение весов W, которое может получаться в процессе обучения.
Правило обучения Хебба
Правило обучения для сети Хопфилда опирается на исследования Дональда Хебба (D.Hebb, 1949), который предположил, что синаптическая связь, соединяющая два нейрона будет усиливаться, если в процессе обучения оба нейрона согласованно испытывают возбуждение либо торможение. Простой алгоритм, реализующий такой механизм обучения, получил название правила Хебба. Рассмотрим его подробно.
Пусть задана обучающая выборка образов ? ?, ? = 1..p. Требуется построить процесс получения матрицы связей W, такой, что соответствующая нейронная сеть будет иметь в качестве стационарных состояний образы обучающей выборки (значения порогов нейронов T обычно полагаются равными нулю).
В случае одного обучающего образа правило Хебба приводит к требуемой матрице:
Покажем, что состояние S=? является стационарным для сети Хопфилда с указанной матрицей. Действительно, для любой пары нейронов i и j энергия их взаимодействия в состоянии ? достигает своего минимально возможного значения Eij = -(1/2) ? i ? j ? i ? j = -1/2.
При этом Е -полная энергия равна E = -(1/2) N 2, что отвечает глобальному минимуму.
Для запоминания других образов может применяется итерационный процесс:
который приводит к полной матрице связей в форме Хебба:
Устойчивость совокупности образов не столь очевидна, как в случае одного образа. Ряд исследований показывает, что нейронная сеть, обученная по правилу Хебба, может в среднем, при больших размерах сети N, хранить не более чем p ? 0.14 N различных образов. Устойчивость может быть показана для совокупности ортогональных образов, когда
В этом случае для каждого состояния ? ? произведение суммарного входа i-го нейрона hi на величину его активности Si = ? ?i оказывается положительным, следовательно само состояние ?? является состоянием притяжения (устойчивым аттрактором):
Подобные документы
Искусственные нейронные сети как одна из широко известных и используемых моделей машинного обучения. Знакомство с особенностями разработки системы распознавания изображений на основе аппарата искусственных нейронных сетей. Анализ типов машинного обучения.
дипломная работа [1,8 M], добавлен 08.02.2017Изучение сути искусственных нейронных сетей. Векторные пространства. Матрицы и линейные преобразования векторов. Биологический нейрон и его кибернетическая модель. Теорема об обучении персептрона. Линейная разделимость и персептронная представляемость.
курсовая работа [239,7 K], добавлен 06.06.2012Рост активности в области теории и технической реализации искусственных нейронных сетей. Основные архитектуры нейронных сетей, их общие и функциональные свойства и наиболее распространенные алгоритмы обучения. Решение проблемы мертвых нейронов.
реферат [347,6 K], добавлен 17.12.2011Общие сведения о принципах построения нейронных сетей. Искусственные нейронные системы. Математическая модель нейрона. Классификация нейронных сетей. Правила обучения Хэбба, Розенблатта и Видроу-Хоффа. Алгоритм обратного распространения ошибки.
дипломная работа [814,6 K], добавлен 29.09.2014Понятие и свойства искусственных нейронных сетей, их функциональное сходство с человеческим мозгом, принцип их работы, области использования. Экспертная система и надежность нейронных сетей. Модель искусственного нейрона с активационной функцией.
реферат [158,2 K], добавлен 16.03.2011Особенности нейронных сетей как параллельных вычислительных структур, ассоциируемых с работой человеческого мозга. История искусственных нейронных сетей как универсального инструмента для решения широкого класса задач. Программное обеспечение их работы.
презентация [582,1 K], добавлен 25.06.2013Понятие искусственного нейрона и искусственных нейронных сетей. Сущность процесса обучения нейронной сети и аппроксимации функции. Смысл алгоритма обучения с учителем. Построение и обучение нейронной сети для аппроксимации функции в среде Matlab.
лабораторная работа [1,1 M], добавлен 05.10.2010Способы применения технологий нейронных сетей в системах обнаружения вторжений. Экспертные системы обнаружения сетевых атак. Искусственные сети, генетические алгоритмы. Преимущества и недостатки систем обнаружения вторжений на основе нейронных сетей.
контрольная работа [135,5 K], добавлен 30.11.2015Нейронные сети как средство анализа процесса продаж мобильных телефонов. Автоматизированные решения на основе технологии нейронных сетей. Разработка программы прогнозирования оптово-розничных продаж мобильных телефонов на основе нейронных сетей.
дипломная работа [4,6 M], добавлен 22.09.2011Простейшая сеть, состоящая из группы нейронов, образующих слой. Свойства нейрокомпьютеров (компьютеров на основе нейронных сетей), привлекательных с точки зрения их практического использования. Модели нейронных сетей. Персептрон и сеть Кохонена.
реферат [162,9 K], добавлен 30.09.2013