Градиентный спуск: как нейронные сети находят минимум ошибки?

DeepLearning.AI 161 тыс. 11 мин 2 мин 25.08.2017
Главное

Алгоритм градиентного спуска: как обучаются нейронные сети 📉 0:00

В основе машинного обучения и настройки логистической регрессии лежит процесс поиска оптимальных параметров, минимизирующих ошибку модели. Видео эксперта DeepLearning.AI посвящено алгоритму градиентного спуска — фундаментальному методу, который позволяет нейронным сетям «учиться», постепенно приближаясь к наиболее точным настройкам весов.

Суть задачи: минимизация функции стоимости 🎯 0:42

Логистическая регрессия опирается на две ключевые функции:

Цель обучения нейронной сети заключается в подборе таких значений параметров $W$ и $B$, при которых функция стоимости $J(W, B)$ достигает своего минимума. Важным преимуществом логистической регрессии является то, что её функция стоимости — это выпуклая функция («форма чаши»), что гарантирует отсутствие множества локальных оптимумов и облегчает поиск глобального минимума.

Механика градиентного спуска 🚶 2:31

Процесс поиска параметров выглядит как итеративное движение «под гору» по поверхности функции стоимости.

  1. Инициализация: Параметры $W$ и $B$ задаются начальными значениями (обычно нулями).
  2. Шаг спуска: Алгоритм вычисляет направление самого крутого спуска и делает небольшой шаг в эту сторону.
  3. Итерации: Этот процесс повторяется многократно до тех пор, пока параметры не приблизятся к глобальному минимуму.

Математически обновление параметра $W$ для простой функции $J(W)$ выглядит следующим образом:

$$W := W - \alpha \frac{dJ(W)}{dW}$$

Навигация по склону: почему это работает 🏔️ 5:11

Логика обновления параметров интуитивно понятна, даже если вы не эксперт в математическом анализе:

В случае логистической регрессии, где параметров два ($W$ и $B$), алгоритм обновляет каждый из них одновременно, используя соответствующие производные.

Нюансы нотации и реализация в коде 💻 8:17

В математической литературе при наличии двух и более переменных вместо обычной «d» для обозначения производной часто используют символ частичной производной (стилизованная «кривая d»).

Автор отмечает, что если глубокие дебри математического анализа кажутся пугающими, не стоит волноваться: для эффективной работы с нейронными сетями достаточно интуитивного понимания того, что производная просто указывает направление «вниз» по функции стоимости.

💬 Цитаты

«Мы хотим найти такие значения W и B, которые делают функцию стоимости J(W, B) как можно меньше.»

Автор курса DeepLearning.AI 1:10

«Градиентный спуск делает шаг в направлении самого крутого спуска, чтобы как можно быстрее оказаться внизу.»

Автор курса DeepLearning.AI 3:13
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Функция стоимости (Cost function)
Математическая функция, измеряющая общую ошибку модели на всем наборе обучающих данных.
Коэффициент скорости обучения (Learning rate)
Параметр, контролирующий размер шага, который делает алгоритм при каждой итерации спуска.
Выпуклая функция (Convex function)
Математическая функция, имеющая форму «чаши», что гарантирует наличие одной точки глобального минимума.
Градиент (Производная)
Величина, показывающая наклон функции в конкретной точке и направление наибольшего изменения.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Gradient Descent Logistic Regression DeepLearning.AI