alterna ai
ALTERNA AI / ГЛАВА 07 · 04

07.4 Нелинейные правила преобразования

На предыдущей странице: гладкая функция и насыщение.

ReLU, GELU и SiLU — разные способы преобразовать сумму нейрона. Сравним одно входное число и его чувствительность, а не будем запоминать названия.

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

Разные отрицательные ветви

ReLU(z)=max(0,z). Производная равна 0 при z<0 и 1 при z>0. В нуле классической производной нет; runtime выбирает 0 как явное соглашение. Пороговый перцептрон имеет другую производную: 0 вне порога и неопределённость на нём.

SiLU(z)=zσ(z). По правилу произведения:

SiLU⁡′(z)=σ(z)+zσ(z)(1−σ(z)).\operatorname{SiLU}'(z)=\sigma(z)+z\sigma(z)(1-\sigma(z)).

При z=0 результат 0, производная .5; при z=−1 значение приблизительно −.268941. Небольшие отрицательные выходы допустимы. N09.

Точная GELU равна zΦ(z), где Φ — стандартная Gaussian CDF. В лаборатории используется tanh-аппроксимация, а не точная CDF (N05,N08):

u=2/π(z+0.044715z3),g(z)=12z(1+tanh⁡u).u=\sqrt{2/\pi}(z+0.044715z^3),\qquad g(z)=\tfrac12z(1+\tanh u).

Её производная: .5(1+tanh u)+.5z(1−tanh²u)√(2/π)(1+3·.044715z²). Она соответствует именно выбранной аппроксимации.

Исследовать. Сравните функции при −1,0,1 и объясните различия производных. Форма графика не задаёт универсальный рейтинг: полезность зависит от архитектуры, данных и обучения. Переключение φ меняет семейство функций, а не только оформление линии.

from math import tanh,sqrt,pi
z=0
u=sqrt(2/pi)*(z+.044715*z**3)
g=.5*z*(1+tanh(u))
gp=.5*(1+tanh(u))+.5*z*(1-tanh(u)**2)*sqrt(2/pi)*(1+3*.044715*z*z)
assert g==0 and gp==.5

Код повторяет только что разобранные операции. Полный проверяемыйPython-пример главы доступен отдельным файлом; показанный короткий фрагмент не заменяет его реализацию.

Формула и derivative относятся к одной выбранной аппроксимации.

Почему одной прямой недостаточно. Как этот вопрос продолжает полученный результат?

Python-примеры главы 07 Академическая база →