Типы архитектур нейросетей - Устройство нейронных сетей
Из точек на плоскости и соединений между ними можно построить множество графических фигур, называемых Графами. Если каждую точку представить себе как один нейрон, а соединения между точками - как дендриты и синапсы, то мы получим нейронную сеть.
Но не всякое соединение нейронов будет работоспособно или вообще целесообразно. Поэтому на сегодняшний день существует только несколько работающих и реализованных программно архитектур нейросетей. Я только вкратце опишу их устройство и классы решаемых ими задач.
По архитектуре связей нейросети могут быть сгруппированы в два класса: сети прямого распространения, в которых связи не имеют петель, и сети рекуррентного типа, в которых возможны обратные связи.
Сети прямого распространения подразделяются на однослойные перцепротроны (сети) и многослойные перцептроны (сети). Название перцептрона для нейросетей придумал американский нейрофизиолог Ф. Розенблатт, придумавший в 1957 году первый нейропроцессорный элемент (НПЭ) , то есть нейросеть. Он же доказал сходимость области решений для перцептрона при его обучении. Сразу после этого началось бурное исследование в этой области и был создан самый первый нейрокомпьютер Mark I. Многослойные сети отличаются тем, что между входными и выходными данными располагаются несколько так называемых скрытых слоев нейронов, добавляющих больше нелинейных связей в модель.
Рассмотрим устройство простейшей многослойной нейросети. Любая нейронная сеть состоит из входного слоя и выходного слоя. Соответственно подаются независимые и зависимые переменные. Входные данные преобразуются нейронами сети и сравниваются с выходом. Если отклонение больше заданного, то специальным образом изменяются веса связей нейронов между собой и пороговые значения нейронов. Снова происходит процесс вычислений выходного значения и его сравнение с эталоном. Если отклонения меньше заданной погрешности, то процесс обучения прекращается.
Помимо входного и выходного слоев в многослойной сети существуют так называемые скрытые слои. Они представляют собой нейроны, которые не имеют непосредственных входов исходных данных, а связаны только с выходами входного слоя и с входом выходного слоя. Таким образом, скрытые слои дополнительно преобразуют информацию и добавляют нелинейности в модели.
Если однослойная нейросеть очень хорошо справляется с задачами классификации, так как выходной слой нейронов сравнивает полученные от предыдущего слоя значения с порогом и выдает значение либо ноль, то есть меньше порогового значения, либо единицу - больше порогового (для случая пороговой внутренней функции нейрона), и не способен решать большинство практических задач( что было доказано Минским и Пейпертом), то многослойный перцептрон с сигмоидными решающими функциями способен аппроксимировать любую функциональную зависимость (это было доказано в виде теоремы). Но при этом не известно ни нужное число слоев, ни нужное количество скрытых нейронов, ни необходимое для обучения сети время. Эти проблемы до сих пор стоят перед исследователями и разработчиками нейросетей. Лично мне кажется, что весь энтузиазм в применении нейросетей строится именно на доказательстве этой теоремы. Впоследствии я сам покажу, как нейроны могут моделировать различные классы функций, но я не претендую на полноту доказательства.
Класс рекуррентных нейросетей гораздо обширнее, да и сами сети сложнее по своему устройству.
Поведение рекуррентных сетей описывается дифференциальными или разностными уравнениями, как правило, первого порядка. Это гораздо расширяет области применения нейросетей и способы их обучения. Сеть организована так, что каждый нейрон получает входную информацию от других нейронов, возможно, и от самого себя, и от окружающей среды. Этот тип сетей имеет важное значение, так как с их помощью можно моделировать нелинейные динамические системы.
Среди рекуррентных сетей можно выделить сети Хопфилда и сети Кохонена. С помощью сетей Хопфилда можно обрабатывать неупорядоченные (рукописные буквы), упорядоченные во времени (временные ряды) или пространстве (графики) образцы. Рекуррентная нейросеть простейшего вида была введена Хопфилдом и построена она из N нейронов, связанных каждый с каждым кроме самого себя, причем все нейроны являются выходными. Нейросеть Хопфилда можно использовать в качестве ассоциативной памяти. Архитектура сети Хопфилда изображена на рис. 6.
Рис. 6
Сеть Кохонена еще называют "самоорганизующейся картой признаков". Сеть такого типа рассчитана на самостоятельное обучение во время обучения сообщать ей правильные ответы необязательно. В процессе обучения на вход сети подаются различные образцы. Сеть улавливает особенности их структуры и разделяет образцы на кластеры, а уже обученная сеть относит каждый вновь поступающий пример к одному из кластеров, руководствуясь некоторым критерием "близости". Сеть состоит из одного входного и одного выходного слоя. Количество элементов в выходном слое непосредственно определяет, сколько различных кластеров сеть сможет распознать. Каждый из выходных элементов получает на вход весь входной вектор. Как и во всякой нейронной сети, каждой связи приписан некоторый синаптический вес. В большинстве случаев каждый выходной элемент соединен также со своими соседями. Эти внутрислойные связи играют важную роль в процессе обучения, так как корректировка весов происходит только в окрестности того элемента, который наилучшим образом откликается на очередной вход. Выходные элементы соревнуются между собой за право вступить в действи и "получить урок". Выигрывает тот из них, чей вектор весов окажется ближе всех к входному вектору.
Обучение многослойной сети
Главное отличие и преимущество нейросетей перед классическими средствами прогнозирования и классификации заключается в их способности к обучению. Так что же такое обучение нейросетей?
На этапе обучения происходит вычисление синаптических коэффициентов в процессе решения нейронной сетью задач, в которых нужный ответ определяется не по правилам, а с помощью примеров, сгруппированных в обучающие множества. Так что нейросеть на этапе обучения сама выполняет роль Эксперта В процессе подготовки данных для построения экспертной системы. Предполагается, что правила Находятся в структуре обучающих данных.
Для обучения нейронной сети требуются Обучающие данные. Они должны отвечать свойствам Представительности и случайности или последовательности. Все зависит от класса решаемой задачи. Такие данные представляют собой ряды примеров с указанием для каждого из них значением выходного параметра, которое было бы желательно получить. Действия, которые при этом происходят, можно назвать Контролируемым обучением: "учитель" подаем на вход сети вектор исходных данных, а на выходной узел сообщает желаемое значение результата вычислений. Контролируемое обучение нейросети можно рассматривать как решение оптимизационной задачи. Ее целью является минимизация функции ошибок Е на данном множестве примеров путем выбора значений весов W. Достижение минимума называется Сходимостью Процесса обучения. Именно возможность этого и доказал Розенблатт. Поскольку ошибка зависит от весов нелинейно, получить решение в аналитической форме невозможно, и поиск глобального минимума осуществляется посредством итерационного процесса - так называемого Обучающего алгоритма. Разработано уже более сотни разных обучающих алгоритмов, отличающихся друг от друга стратегией оптимизации и критерием ошибок. Обычно в качестве меры погрешности берется средняя квадратичная ошибка (СКО):
,
Где М - число примеров в обучающем множестве.
Минимизация величины Е осуществляется с помощью градиентных методов. Изменение весов происходит в направлении, обратном к направлению наибольшей крутизны для функции:
.
Здесь - определяемый пользователем параметр, который называется коэффициентом обучения.
Обратное распространение ошибки
Одним из самых распространенных алгоритмов обучения нейросетей прямого распространения является алгоритм обратного распространения ошибки (BackPropagation, BP). Этот алгоритм был переоткрыт и популяризован в 1986 г. Румельхартом и МакКлелландом из группы по изучению параллельных распределенных процессов в Массачусетском технологическом институте. Здесь я хочу подробно изложить математическую суть алгоритма, так как очень часто в литературе ссылаются на какой-то факт или теорему, но никто не приводит его доказательства или источника. Честно говоря, то же самое относится к Теореме об отображении нейросетью любой функциональной зависимости, на которой основываются все попытки применить нейросети к моделированию реальных процессов. Я бы хотел посмотреть на ее доказательство, но еще нигде его не смог найти. Вот, чтобы у Вас не возникало такого чувства неудовлетворенности в полноте понимания работы нейросети, я решил привести этот алгоритм полностью, хотя честно сознаюсь, что не совсем понимаю его логику.
Итак, это алгоритм градиентного спуска, минимизирующий суммарную квадратичную ошибку:
.
Здесь индекс I пробегает все выходы многослойной сети.
Основная идея ВР состоит в том, чтобы вычислять чувствительность ошибки сети к изменениям весов. Для этого нужно вычислить частные производные от ошибки по весам. Пусть обучающее множество состоит из Р образцов, и входы k-го образца обозначены через {xI K}. Вычисление частных производных осуществляется по Правилу цепи: вес входа i-го нейрона, идущего от j-го нейрона, пересчитывается по формуле:
Где - длина шага в направлении, обратном к градиенту.
Если рассмотреть отдельно k-тый образец, то соответствующиее изменение весов равно:
Множитель IK вычисляется через аналогичные множители из последующего слоя, и ошибка, таким образом, передается в обратном направлении.
Для выходных элементов получим:
Для скрытых элементов множитель IK определяется так:
Где индекс h пробегает номера всех нейронов, на которые воздействует i-ый нейрон.
Рис. 7
Чтобы наглядно представить себе алгоритм обратного распространения ошибки, можно посмотреть следующий рисунок 7:
Способы обеспечения и ускорения сходимости
Выбор начальных весов
Перед тем, как начинать процесс обучения нейронной сети, необходимо присвоить весам начальные значения. Цель состоит в том, чтобы найти как можно более хорошее начальное приближение к решению и таким образом сэкономить время обучения и улучшить сходимость. Классический подход к этой проблеме состоит в том, чтобы случайным образом выбрать малые значения для всех весов, чтобы быть уверенным, что ни один из сигмоидных элементов не перенасыщен. Однако это не дает полной гарантии, что такое приближение приведет к глобальному минимуму или уменьшит время сходимости.
Упорядочение данных
Чтобы обучение не двигалось в ложном направлении при обработке задачи классификации или распознавания, но не задачи аппроксимирования временных рядов, данные нужно перемешивать случайным образом. Иначе нейросеть "выучит" последовательность случайно оказавшихся рядом значений как истинное правило, и потом будет делать ошибку.
Импульс
Иногда при изменении весов связей нейронов кроме текущего изменения веса к нему прибавляют вектор смещения с предыдущего шага, взятый с некоторым коэффициентом. В этом случае говорят, что учитывается предыдущий импульс движения. Формула изменения веса связи будет выглядеть следующим образом:
Где - число в интервале (0,1), которое задается пользователем.
Управление величиной шага
Ранее я уже говорил, что - величина шага сети. По сути это - мера точности обучения сети. Чем он больше, тем более грубым будет следующее уменьшение суммарной ошибки сети. Чем он меньше, тем больше времени сеть будет тратить на обучение и тем более возможно ее попадание в окрестность локального минимума ошибки. Поэтому управление шагом имеет важное значение для улучшения сходимости нейронной сети. В современных нейросетевых пакетах пользователь может сам определять, как будет изменяться величина шага. Очень часто по умолчанию берется линейная или экспоненциальная зависимость величины шага от количества итераций сети.
Похожие статьи
-
История нейронных сетей - Устройство нейронных сетей
На заре развития электронно-вычислительной техники в середине ХХ века среди ученых и конструкторов еще не существовало единого мнения ок том, как должна...
-
Описание нейронных сетей - Функциональные модели универсального нейрокомпьютера
В первой части этой главы описана система построения сетей из элементов. Описаны прямое и обратное функционирование сетей и составляющих их элементов....
-
Впервые последовательное описание конструирования нейронных с Етей из элементов было предложено в книге А. Н. Горбаня [65]. Однако за прошедшее время...
-
Описание устройства, технические характеристики, необходимое программное обеспечение в ООО "ЖБК №9" Чтобы не потратить деньги на оборудование,...
-
Активное сетевое оборудование - Архитектура локальных компьютерных сетей
Активное сетевое оборудование (АСО) это - электронное устройство, за которым следуют некоторые "интеллектуальные" особенности. К такому оборудованию,...
-
Повторитель (repeater) Усиливает сигнал сетевого кабеля, который затухает на расстоянии более 100 м. Он работает на физическом уровне стека протоколов,...
-
Настройка сетевого доступа в Windows XP - Архитектура локальных компьютерных сетей
Чтобы открыть другим пользователям локальной сети доступ к дискам вашего компьютера, выполните такие действия. 1. Выберите команду Пуск>Мой компьютер ....
-
Принцип работы коммутатора, Маршрутизатор - Архитектура локальных компьютерных сетей
Коммутатор хранит в памяти таблицу коммутации (хранящуюся в ассоциативной памяти), в которой указывается соответствие MAC-адреса узла порту коммутатора....
-
С помощью вкладки "Управление доступом" устанавливается способ управления доступом к общим ресурсам. Имеются два варианта: управление на уровне...
-
Технологии с кольцевой архитектурой - Использование компьютерных сетей
Технологии Token Ring и FDDI используются для создания эстафетных сетей с маркерным доступом. Они образуют непрерывное кольцо, в котором в одном...
-
В настоящее время систем видеонаблюдения на рынке продается очень много, и обычно бывает очень сложно принять правильное решение, выбрать нужное решение....
-
Самым важным свойством нейронных сетей является их способность обучаться на основе данных окружающей среды и в результате обучения повышать свою...
-
ЛИТЕРАТУРА - Архитектура персонального компьютера. Характеристика основных устройств
1. Брябрин В. М. Программное обеспечение ЭВМ. - М.: Наука, 1988. 2. Вершинин ОД. Компьютер для школ, 1990. 3. Вычислительные машины, системы и сети / Под...
-
Корпоративные сети. Характеристики корпоративных компьютерных сетей В зависимости от масштаба производственного подразделения, в пределах которого...
-
Топология звезда - Проектирование учебной локальной вычислительной сети
Звезда - это топология с явно выделенным центром, к которому подключаются все остальные абоненты. Весь обмен информацией идет исключительно через...
-
Язык описания нейронных сетей предназначен для хранения сетей на диске. Следует отметить, что в отличии от таких компонентов, как предобработчик входных...
-
Концентратор - Архитектура локальных компьютерных сетей
Сетевой концентратор или хаб (от англ. hub -- центр) -- устройство для объединения компьютеров в сеть Ethernet c применением кабельной инфраструктуры...
-
Сам датчик поставляется в трех видах корпусов, в 8-выводном SOIC-е, 8-выводном uSOP-е, и, пожалуй, самым популярном, ТО-92. Для связи с управляющей...
-
Выше приведена таблица макропоказателей для каждой сети. В данном случае нельзя говорить об отношении направленности существующих различий...
-
Как уже отмечалось в разделе "Различимость входных данных" числовые сигналы рекомендуется масштабировать и сдвигать так, чтобы весь диапазон значений...
-
Сетевая архитектура - Построение корпоративной компьютерной сети
Сетевая архитектура - это сочетание топологии, метода доступа, стандартов, необходимых для создания работоспособной сети. Выбор топологии определяется, в...
-
Из рисунка 2.1.2 и технического задания видно, что: Требуется обеспечить выходом в сеть все квартиры, в том числе беспроводным. Логичнее всего установить...
-
Схема архитектуры проектируемой корпоративной СУЗ приведена в Приложении 3. СУЗ строится на основе двух групп элементов. Первая группа состоит из...
-
Для организации сети управления АСО используются существующие IP-адреса из диапазона 192.168.15.0/24 (см. Табл. 2). Табл. 2. IP-адресация АСО управления...
-
Разработка интеграционных платформ началась одновременно с исследованием и развитием Интернета Вещей. Это происходило по той причине, что сама концепция...
-
Установить параметры сети (nwSetData) - Функциональные модели универсального нейрокомпьютера
Описание запроса: Pascal: Function nwSetData(Net : PString; DataType : Integer; Var Data : RealArray) : Logic; C: Logic nwSetData(PString Net, Integer...
-
Классификация компьютерных сетей - Теоретические основы информационных процессов и систем
Для классификации компьютерных сетей используются разные признаки, выбор которых заключается в том, чтобы выделить из существующего многообразия такие,...
-
Обучение нейронной сети Цель работы Изучить принципы проектирования и обучения нейронных сетей с помощью пакета Matlab. Изучить на практике работу...
-
Построение локальной компьютерной сети - Архитектура локальных компьютерных сетей
Имеется помещение в котором необходимо организовать компьютерную сеть. План помещения представлен ниже. На 6 компьютеров установлена система...
-
В этом разделе намеренно допущено отступление от общей методики - не смешивать разные компоненты. Это сделано для облегчения демонстрации построения...
-
Настройка конфигурации сети - Архитектура локальных компьютерных сетей
Несмотря на то что мастер настройки сети автоматически создает все необходимые сетевые параметры, свойства сетевых протоколов могут не соответствовать...
-
Настройка локальной сети в Windows XP - Архитектура локальных компьютерных сетей
Чтобы организовать компьютерную сеть, необходимо настроить компьютеры. Приступаем к первому этапу. Щелкните правой кнопкой мыши на значке Мой компьютер и...
-
По результатам обследования необходимо выбрать архитектуру системы. Для корпоративных систем рекомендуется архитектура клиент/сервер. Архитектура...
-
Введение - Разработка корпоративной сети на основе технологий xDSL
Корпоративный сеть интерфейс Любая организация - это совокупность взаимодействующих структурных элементов (подразделений), каждый из которых может иметь...
-
Знакомство с нейронными сетями Цель работы Ознакомление со структурой нейронных сетей. Получение навыка программирования нейронных сетей. Теоретическое...
-
Кабель Path cord -- это небольшой отрезок кабеля "витая пара" длиной от 1 до 10 м, на обоих концах которого смонтирован разъем RJ-45. Этот кабель...
-
Существует два варианта обжима разъема на кабеле: - для создания прямого кабеля -- для соединения порта сетевой карты с коммутатором или концентратором,...
-
Система мониторинга социальных сетей предоставляет исследователю возможность собрать интересующие его упоминания в социальных сетях по какой-либо...
-
Поскольку в точке ветвления не происходит преобразования сигнала, то константа Липшица для нее равна единице. Сумматор Производная суммы по любому из...
-
Введение, Общие сведения о локальных сетях - Разработка локальной сети для ОАО "Корпорация Монстров"
Общие сведения о локальных сетях Локальный сеть вычислительный сервер Локальная Сеть (локальная вычислительная сеть, ЛВС) - это комплекс оборудования и...
Типы архитектур нейросетей - Устройство нейронных сетей