# Инструктор DeepLearning.AI: «Для правильной работы градиентного спуска важно обновлять параметры одновременно»

Источник: https://www.youtube.com/watch?v=w_2vCijLiiM
Канал: DeepLearning.AI
Опубликовано: 01.12.2022

---

В рамках курса Machine Learning Specialization от DeepLearning.AI рассматривается один из фундаментальных алгоритмов машинного обучения — градиентный спуск (gradient descent). Инструктор подробно разбирает математическую запись алгоритма, значение каждого символа и критически важный нюанс программной реализации, без которого обучение модели может пойти не по плану.

## 🧮 Математическая база и оператор присваивания
[[JUMP:0:04]]

Алгоритм градиентного спуска на каждом шаге обновляет параметр $W$, вычитая из его текущего значения произведение скорости обучения (alpha) на производную функции стоимости [0:16]. Важным моментом для понимания кода является интерпретация знака равенства. В контексте алгоритма символ `=` выступает как оператор присваивания, а не как математическое утверждение о равенстве сторон [0:58]. 

Инструктор подчеркивает различия в нотации:

*   В программировании запись `a = a + 1` означает инкремент (увеличение значения переменной на единицу) [1:24].
*   В математике утверждение $a = a + 1$ было бы ложным, так как значение не может быть равно самому себе плюс единица [1:36].
*   В языке Python и многих других для проверки истинности равенства используется двойной знак равно `==` [2:03].

В рамках лекций знак `=` всегда следует трактовать как команду «вычислить значение справа и сохранить его в переменную слева» [2:28].

## 🚀 Скорость обучения и роль производной
[[JUMP:2:44]]

В уравнении градиентного спуска ключевую роль играет греческая буква Альфа ($\alpha$), которую называют скоростью обучения (learning rate) [2:44]. По утверждению автора, это обычно небольшое положительное число в диапазоне от 0 до 1, например, 0.01 [2:56].

Функции параметров в процессе обучения:

*   **Альфа ($\alpha$)**: контролирует размер «шага» вниз по склону функции стоимости. По мнению инструктора, большая Альфа соответствует агрессивному спуску огромными шагами, а маленькая — осторожным «детским шажкам» [3:09].
*   **Производная**: указывает направление шага [3:48]. В сочетании с Альфой она определяет итоговую величину изменения параметров.

Спикер успокаивает слушателей, не знакомых с высшей математикой: для успешного прохождения курса и специализации глубокое знание математического анализа (calculus) не требуется, так как интуитивно понятные принципы работы производных будут разобраны в следующих уроках [4:03].

## 📉 Обновление параметров и сходимость
[[JUMP:4:18]]

Поскольку модель линейной регрессии имеет не один, а два параметра ($W$ и $B$), алгоритм включает аналогичную операцию и для смещения ($B$) [4:18]. Процесс обновления повторяется итеративно до тех пор, пока алгоритм не достигнет точки «сходимости» (convergence) [4:58]. 

Сходимость, по определению автора, — это состояние, при котором параметры $W$ и $B$ практически перестают изменяться с каждым новым шагом, что означает достижение локального минимума функции стоимости [5:13].

## ⚠️ Критическая деталь: одновременное обновление
[[JUMP:5:13]]

Самый тонкий и важный момент в реализации градиентного спуска заключается в том, что параметры $W$ и $B$ должны обновляться одновременно [5:26]. Это означает, что для расчёта новых значений обоих параметров должны использоваться «старые» значения, полученные на предыдущем шаге [5:38].

**Правильный алгоритм реализации:**

1. Вычислить временное значение `temp_W` на основе текущих $W$ и $B$ [6:18].
2. Вычислить временное значение `temp_B` на основе тех же текущих $W$ и $B$ [6:30].
3. Одновременно обновить $W$ и $B$, присвоив им значения из `temp_W` и `temp_B` соответственно [6:46].

**Ошибочный подход:**
Если сначала обновить $W$, а затем использовать уже измененное значение $W$ для расчёта $B$, это нарушит логику алгоритма [7:35]. В таком случае в функцию стоимости для параметра $B$ попадет обновленное значение $W$, что сделает этот алгоритм «чем-то другим» с иными свойствами [8:54]. Инструктор настоятельно рекомендует придерживаться только метода одновременного обновления, так как именно он подразумевается под классическим градиентным спуском в профессиональной среде [9:08].