Встречается на 5% собеседований по AI Engineer
Как работает стохастический градиентный спуск
Стохастический градиентный спуск (SGD) — это итеративный метод оптимизации, который обновляет параметры модели на основе градиента функции потерь, вычисленного для одного случайного примера (или небольшой подвыборки — mini-batch) на каждой итерации. В отличие от обычного градиентного спуска, который использует весь датасет, SGD быстрее и менее требователен к памяти, но более шумный.
Как работает:
- Выбирается случайный пример (или mini-batch) из данных.
- Вычисляется градиент функции потерь только для этого примера.
- Параметры обновляются в направлении, противоположном градиенту:
[
\theta = \theta - \eta \cdot \nabla_\theta J(\theta; x_i, y_i)
]
где (\eta) — скорость обучения, (x_i, y_i) — текущий пример.
Пример с кодом (Python):
python
import numpy as np
def sgd(X, y, lr=0.01, epochs=100):
theta = np.zeros(X.shape[1])
for _ in range(epochs):
for i in range(len(X)):
grad = 2 * (X[i].dot(theta) - y[i]) * X[i] # Градиент MSE для одного примера
theta -= lr * grad
return thetaПлюсы:
- Быстрая сходимость на больших данных.
- Меньше вычислительных затрат на итерацию.
Минусы:
- Шумные обновления могут замедлить сходимость.
- Требует настройки скорости обучения и расписания её уменьшения.
Часто используют модификации (Momentum, Adam) для стабилизации обучения.
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы