Опубликован: 27.07.2006 | Доступ: свободный | Студентов: 6123 / 1491 | Оценка: 4.37 / 4.06 | Длительность: 13:49:00
ISBN: 978-5-9556-0049-9
Специальности: Программист
Лекция 7:

Стохастические методы обучения нейронных сетей

< Лекция 6 || Лекция 7: 123456 || Лекция 8 >

Больцмановское обучение

Этот стохастический метод непосредственно применим к обучению искусственных нейронных сетей:

  1. Определить переменную T, представляющую искусственную температуру. Придать T большое начальное значение.
  2. Предъявить сети множество входов и вычислить выходы и целевую функцию.
  3. Дать случайное изменение весу и пересчитать выход сети и изменение целевой функции в соответствии со сделанным изменением веса.
  4. Если целевая функция уменьшилась (улучшилась), то сохранить изменение веса.

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

P(c)=\exp(-c/kT),

где P(c)вероятность изменения c в целевой функции; k — константа, аналогичная константе Больцмана, выбираемая в зависимости от задачи; T — искусственная температура.

Выбирается случайное число r из равномерного распределения от нуля до единицы. Если P(c) больше, чем r, то изменение сохраняется, в противном случае величина веса возвращается к предыдущему значению. Это позволяет системе делать случайный шаг в направлении, портящем целевую функцию, и дает ей тем самым возможность вырываться из локальных минимумов, где любой малый шаг увеличивает целевую функцию.

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

Величина случайного изменения веса на шаге 3 может определяться различными способами. Например, подобно тепловой системе, весовое изменение w может выбираться в соответствии с гауссовским распределением:

P(w)=\exp(-w^2/T^2),

где P(w)вероятность изменения веса на величину w, Т — искусственная температура.

Так как требуется величина изменения веса \Delta w, а не вероятность изменения веса, имеющего величину w, то метод Монте-Карло может быть использован следующим образом:

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

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

T(t)=\frac{T_0}{\log(1+t)},

где T(t) — искусственная температура как функция времени; T_0 — начальная искусственная температура; t — искусственное время.

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

< Лекция 6 || Лекция 7: 123456 || Лекция 8 >