Что такое функция активации ReLU?
ReLU (сокращение от Rectified Linear Unit, «выпрямленный линейный элемент») — одна из самых популярных функций активации в современном глубоком обучении и нейронных сетях. Она задаётся формулой \(f(x) = \max(0,\ x)\): положительные значения проходят без изменений, а отрицательные (и ноль) обнуляются. Это простое правило добавляет в сеть нелинейность, оставаясь при этом крайне дешёвым в вычислениях — именно поэтому ReLU сегодня используется в большинстве свёрточных и полносвязных слоёв.
Как пользоваться калькулятором
Введите любое действительное число в поле x, и калькулятор вернёт \(f(x) = \text{ReLU}(x)\). Подойдут отрицательные, нулевые и положительные значения. Результат равен x, если x больше 0, и равен 0, если x не превышает нуля. Дополнительно калькулятор показывает производную по соглашению: 1 для положительных значений и 0 в остальных случаях.
Разбор формулы
Функция ReLU задаётся кусочно:
$$f(x) = x \text{ при } x > 0 \quad \text{и} \quad f(x) = 0 \text{ при } x \le 0$$Область определения — все действительные числа \((-\infty,\ +\infty)\), а область значений — \([0,\ +\infty)\). ReLU непрерывна на всей числовой прямой, но её производная формально не определена ровно в точке \(x = 0\); по соглашению её принимают равной 0, поэтому \(f'(x) = 0\) при \(x \le 0\) и \(f'(x) = 1\) при \(x > 0\). Поскольку деления здесь нет, никаких особых случаев проверять не нужно.
Пример расчёта
Пусть \(x = -3{,}2\). Тогда
$$f(x) = \max(0,\ -3{,}2) = 0$$так как \(-3{,}2\) отрицательно. Если же \(x = 7\), то
$$f(x) = \max(0,\ 7) = 7$$Для значения по умолчанию \(x = 0{,}5\) получаем
$$f(x) = \max(0,\ 0{,}5) = 0{,}5$$Частые вопросы
Почему ReLU так популярна? Она избавляет от проблемы затухающего градиента, которая мешает сигмоиде и гиперболическому тангенсу при больших значениях, и при этом вычисляется элементарно — нужно лишь сравнить число с нулём.
Что происходит при \(x = 0\)? Значение функции равно 0, а производную по соглашению принимают равной 0.
Чем ReLU отличается от Sigmoid и Softmax? Сигмоида «сжимает» значения в интервал \((0,\ 1)\), а Softmax строит распределение вероятностей по всему вектору; ReLU же просто выпрямляет одно значение, делая его неотрицательным.