Россия |
Стохастические методы обучения нейронных сетей
Больцмановское обучение
Этот стохастический метод непосредственно применим к обучению искусственных нейронных сетей:
- Определить переменную
, представляющую искусственную температуру. Придать
большое начальное значение.
- Предъявить сети множество входов и вычислить выходы и целевую функцию.
- Дать случайное изменение весу и пересчитать выход сети и изменение целевой функции в соответствии со сделанным изменением веса.
- Если целевая функция уменьшилась (улучшилась), то сохранить изменение веса.
Если изменение веса приводит к увеличению целевой функции, то вероятность сохранения этого изменения вычисляется с помощью распределения Больцмана:

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

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

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