Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПроблемаWTA_мн.doc
Скачиваний:
21
Добавлен:
17.04.2013
Размер:
189.44 Кб
Скачать

Метод инициализации весов

На результат обучения огромное значение оказывает начальное задание значений весов. Идеальным является ситуация, когда веса изначально близки к оптимальным. Это позволяет ускорить процесс обучения и уменьшить задержки в локальных минимумах. К сожалению, не существует универсального метода задания начальных значений весов для каждой конкретной задачи. Поэтому обычно используется случайное задание весов с равномерным распределением в заданном интервале. Большинство исследователей предлагают выбирать интервал для случайного определения весов (0,1). Д.Нгуен и Б. Видроу предложили следующий интервал для выбора

нейронов скрытого слоя (N- количество нейронов в скрытом слое, т- количество

входов данного нейрона), а веса выходных нейронов выбираются случайным образом из диапазона [- 0.5;0.5]

Литература

1. Станислав Осовский "Нейронные сети для обработки информации", изд. "Финансы и статистика", 2002 г.

Глава 3. Построение и оптимизация структуры нс

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

нужно определить количество слоев сети и количество нейронов в каждом слое.

Обычно количество нейронов во входном слое ровно количеству компонентов входного вектора

X. Такая же ситуация и с выходным слоем: количество нейронов нем берется равным количеству

компонент ожидаемого вектора D.

Важной проблемой является определения количества скрытых слоев и числа нейронов в них.

Теоретическое решение этой задачей предложили математики, занимающиеся проблемами

аппроксимации функций. Они заметили, что НС является универсальным аппроксиматором

обучающих данных (X,D). При обучении подбираются ее функциональные коэффициенты (веса).

На этапе работы НС при зафиксированных весах производится простой расчет значения

аппроксимирующей функции при заданном входном векторе.

Определение минимального числа скрытых слоев основано на использовании свойств

аппроксимирующей функции. Это используется в частности в теореме Колмогорова, из которой

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

количество скрытых слоев, достаточных для аппроксимации заданного преобразования, не

превышает двух (доказательство теореме не привожу).

Результат теоремы носит теоретический характер. Он определяет максимальное число слоев.

Теорема не уточняет не вид нелинейных функций активации,. Ни методы обучения сети,

создаваемой для аппроксимации. В практических реализация число слоев может отличаться от

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

случаях 2 слой. Число нейронов в скрытым слое тоже варьируется от N до 3N.

Оптимизация структуры сети

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

Пусть есть множество данных R. Выделим в нем подмножество L, которое и будем использовать при обучении. V - подмножество контрольных данных. С помощью него будем определять степень об учености сети. Множество G - не участвует в обучении. Элементы его подаются на вход нейронной сети, а результат работы будет показывать возможности обобщения знаний сети. Теперь нужно решить какие пары (xi ,di ) лучше всего выбирать для этапа обучения, чтобы

развить возможность обобщения НС. Если бы обобщения нам было не нужно, то мы просто бы поставили каждой паре в соответствие определенный вес, и сеть просто бы научилась различать ограниченное число выборок (запомнила бы их). Для обобщения нужно тренировать сеть т избыточном множестве данных.

Цель обучения состоит в том, чтобы минимизировать погрешность распознавания образа. Обозначим эту погрешность EG(w) - погрешность обобщения. С точки зрения статистики, она

зависит от погрешности обучения EL (w) (погрешность на этапе обучения на множестве L) и от доверительного интервала. Формула, определяющая погрешность [1]:

В работе [1] показано, что значение доверительного интервала от уровня погрешности обучения и от отношения количества обучающих выборок р к фактическому значению параметра h, называемого мерой Вапника-Червоненкиса и обозначаемого VCdim. VCdim отражает уровень сложности НС и тесно связана с количеством содержащейся в ней весов. Значениеуменьшается по мере возрастания отношения обучающих выборок к уровню сложности сети. По этой причине очень важно правильно выбрать меру Vcdim для сети заданной структуры. Точный метод- выбора Vcdim не известен, однако известно, что чем больше синоптических весов, тем больше сложность сети и тем больше Vcdim. В [2] предложено определение верхней и нижней границы этой меры:

где

[] обозначает целую часть

К - количество нейронов скрытого слоя

N - размерность входного вектора

Nw - общее количество весов сети

- общее количество нейронов в сети

Из формулы (1) следует, что нижняя граница диапазона приблизительно равна количеству весов,

связывающих входной слой со скрытым слоем, а верхняя граница превышает двукратное

суммарное количество всех весов сети.

Т.к. точно определить Vcdim не возможно, то обычно ее берут раной общему количеству весов

нейронной сети.

Следствие:

На погрешность обобщения влияет отношение количества обучающих выборок к количеству

весов сети. Небольшой объем обучающего подмножества при фиксированном числе весов не

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

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

восприниматься как существенные свойства процесса. Даже минимальное отклонение от этих

точек вызовет большую погрешность. Экспериментально установлено, что высокие обобщающие

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

Vcdim.

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

Рассмотрим несколько вариантов редукции НС.

1) Метод непосредственного отсечения связей. В этом случае в какой-то момент значение связи устанавливается равным 0. Проводят обучение и смотрят на сколько отсутствие связи сказалось на результате. Если влияние связи незначительное, то ее убирают из структуры сети.

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

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

  2. Принципиальный иной подход добавление нейронов в скрытых слоях. Вначале берется минимальное количество нейронов в скрытом слое, а по мере обучения их добавляют, то момента формирования окончательной структуры. После некоторого числа циклов обучения, оцениваются обобщающие способности сети, и принимается решение о необходимости добавления нейронов. Такой прием используется в алгоритме корреляции Фальмана.

Редукция НС Редукция с учетом чувствительности

Редукция сети производится для уменьшения количества скрытых нейронов и связей. Цель

редукции - усилить способность к обобщению.

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

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

функционирования сети.

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

значительно влияют на поведение нейрона. Поэтому наилучшим способом является учет

изменения величин весов на работу сети. Если изменение веса не сказывается на сеть, то его

можно без всякого вреда удалить.

При этом не рекомендуется отсекать веса в процессе обучения, поскольку низкая

чувствительность сети может быть связана с текущим состоянием рассматриваемого веса, или с

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

примут постоянный характер.

Одним из лучших методов считается метод предложенный ЛеКуном [3]. Он называется OBD

(Optimal Brain Damage). В качестве показателя значимости веса используется коэффициент

асимметрии, который определяется следующим образом [3]:

Отсечение весов с наименьшим коэффициентом асимметрии не вызовет нарушения в

функционировании сети.

Алгоритм редукции для данного метода:

  1. Провести полное обучение сети с использованием любого алгоритма.

  2. Произвести расчет Sij для каждого веса.

  3. Отсортировать веса в порядке убывания соответствующих им коэффициентов асимметрии. Отсечь веса с наименьшим Sij

  4. Вернутся к п. 1, если нужно продолжать редукцию.

Метод OBD является одним из лучших способов редукции с учетом чувствительности.

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

погрешности.

Этот метод получил свое дальнейшее развитие (метод OBS, в данном разделе не

рассматривается).

Редукция сети с использованием штрафной функции

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

Простейший метод модификации целевой функции предполагает ввод слагаемого, штрафующего за большое значение весов:

V

где- стандартная целевая функция

- коэффициент штрафа за достижения весами больших значений

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

- коэффициент обучения.

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

Более хорошие результаты можно получить, если модифицировать целевую функции следующим способом:

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

Правило коррекции весов для этого случая будет выглядеть следующим образом:

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

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

- изменение значения выходного сигнала i - ого нейрона для j - ой обучающей выборки

- корректирующий фактор целевой функции, зависящий от активности всех скрытых

нейронов для всех j (j=l ..p) обучающих выборок

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

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

Методы наращивания сети

Существуют алгоритмы постепенного наращивания сети. Эти методы горазда менее эффективны,

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

Наиболее известным является метод каскадной корреляции С. Фальмана (в данном разделе не

рассматривается).

Литература:

  1. Haykin S. Neural Networks, a comprehensive foundation - N.Y.: Macmillan College Publishing Company, 1994

  2. Vapnik V.N., Chervonenkis A. On the uniform convergence of relative frequencies of events to their probabilities. // Theory of Probability and its Applications 1971 - vol 16 - Pr 264-280

  3. LeCun Y., Denker J., Solla S. Optimal brain damage //Advances in NIPS2/ Ed D. Touretzky, San Mateo: Morgan Kaufmann, 1990 - Pr 598-607

  4. Clauvin Y. A back propagation algorithm with optimal use of hidden units //Advances in NIPS2/ Ed D. Touretzky, San Mateo: Morgan Kaufmann, 1989 - Pr 519-526

Соседние файлы в предмете Системы искусственного интеллекта