Автор работы: Пользователь скрыл имя, 10 Февраля 2013 в 11:56, курсовая работа
Целью данного исследования является исследование состояния и перспектив развития нейрокомпьютерных систем.
Основные задачи, поставленные и решенные в данной работе, следующие.
Теоретическое обосновать и исследовать нейрокомпьютерные системы;
Рассмотреть текущее состояние проблемы;
Определить перспективы развития нейрокомпьютерных систем.
Введение
1. Основы нейрокомпьютерных систем
1.1 Основы искусственных нейронных сетей
1.2 Алгоритм обратного распространения
1.3 Нейронные сети Хопфилда и Хэмминга
2. Современные направления развития нейрокомпьютерных технологий в России и зарубежом
2.1 Применение искусственных нейронных сетей в системах управления
2.2 Теория нейронных сетей
2.3 Нейроматематика
2.4 Прикладная нейроматематика
2.5 Нейрочипы и нейрокомпьютеры
2.6 Обзор зарубежных достижений нейрокомпьютерных систем
Заключение
Глоссарий
Список использованных источников
Весьма обширна и топология (архитектура) НС, что говорит о довольно узкой направленности каждого типа НС для оптимального решения определенного круга задач. Однако для решения сложных задач наибольший интерес представляют многослойные однонаправленные (без обратных связей) и рекуррентные НС.
Рис.11 Многослойные (слоистые) нейронные сети
Для выполнения сетью поставленной задачи ее необходимо обучить, то есть сообщить ей, каким образом она должна действовать, чтобы выдать разработчику желаемый результат. Стратегии обучения нейронных сетей представлены на рис.12. Особенностью обучения с учителем (обучение под надзором) является то, что наряду с входным вектором (значения элементов входа) априори известен и выходной вектор (соответствующие входам значения элементов выхода). Если значения выхода НС заранее не известны, то необходимо воспользоваться другой стратегией - обучение без учителя. Тогда подбор весовых коэффициентов (в этом и заключается суть обучения) осуществляется по соответствующим стратегиям обучения с использованием определенных алгоритмов6.
Рис.12 Используемые типы решеток расположения нейронов в слабосвязных нейронных сетях
Для задач аппроксимации представляется целесообразным использование многослойной НС прямого распространения, либо нечеткой НС.
Для задач
идентификации состояний
Задать НС,
способную решить конкретную задачу,
- это значит определить модель нейрона,
топологию связей, веса связей. Нейронные
сети различаются между собой
меньше всего моделями нейрона, а
в основном топологией связей и правилами
определения весов или
Рис.13 Процесс обучения нейросети
Рис.14 Процесс применения нейросети
В настоящее
время существует два подхода
к решению задачи обучения НС решению
задачи распознавания образов, оптимизации
и т.д. Один, исторически более
ранний, состоит в постепенной
модификации весовых
Исходя из
вышеизложенного, можно заключить,
что для решения задач
Одним из наиболее распространенных видов нейронных сетей является многослойная структура, в которой каждый нейрон произвольного слоя связан со всеми аксонами нейронов предыдущего слоя, или в случае первого слоя со всеми входами нейронной сети. Такие нейронные сети называются полносвязанными.
Алгоритм
обратного распространения, применяемый
для таких структур, заключается
в распространение сигналов ошибки
от выходов нейронной сети к ее
входам, в направлении, обратном прямому
распространению сигналов в обычном
режиме работы. Эта процедура обучения
нейронной сети и получила название
алгоритма обратного
Согласно методу наименьших квадратов минимизируемой целевой функцией ошибки нейронной сети является
(4)
где - реальное выходное состояние нейрона j выходного слоя n нейронной сети при подаче на ее входы p-го образа;
- идеальное (желаемое) выходное состояние этого нейрона7.
Суммирование ведется по всем нейронам выходного слоя и по всем образам, обрабатываемым нейронной сетью. Минимизация ведется методом градиентного спуска, что означает подстройку весовых коэффициентов:
(5)
Где - весовой коэффициент синаптической связи, соединяющей i-й нейрон слоя n-1 с j-м нейроном слоя n, h - коэффициент скорости обучения, 0 < h < 1.
(6)
где под yj, подразумевается выход нейрона j, а под sj - взвешенная сумма его входных сигналов, т.е. аргумент активационной функции.
Так как множитель dyj/dsj является производной этой функции по ее аргументу, следовательно, производная активационной функции должна быть определена на всей оси абсцисс. Поэтому функция единичного скачка и прочие активационные функции с неоднородностями не подходят для рассматриваемых нейронных сетей. Как правило, применяются такие гладкие функции, как гиперболический тангенс или классическая сигмоидальная функция с экспонентой. В случае гиперболического тангенса
(7)
Третий множитель ¶ равен выходу нейрона предыдущего слоя
Первый множитель (2.7) раскладывается следующим образом:
(8)
где суммирование по k выполняется среди нейронов слоя n+1.
Введем переменную
(9)
Тогда получим
рекурсивную формулу для
из величин более старшего слоя n+1.
(10)
Для выходного слоя
(11)
Запишем (5) в развернутом виде:
(12)
Для придания процессу коррекции весов инерционности,
сглаживающей
резкие скачки при перемещении по
поверхности целевой функции, (12)
дополняется значением
(13)
- коэффициент
инерционности, t - номер текущей
итерации. Таким образом, полный
алгоритм обучения нейронной
сети с помощью процедуры
1 При подаче на входы нейронной сети одного из возможных образов в режиме обычного функционирования нейронной сети, когда сигналы распространяются от входов к выходам, рассчитать значения сигналов
(14)
где f - сигмоидальная функция;
(15)
- q-я компонента вектора входного образа.
2 Рассчитать для выходного слоя по формуле (11), а также по формуле (12) или (13) изменения весов слоя n.
3 Рассчитать по формулам (10) и (13) (или (11) и (13))
Соответственно и для всех остальных слоев, n=N-1,.1.
4 Скорректировать все веса в нейронной сети
(16)
5 Если ошибка сети существенна, перейти на шаг 1. В противном случае - завершение обучения.
Нейронной сети
на шаге 1 попеременно в случайном
порядке предъявляются все
Эффективность обучения заметно снижается когда выходное значение в (12) стремится к нулю. При двоичных входных векторах в среднем половина весовых коэффициентов не будет корректироваться, поэтому область возможных значений выходов нейронов [0; 1] желательно сдвинуть в пределы [-0,5; +0,5], что достигается простыми модификациями активационных функций, например: сигмоидальная функция с экспонентой преобразуется к виду
(17)
Рассмотрим вопрос о числе образов, предъявляемых на входы нейронной сети, которые она способна научиться распознавать (емкость нейронной сети). Для нейронной сети с одним скрытым слоем, детерминистская емкость нейронной сети Cd оценивается как
(18)
где Nw - число подстраиваемых весов, Ny - число нейронов в выходном слое.
Следует отметить, что данное выражение получено с учетом некоторых ограничений. Во-первых, число входов Nx и нейронов в скрытом слое Nh должно удовлетворять неравенству Nx+Nh > Ny.
Во-вторых, Nw/Ny >1000. Однако вышеприведенная оценка выполнялась для нейронных сетей с активационными функциями нейронов в виде порога, а емкость сетей с гладкими активационными функциями, обычно больше. Кроме того, фигурирующее в названии емкости прилагательное "детерминистский" означает, что полученная оценка емкости подходит абсолютно для всех возможных входных образов, которые могут быть представлены Nx входами. Распределение входных образов, как правило, обладает некоторой регулярностью, что позволяет нейронной сети проводить обобщение и, таким образом, увеличивать реальную емкость. Так как распределение образов, в общем случае, заранее не известно, можно говорить о такой емкости только предположительно, но обычно она раза в два превышает емкость детерминистскую8.
Рассмотрим
вопрос о размерности выходного
слоя нейронной сети, выполняющего
окончательную классификацию
Рис.16 Диаграмма сигналов при обучении нейронной сети по алгоритму обратного распространения
При этом каждый логический уровень - "1" и "0" - будет обозначать отдельный класс. На двух выходах можно закодировать 4 класса и так далее. Однако результаты работы нейронной сети, организованной таким образом, "под завязку", не очень надежны. Для повышения достоверности классификации желательно ввести избыточность путем выделения каждому классу одного нейрона в выходном слое или, что еще лучше, нескольких, каждый из которых обучается определять принадлежность образа к классу со своей степенью достоверности - высокой, средней или низкой, что позволит проводить классификацию входных образов, объединенных в нечеткие (размытые или пересекающиеся) множества. Это свойство приближает нейронные сети к естественному человеческому интеллекту.
Такая нейронная сеть имеет несколько ограничений. Во-первых, в процессе обучения может возникнуть ситуация, когда большие положительные или отрицательные значения весовых коэффициентов сместят рабочую точку на сигмоидальной функции многих нейронов в область насыщения. Малые величины производной от активационной функции в соответствии с (10) и (11) приведут к остановке обучения нейронной сети. Во-вторых, применение метода градиентного спуска не гарантирует, что будет найден глобальный, а не локальный минимум целевой функции. Эта проблема связана еще с одной, а именно - с выбором коэффициента скорости обучения. Доказательство сходимости обучения в процессе обратного распространения основано на производных, т.е. приращениях весов и, следовательно, скорость обучения должна быть бесконечно малой, однако в этом случае обучение будет происходить неприемлемо медленно. С другой стороны, слишком большие коррекции весов могут привести к постоянной неустойчивости процесса обучения9 [30, c.14].
Поэтому, коэффициент обычно выбирается меньше 1, но не очень малым, например, 0,1, и он может постепенно уменьшаться в процессе обучения. Кроме того, для исключения случайных попаданий в локальные минимумы кратковременно можно значительно увеличить, чтобы начать градиентный спуск из новой точки. Если повторение этой процедуры несколько раз приведет алгоритм в одно и то же состояние нейронной сети, можно более или менее быть уверенным в том, что найден глобальный минимум ошибки, иногда, после того как значения весовых коэффициентов стабилизируются, кратковременно можно значительно увеличить, чтобы начать градиентный спуск из новой точки. Если повторение этой процедуры несколько раз приведет алгоритм в одно и то же состояние нейронной сети, можно более или менее быть уверенным в том, что найден глобальный минимум ошибки.
Среди различных конфигураций искусственных нейронных сетей (НС) встречаются такие, при классификации которых по принципу обучения, строго говоря, не подходят ни обучение с учителем, ни обучение без учителя. В таких сетях весовые коэффициенты синапсов рассчитываются только однажды перед началом функционирования сети на основе информации об обрабатываемых данных, и все обучение сети сводится именно к этому расчету. С одной стороны, предъявление априорной информации можно расценивать, как помощь учителя, но с другой - сеть фактически просто запоминает образцы до того, как на ее вход поступают реальные данные, и не может изменять свое поведение, поэтому говорить о звене обратной связи с "миром" (учителем) не приходится. Из сетей с подобной логикой работы наиболее известны сеть Хопфилда и сеть Хэмминга, которые обычно используются для организации ассоциативной памяти. Далее речь пойдет именно о них10.
Структурная схема сети Хопфилда приведена на рис.17. Она состоит из единственного слоя нейронов, число которых является одновременно числом входов и выходов сети. Каждый нейрон связан синапсами со всеми остальными нейронами, а также имеет один входной синапс, через который осуществляется ввод сигнала. Выходные сигналы, как обычно, образуются на аксонах.
Задача, решаемая
данной сетью в качестве ассоциативной
памяти, как правило, формулируется
следующим образом. Известен некоторый
набор двоичных сигналов (изображений,
звуковых оцифровок, прочих данных, описывающих
некие объекты или
Сеть должна уметь из произвольного неидеального сигнала, поданного на ее вход, выделить ("вспомнить" по частичной информации) соответствующий образец (если такой есть) или "дать заключение" о том, что входные данные не соответствуют ни одному из образцов (приложение Г).