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