Почему ReLU используется в качестве функции активации?

19

Функции активации используются для введения нелинейностей в линейный вывод типа w * x + bв нейронной сети.

Что я могу понять интуитивно для функций активации, таких как сигмоидальные.

Я понимаю преимущества ReLU, который избегает мертвых нейронов во время обратного распространения. Однако я не могу понять, почему ReLU используется в качестве функции активации, если его выход является линейным?

Разве весь смысл в том, что функция активации побеждена, если она не вводит нелинейность?

Кролик кролик
источник

Ответы:

19

В математике функция считается линейной всякий раз, когда функция если для каждых x и y в области A, имеет следующее свойство: f ( x ) + f ( y ) = f ( x + y ) . По определению ReLU - это m a x ( 0 , x ) . Следовательно, если мы разделим область от ( - , 0 ] или [е:AВИксYAе(Икс)+е(Y)знак равное(Икс+Y)мaИкс(0,Икс)(-,0] то функция линейна. Однако легко увидеть, что f ( - 1 ) + f ( 1 ) f ( 0 ) . Следовательно, по определению ReLU не является линейным. [0,)е(-1)+е(1)е(0)

Тем не менее, ReLU настолько близок к линейному, что часто смущает людей и задается вопросом, как его можно использовать в качестве универсального аппроксиматора. По моему опыту, лучший способ думать о них, как суммы Римана. Вы можете аппроксимировать любые непрерывные функции множеством маленьких прямоугольников. Активации ReLU могут привести к появлению множества маленьких прямоугольников. Фактически, на практике ReLU может создавать довольно сложные формы и приближать многие сложные области.

Мне также хочется прояснить еще один момент. Как указывалось в предыдущем ответе, нейроны не умирают в сигмоиде, а исчезают. Причина этого заключается в том, что максимальная производная сигмоидальной функции равна .25. Следовательно, после стольких слоев вы умножаете эти градиенты, и произведение очень маленьких чисел, меньших 1, имеет тенденцию очень быстро стремиться к нулю.

Следовательно, если вы строите глубокую обучающую сеть с большим количеством слоев, ваши сигмовидные функции, по существу, будут довольно быстро застаиваться и станут более или менее бесполезными.

Ключевым моментом является то, что исчезновение происходит от умножения градиентов, а не самих градиентов.

Tophat
источник
6

Я понимаю преимущества ReLU, который избегает мертвых нейронов во время обратного распространения.

Это не совсем верно. Нейроны не мертвы. Если вы используете сигмоидальные активации, после некоторых итераций значение градиентов насыщается для большинства нейронов. Значение градиента будет настолько маленьким, а процесс обучения происходит так медленно. Это исчезающие и взрывающиеся градиенты, которые были в сигмоидальных функциях активации. И наоборот, мертвые нейроны могут произойти, если вы используете ReLUнелинейность, которая называется умирающим ReLU .

Я не могу понять, почему ReLU используется в качестве функции активации, если его выход является линейным

Определенно это не линейно. В качестве простого определения, линейная функция - это функция, которая имеет ту же производную для входов в своей области.

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

y = f (x) = a + bx

Линейная функция имеет одну независимую переменную и одну зависимую переменную. Независимой переменной является x, а зависимой переменной является y.

а постоянный член или у пересекаются. Это значение зависимой переменной, когда x = 0.

b - коэффициент независимой переменной. Он также известен как наклон и дает скорость изменения зависимой переменной.

ReLUне является линейной . Ответ прост: ReLUвывод не является прямой линией, он изгибается по оси x. Более интересным моментом является то, что является следствием этой нелинейности. Проще говоря, линейные функции позволяют анализировать плоскость признаков по прямой. Но с нелинейностью ReLUs вы можете строить кривые произвольной формы на плоскости объектов.

ReLUможет иметь недостаток, который является его ожидаемым значением. Нет ограничений на вывод, Reluи его ожидаемое значение не равно нулю. Tanhбыл более популярен, чем sigmoidпотому, что его ожидаемое значение равно нулю, и обучение в более глубоких слоях происходит быстрее. Хотя ReLUне имеет этого преимущества, batch normalizationрешает эту проблему .

Вы также можете обратиться сюда и сюда для получения дополнительной информации.

СМИ
источник