Больцмановское обучение
Этот стохастический метод непосредственно применим к обучению искусственных нейронных сетей:
- Определить переменную , представляющую искусственную температуру. Придатьбольшое начальное значение.
- Предъявить сети множество входов и вычислить выходы и целевую функцию.
- Дать случайное изменение весу и пересчитать выход сети и изменение целевой функции в соответствии со сделанным изменением веса.
- Если целевая функция уменьшилась (улучшилась), то сохранить изменение веса.
Если изменение веса приводит к увеличению целевой функции, то вероятность сохранения этого изменения вычисляется с помощью распределения Больцмана:
![](../../../../img/tex/f/b/d/fbd38a706944efe10a94f736fea88234.png)
где
![](../../../../img/tex/2/9/2/2925f932d7c506bdf2d9e19ff4e92860.png)
![](../../../../img/tex/3/5/5/355249a54888ee2351052ab99e65d58a.png)
![](../../../../img/tex/5/8/4/584ea12862cbbe5b1bb3aba040881725.png)
![](../../../../img/tex/3/d/2/3d2aaa9d1086426997ff3990331eb40f.png)
Выбирается случайное число
![](../../../../img/tex/6/1/7/61746ec236f295c3ee62bd4c465e0d74.png)
![](../../../../img/tex/2/9/2/2925f932d7c506bdf2d9e19ff4e92860.png)
![](../../../../img/tex/6/1/7/61746ec236f295c3ee62bd4c465e0d74.png)
Для завершения больцмановского обучения повторяют шаги 3 и 4 для каждого из весов сети, постепенно уменьшая температуру
![](../../../../img/tex/3/d/2/3d2aaa9d1086426997ff3990331eb40f.png)
Величина случайного изменения веса на шаге 3 может определяться различными способами. Например, подобно тепловой системе, весовое изменение
![](../../../../img/tex/8/4/e/84e69ca36f5ab065a95e95bdc2479703.png)
![](../../../../img/tex/4/e/a/4ea1b916246df404d7da9995968e8974.png)
где
![](../../../../img/tex/6/7/8/67896b42ba021b45fe200a51e87d3816.png)
![](../../../../img/tex/8/4/e/84e69ca36f5ab065a95e95bdc2479703.png)
![](../../../../img/tex/2/0/7/207c85904138295ad7663ec8ad62e258.png)
Так как требуется величина изменения веса
![](../../../../img/tex/d/9/5/d95a7670ff06c66c86eb097dd9cea516.png)
![](../../../../img/tex/8/4/e/84e69ca36f5ab065a95e95bdc2479703.png)
- Найти кумулятивную вероятность, соответствующую . Это есть интеграл отв пределах от 0 до. Поскольку в данном случаене может быть проинтегрирована аналитически, она должна интегрироваться численно, а результат необходимо затабулировать.
- Выбрать случайное число из равномерного распределения на интервале (0,1). Используя эту величину в качестве значения , найти в таблице соответствующее значение для величины изменения веса.
Свойства машины Больцмана широко изучены. Скорость уменьшения температуры должна быть обратно пропорциональна логарифму времени, чтобы была достигнута сходимость к глобальному минимуму. Скорость охлаждения в такой системе выражается следующим образом:
![](../../../../img/tex/6/b/1/6b161d6167cba536ce9df6411646c761.png)
где
![](../../../../img/tex/f/d/3/fd3d49e40f83e94999f226a43b4c39d7.png)
![](../../../../img/tex/1/7/d/17de505d626ddbd7a97330a3308a10de.png)
![](../../../../img/tex/f/c/2/fc28cef66fa05e7bc7947aaa3878ce46.png)
Этот разочаровывающий результат предсказывает очень медленную скорость охлаждения (и вычислений). Вывод подтвержден и экспериментально. Машины Больцмана часто требуют для обучения очень большого ресурса времени.