Формула весов нейросети: как просто посчитать выход нейрона

В этой статье

Для одного нейрона расчёт состоит из двух действий. Сначала входы умножают на соответствующие веса, складывают и добавляют смещение:

z = w₁x₁ + w₂x₂ + ... + b

Затем взвешенную сумму пропускают через функцию активации:

a = σ(z)

Здесь x — вход, w — его вес, b — смещение (bias), z — взвешенная сумма, а a — выход нейрона. Знак вклада зависит от произведения входа и веса: при положительном входе отрицательный вес даёт отрицательный вклад. Больший модуль веса увеличивает модуль вклада при том же входе. Смещение сдвигает сумму независимо от входных значений. Такая схема описана в материале IBM о нейросетях.

Пример с двумя входами

Пусть заданы:

x₁ = 2,   x₂ = 3
w₁ = 0,5, w₂ = −0,2
b = 0,1

Сначала считаем вклад каждого входа:

w₁x₁ = 0,5 · 2 = 1,0
w₂x₂ = −0,2 · 3 = −0,6

Теперь складываем вклады со смещением:

z = 1,0 + (−0,6) + 0,1 = 0,5

Это ещё не окончательный выход: он зависит от выбранной функции активации.

Почему активация меняет результат

У ReLU отрицательное число превращается в ноль, а положительное остаётся без изменения. Поэтому в нашем примере:

ReLU(0,5) = 0,5

Сигмоидальная функция даёт для того же z число между 0 и 1:

sigmoid(0,5) ≈ 0,6225

Для tanh результат был бы другим — примерно 0,4621. Значит, одинаковые входы, веса и bias могут привести к разным выходам при смене активации. Базовые свойства ReLU, sigmoid и других функций собраны в объяснении Google Machine Learning.

Эту арифметику удобно проверять вручную или в таблице: отдельно записать x₁, w₁, x₂, w₂, посчитать произведения и прибавить b. Если результат не совпал, сначала проверьте знак отрицательного веса и десятичный разделитель. В выражении 3 · (−0,2) вклад равен −0,6, а не 0,6.

Как из нейронов получается слой

В слое обычно несколько нейронов, и у каждого свой набор весов и своё смещение. Для одного и того же вектора входов первый нейрон может считать:

z₁ = w₁₁x₁ + w₁₂x₂ + b₁

а второй:

z₂ = w₂₁x₁ + w₂₂x₂ + b₂

После этого к каждому z применяют активацию и получают a₁, a₂. Важно не перепутать индексы: w₂₁ — вес второго нейрона для первого входа, а не «второй вес вообще». В матричной записи тот же прямой проход выглядит как a = σ(Wx + b), но смысл остаётся прежним: умножить каждый вход на соответствующий вес, сложить и применить активацию.

Если понадобится платный доступ к инструменту для таких экспериментов, можно ознакомиться с каталогом оплаты зарубежных сервисов Amber Market. Он не нужен для понимания формулы или проверки примера: подходящую услугу выбирают в карточке, а наличие и итоговые условия проверяют перед заказом. Оплата проводится через СБП на подтверждённых условиях.

Как веса подстраиваются при обучении

При уже известных параметрах выход считается по формуле выше. Но сами веса обычно не вычисляются одной универсальной формулой из одного примера. Нейросеть получает данные, делает предсказание, сравнивает его с правильным ответом функцией потерь и определяет, в какую сторону изменить параметры. Для этого используют обратное распространение ошибки и градиентный спуск; общий процесс описан в материале IBM о backpropagation.

Упрощённое обновление одного веса записывают так:

w_new = w − η · ∂L/∂w

L — функция потерь, η — скорость обучения, а ∂L/∂w — градиент: насколько потеря меняется при изменении конкретного веса. Например, если текущий вес равен 0,5, скорость обучения — 0,1, а вычисленный градиент — 0,3, то:

w_new = 0,5 − 0,1 · 0,3 = 0,47

Если градиент отрицательный, вес на этом шаге увеличится. Для bias действует аналогичное правило. Но конкретный градиент зависит от функции потерь, входных данных, активации и остальных вычислений сети. Поэтому по одной строке x₁, x₂ и одному желаемому ответу нельзя восстановить «правильные» веса без дополнительных условий.

Итак, для ручного расчёта запишите входы, умножьте каждый на его вес, прибавьте bias и только потом примените выбранную активацию. Для обучения добавьте функцию потерь, обратное распространение и шаг обновления. Эти этапы связаны, но это не одно и то же: формула считает выход по текущим параметрам, а обучение постепенно меняет сами параметры.

Источники

Есть следующая задача?Ещё по теме «Таблицы и анализ» →