Обучение сети
Характерной особенностью большинства конфигураций нейронных сетей является их способность обучаться решению требуемой задачи. Поскольку структура сети в процессе обучения остается неизменной, то под обучением понимают постепенный процесс настройки весов связей.
Обучение бывает двух типов: обучение с учителем и обучение без учителя. Обучение с учителем характеризуется наличием обучающего множества. Обучающее множество - это совокупность пар <вектор входа X - вектор выхода Y>. Каждая такая пара определяет, что сеть, получающая на вход первый вектор обучающей пары, в идеале должна воспроизвести на своем выходе второй вектор обучающей пары. К этому нужно стремиться для всех элементов обучающего множества. В действительности обучение прекращается при достижении некоторого приближения к этому состоянию, что измеряется функционалом ошибки сети. Функционал ошибки обычно имеет следующий вид:
где j - номер примера (элемента обучающего множества), i - номер компоненты вектора выхода, Y - вектор выхода, заданный в обучающем множестве, Y` - вектор, который сети выдала на выходе, получив на вход вектор X из этого примера в обучающем множестве.
Таким образом, задача обучения сети формализуется как задача минимизации функционала ошибки. Поскольку этот функционал является сложной (точнее, составной) функцией, его нахождение можно производить на основе идеи градиентного метода. Алгоритм, который реализует эту процедуру, называется алгоритмом обратного распространения ошибки. Общеизвестны трудности, которые возникают при выполнении этого алгоритма. Основной из них является проблема локального минимума - алгоритм выбирает в качестве найденного решения один из локальных минимумов и уже не может вырваться из его окрестности в поисках более точного минимума.
Важнейшей практической задачей данной работы является попытка заменить алгоритм обратного распространения на генетический алгоритм в надежде смягчить проблему локального минимума.