В чём отличие ReLU от Softmax?
Ответ от нейросети
sobes.tech AI
ReLU (Rectified Linear Unit) и Softmax — это разные функции активации, используемые в нейронных сетях, с разными целями.
-
ReLU — применяется поэлементно, возвращает 0, если вход меньше 0, иначе возвращает входное значение. Используется в скрытых слоях для введения нелинейности и предотвращения затухания градиентов.
Формула:
( f(x) = \max(0, x) ) -
Softmax — применяется к вектору значений, преобразует их в вероятностное распределение, где сумма всех выходов равна 1. Обычно используется на выходном слое для многоклассовой классификации.
Формула для элемента (i):
( \sigma(z)i = \frac{e^{z_i}}{\sum{j} e^{z_j}} )
Пример в Python с использованием numpy:
import numpy as np
def relu(x):
return np.maximum(0, x)
def softmax(x):
e_x = np.exp(x - np.max(x))
return e_x / e_x.sum(axis=0)
x = np.array([-1.0, 0.5, 2.0])
print('ReLU:', relu(x))
print('Softmax:', softmax(x))
ReLU помогает моделям учиться, сохраняя положительные значения, а Softmax преобразует выходы в вероятности для классификации.