Статья Автор: Деникина Н.В., Деникин А.В.

Прямой проход и функция активации

Два шага вместо одного

Одного слоя мало: он умеет только взвешенную сумму.

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

Поэтому слои ставят друг за другом: выход одного становится входом следующего.


Что происходит при прямом проходе

Прямой проход — прогон данных через слои по очереди, от входа к предсказанию. Ничего не обучается, только считается.

Скрытый слой — тот, чей выход наружу не показывают. Его числа не значат ни «минуты», ни «километры»: промежуточные признаки сеть придумывает сама, и человеческого смысла у них обычно нет. Истолковывать их не надо.

Функция активации

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

ReLU — сокращение от rectified linear unit, «линейный выпрямитель». Правило простое: отрицательное превращаем в ноль, положительное оставляем как есть. Название из электроники: выпрямитель пропускает ток только в одну сторону.

отрицательноестановится нулёмположительноене меняетсявходвыход0ReLU: излом ровно в нулеработает поэлементно — форму не меняет и параметров не имеет

Ровно этого не хватало в прошлой паре с минус шестнадцатью минутами.

Ставят активацию между слоями, а не после последнего. Иначе сеть не сможет выдать отрицательный ответ там, где он нужен.

Исторически здесь стоял знак числа: плюс или минус один. Его заменили, потому что он не обучается градиентным спуском — об этом на занятии 2.

вход(2, 3)Linear 3 → 4(2, 4)ReLU(2, 4)Linear 4 → 2(2, 2)два заказа проходят сеть одновременноформу меняет только Linear — ReLU работает поэлементно и форму не трогает


Вывод
[[-5.   -5.    1.75 12.75]
 [-5.5  -1.5   3.   13.75]]
[[ 0.    0.    1.75 12.75]
 [ 0.    0.    3.   13.75]]
[[20.375  6.25 ]
 [21.875 10.   ]]

Сеть устроена так: 10 входов, скрытый слой из 32 нейронов, ещё один скрытый слой из 32 нейронов, выход из 3. Между слоями стоит ReLU. Сколько всего параметров в сети вместе со смещениями?

Веса взяты из настоящей обученной сети и округлены. В первом массиве видно, где значения ушли в минус: во втором на их месте нули. На выходе 20.375 минуты на дорогу и 6.25 на подачу.


Дан многослойный перцептрон с двумя входами, двумя нейронами скрытого слоя и одним выходом. z₁ = 3·x₁ + 1·x₂ + 8 z₂ = −1·x₁ + 2·x₂ − 6 ŷ = 1·ReLU(z₁) + 2·ReLU(z₂) − 2 На вход подали x₁ = 4 и x₂ = 2. Чему равен ŷ?

Как это называется

Перцептрон — предок нейрона: взвешенная сумма признаков с порогом на выходе. Придуман Розенблаттом в 1958 году.

Многослойный перцептрон — несколько полносвязных слоёв подряд с активацией между ними. Ровно то, что мы собрали. Сокращают как MLP.

Тот же расчёт, нарисованный иначе

Сеть часто рисуют графом вычислений: кружки — числа, стрелки — веса, подписи над кружками — смещения. Матричная запись короче, граф нагляднее.

32−1112x₁x₂z₁+8z₂−6ŷ−2рёбра — веса, подписи над кружками — смещенияz₁ и z₂ проходят через ReLU, прежде чем попасть в ŷ

Читается так: z₁ = 3·x₁ + 1·x₂ + 8, z₂ = −1·x₁ + 2·x₂ − 6, затем ReLU, затем ŷ = 1·z₁ + 2·z₂ − 2.


Почему без нелинейности не работает

Уберём ReLU и посчитаем два слоя подряд. Рядом соберём один слой с матрицей W1 @ W2.



Вывод
(3, 2)
[[19.125  6.25 ]
 [22.5    9.   ]]
[[19.125  6.25 ]
 [22.5    9.   ]]
True

Возьмём тот же перцептрон, но уберём ReLU: нейроны передают линейную комбинацию входов без изменений. z₁ = 3·x₁ + 1·x₂ + 8 z₂ = −1·x₁ + 2·x₂ − 6 ŷ = 1·z₁ + 2·z₂ − 2 Такая сеть равносильна одной линейной модели вида ŷ = k₁·x₁ + k₂·x₂ + k₀. Соотнеси каждый коэффициент с его значением.

Числа совпали до последнего знака. Два слоя без нелинейности — в точности один слой, только записанный длиннее.

Отсюда правило: между любыми двумя слоями стоит функция активации. Без неё сеть из ста слоёв не сильнее сети из одного.

Без нелинейности слои схлопываются.


Расставь операции прямого прохода двухслойной сети в правильном порядке.

Сеть устроена так: 3 входа, скрытый слой из 4 нейронов, выход из 2. Сколько всего параметров вместе со смещениями?
Загрузка...
Чтобы оставить комментарий, необходимо авторизоваться
💬
Пока нет комментариев. Будьте первым!
Печать