퍼셉트론이 쌓인 은닉층에서 일어나는 가중합 연산은 선형 연산이다. 딥러닝을 이용해 우리가 진행해야 하는 task 들은 보통 비선형적인데, 선형 연산들로는 비선형 문제들을 해결할 수 없다.
이미지 인식 task 를 생각해보자. 이를 위한 딥러닝 모델은 이미지의 픽셀 값을 입력으로 받을 것이다. 색이 바뀌는 부분이나 배경과의 경계선에서는 픽셀 값이 선형적으로 바뀌지 않을 것이다.
이를 보완하기 위해 활성화 함수를 이용해 연산 값에 비선형성을 부여하게 된다.

값을 0과 1사이의 값으로 매핑시켜주는 함수다. 값들을 정규화된 범위 내에서 강약을 표현할 수 있도록 한다.
Sigmoid 함수의 양 끝 부분을 살펴보면, 기울기가 0에 가까운 것을 알 수 있다. 기울기가 가장 가파른 중간 부분에서도 미분값은 최대값이 0.25다. 가중치와 편향을 업데이트 하는 과정인 역전파 과정에서 0에 가까운 값이 누적해서 곱해지게 되면서, 앞단에는 기울기(미분값)가 잘 전달되지 않게 된다. 이러한 현상을 기울기 소실(Vanishing Gradient) 문제라고 한다.

$Relu(x) = max(x, 0)$ 으로 표현되는 함수다. 입력값을 0 또는 1로 변환시켜준다.
Sigmoid 에는 Gradient Vanishing 을 비롯한 여러 단점이 있는데, 이를 보완해주는 함수다. 이로 인해깊은 신경망의 은닉층에서 시그모이드 함수보다 훨씬 더 잘 작동한다. 뿐만 아니라, ReLU 는 시그모이드 함수와 하이퍼볼릭탄젠트 함수와 같이 어떤 연산이 필요한 것이 아니라 단순 임계값이므로 연산 속도도 빠르다.
하지만 여전히 문제점이 존재하는데, 입력값이 음수면 기울기 즉, 미분값도 0이 된다. 그리고 이 뉴런은 다시 회생하는 것이 매우 어렵다. 이 문제를 죽은 렐루(dying ReLU)라고 한다.
Dying ReLU 개선을 위한 ReLU 의 변형 함수다. Leaky ReLU는 입력값이 음수일 경우에 0이 아니라 0.001과 같은 매우 작은 수를 반환한다.
$$ f(x)=max(ax, x) $$
a 는 “leaky” 한 정도를 조절하는 하이퍼 파라미터로, 보통 0.01 의 값을 가진다.