Файл: Свойства и методы работы с нейронными сетями.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 25.05.2023

Просмотров: 222

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Далее рассмотрим модели искусственных нейронных сетей.

1. Персептрон Розенблатта.

Одной из первых искусственных нейронных сетей является персептрон Розенблатта. Изначально он рассматривался как модель работы мозга, и лишь затем по его типу были разработаны компьютерные модели, первой из которых являлась MARK-1 [8, с. 97][9].

На рис. 5 представлена схема классического персептрона, который по своей сути является однослойной нейронной сетью.

Рис. 5. Схема классического персептрона

Персептрон состоит из следующих частей: S-элементов - сенсорных клеток, принимающих двоичные сигналы; А-элементов - ассоциативного слоя; R-элементов, формирующих выход. Характеризуется матрицей синоптических связей W, в которой указаны веса и показаны переходы от S-элементов к A-элементам.

2. Сеть Хопфилда.

Сеть Хопфилда (рис. 6) - это дискретная сеть, которая может восстанавливать объект по небольшим подсказкам (иногда с зашумленностью) [8, с. 99][10].

Если рассмотреть пример из распознавания образов, то сеть Хопфилда может распознавать текст, где нет математических символов.

Эта сеть имеет следующие характеристики:

  • сеть имеет один слой элементов.
  • каждый элемент связан с любым другим элементом, но не связан сам с собой.
  • за один шаг обновляется только один элемент, но обновление происходит случайно. Однако при этом каждый элемент должен обновляться в одной и той же мере.
  • вывод элемента бинарный, т. е. ограничен значениями (0; 1).

Сеть Хопфилда является рекуррентной. Например, если идет распознавание буквы, то пока нужная буква не будет найдена, поиск не остановится.

Рис. 6. Схема сети Хопфилда

3. Сеть Хемминга.

Сеть Хемминга была разработана в 1987 г. Р. Липпманом, модели которого основывались на вычислении расстояния Хэмминга. Применяется она в том случае, если необходимо определить номер эталона, ближайшего к предъявленному подбору вектора [8, с. 97][11].

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

Стоит отметить, что в данной сети затрачивается больше памяти, чем при использовании сети Хопфилда.


Свойства сети Хемминга:

  1. Нейронная сеть состоит из входного, скрытого и выходного слоев нейрона.
  2. Скрытый и входной слои содержат по k нейронов, где k - число эталонов.
  3. Нейроны скрытого слоя синапсами соединены с выходами нейронов входного слоя сети.
  4. Выходы нейронов связаны с входами отрицательными обратными связями.

Сеть выбирает эталон с минимальным хемминговым расстоянием от предъявленного входного вектора путем активации только одного выхода сети, которая соответствует этому эталону.

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

При этом у сети Хэмминга есть немало преимуществ. Сеть работает предельно просто и быстро. Выходной сигнал (решение задачи) формируется в результате прохода сигналов лишь через один слой нейронов. В модели и использован один из самых простых алгоритмов формирования синаптических весов и смещений сети.

4. Сеть Кохонена.

Еще одна из моделей нейронных сетей была предложена Т. Кохоненом в 1984 г. К настоящему времени существует множество модификаций исходной модели с развитой математической теорией построения и функционирования.

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

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

Рис. 7. Схема сети Кохонена

Входные сигналы (векторы действительных чисел) последовательно предъявляются сети, при этом требуемые выходные сигналы не определяются. После предъявления достаточного числа входных векторов синаптические веса сети определяют кластеры.

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

Областью применения данной сети являются кластерный анализ, распознавание образов, классификация.


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

5. Нейронная сеть с генетическим алгоритмом обучения.

Впервые идея использования генетических алгоритмов для обучения была предложена Дж. Голландом в 1970-е гг. Во второй половине 1980-х гг. к этой идее вернулись в связи с обучением нейронных сетей.

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

Основные компоненты генетических алгоритмов: стратегии репродукций, мутаций и отбор «индивидуальных» нейронных сетей (по аналогии с отбором индивидуальных особей).

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

Генетический алгоритм работает следующим образом. Инициализируется популяция, и все хромосомы сравниваются в соответствии с выбранной функцией оценки. Далее (возможно, многократно) выполняется процедура репродукции популяции хромосом. Родители выбираются случайным образом в соответствии со значениями оценки (вероятность того, что данная хромосома станет родителем, пропорциональна полученной оценке). Репродукция происходит индивидуально для одного родителя путем мутации хромосомы либо для двух родителей путем кроссовера генов. Получившиеся потомки оцениваются в соответствии с заданной функцией и помещаются в популяцию [10, с. 545][12].


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

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

Глава 5. Обучение нейронных сетей

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

Среди всех существующих методов обучения можно выделить два класса: детерминированный и стохастический.

Детерминированный метод итеративно корректирует параметры сети, основываясь на ее текущих параметрах, величинах входов, фактических и желаемых выходов. Яркой иллюстрацией подобного метода является метод обратного распространения ошибки [3, с. 187][13].

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

  1. Выбрать параметры сети случайным образом и подкорректировать их на небольшую случайную величину. Предъявить мно­жество входов и вычислить получающиеся выходы.
  2. Сравнить эти выходы с желаемыми и вычислить разницу между ними. Эта разница называется ошибкой. Цель обучения состоит в том, чтобы минимизировать ошибку.
  3. Если ошибка уменьшилась, коррек­ция сохраняется, в противном случае коррекция отбрасывается и выбирается новая.

Шаги (2) и (3) повторяются до тех пор, пока сеть не обучится.

Необходимо отметить, что стохастичес­кий метод обучения может попасть в «ловушку» локального минимума.

Допустим, что первоначальное значение ошибки равно или очень близко к точке А.

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


Чтобы избежать подобных проблем, можно постепенно уменьшать средний размер случайных шагов коррекции. Когда средний размер шагов велик, значение ошибки будет принимать все значения с равной вероятностью. Если плавно уменьшать размер шагов, то будет достигнуто условие, при котором значение ошибки будет на некоторое время «застревать» в точке B. Когда размер шага уменьшится еще больше, значение ошибки будет «останав­ливаться» на короткое время и в точке А, и в точке B. Если уменьшать размер шага непрерывно, то, в конце концов, будет достигнута величина шага, достаточная для того, чтобы преодолеть локальный минимум А, но не локальный минимум В.

Обучение с учителем.

Алгоритм называется алгоритмом обучения с учителем, если во время обучения сеть располагает правильными ответами (выходами сети) на каждый входной пример, то есть заранее задается множество пар векторов {(xS, dS)}, где xS ∈ X - вектор, задающий условие задачи, а dS ∈ Y - известное решение задачи для вектора xS. В процессе обучения сеть меняет свои параметры таким образом, чтобы давать нужное отображение X → Y. Необходимо отметить, что размер множества {(xS, dS)} должен быть достаточным для того, чтобы алгоритм обу­чения смог сформировать нужное отображение [6, с. 39][14].

Обучение без учителя.

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

Действительно, трудно вообразить, что в мозге есть некоторый механизм, который сравнивает действительные результаты с желаемыми. Алгоритм обучения без учителя может применяться тогда, когда известны только входные сигналы. На их основе сеть учится давать наилучшие значения выхо­дов. Понятие «наилучшее значение» опре­деляется алгоритмом обучения. Обычно алгоритм подстраивает параметры так, чтобы сеть выдавала одинаковые результаты для достаточно близких входных значений.

Метод Хэбба.

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

Хэбб опирался на следующие нейрофизиологические наблюдения: если связанные между собой нейроны активизируются одновременно и регулярно, то сила связи возрастает. Важной особенностью этого правила является то, что изменение веса связи зависит только от активности нейронов, которые соединены данной связью [5, с. 43][15].