1.5. Настройка числа нейронов в скрытых слоях многослойных нейронных сетей в процессе обучения
Для того, чтобы многослойная нейронная сеть реализовывала заданное обучающей выборкой отображение, она должна иметь достаточное число нейронов в скрытых слоях В настоящее время нет формул для точного определения необходимого числа нейронов в сети по заданной обучающей выборке. Однако предложены способы настройки числа нейронов в процессе обучения, которые обеспечивают построение нейронной сети для решения задачи и дают возможность избежать избыточности. Эти способы настройки можно разделить на две группы алгоритмы сокращения (pruning algorithms) и конструктивные алгоритмы (constructive algorithms)
1.5.1. Алгоритмы сокращения
В начале работы алгоритма обучения с сокращением число нейронов в скрытых слоях сети заведомо избыточно. Затем из нейронной сети постепенно удаляются синапсы и нейроны. Существуют два подхода к реализации алгоритмов сокращения.
1) Метод штрафных функций.
В целевую функцию алгоритма обучения вводится штрафы за то, что значения синаптических весов отличны от нуля, например.
где
синаптический вес,
- номер нейрона,
номер входа;
- число нейронов скрытого слоя,
- размерность входного сигнала
2) Метод проекций.
Синаптический вес обнуляется, если его значение попало в заданный диапазон.
где Е - некоторая константа.
Алгоритмы сокращения имеют, по крайней мере, два недостатка:
• нет методики определения числа нейронов скрытых слоев, которое является избыточным, поэтому перед началом работы алгоритма нужно угадать это число;
• в процессе работы алгоритма сеть содержит избыточное число нейронов, поэтому обучение идет медленно