Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1 Компьютерные системы как среда проведения вторжений и атак.doc
Скачиваний:
24
Добавлен:
30.04.2022
Размер:
2.47 Mб
Скачать

3.4.3. Обучающий алгоритм обратного распространения

Рис. 3.13. Искусственный нейрон с активационнной функцией

На рис. 3.13 показан нейрон, используемый в качестве основного строительного блока в сетях обратного распространения. Подается множество входов, идущих либо извне, либо от предшествующего слоя. Каждый из них умножается на вес, и произведения суммируются. Эта сумма, обозначаемая NET, должна быть вычислена для каждого нейрона сети. После того, как величина NET вычислена, она модифицируется с помощью активационной функции и получается сигнал OUT [85].

На рис. 3.14 показана активационная функция, обычно используемая для обратного распространения

. (3.5)

. (3.6)

Как показывает уравнение (3.6), эта функция, называемая сигмоидом, весьма удобна, так как имеет простую производную, что используется при реализации алгоритма обратного распространения [75].

Рис. 3.14. Сигмоидальная активационная функция

Сигмоид, который иногда называется также логистической, или сжимающей функцией, сужает диапазон изменения NET так, что значение OUT лежит между нулем и единицей. Как указывалось выше, многослойные нейронные сети обладают большей представляющей мощностью, чем однослойные, только в случае присутствия нелинейности. Сжимающая функция обеспечивает требуемую нелинейность [76].

В действительности имеется множество функций, которые могли бы быть использованы. Для алгоритма обратного распространения требуется лишь, чтобы функция была всюду дифференцируема [78]. Сигмоид удовлетворяет этому требованию. Его дополнительное преимущество состоит в автоматическом контроле усиления. Для слабых сигналов (величина NET близка к нулю) кривая вход-выход имеет сильный наклон, дающий большое усиление. Когда величина сигнала становится больше, усиление падает. Таким образом, большие сигналы воспринимаются сетью без насыщения, а слабые сигналы проходят по сети без чрезмерного ослабления.

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

Рис. 3.15. Двухслойная сеть обратного распространения ( – желаемый сигнал)

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

3.4.4. Алгоритм обучения искусственной нейронной сети

Целью обучения сети является такая подстройка ее весов, чтобы приложение некоторого множества входов приводило к требуемому множеству выходов. Для краткости эти множества входов и выходов будут называться векторами. При обучении предполагается, что для каждого входного вектора существует парный ему целевой вектор, задающий требуемый выход [79]. Вместе они называются обучающей парой. Как правило, сеть обучается на многих парах.

Алгоритм обратного распространения ошибок опирается на обобщение дельта-правила [82]. Представим производную ошибки в виде:

,

где E – сумма квадратов ошибок для сети, - наблюдаемый выход элемента.

, следует из 3.1 .

Для функции активности выходом является то есть:

,

а для производной f получим:

.

Исходя из этого, и принимая во внимание, что

,

получим:

.

Указанная ошибка соответствует ошибке выходного элемента, но ошибка скрытого элемента не связана с целевым выходным значением непосредственно [77]. Поэтому весовые значения скрытого элемента следует скорректировать пропорционально его «вкладу» в величину ошибки следующего слоя. Для скрытого элемента величина ошибки вычисляется по формуле:

,

где индекс k соответствует слою, посылающему ошибку обратно.

На первой стадии происходит инициализация весов малыми значениями, например, из диапазона -0,3 и +0,3. Обучение предполагается управляемым, поскольку с каждым входным образцом связывается целевой выходной образец. Обучение продолжается до тех пор, пока изменение усредненной квадратичной ошибки не окажется меньше некоторого допустимого значения при переходе от одной эпохи к следующей [32]. Если в процессе обучения наступает момент, когда ошибка в сети попадает в рамки допустимого изменения, говорят, что наблюдается сходимость. Другим критерием окончания обучения можно считать наступление момента, когда выход каждого учебного образца оказывается в рамках допустимого отклонения от соответствующего целевого выходного образца.

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

.

Таким образом, изменение веса на шаге n+1 оказывается зависящим от изменения веса на шаге n. Алгоритм обратного распространения в целом представлен на блок схеме (рис. 3.16).

Рис. 3.16. Структурная схема алгоритма обратного распространения ошибки

да

Flag=TRUE

Р ис. 3.16. Продолжение