3

Я пытаюсь понять «обратное распространение», поскольку он используется в нейронных сетях, которые оптимизированы с использованием Gradient Descent. Чтение литературы, похоже, делает несколько вещей.Backpropagation in Gradient Descent для нейронных сетей против линейной регрессии

  1. Используйте случайные веса, чтобы начать и получить значение ошибок
  2. Выполните градиентный спуск на функции потерь с помощью этих весов, чтобы прийти к новым весам.
  3. Обновите весы этими новыми весами до тех пор, пока функция потерь не будет сведена к минимуму.

Эти шаги, по-видимому, являются ТОЧНЫМ процессом для решения линейных моделей (например, регрессии)? Отличный курс Andrew Ng на Coursera для машинного обучения делает именно это для линейной регрессии.

Итак, я пытаюсь понять, делает ли BackPropagation нечто большее, чем спуск градиента на функцию потерь .. а если нет, то почему это относится только к нейронным сетям и почему не для GLM (обобщенные линейные модели). Кажется, все они делают то же самое - что я могу пропустить?

ответ

3

Главное управление Происходит, чтобы скрываться на виду: linearity. На самом деле, переходим к вопросу о непрерывности первой производной, и вы инкапсулируете большую часть разницы.

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

«Современный» NN имеет нелинейные слои: ReLUs (изменение отрицательных значений на 0), объединение (max, min или среднее из нескольких значений), отсева (случайное удаление некоторых значений), а другие методы уничтожают наши способность плавно применять Gradient Descent (GD) к модели. Вместо этого мы берем на себя многие принципы и работаем назад, применяя ограниченные исправления по слоям, вплоть до веса на уровне 1.

Намочите, ополосните , повторять до сходимости.

ли это прояснить проблему для вас?


У вас его есть!

Типичный РЕЛУ является

f(x) = x if x > 0, 
     0 otherwise 

Типичный пулы слой уменьшает длину входного и ширину в 2 раза; в каждом квадрате 2x2 пропускается только максимальное значение. Выпадение просто убивает случайные значения, чтобы модель перенастраивала эти веса из «первичных источников». Каждая из них является головной болью для GD, поэтому мы должны делать это за слоем.

+0

Спасибо большое! Это помогает разъяснить это ЛОТ! Если я это правильно понимаю, то в «сложных» NN мы могли бы иметь функции, которые, возможно, не были бы недифференцируемыми (я полагаю, у вас может быть ReLU с перерывом в нем) - поэтому GD не будет использоваться, если мы построим функция потерь от начала до конца и, следовательно, должна разбить ее по частям и применить ее по слоям. ... – Shanbhag

+0

Часть, которую я не получал, касается линейности. Я понимаю, что GD можно использовать для нелинейных функций. Так что больше внимания уделяется вычислительной эффективности? – Shanbhag

+0

Справа. Многослойный градиент быстро усложняется при каждой нелинейности. Фактически, в слое отсеивания CNN он не является детерминированным во всех итерациях. Когда мы попадаем на большой NN - такой как CNN с 10^6 параметрами и весом 10^7 - поэтапное обратное распространение намного быстрее. – Prune

0

Итак, я пытаюсь понять, если BackPropagation делает что-то большее, чем градиентный спуск по функции потерь.и если нет, то почему он только упоминается в случае нейронных сетей

Я думаю, что (по крайней мере первоначально) обратного распространения ошибок означает менее, чем то, что вы описали: термин «обратного распространения ошибок» только refered к методу вычисления производных функции потерь вместо, например, automatic differentiation, символическая дифференциация, или numerical differentiation. Независимо от того, какой градиент использовался тогда (например, Gradient Descent или Levenberg/Marquardt).

Они все, похоже, делают то же самое, что я могу пропустить?

Они используют разные модели. Если ваша нейронная сеть использовала линейные нейроны, это было бы эквивалентно линейной регрессии.

Смежные вопросы