Я получаю много вопросов от людей о градиентном спуске и обратном распространении - вот мое упрощенное объяснение этих концепций, чтобы дать вам некоторое представление о том, как обучаются нейронные сети!

При обучении нейронных сетей мы используем градиентный спуск, чтобы снизить общее количество ошибок, которые делает наша сеть. Градиентный спуск - это алгоритм спуска с холма. Высота холма соответствует «общему количеству ошибок / ошибок», предсказанному нашей сетью.

Мы начинаем с запуска цикла, и на каждой итерации цикла мы стремимся уменьшить общее количество ошибок, которые делает наша сеть. Именно так мы рассчитываем показатель точности обучения сети.

В конце прямого действия мы узнаем «общее количество ошибок», допущенных нашей сетью, путем сравнения нашего прогнозируемого результата с истинным результатом. (Y минус Yhat).

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

Дифференциальное исчисление - это метод, который мы используем, чтобы увидеть, как вещи меняются: быстро ли они меняются? Меняется медленно? Они вообще меняются?

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

Я просто погуглил и нашел это фантастическое видео ... оно настолько хорошо сделано и интуитивно понятно!