Ноябрь 14th, 2014
Классический алгоритм стохастической релаксации обучения НС изложен в работах. Он содержит следующие этапы:
1. Определить переменную T, которую интерпретируем как искусственную температуру. Придать ей большое начальное значение.
2. Подать на вход НС все образы, вычислить выходы и целевую функцию (функцию энергии).
3. Придать случайное изменение одному из весовых коэффициентов, пересчитать значения выходных характеристик сети и изменение целевой функции в соответствии с изменением значения весового коэффициента.
4. Если значение целевой функции уменьшилась, то сохранить изменение значения коэффициента. Если же значение целевой функции увеличилось, то вероятность сохранения этого изменения вычисляется с помощью распределения Больцмана
5. Выбрать случайное число %, имеющее равномерное распределение на отрезке (0, 1). Если значение P(c) больше чем %, тогда изменение значения весового коэффициента сохраняется, в противном случае его величина возвращается к предыдущему значению. Это позволяет системе делать случайный шаг в направлении, ухудшающем целевую функцию, позволяя ей «выйти» из локальных минимумов, где любой малый шаг увеличивает целевую функцию.
6. Для завершения больцмановского обучения повторяем шаги 3-5 для каждого из весовых коэффициентов сети, постепенно уменьшая температуру T, пока не будет достигнуто достаточно низкое значения целевой функции. Далее на вход сети подается другой обучающий вектор и процесс повторяется. Сеть обучается на всех векторах обучающего множества с возможным повторением.
Приведенный алгоритм имеет значительные недостатки, которые рассмотрим ниже. Осуществим идентификацию зависимости (2.4) с помощью разработанного модифицированного алгоритма стохастической релаксации обучения прямосвязной НС (112, 113). Для этого нужно выполнить определенные вспомогательные процедуры. Запишем функции плотности распределения Гаусса, Коши и Лапласа.