Искусственные нейронные сети

Автор работы: Пользователь скрыл имя, 18 Декабря 2013 в 19:54, лекция

Описание работы

Термин «нейронные сети» сформировался к середине 50-х годов XX века. Основные результаты в этой области связаны с именами У. Маккалоха, Д Хебба, Ф. Розенблатта, М. Минского, Дж. Хопфилда. Приведем краткую историческую справку. 1943 г. У. Маккалох (W. McCulloch) и У. Питтс (W. Pitts) предложили модель нейрона и сформулировали основные положения теории функционирования головного мозга. 1949 г. Д. Хебб (D. Hebb) высказал идеи о характере соединений нейронов мозга и их взаимодействии (клеточные ансамбли, синаптическая пластичность). Впервые предложил правила обучения нейронной сети.

Файлы: 1 файл

теория.docx

— 322.28 Кб (Скачать файл)

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

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

На входной сигнал (s) нелинейный преобразователь отвечает выходным сигналом f{s), который представляет собой выход у нейрона. Примеры активационных функций представлены на рисунках 3 и 4.

 

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

 

Рисунок 4 – Примеры активационных  функций

 

а - функция единичного скачка, б - линейный порог (гистерезис), в - сигмоид (логистическая функция), г - сигмоид (гиперболический тангенс)

 

1.5 Классификация нейронных сетей и их свойства

 

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

• входные нейроны, на которые  подается вектор, кодирующий входное  воздействие или образ внешней  среды; в них обычно не осуществляется вычислительных процедур, а информация передается с входа на выход путем  изменения их активации,

• выходные нейроны, выходные значения которых представляют выходы нейронной сети; преобразования в  них осуществляются по выражениям (1.1) и (1.2);

• промежуточные нейроны, составляющие основу нейронных сетей, преобразования в которых выполняются  также по выражениям (1.1) и (1.2).

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

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

• полносвязные (рисунок 5, а);

• многослойные или слоистые (рисунок 5, б);

• слабосвязные (с локальными связями) (рисунок 5, в).

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

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

 

Рисунок 5 – Архитектуры  нейронных сетей

 

Кроме входного и выходного  слоев в многослойной нейронной  сети есть один или несколько скрытых  слоев. Связи от выходов нейронов некоторого слоя q к входам нейронов следующего слоя (q+1) называются последовательными.

В свою очередь, среди многослойных нейронных сетей выделяют следующие  типы.

1) Монотонные.

Это частный случай слоистых сетей с дополнительными условиями  на связи и нейроны. Каждый слой кроме  последнего (выходного) разбит на два  блока: возбуждающий и тормозящий. Связи  между блоками тоже разделяются  на тормозящие и возбуждающие. Если от нейронов блока А к нейронам блока В ведут только возбуждающие связи, то это означает, что любой  выходной сигнал блока является монотонной неубывающей функцией любого выходного сигнала блока А. Если же эти связи только тормозящие, то любой выходной сигнал блока В является невозрастающей функцией любого выходного сигнала блока А. Для нейронов монотонных сетей необходима монотонная зависимость выходного сигнала нейрона от параметров входных сигналов.

Рисунок 6 – Многослойная сеть прямого распространения

 

2) Сети без обратных  связей. В таких сетях нейроны  входного слоя получают входные  сигналы, преобразуют их и передают  нейронам первого скрытого слоя, и так далее вплоть до выходного,  который выдает сигналы для  интерпретатора и пользователя. Если не оговорено противное,  то каждый выходной сигнал q-ro слоя подастся на вход всех нейронов (q+1)-го слоя; однако возможен вариант соединения q-ro слоя с произвольным (q+p)-M слоем

Среди многослойных сетей  без обратных связей различают полносвязанные (выход каждого нейрона q-ro слоя связан с входом каждого нейрона (q+1)-ro слоя) и частично полносвязанные. Классическим вариантом слоистых сетей являются полносвязанные сети прямого распространения (рисунок 6).

3) Сети с обратными  связями. В сетях с обратными связями информация с последующих слоев передается на предыдущие. Среди них, в свою очередь, выделяют следующие:

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

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

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

В качестве примера сетей с обратными связями на рисунке 7 представлены частично-рекуррентные сети Элмана(а) и Жордана(б).

 

Рисунок 7 – Частично-реккурентные сети

 

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

Известные нейронные сети можно разделить по типам структур нейронов на гомогенные (однородные) и  гетерогенные. Гомогенные сети состоят  из нейронов одного типа с единой функцией активации, а в гетерогенную сеть входят нейроны с различными функциями активации.

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

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

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

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

• возможности сети возрастают с увеличением числа нейронов сети, плотности связей между ними и числом слоев;

• введение обратных связей наряду с увеличением возможностей сети поднимает вопрос о динамической устойчивости сети;

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

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

Многие задачи распознавания  образов (зрительных, речевых), выполнения функциональных преобразований при  обработке сигналов, управления, прогнозирования, идентификации сложных систем, сводятся к следующей математической постановке. Необходимо построить такое отображение X -> У, чтобы на каждый возможный  входной сигнал X формировался правильный выходной сигнал У. Отображение задается конечным набором пар (<вход>, <известный  выход>). Число этих пар (обучающих  примеров) существенно меньше общего числа возможных сочетаний значений входных и выходных сигналов. Совокупность всех обучающих примеров носит название обучающей выборки.

В задачах распознавания  образов X - некоторое представление  образа (изображение, вектор), У - номер  класса, к которому принадлежит входной  образ.

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

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

При идентификации X и У  представляют входные и выходные сигналы системы соответственно.

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

В результате отображения X -> У необходимо обеспечить формирование правильных выходных сигналов в соответствии:

• со всеми примерами  обучающей выборки;

• со всеми возможными входными сигналами, которые не вошли в  обучающую выборку.

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

 

1.6 Обучение с учителем. Алгоритм обратного распространения ошибки

 

В многослойных нейронных  сетях оптимальные выходные значения нейронов всех слоев, кроме последнего, как правило, неизвестны трех- или более слойный персептрон уже невозможно обучить, руководствуясь только величинами ошибок на выходах сети

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

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

Информация о работе Искусственные нейронные сети