ReLU
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
ReLU(Rectified Linear Unit)는 딥러닝에서 널리 사용되는 활성화 함수이다. 2010년대 초반 딥러닝 모델의 학습 속도와 성능을 향상시키는 데 기여하면서 널리 사용되기 시작했다. ReLU는 기울기 소실 문제를 완화하고, 희소 활성화를 유도하며, 효율적인 계산과 스케일 불변성을 갖는다는 장점이 있다. 하지만 0에서 미분 불가능하며, 0 중심이 아니고, Dying ReLU 문제를 야기할 수 있다는 잠재적인 문제점도 존재한다. 이러한 문제점을 해결하기 위해 Leaky ReLU, PReLU, GELU, ELU, Mish, Squareplus, Noisy ReLU, FReLU 등 다양한 변형이 개발되었다. ReLU는 인공신경망 및 컴퓨터 공학 분야에서 널리 활용되며, 한국에서도 딥러닝 기술 발전에 따라 관련 연구와 투자가 활발하게 진행되고 있다.
더 읽어볼만한 페이지
| ReLU | |
|---|---|
| 개요 | |
| 유형 | 활성화 함수 |
| 분야 | 신경망 |
| 대안 이름 | ReLU Rectified Linear Unit (렉티파이드 리니어 유닛) 정류 선형 유닛 정류 선형 함수 |
| 정의 | |
| 수식 | f(x) = max(0, x) |
| 설명 | 입력 값이 0보다 작으면 0을 출력하고, 0보다 크면 입력 값을 그대로 출력하는 함수이다. |
| 특징 | |
| 장점 | 구현이 간단하다. 계산 비용이 저렴하다. 신경망의 훈련 속도를 향상시킨다. 기울기 소실 문제를 완화한다. |
| 단점 | Dying ReLU 현상이 발생할 수 있다. (뉴런이 비활성화되어 더 이상 학습하지 않는 문제) 0에서 미분 불가능하다. |
| 변형 | |
| 종류 | Leaky ReLU (새는 ReLU) Parametric ReLU (파라메트릭 ReLU) Exponential ReLU (지수 ReLU, ELU) Scaled Exponential ReLU (스케일링된 지수 ReLU, SELU) Gaussian Error Linear Units (가우시안 오류 선형 유닛, GELU) Swish 함수 |
| 역사 | |
| 초기 연구 | 정류기의 개념은 1993년에 제안되었다. |
| 신경망 적용 | 2000년에 Hahnloser 등이 생물학적 신경망에서 영감을 받아 실리콘 회로에 적용했다. 2011년에 Glorot 등이 심층 신경망에서 좋은 성능을 보임을 입증했다. |
| 활용 | |
| 음성 인식 | 딥 스파스 정류기 신경망이 음성 인식에 사용된다. |
2. 장점
ReLU는 다음과 같은 장점을 갖는다.
- 생물학적 타당성: tanh의 반대칭성과 비교하여, 한쪽 방향으로만 활성화된다는 특징이 있다.
2. 1. 기울기 소실 문제 완화
시그모이드 함수는 양쪽 끝에서 기울기가 0에 가까워져 학습이 느려지는 문제가 있지만, ReLU는 입력값이 0보다 클 때 기울기가 항상 1이므로 이러한 문제가 덜 발생한다.[4] 2011년에는 비선형 함수로서 정규화 선형 함수(ReLU)의 사용이 비지도 학습 없이도 지도 학습 딥 뉴럴 네트워크의 훈련을 가능하게 한다는 것이 밝혀졌다.[31] ReLU는 시그모이드 함수 등의 활성화 함수에 비해 크고 복잡한 데이터 세트에 대한 딥 뉴럴 구조의 더 빠르고 효율적인 훈련을 가능하게 한다.[44]2. 2. 희소 활성화
예를 들어, 무작위로 초기화된 네트워크에서 약 50%의 은닉 유닛만 활성화된다(0이 아닌 출력을 가짐).[4] 이는 더 빠르고 효율적인 훈련을 가능하게 한다.2. 3. 효율적인 계산
ReLU는 비교, 덧셈, 곱셈만으로 연산이 가능하여 계산 효율성이 높다.[4]2. 4. 스케일 불변성
ReLU는 입력값의 스케일에 영향을 받지 않는다. 이는 다음의 수식으로 표현된다.:.
3. 잠재적 문제점
- 0에서 미분 불가능하지만, 다른 모든 곳에서는 미분 가능하며, 0에서의 도함수 값은 임의로 0 또는 1로 선택할 수 있다.
- 0 중심이 아님: ReLU의 출력은 항상 음수가 아니므로, 역전파 중에 네트워크가 학습하기 어려울 수 있다. 이는 배치 정규화를 통해 완화할 수 있다.
- ReLU는 무제한이다.
- Dying ReLU: ReLU 뉴런은 때때로 사실상 모든 입력에 대해 비활성화되는 상태로 빠질 수 있다. 이는 일반적으로 학습률이 너무 높게 설정될 때 발생하며, Leaky ReLU를 사용하면 완화할 수 있다. 그러나 작업에 따라 성능이 저하될 수 있다.
3. 1. 0에서 미분 불가능
ReLU는 0에서 도함수가 정의되지 않아 미분이 불가능하지만, 실제로는 큰 문제가 되지 않는다. 0에서의 미분값은 0 또는 1로 임의로 선택할 수 있기 때문이다.3. 2. 0 중심이 아님
ReLU의 출력은 항상 0 이상이므로, 가중치 업데이트가 특정 방향으로만 편향될 수 있다. 이는 배치 정규화를 통해 완화할 수 있다.[1]3. 3. Dying ReLU 문제
ReLU 뉴런은 사실상 모든 입력에 대해 비활성화되는 상태에 빠질 수 있다. 이 상태에서 기울기는 이 뉴런을 통해 역방향으로 흐르지 않으므로, 이 뉴런은 영구적으로 비활성 상태로 멈추어 "죽어"버린다. 이는 기울기 소실 문제의 일종이다. 어떤 경우, 네트워크 내의 많은 뉴런이 죽은 상태로 작동하지 않을 수 있으며, 이는 모델 용량을 현저하게 저하시킨다. 이 문제는 지나치게 높은 학습률이 설정될 때 전형적으로 발생한다. 대신, x = 0의 왼쪽에 작은 양의 기울기를 할당하는 Leaky ReLU를 사용함으로써 문제를 완화할 수 있다.4. 변형
ReLU는 입력값이 0보다 작으면 0을 출력하고, 0보다 크면 입력값을 그대로 출력하는 활성화 함수이다. ReLU는 간단하고 계산 효율성이 높지만, 입력값이 0보다 작을 때 기울기가 0이 되어 학습이 제대로 이루어지지 않는 '죽은 뉴런(dying ReLU)' 문제가 발생할 수 있다. 이러한 문제를 해결하고 성능을 향상시키기 위해 다양한 ReLU 변형 함수들이 제안되었다.
- Leaky ReLU: 입력값이 0보다 작을 때 0 대신 작은 값을 출력하여 '죽은 뉴런' 문제를 해결한다. 파라미터 \(\alpha\)는 일반적으로 0.01–0.3으로 설정된다.[16][17]
- Parametric ReLU (PReLU): Leaky ReLU의 기울기를 학습 가능한 파라미터로 설정하여, 네트워크가 최적의 기울기를 스스로 찾도록 한다.[39]
- Gaussian-Error Linear Unit (GELU): 정규 분포의 누적 분포 함수를 사용하여 ReLU를 부드럽게 근사한 함수이다. BERT와 같은 모델에서 기본 활성화 함수로 사용된다.[20]
- Sigmoid Linear Unit (SiLU): 스와이시 함수라고도 불리며, 시그모이드 함수를 사용하여 GELU와 유사하게 ReLU를 부드럽게 근사한다.[20]
- Softplus: 해석 함수를 사용하여 ReLU를 부드럽게 근사한 형태로, 'SmoothReLU'라고도 불린다.[22]
- Exponential Linear Unit (ELU): 평균 활성화를 0에 가깝게 만들어 학습 속도를 높이고, ReLU보다 높은 분류 정확도를 얻을 수 있다고 알려져 있다.[23]
- Mish: 소프트플러스 함수와 쌍곡 탄젠트 함수를 조합하여 만든 비단조 함수이며, '자기 게이트' 함수이다. Swish에서 영감을 받았다.[25]
- Squareplus: 대수 함수만을 사용하여 계산할 수 있어 계산 효율성이 높고, 소프트플러스와 유사한 성질을 가진다.[26]
- Noisy ReLU: 가우시안 노이즈를 추가하여 '죽은 뉴런' 문제를 완화한다. 컴퓨터 비전 문제에 대한 제한된 볼츠만 머신에서 사용되어 성공을 거두었다.[38]
- Funnel Activation (FReLU): 컴퓨터 비전에 특화된 활성화 함수로, 2차원 이미지에 적용하는 것을 전제로 설계되었다.[43]
4. 1. Leaky ReLU
누설 ReLU(Leaky ReLU)는 유닛이 비활성 상태일 때, 즉 입력값 x가 0보다 작거나 같을 때 작고 양의 기울기를 허용하여 기울기 소실 문제를 완화한다.[6] 이 기울기는 파라미터 \(\alpha\)로 정의되며, 일반적으로 0.01–0.3으로 설정된다.[16][17]: \(f(x) = \begin{cases}
x & x > 0, \\
\alpha x & x \le 0
\end{cases} \qquad
f'(x) = \begin{cases}
1 & x > 0, \\
\alpha & x \le 0
\end{cases}\)
누설 ReLU는 입력값 \(x\)가 0보다 클 때는 \(x\)를 그대로 출력하고, 0보다 작거나 같을 때는 \(0.01x\)를 출력한다.[35]
:\(f(x) = \begin{cases}
x &\mbox{if } x > 0 \\
0.01x &\mbox{otherwise}
\end{cases}\)
4. 2. Parametric ReLU (PReLU)
Leaky ReLU의 기울기를 학습 가능한 파라미터로 설정하여, 네트워크가 최적의 기울기를 스스로 찾도록 한다.파라메트릭 ReLU(PReLU)는 이 착상을 더욱 발전시켜, 누설 계수를 다른 신경망의 파라미터와 동시에 학습한다.[39]
:
에 대해, 이는
:
와 등가이며, 따라서 "맥스아웃" 네트워크와 관련이 있다는 점에 유의해야 한다.[39]
4. 3. Gaussian-Error Linear Unit (GELU)
GELU는 정류 함수의 매끄러운 근사치이다.:
:
여기서 는 표준 정규 분포의 누적 분포 함수이다.
이 활성화 함수는 이 문서의 시작 부분에 있는 그림으로 설명되어 있다. ''x'' < 0의 왼쪽에 "범프(bump)"가 있으며, BERT와 같은 모델의 기본 활성화 기능으로 사용된다.[20]
4. 4. Sigmoid Linear Unit (SiLU)
SiLU(시그모이드 선형 유닛) 또는 스와이시 함수[24]는 시그모이드 함수를 사용하는 부드러운 근사로, GELU 논문에서 처음 소개되었다.[20]:
:
4. 5. Softplus
해석 함수인 소프트플러스(Softplus)는 다음 수식으로 표현된다.[21][4]:
이 함수는 ReLU를 해석적으로 근사한 형태로, 'SmoothReLU'라고도 불린다.[22] 음의 큰 값에 대해서는 0에 가깝고, 양의 큰 값에 대해서는 에 가깝다.
소프트플러스 함수는 다음과 같이 근사할 수도 있다.
:
변수 로 치환하면 다음과 같다.
:
선명도 매개변수 를 포함하면 다음과 같이 표현할 수 있다.
:
소프트플러스의 도함수는 로지스틱 함수이다. 로지스틱 시그모이드 함수는 ReLU의 도함수인 헤비사이드 계단 함수를 부드럽게 근사한 것이다.
단일 변수 소프트플러스의 다변수 일반화는 첫 번째 인수를 0으로 설정한 LogSumExp이다.
:
LogSumExp 함수는 다음과 같다.
:
그리고 그 기울기는 소프트맥스 함수이다. 첫 번째 인수를 0으로 설정한 소프트맥스는 로지스틱 함수의 다변수 일반화이다. LogSumExp와 소프트맥스는 모두 기계 학습에 사용된다.
4. 6. Exponential Linear Unit (ELU)
지수 선형 유닛(Exponential Linear Units, ELU)은 평균 활성화를 0에 가깝게 만들어 학습 속도를 높이려고 시도하는 활성화 함수이다. ELU는 ReLU보다 더 높은 분류 정확도를 얻을 수 있는 것으로 알려져 있다.[23]수식은 다음과 같다.
:
여기서 는 의 제약 조건을 가지는 하이퍼파라미터이다.
에 대한 동일한 해석을 고려할 때, ELU는 형태의 이동된 ReLU (SReLU)의 매끄러운 버전으로 볼 수 있다.
4. 7. Mish
Mish 함수는 정류 함수의 매끄러운 근사로도 사용될 수 있으며,[24] 다음과 같이 정의된다.:
여기서 는 쌍곡 탄젠트이고, 는 소프트플러스 함수이다.
Mish는 비단조 함수이며, '자기 게이트' 함수이다.[25] Swish에서 영감을 받았으며, Swish 함수는 ReLU의 변형이다.[25]
4. 8. Squareplus
스퀘어플러스[26]는 다음과 같은 함수로 나타낼 수 있다.:
여기서 는 근처의 곡선 영역의 "크기"를 결정하는 하이퍼파라미터이다. 예를 들어, 으로 설정하면 ReLU가 되고, 로 설정하면 금속 평균 함수가 된다.
스퀘어플러스는 소프트플러스와 많은 성질을 공유한다. 즉, 단조 증가하고, 엄격히 양수이며, 로 갈 때 0에 접근하고, 로 갈 때 항등 함수에 접근하며, 매끄럽다. 그러나 스퀘어플러스는 대수 함수만 사용하여 계산할 수 있으므로, 계산 리소스나 명령어 집합이 제한된 환경에 적합하다. 또한, 스퀘어플러스는 가 클 때 수치적 안정성을 보장하기 위해 특별한 고려가 필요하지 않다.
4. 9. Noisy ReLU
정규화 선형 유닛(ReLU)은 가우시안 노이즈를 포함하도록 확장할 수 있다. 이를 노이지 ReLU라고 부르며, 다음 식을 따른다.[38]:, with
노이지 ReLU는 컴퓨터 비전 문제에 대한 제한된 볼츠만 머신(restricted Boltzmann machine)에서 사용되어 어느 정도 성공을 거두었다.[38]
4. 10. Funnel Activation (FReLU)
Funnel Activation, 또는 FReLU는 컴퓨터 비전에 특화된 활성화 함수이며, 2차원 이미지에 적용하는 것을 전제로 설계되었다[43]。 성질상, Funnel Activation을 하나의 값을 입력으로 하는 함수로 나타낼 수는 없지만, 설명의 편의상 다음 수식으로 나타낸다.:
여기서 는 다른 신경망의 파라미터와 동시에 학습되는 Depthwise 합성곱 모듈이다.
5. 사용되는 분야
ReLU는 인공신경망, 컴퓨터공학 등 여러 분야에서 널리 사용된다.
5. 1. 인공신경망
ReLU는 인공신경망에서 사용되는 활성화 함수 중 하나로, 딥러닝 모델의 핵심 구성 요소로 사용된다.5. 2. 컴퓨터 공학
ReLU는 이미지 인식, 자연어 처리 등 다양한 분야에서 활용된다.참조
[1]
웹사이트
A Gentle Introduction to the Rectified Linear Unit (ReLU)
https://machinelearn[...]
2019-01-08
[2]
웹사이트
A Practical Guide to ReLU
https://medium.com/@[...]
2017-11-30
[3]
arXiv
Searching for Activation Functions
2017-10-16
[4]
conference
Deep sparse rectifier neural networks
https://proceedings.[...]
[5]
conference
Phone Recognition with Deep Sparse Rectifier Neural Networks
http://www.inf.u-sze[...]
[6]
문서
Rectifier Nonlinearities Improve Neural Network Acoustic Models
https://ai.stanford.[...]
2014
[7]
journal
How noise contributes to contrast invariance of orientation tuning in cat visual cortex
[8]
journal
Transition to Chaos in Random Neuronal Networks
2015-11-19
[9]
arXiv
Lyapunov spectra of chaotic recurrent neural networks
2020-06-03
[10]
journal
A theory of steady-state activity in nerve-fiber networks: I. Definitions and preliminary lemmas
http://link.springer[...]
1941-06
[11]
journal
Visual feature extraction by a multilayered network of analog threshold elements
1969
[12]
book
Competition and Cooperation in Neural Nets
Springer
1982
[13]
journal
Digital selection and analogue amplification coexist in a cortex-inspired silicon circuit
[14]
conference
Permitted and Forbidden Sets in Symmetric Threshold-Linear Networks
[15]
encyclopedia
Efficient BackProp
http://yann.lecun.co[...]
Springer
[16]
웹사이트
PyTorch Leaky ReLU docs
https://pytorch.org/[...]
[17]
웹사이트
TensorFlow Leaky ReLU docs
https://www.tensorfl[...]
[18]
arXiv
Delving Deep into Rectifiers: Surpassing Human-Level Performance on Image Net Classification
[19]
journal
Understanding and Improving Convolutional Neural Networks via Concatenated Rectified Linear Units
https://proceedings.[...]
PMLR
2016-06-11
[20]
arXiv
Gaussian Error Linear Units (GELUs)
[21]
journal
Incorporating second-order functional knowledge for better option pricing
http://papers.nips.c[...]
MIT Press
2000-01-01
[22]
웹사이트
Smooth Rectifier Linear Unit (SmoothReLU) Forward Layer
https://software.int[...]
2017
[23]
arXiv
Fast and Accurate Deep Network Learning by Exponential Linear Units (ELUs)
[24]
문서
Mish: A Self Regularized Non-Monotonic Activation Function
https://www.bmvc2020[...]
2019-08-23
[25]
웹사이트
Activation Functions Compared with Experiments
https://wandb.ai/shw[...]
2020-05-10
[26]
arXiv
Squareplus: A Softplus-Like Algebraic Rectifier
2021-12-22
[27]
journal
A Model of Neurons with Unidirectional Linear Response
[28]
journal
Digital selection and analogue amplification coexist in a cortex-inspired silicon circuit
[29]
conference
Permitted and Forbidden Sets in Symmetric Threshold-Linear Networks
[30]
encyclopedia
Efficient BackProp
http://yann.lecun.co[...]
Springer
[31]
conference
Deep sparse rectifier neural networks
http://jmlr.org/proc[...]
[32]
journal
Deep learning
[33]
arXiv
Searching for Activation Functions
2017-10-16
[34]
conference
Phone Recognition with Deep Sparse Rectifier Neural Networks
http://www.inf.u-sze[...]
[35]
문서
Rectifier Nonlinearities Improve Neural Network Acoustic Models
https://ai.stanford.[...]
2014
[36]
논문
Incorporating second-order functional knowledge for better option pricing
http://papers.nips.c[...]
MIT Press
2000-01-01
[37]
웹사이트
Smooth Rectifier Linear Unit (SmoothReLU) Forward Layer
https://software.int[...]
2018-12-04
[38]
conference
Rectified Linear Units Improve Restricted Boltzmann Machines
https://www.cs.toron[...]
[39]
arxiv
Delving Deep into Rectifiers: Surpassing Human-Level Performance on Image ''Net'' Classification
[40]
arxiv
Fast and Accurate Deep Network Learning by Exponential Linear Units (ELUs)
[41]
웹사이트
[活性化関数]シグモイド関数(Sigmoid function)とは?
https://atmarkit.itm[...]
2021-11-28
[42]
논문
Searching for Activation Functions
https://arxiv.org/ab[...]
2017-10-16
[43]
논문
Funnel Activation for Visual Recognition
https://arxiv.org/ab[...]
2020-07-24
[44]
서적
Hierarchical Neural Networks for Image Interpretation
https://www.research[...]
Springer
[45]
웹인용
ReLU(Rectified Linear Unit)
https://mongxmongx2.[...]
2020-05-31
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com