logo
Сборник методов нейроинформатики

2.5. Обучение нейронных сетей

Обучение нейронной сети на некотором "задачнике" означает минимизацию функционала невязки между выходными сигналами сети и сигналами, которые требуется получить. Минимизация функционала невязки (оценки в дальнейшем) производится путем такой подстройки обучаемых параметров aiнейронов сети, чтобы сеть на некоторый входной вектор сигналовXвыдавала ответY', который был бы по возможности ближе к требуемому ответуY. Иными словами, чтобы для задачника с числом примеровN(т.е. для N пар {Xi,Yi},i=1..N) достигался минимум суммарной функции оценки:

Вкачестве функции нормы выступает покомпонентная сумма квадратов элементов вектораY-Y'(оценка МНК), либо более специализированная. Применение более специализированных оценок ускоряет процесс обучения сети. Так, можно использовать оценки, позволяющие задавать требования к точности решения задачи. Это позволяет прекращать процесс обучения, когда достигнута удовлетворяющая пользователя точность. Для решения задач классификации можно строить специализированные оценки, основанные на используемом при решении задачи интерпретаторе ответа. Подробно разнообразные интерпретаторы ответа и построенные по ним оценки описаны в [7,9].

Минимизация функции оценки выполняется с привлечением градиентных методов оптимизации. Преобразовав по некоторым правилам структуру сети, подавая на выход сети частные производные функции оценки по выходным сигналам и используя так называемое двойственное функционирование, мы можем получить для каждого подстроечного параметра сети и для каждого входного сигнала частные производные функции оценки по значению этого параметра или сигнала. Для вектора параметров сети вектор соответствующих частных производных будет градиентом функции оценки, поэтому возможна градиентная оптимизация функции оценки, в ходе которой нейронная сеть "обучается" давать требуемые ответы на подаваемые ей входные сигналы.

Сеть лучше обучать по суммарному градиенту (градиенту по всем примерам задачника), что ускоряет процесс обучения, и применять специализированные алгоритмы оптимизации, надстраиваемые над простейшим градиентным спуском. Для вычисления суммарного градиента необходимо просуммировать вектора градиентов, вычисляемые для каждого примера задачника (всего N векторов). Естественно, что нет необходимости одновременного хранения в памяти ЭВМ градиентов для всех примеров, процесс вычисления суммарного градиента реализуется как процесс последовательного накопления.