Strategy/content/nn_learning_post.md
+

nn_learning_post

review_statusnew
projectfminxyz
creation_date2026-03-08

Как нейросеть учится аппроксимировать функцию

Теорема об универсальной аппроксимации (Cybenko, 1989; Hornik, 1991) утверждает: нейросеть с одним скрытым слоем может приблизить любую непрерывную функцию с произвольной точностью. Но как это выглядит в процессе?

На видео: маленькая полносвязная сеть (2 скрытых слоя, 64 + 32 нейрона, tanh-активация) учится аппроксимировать функцию sin(x)·cos(3x) + 0.5·sin(5x).

Три панели показывают разные уровни того, что происходит:

▪️ Верхняя — как предсказание сети (голубая линия) постепенно приближается к истинной функции (красный пунктир). В начале сеть выдаёт почти плоскую линию — веса случайные. Постепенно она «нащупывает» крупные паттерны, затем уточняет детали.

▪️ Средняя — активации отдельных нейронов первого слоя. Каждый нейрон — это по сути сигмоида (tanh), сдвинутая и масштабированная. Сеть учится комбинировать эти «кирпичики» так, чтобы их сумма давала нужную кривую. По мере обучения нейроны «разъезжаются» — каждый берёт на себя свой участок функции.

▪️ Нижняя — кривая потерь (MSE) в лог-шкале. Типичная картина: быстрое падение в начале (крупные паттерны), затем медленная шлифовка деталей.

Это наглядная демонстрация того, что нейросеть — это не магия, а суперпозиция простых функций. Adam-оптимизатор + правильная инициализация весов (Xavier) — и 96 нейронов уверенно аппроксимируют сложную осциллирующую функцию.

#neuralnetworks #universalapproximation #deeplearning

Choose icon