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