Deep Learning을 배우다 보면 평소에는 자주 접하지 못하던 다양한 함수들을 접하게 된다.
그 중에 가장 기본적으로 많이 쓰이는 ReLU 함수에 대해 정리해보았다.
먼저, ReLU란?
(Rectified Linear Unit) 의 약자로 한국어로는 '정류 선형 함수' 혹은 '경사 함수' 등으로 불리는데, 개인적으로는 '꺾인 선형 단위 함수' 가 이해가 편할것 같다.
말 그대로 선형 단위 함수 (y=x) 를 0에서 꺾은 함수이다.
수식으로는 f(x) = max(0,x) 이다.
수식이 익숙하지 않은 이들을 위해 풀어쓰자면
'0과 x 중에 큰 숫자를 고르는 함수'
(예시. x = -2일때는 0 과 -2 중, 0 이 크므로 f(-2) = 0,
x = 3일때는 0 과 3 중, 3 이 크므로 f(3) = 3)

이렇게 선형 함수가 아닌것을 '비선형 함수(non-linear function)'이라고 하는데,
왜 고등학교때 많이 배운 편안한 작대기 함수(선형함수, y = ax + b (a와 b는 상수))를 두고 비선형 함수들을 이용하려고 하냐 하면, 현실은 선형으로 작동하지 않기 때문이다. 예를 들어, 빼빼로를 산다고 했을때, 빼빼로 맛이 평균 5점인데, 1점, 2점짜리 빼빼로는 가격이 싸도 사지 않을것이다. 그러나 7점짜리는 1200원이면 살수도 있고 9점짜리면 2000원이라도 살 수도 있다.
때문에 이러한 다양한 현실의 특성을 파악하기 위한 함수로 다양한 비선형 함수들이 이용되고 있으며, ReLU 함수는 그중에서도 가장 간단하면서도 딥러닝에 적용하였을때, 사람의 인식(구매 비용이라던지, 신경 시냅스의 작동이라던지)을 잘 모사하기 때문에 널리 이용되고 있는것이라 보인다.
ReLU 함수도 모사하지 못하는 상황을 위해서 여러 변형도 존재하는데,
그 중 가장 비슷한 'Leaky ReLU 함수'는 ReLU 함수의 음수 부분을 살짝 흐르게 만들어 놓은 함수이다.
수식으로는 f(x) = max(αx , x) 로
α를 매우 작은 수를 적용해주면 아래 그림처럼 ReLU 함수와 비슷하지만 음수에서 흐를수 있게 경사가 있는 형태로 나타나는 함수이다.

'코딩 학습 > 인공지능 기초' 카테고리의 다른 글
[인공지능 기초] 전이학습(Transfer Learning)과 미세조정(Fine-tuning)이란? (0) | 2024.06.27 |
---|---|
[Python, SkLearn] 로지스틱 회귀 함수(Logistic Regression) 분석 (0) | 2024.06.26 |