Обратное распространение ошибки и оптимизация
Обратное распространение ошибки эффективно вычисляет градиент функции потерь сети по отношению к ее весам, а градиентные оптимизаторы используют этот градиент для обучения сети.
Definition
Обратное распространение ошибки — это алгоритм, который вычисляет градиент функции потерь по отношению к каждому весу в нейронной сети путем распространения сигналов ошибки в обратном направлении через слои с использованием цепного правила; затем оптимизация обновляет веса, как правило, с помощью стохастического градиентного спуска, чтобы уменьшить потери.
Scope
Эта тема охватывает методы обучения глубоких сетей: алгоритм обратного распространения ошибки как применение цепного правила для послойного вычисления градиентов, стохастический градиентный спуск и его мини-пакетная форма, методы с использованием момента и адаптивной скорости обучения, а также практические проблемы затухающих и взрывающихся градиентов, выбора скорости обучения и сходимости на невыпуклых поверхностях потерь.
Core questions
- Как обратное распространение ошибки эффективно вычисляет градиенты?
- Почему стохастический градиентный спуск предпочтителен для больших наборов данных?
- Как методы с использованием момента и адаптивные методы ускоряют обучение?
- Что вызывает затухающие или взрывающиеся градиенты и как их смягчить?
Key theories
- Обратное распространение ошибки через цепное правило
- Применяя цепное правило от выхода в обратном направлении, алгоритм повторно использует промежуточные результаты для вычисления всех градиентов весов за время, пропорциональное прямому проходу, что делает обучение больших сетей осуществимым.
- Стохастический градиентный спуск
- Оценка градиента по небольшим случайным пакетам делает каждое обновление недорогим и вносит полезный шум, что позволяет обучать на очень больших наборах данных и часто улучшает обобщение.
- Адаптивные методы и методы с использованием момента
- Момент накапливает прошлые градиенты для сглаживания спуска, а адаптивные методы масштабируют размер шага для каждого параметра, что ускоряет сходимость на плохо обусловленных поверхностях потерь, характерных для глубоких сетей.
Clinical relevance
Обратное распространение ошибки со стохастическим градиентным спуском является основой практически всего современного глубокого обучения; понимание того, как распространяются градиенты, объясняет, почему глубокие сети исторически было трудно обучать и как инновации в функциях активации, инициализации и оптимизаторах сделали очень глубокие сети практически применимыми.
History
Обратное распространение ошибки было выведено в нескольких контекстах, включая диссертацию Вербоса 1974 года, и получило широкое распространение благодаря Румельхарту, Хинтону и Уильямсу в 1986 году. Стохастический градиентный спуск, а затем методы с использованием момента и адаптивной скорости обучения стали стандартными процедурами обучения, а решение проблемы затухающих градиентов стало ключом к обучению глубоких и рекуррентных сетей.
Key figures
- David Rumelhart
- Geoffrey Hinton
- Ronald Williams
- Paul Werbos
Related topics
Seminal works
- rumelhart1986
- goodfellow2016
- bishop2006
Frequently asked questions
- Что на самом деле вычисляет обратное распространение ошибки?
- Оно вычисляет градиент функции потерь по отношению к каждому весу, то есть, насколько каждый вес должен измениться, чтобы уменьшить ошибку. Это делается эффективно путем распространения сигналов ошибки в обратном направлении от выходного слоя к входному слою с использованием цепного правила.
- Почему обучение проводится на небольших пакетах, а не на всех данных сразу?
- Использование всего набора данных для каждого обновления является дорогостоящим и ненужным. Мини-пакетный стохастический градиентный спуск оценивает градиент по небольшой случайной выборке, что делает каждый шаг недорогим, позволяет выполнять гораздо больше обновлений и добавляет шум, который может помочь избежать плохих решений.