Круглов В.В., Борисов В.В. - Искусственные нейронные сети (ИНС) Теория и практика (778918), страница 11
Текст из файла (страница 11)
2 5. Двухслойный персепгрои Например, однослойный персептрон, состоящий из одного нейрона с двумя входами, не может реализовать логическую функцию «Исключающее ИЛИ», т. е. не способен разделить плоскость (двумерное гиперпространство) на две полуплоскости так, чтобы осуществить классификацию входных сигналов по классам А и В (см, табл, 2.1). таблица 2.! или» Логи Уравнение сети для этого случая: Х! ИГ! + Хз ИГ = 0 (2.5) является уравнением прямой (одномерной гиперплоскости), которая ни при каких условиях не может разделить плоскость так, чтобы точки из множества входных сигналов, принадлежащие разным классам, оказались по разные стороны от прямой (рис. 2 6). Не- + Хз Ь«2 = д х, Рис 2 а Линейная нераздепимссть функции Исключающее ИЛИ возможность реализации однослойным персептроном этой функции получила название проблемы «Исключающего ИЛИ».
Отметим, что функции, которые не реализуются однослойным персептроном, называются линейно неразделимыми. Решение задач, подпадающих под это ограничение, заключается в применении 2-х и более слойных сетей или сетей с нелинейными синапсами, однако и тогда существует вероятность, что корректное разделение некоторых входных сигналов на классы невозможно. Рассмотрим более подробно алгоритм обучения с учителем персептрона на примере, представленном на рис.
2.4. ШАГ 1. Проинициализировать элементы весовой матрицы небольшими случайными значениями ШАГ 2. Подать на входы один из входных векторов, которые сеть должна научиться различать, и вычислить ее выход. ШАГ 3. Если выход правильный, перейти на шаг 4. Иначе— вычислить разницу между требуемым и полученным значениями выхода: 6= с( — У. Модифицировать веса в соответствии с формулой: ьуе (Г + 1) = уу, (Г) + гг б х,, где Г и ((+1) — номера текущей и следующей итераций; гà — коэффициент скорости обучения, О < г) < 1; (- номер входа; ! — номер нейрона в слое. Очевидно, что если сг' > У, то весовые коэффициенты будут увеличены и, тем самым, уменьшат ошибку. В противном случае они будут уменьшены, и У тоже уменьшится, приближаясь к с(. Шаг 4.
Цикл с шага 2, пока сеть не перестанет ошибаться. На шаге 2 на разных итерациях поочередно в случайном порядке предъявляются все возможные входные вектора. К сожале- 57 нию, нельзя заранее определить число итераций, которые потребуется выполнить, а в некоторых случаях и гарантировать полный успех Этот вопрос будет затронут в дальнейшем Сходимость рассмотренной процедуры устанавливается следующими теоремами т г~гг Класс элементарных персептронов, для которых существует решение для любой задуманной классификации, не является пустым Эта теорема утверждает, что для любой классификации обучающей выборки можно подобрать такой набор (из бесконечного набора) элементарных нейронов, в котором будет осуществлено разделение обучающей последовательности при помощи линейного решающего правила тг гг Если для некоторой классификации решение существует, то в процессе обучения персептрона с коррекцией ошибок, начинающегося с произвольного исходного состояния, это решение буде~ достигнуто в течение конечного промежутка времени Смысл теоремы состоит в том, что если относительно задуманной классификации можно найти набор элементов, в котором существует решение, то в рамках этого набора оно будет достиг нуто за конечный промежуток времени Интересную область исследований представляют много слойные персептроны и персептроны с перекрестными связями однако теория этих систем практически не разработана 2.3.
Нейронные сети встречного распространения Объединение разнотипных нейронных структур в единой ар хитектуре зачастую приводит к свойствам, которых нет у них п< отдельности Причем именно каскадные соединения нейронньо структур, специализирующихся на решении различных задач, по зволяют решить проблему комплексно Нейронные сети встречного распространения, состоящие и входного слоя нейронов и слоев нейронов Кохонена и Гроссберга по своим характеристикам существенно превосходят возможност~ сетей с одним скрытым слоем нейронов Так, время их обучения задачам распознавания и кластеризации более, чем в сто раз меньше времени обучения аналогичным задачам сетей с обратным распространением ошибки Это может быть полезно в тех приложениях, где долгая обучающая процедура невозможна 58 Слой 2 Нейроне Гросберев СлОй 2 Нейрона кохонена Вхойной слой Х2 Х Хг Х' Уг У2 У2 У У2 у' Рис 2 7 Структура нейронной сети встречного распространения Одними из определяющих характеристик сети встречного распространения являются ее хорошие способности к обобщению, позволяющие получать правильный выход даже при неполным или зашумленном входном векторе Это существенно для эффективного использования данной сети для распознавания и восстановления образов, а также для усиления сигналов На рис 2? показана структура сети встречного распространения Нейроны входного слоя служат для передачи входных сигналов на все нейроны слоя Кохонена с соответствующими весовыми коэффициентами игг Весовые коэффициенты входов нейронов ! Ц = 1 М) слоя Кохонена образуют соответствующие весовые векторы иг = (иггр, ига„) для у = 1 М Каждый нейрон слоя Кохонена соединен с каждым нейроном из слоя Гроссберга весами У,„ Веса входов нейронов )г((г = 1 2п) СЛОЯ ГрсообврГа ОбраауЮт СООтВЕтСтВуЮщИЕ ВЕСОВЫЕ ВЕКтОрЫ Уа = (Улг,, Унол)для(г=1 2п Нейроны слоя Кохонена реализуют функцию порогового суммирования взвешенных входов Однако, в отличие от осталь- ных слоев, нейрон слоя Кохонена с максимальным значением взвешенной суммы (на заданный входной вектор) является «победитепем» На его выходе формируется уровень логической «1», на выходах остальных нейронов слоя — «О» Нейроны же слоя Гроссберга на выходах выдают величины весов ки которые связывают их с нейроном-«победителем» из слоя Кохонена Процесс обучения нейронной сети встречного распространения различен дпя слоев нейронов Кохонена и Гроссберга Рассмотрим вопросы, возникающие при обучении каждого из этих слоев Перед обучением (самообучением) слоя Кохонена, протекающим без учителя, необходимо выполнить предварительную нормализацию входных (х',, х",, х~) ((у',, у",, у~)) и весовых векторов (и«,, игм) Нормализация входных векторов осуществляется с целью их преобразования в единичные векторы с теми же направлениями перед предъявлением сети в соответствии со следующим выражением х, х*,= х,'~ ° х,'+ хй Нормализация же начальных случайных значений весовых векторов приближает их к окончательным значениям, сокращая тем самым время обучения Эти окончательные значения весовых векторов совпадают с нормализованными значениями входных векторов При обучении слоя Кохонена на вход подается нормализованный входной вектор На выходе нейрона с максимальным значением взвешенной суммы формируется уровень логической «1» При этом процесс обучения после выбора нейрона«победитепя» с весовым вектором, наиболее близким к входному вектору, состоит в дальнейшей подстройке (приближении) компонентов весового вектора выбранного нейрона к предъявленному входному вектору в соответствии с выражением иг,(г+1) = иг,(г) + и (х" — иг,(г)), где иг,((+1), иг,(Г) — соответственно новое и предыдущее значения вектора весов выигравшего нго нейрона-«победителя» для предьявленного входного вектора х«(к = 1 И), П вЂ” коэффициент скорости обучения Каждый коэффициент из весового вектора нейрона †«победитепя» изменяется пропорционально разности между его вепи- 60 чиной и величиной входа, к которому он присоединен Знак изменения минимизирует разность между весовым коэффициентом и его входом По мере обучения коэффициент е постепенно уменьшается В результате обучения нейрон-«победитель» будет активизироваться для совокупности ассоциированных с ним входных векторов, средняя величина которых совпадает с вектором весов этого нейрона Однако существует ряд проблем обучения слоя Кохонена, от решения которых зависит эффективность использования нейронной сети встречного распространения в целом Прежде всего, из-за того, что нормализованные входные векторы, как правило, неравномерно распределены по поверхности гиперсферы, большинство весовых векторов (изначально равномерно распределенных рандомиэацией весов) будут значительно удалены от любого входного вектора Поэтому на выходах соответствующих им нейронов постоянно будет установлен уровень логического «0», и эти нейроны окажутся бесполезными С другой стороны, активных нейронов может оказаться недостаточно для эффективного разделения близкорасположенных входных векторов Еще одна проблема заключается в сложности разделения на различные классы множеств сходных входных векторов в случае, если изначальная плотность весовых векторов в окрестности обучающих векторов будет недостаточной Проблему может представлять также излишне высокая плотность весовых векторов вблизи несущественно различающихся входных векторов Что может привести к активизации нескольких нейронов слоя Кохонена, т е к формированию ложных классов входных векторов Решением перечисленных проблем является распределение весовых векторов в соответствии со сложностью входных векторов Существует несколько путей приближенного достижения этой цели, иэ которых наиболее популярны следующие четыре 1) Метод еыпукпои комбинации (сопкех сот)кпаеоп те)пог)) Первоначально всем весовым коэффициентам присваиваются одинаковые значения 1)4п Каждый компонент входного вектора модифицируется в соответствии с правилом х', = пх, ~ — Сна4п чала и мало, и длина всех входных векторов близка к векторам 61 весов Затем в процессе обучения гг постепенно увеличивается до единицы, что позволяет правильно разделить входные векторы Недостатком данного метода является увеличение времени обучения из-за необходимости подстройки весовых коэффициентов к постоянно изменяющимся значениям входных векторов 2) Зашумление входных векторов Входные векторы подвергаются случайным изменениям, благодаря чему захватывается ближайший весовой вектор Этот метод более медленный, чем метод выпуклой комбинации 3) Изменение числа корректируемых нейронов На начальной стадии процесса обучения подстраиваются веса всех нейронов слоя, а не только нейрона-«победителя» Далее подстройка весов производится лишь для ближайших к выигравшему нейронах Число этих нейронов по мере обучения сокращается И в конце остается лишь один нейрон 4) Наделение нейронов «чувством справедливости» Если нейрон становится «победителем», то порог его срабатывания временно увеличивается Это дает воэможность обучаться и дру гим нейронам Назначением нейронов слоя Гроссберга является формирование требуемых выходных векторов после того, как нейроны слоя Кохонена разделили входные векторы на классы Фактически каждый нейрон слоя Гроссберга лишь выдает значение веса, который связывает этот нейрон с нейроном — «победителем» слоя Кохонена В отличие от самообучающегося слоя Кохонена, слой Гросс- берга обучается с учителем Различие же со стандартной обучающей процедурой заключается в том, что подстройке подвергаются только те веса нейронов слоя Гроссберга, которые соединены с ненулевым нейроном Кохонена Используется следующее правило ч(Н1) = «„Я+ г)(у,— «„Я)К„ где К, — выход нго нейрона Кохонена, у, — 7-й компонент требуемого выходного вектора Первоначально л равен 0,1 и уменьшается в процессе обучения Отличие нейронной сети встречного распространения от других заключается также в особенностях функционирования В соответствии с приведенной на рис 2 7 структурой на вход сети подаются нормализованные единичные векторы Х и У, а на выходе формируются их нормализованные аппроксимации Х' и У' При обучении векторы Х и У подаются одновременно и как входные, и как требуемые выходные При этом вектор Х является входным дпя вектора Х', а вектор У вЂ” для вектора У' В результате 62 такого обучения получается однозначное отображение векторов Х и У на их копии После обучения в нейронной сети встречного распространения реализуется свойство ассоциативной памяти, заключающееся в том, что предъявление на вход только вектора Х (или У) при отсутствии другого приводит к порождению на выходе как вектора Х' так и У' 2.4.