Взвешивание нейронной сети - PullRequest
3 голосов
/ 16 ноября 2010

Недавно я изучил сеть обратного распространения и выполнил некоторые ручные упражнения. После этого у меня возник вопрос (возможно, не имеет смысла): есть ли что-то важное в следующих двух разных методах замены: 1. Инкрементное обучение: веса обновляются сразу после того, как все дельта-вейджи известны, и до представления следующего вектора тренировки. 2. Пакетное обучение: дельта-Вейджи рассчитываются и сохраняются для каждого учебного вектора. Однако дельта Wij не сразу используются для обновления весов. Обновление веса производится в конце тренировочной эпохи.

Я некоторое время гуглил, но не нашел результатов.

Ответы [ 2 ]

7 голосов
/ 16 ноября 2010

Итак, вы имеете в виду два режима обучения градиентному спуску. В пакетном режиме изменения в весовой матрице накапливаются в течение всего представления набора тренировочных данных (одна «эпоха»); онлайн-тренинг обновляет вес после представления каждого вектора, составляющего тренировочный набор.

Я считаю, что консенсус заключается в том, что онлайн-обучение лучше, потому что оно сходится гораздо быстрее (большинство исследований не показывают явных различий в точности). (См., Например, Randall Wilson & Tony Martinez, Общая неэффективность пакетного обучения для обучения по градиентному спуску , В Нейронные сети (2003).

Причина, по которой онлайн-обучение сходится быстрее, заключается в том, что он может следовать кривым на поверхности ошибок в течение каждой эпохи. Практическая значимость этого заключается в том, что вы можете использовать более высокую скорость обучения (и, следовательно, сходиться с меньшим количеством циклов в данных обучения).

Другими словами, накопленное изменение веса для группового обучения увеличивается с увеличением размера тренировочного набора. В результате пакетное обучение использует большие шаги на каждой итерации и поэтому пропускает локальные минимумы в топологии пространства ошибок - ваш решатель колеблется, а не сходится.

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

2 голосов
/ 16 ноября 2010

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

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

...