Добавил:
natribu.org Все что нашел в интернете скидываю сюда Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Точно Не проект 2 / Не books / Источник_1

.pdf
Скачиваний:
10
Добавлен:
01.02.2024
Размер:
20.67 Mб
Скачать

450

Глава 8

 

 

ному набору данных Х1, а не структурам данных, представляющих входные образы. Например, данные из Х1 может быть зашумлены, и сеть в этом случае обобщает свойства шума. Тогда говорят, что сеть “переобучилась”. В этой связи возникает вопрос о правильности структуры нейронной сети. Для контроля правильности структуры нейронной сети можно использовать зависимость, изображенную на рисунке 8.15. Если ошибка Епроверки возрастает, то необходимо сократить число нейронов скрытых слоев ИНС. Вместе с тем, если обе ошибки уменьшаются, но остаются относительно большими к концу процесса обучения, то необходимо увеличить число нейронов скрытых слоев.

Альтернативным вариантом является запоминание весов связей, когда Епроверки достигает минимума, и выдача этих весов в качестве решения. В этом случае структура сети не меняется. Такой способ обнаружения ситуации “переобучения” называют ранней остановкой. Однако это не означает, что обучение необходимо прекратить при n = n* (см. рисунок 8.15). Обучение следует продолжить, чтобы убедиться в том, что Е(n*) не является локальным минимумом.

Алгоритм обратного распространения ошибки находит широкое применение при решении различных задач. Рассмотрим сеть Nettalk, базирующуюся на алгоритме обратного распространения ошибки. Сеть Nettalk предназначена для использования в системах синтеза речи по тексту. Она выполняет преобразование текста на английском языке в соответствующую последовательность фонем.

Решение данной задачи с помощью продукционных систем затруднено. Обусловлено это нерегулярностью правил произношения звуков английской речи. Поэтому системы синтеза английской речи (система DECtalk), основанные на правилах, значительно сложнее сети Nettalk [68]. На вход сети Nettalk поступает последовательность букв текста, а на выходе формируются соответствующие фонемы с указанием ударения. Так как произнесение буквы текста зависит от окружения, в котором находится буква, то на входе сети используется окно, фиксирующее окружение буквы. Окно перемещается по строкам текста и позволяет одновременно анализировать 7 букв.

Сеть Nettalk состоит из трех слоев (рисунок 8.16). Каждый знак текста, находящийся в окне, распознается соответствующим НЭ первого слоя. Для этого в первом слое сети имеется 7 групп НЭ, каждая из которых содержит 29 НЭ: 26 нейронов используются для распознавания букв и 3 – для знаков пунктуации. Выходной слой содержит 26 НЭ. Фонемы представляются с помощью 21 НЭ, а 5 оставшихся НЭ фиксируют ударение и границы слогов. Скрытый слой сети Nettalk содержит 80 НЭ. Всего в сети имеется 18529 соединений. В процессе обучения сети серединному знаку окна ставится в соответствие фонема. В одном из экспериментов обучаю-

Распознавание образов и обучение

451

 

 

щая последовательность состояла из 1024 слов. После 50 циклов обучения точность преобразования знаков в фонему составила 95%.

Рисунок 8.16 – Сеть Nettalk

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

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

Рассмотрим два основных типа самоорганизующихся ИНС: ИНС, основанные на правиле обучения Хебба, и состязательные ИНС.

8.5.5.1. ИНС, основанные на правиле обучения Хебба. Правило обучения Хебба соответствует процессам, проходящим в биологических нейронных сетях. В 1949 году Хебб выдвинул следующую гипотезу: если выходной сигнал нейрона А возбуждает нейрон В, и это постоянно по-

452

Глава 8

 

 

вторяется, то вес связи между указанными нейронами увеличивается.

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

wij yix j,

(8.61 )

где yi – выходной сигнал i- го нейрона; xj – входной сигнал i-го нейро-

на, формируемый нейроном с номером j. Изменение веса связи в соответствии с (8.61) не требует привлечения сведений о желаемой реакции нейрона. Поэтому это правило позволяет нейрону самообучаться.

В общем случае правило обучения Хебба записывают в форме дифференциального уравнения

.

 

wij wij f(yi) f(xj),

(8.62)

где f () – монотонная функция, которая ограничивает значение сигналов yi и xj. Дифференциальное уравнение (8.62) описывает изменение веса

wij во времени. При этом второй член уравнения (8.62) определяет вынуж-

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

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

сывается в виде [76]:

wij yi (xj yiwij).

(8.63)

Это правило обеспечивает ограничение длины вектора связей i- го нейрона единичным значением, т.е. |wi | 1.

Кроме этого, вектор весов wi в ходе обучения приближается к мак-

симальному собственному вектору корреляционной матрицы С, каждый

Распознавание образов и обучение

453

 

 

элемент которой равен cij E{xi xj}, где Е{.} – символ математического

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

Правило Ойя, распространенное на однослойную сеть, состоящую из М линейных нейронных элементов, позволяет определить М главных пространственных компонент (направлений) распределения входных данных. Метод главных компонент сокращает размерность пространства, в котором представляются данные. Это обеспечивает широкое использование ИНС, основанных на правиле Ойя, и, в частности, на его модификации – правиле Сэнгера, в задачах классификации и сжатии изображений. Правило Сэнгера применительно к однослойной ИНС, состоящей из М линейных НЭ, записывается в виде:

 

 

i

 

wij

yi (x j

yk wkj ) .

(8.64)

 

 

k 1

 

В [76] показано, что в этом случае векторы весов соответствуют М главным компонентам. Правило Сэнгера не является локальным. При изменении веса wij требуется информация о весах других связей.

8.5.5.2. Состязательные ИНС. Главная особенность состязательных ИНС состоит в том, что в каждый момент времени в выходном слое сети выделяют один нейрон, имеющий наибольшее значение выходного сигнала. Данный нейрон рассматривают как нейрон-победитель, выигравший “состязание”. Структура простейшей состязательной сети изображена на рисунке 8.17.

Рисунок 8.17 – Структура простейшей состязательной сети

454

Глава 8

 

 

Победителем считается нейрон с максимальным значением сетевой функции

m

wiT x .

net i wij x j

j 1

 

На рисунке 8.17 победителем является нейрон с номером i . Его связи

изображены “жирными” линиями. Для нейрона-победителя i можно записать неравенство

w iT* x w iT

x

, i = 1, 2, …, n.

(8.65)

Если вектор wi нормализован (wi 1), то неравенство (8.65) эквивалент-

но

wi*

x

 

 

 

wi

x

 

(8.66)

 

 

 

 

 

 

 

 

Иными словами, вектор весов нейрона-победителя wi* менее всех отлича-

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

i*

arg min

 

 

 

 

 

,

(8.67)

 

 

 

x

 

wi

 

 

i

 

 

 

 

 

 

 

 

 

если вектор wi нормализован, или вида

 

 

 

 

 

 

 

i*

arg max

 

wiT x

 

,

(8.68)

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

если вектор не нормализован. Последняя запись означает, что входной вектор x максимально коррелирует с вектором весов связей wi* нейрона-

победителя.

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

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

Распознавание образов и обучение

455

 

 

wi (t 1) wi (t) (t)(x wi (t)), i i ,

(8.69)

где (t) – значения коэффициента обучения в момент времени

t . Веса

связей всех остальных нейронов не изменяются. В (8.69) предполагается, что векторы wi и x нормализованы.

Заметим, что интегральный эффект от применения правила (8.69) к весам связей i- го нейрона связан с числом соответствующих событий, когда этот нейрон был победителем. Таким образом, состязательная ИНС, использующая (8.69), должна реагировать на вероятность распределения входных образов. Поэтому входные векторы, встречаемые редко, окажут меньшее влияние на конечное значение вектора весов wi .

 

 

 

 

 

 

 

 

 

 

 

Если записать скалярное произведение wiT

x

в виде

T

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

wi x

 

wi

 

 

x

 

cos(wi,x),

 

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

вектора весов wi нейрона-победителя по направлению к входному вектору x.

Рисунок 8.18 – Состязательное обучение

Рассмотрим двухвходовую состязательную ИНС с двумя нейронами. Начальное положение векторов весов w1 и w2 изображено на рисунке 8.18,а. Кружочками на рисунке отмечено положение входных образов, ко-

456

Глава 8

 

 

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

Если на вход сети подается вектор x, относящийся к первому классу, то победителем оказывается первый нейрон, и подстраиваются только веса первого нейрона. Если на вход сети подается вектор из второго класса, то подстраивается вектор весов второго нейрона. Благодаря указанному процессу нейроны сети обнаруживают классы, к которым относятся входные векторы, настраиваясь на центр их “гравитации” (рисунок 8.18,б). Теперь вектор весов первого нейрона является обобщенным вектором, представляющим первый класс входных сигналов, а вектор весов второго нейрона – обобщенным вектором, представляющим второй класс входных сигналов.

Правило обучения Кохонена требует задания начальных весов связей и коэффициента обучения (t). Часто веса связей инициализируются случайными значениями с равномерным законом распределения. Однако это может приводить к тому, что некоторые из нейронов сети никогда не окажутся победителями и, следовательно, не будут участвовать в процессе обучения. Другой способ задания начальных связей основан на инициализации их обучающими векторами x, т.е. w1 x(1), w2 x(2), …, wN x(N).

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

[73,76].

Значение коэффициента (t)лежит в диапазоне 0< (t)<1. В начале обучения (t) имеет большие значения, которые уменьшаются в ходе обу-

чения. Часто (t) вычисляют с помощью выражения вида

 

(t) 1 t,

t = 1,2,…

(8.70)

или вида

 

 

 

 

 

 

(t) 0 t

 

0

 

,

(8.71)

 

 

 

 

 

 

 

t

 

где 1.

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

Распознавание образов и обучение

 

 

 

457

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*

 

 

 

 

(x w

* ),

если

i класс,

 

 

 

 

w

*

 

 

 

i

 

если

i* класс.

(8.72)

i

 

 

(x

w

* ),

 

 

 

 

 

i

 

 

 

 

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

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

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

 

wi (t) (t)[x wi (t)], для

i Ni* (t)

(8.73)

wi

(t 1)

(t),

для

i Ni* (t),

 

wi

 

где Ni (t)

множество

нейронов,

соседних по отношению к нейрону-

победителю i .

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

мически в процессе обучения. Процесс обучения начинается при расширенном множестве Ni (t)и больших значениях (t). По мере обучения ко-

личество НЭ, включаемых в Ni (t) уменьшается, одновременно уменьша-

ется и значение (t). Изменение (t) осуществляется на основе (8.70) или

(8.71), а сужение множества Ni (t) выполняется в соответствии с тополо-

гическими схемами, изображенными на рисунке 8.19 [73]. При этом

458

Глава 8

 

 

Ni (t3) Ni (t2 ) Ni (t1), где t1 t2 t3.... Здесь полагается, что нейронная сеть представляет собой двумерный массив из НЭ.

Рисунок 8.19 – Схемы топологического соседства

Множество Ni (t) может быть задано с помощью функции соседства

(i,i ), которая равна 1 при i i и уменьшается по мере увеличения “рас-

стояния” от нейрона i до нейрона i в выходном топологическом пространстве. В этом случае правило (8.73) записывается в виде:

 

 

 

) .

(8.74)

wi

(t) (i,i* )(x

wi

Функция (i,i ) может быть задана выражением

 

ri ri

 

2

 

 

(i,i ) exp(

 

/2 2 ),

где ri ri – расстояние между нейронами

i и i в выходном двумерном

пространстве; – параметр, задающий “диаметр” функции соседства. Па-

раметр уменьшается во времени, например

(t) 1/t .

В случае применения правила (8.74) обучаются те нейроны i, для

которых функция геометрического соседства

(i,i ) имеет относительно

большие значения. Так как (t) уменьшается в ходе обучения, то со вре-

менем “диаметр” функции (i,i ) становится все меньше и, следователь-

Распознавание образов и обучение

459

 

 

но, одновременно с нейроном i обучается меньшее количество нейронов. В предельном случае обучается только нейрон i .

Самоорганизующиеся карты признаков находят широкое применение в самых разных областях, таких, как распознавание речи, сенсорные системы роботов, комбинаторная оптимизация, управление двигателями и др. [73]

Рассмотрим пример построения самоорганизующейся карты признаков Кохонена, используемой в системах распознавания речи [73]. На вход сети, организованной в виде двумерного массива НЭ, подается вектор x, состоящий из 15 компонент. Каждая компонента вектора x соответствует энергии сигнала на выходе одного из 15 полосовых фильтров (рисунок 8.20) и вычисляется на интервале 10 мс. Полосы пропускания фильтров находятся в диапазоне от 200 Гц до 6400 Гц. Таким образом, компоненты вектора x представляют спектральные коэффициенты речевого сигнала. После обучения сети, выполняемому с помощью правила (8.73), группы нейронов становятся чувствительными к определенным фонемам. При этом близкие по звучанию фонемы занимают соседние позиции на двумерной схеме расположения НЭ.

На рисунке 8.21 изображена фонетическая карта, получаемая приписыванием нейронам сети соответствующих меток, обозначающих фонемы. Данная карта соответствует финскому языку, который фонетически близок к латинскому. Нейроны, обозначенные меткой , соответствуют фонемам k, p,t , которые неуверенно выделяются рассмотренной сетью.

Рисунок 8.20 – ИНС, распознающая фонемы

Соседние файлы в папке Не books