русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Необходимость иерархической организации нейросетевых архитектур.


Дата добавления: 2013-12-23; просмотров: 938; Нарушение авторских прав


Многослойный ПЕРСЕПТРОН

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

Однако основной проблемой, традиционно ограничивающей возможные сетевые топологии простейшими структурами, является проблема обучения. На этапе обучения сети предъявляются некоторые входные образы, называемые обучающей выборкой, и исследуются получаемые выходные реакции. Цель обучения состоит в приведении наблюдаемых реакций на заданной обучающей выборке к требуемым (адекватным) реакциям путем изменения состояний синаптических связей. Сеть считается обученной, если все реакции на заданном наборе стимулов являются адекватными. Данная классическая схема обучения с учителем требует явного знания ошибок при функционировании каждого нейрона, что, разумеется, затруднено для иерархических систем, где непосредственно контролируются только входы и выходы. Кроме того, необходимая избыточность в иерархических сетях приводит к тому, что состояние обучения может быть реализовано многими способами, что делает само понятие “ошибка, делаемая данным нейроном” весьма неопределенным.

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

Рассмотрим иерархическую сетевую структуру, в которой связанные между собой нейроны (узлы сети) объединены в несколько слоев (Рис. 6.1). На возможность построения таких архитектур указал еще Ф.Розенблатт, однако им не была решена проблема обучения. Межнейронные синаптические связи сети устроены таким образом, что каждый нейрон на данном уровне иерархии принимает и обрабатывает сигналы от каждого нейрона более низкого уровня. Таким образом, в данной сети имеется выделенное направление распространения нейроимпульсов - от входного слоя через один (или несколько) скрытых слоев к выходному слою нейронов. Нейросеть такой топологии мы будем называть обобщенным многослойным персептроном или, если это не будет вызывать недоразумений, просто персептроном.



Рис. 19Двухслойная сеть обратного распространения (e – желаемый сигнал).

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

Обозначим количество слоев и нейронов в слое. Входной слой: NIнейронов; NH нейронов в каждом скрытом слое; NOвыходных нейронов. x— вектор входных сигналов сети, y- вектор выходных сигналов.

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

Работа многослойного перцептрона (МСП) описывается формулами:

NET jl = Σ w ijl * x ijl (1)

OUT jl = F (NET jl - θ jl ) (2)

x ij(l+1) = OUT il (3)

где индексом iвсегда будем обозначать номер входа,

j— номер нейрона в слое,

l— номер слоя.

 

 

xijl i-й входной сигнал j-го нейрона в слое l;

wijl — весовой коэффициент i- го входа нейрона номер jв слое l;

NET jl— сигнал NET j- го нейрона в слое l;

OUTjl— выходной сигнал нейрона;

θ jl — пороговый уровень нейрона jв слое l;

 

Введем обозначения: wjl— вектор - столбец весов для всех входов нейрона j в слое l; Wl— матрица весов всех нейронов в слое l. В столбцах матрицы расположены вектора wjl. Аналогично x jl— входной вектор-столбец слоя l. Каждый слой рассчитывает нелинейное преобразование от линейной комбинации сигналов предыдущего слоя. Отсюда видно, что линейная функция активации может применяется только для тех моделей сетей, где не требуется последовательное соединение слоев нейронов друг за другом. Для

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

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

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

Ряд: f (x) =∑ ci fi (x)

i

Нейронная сеть:

f (x)=F(ΣwiN jN N ...Σwi2 j2 2 F(Σwi1 j1 1 * x i1 j1 1 - θ j1 1) - θ j2 2 - θ jN N)

                   
   
iN  
     
 
     
слой 1
 
   
 
 

 

 


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

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



<== предыдущая лекция | следующая лекция ==>
Расписание обучения | Примеры формализации задач


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.