Dying ReLU
IT 위키
Dying ReLU은 인공신경망에서 ReLU(Rectified Linear Unit) 활성 함수가 일부 혹은 많은 뉴런(neuron)에 대해 학습 과정 중 거의 항상 0만 출력하게 되어, 해당 뉴런이 사실상 “죽은(dead)” 상태가 되는 현상이다.
정의[편집 | 원본 편집]
ReLU 활성 함수는 입력이 양수일 때는 입력값을 그대로 반환하고, 음수일 때는 0을 반환한다. 즉,
- f(x) = max(0, x)
이다.
Dying ReLU 문제는 뉴런의 선형 조합 w·x + b의 값이 입력 데이터 및 편향(bias), 가중치(weight)의 조합에 따라 지속적으로 음수가 되어 활성화가 0이 되고, 그 결과 역전파(backpropagation) 시 해당 뉴런에 대한 기울기(gradient)가 0이 되어 가중치가 더 이상 업데이트되지 않는 상태를 말한다.
원인[편집 | 원본 편집]
- 학습률(learning rate)이 너무 크다
- 가중치 업데이트 시 변화폭이 커서, 입력-가중치 조합이 음수 쪽으로 밀릴 가능성이 크다
- 편향(bias)의 초기값이 지나치게 음수이거나 부적절한 초기화(initialization)를 사용
- 가중치 초기화(weight initialization)가 비대칭성(asymmetry)이 부족하거나, 입력(feature)의 분포가 음수 쪽으로 치우쳐 있을 때
- 입력 데이터 분포(input distribution)의 정규화(normalization)가 안 되었거나 데이터가 전체적으로 음수 중심일 때
영향[편집 | 원본 편집]
- 뉴런의 표현력(capacity) 손실 — 죽은 뉴런은 기능 수행을 못함
- 학습 수렴(convergence)의 지연 또는 정체
- 파라미터 낭비 — 실질적으로 사용되지 않는 뉴런이 많아짐
완화 방법[편집 | 원본 편집]
- 활성 함수(alternative activation functions)를 사용
- Leaky ReLU — 음수 역할 영역에도 작은 기울기(small slope)를 주어 완전한 죽음(dead) 상태를 피함
- Parametric ReLU (PReLU) — 음수 쪽 기울기를 학습 가능한 파라미터로 설정함
- ELU, SELU 등 — 음수 구간에서도 비선형 함수가 부드럽게 확장됨
- 초기화(initialization)의 개선
- 대칭(symmetric)분포 초기화보다 비대칭(asymmetric) 초기화가 효과적임 [1]
- 편향을 약간 양수로 초기화하여 처음부터 일부 활성화가 되도록 유도
- 학습률 조정(learning rate scheduling) 혹은 학습 시작 시 낮은 학습률 사용
- 정규화 기법(normalization) 활용
- 배치 정규화(Batch Normalization)
- 레이어 정규화(Layer Normalization)
이론적 연구[편집 | 원본 편집]
- Lu 등은 “Dying ReLU and Initialization: Theory and Numerical Examples” 논문에서, 네트워크의 깊이(depth)가 무한대로 증가할수록 뉴런이 죽을 확률(born-dead probability)이 1에 수렴한다는 이론적 결과를 제시함. 또한 비대칭 무작위 초기화(randomized asymmetric initialization)가 이 확률을 유의미하게 낮춘다는 실험 및 이론 증명을 포함함. [2]
- 또 다른 연구에서는 “Trainability of ReLU Networks and Data‑dependent Initialization”에서, 초기화 시 활성 뉴런(active neuron)의 분포(distribution)가 학습 가능성(trainability)에 어떤 영향을 주는지 분석함. [3]
한계 및 고려사항[편집 | 원본 편집]
- 네트워크 구조(architecture) 및 크기(width, depth)
- 너무 얇거나(depth 대비 width가 작음) ReLU 계층(layer)이 많은 경우 문제가 더 심해질 수 있으나, skip connection 등이 있는 구조에서는 영향을 덜 받을 수 있음
- 일부 뉴런이 죽는다 해도 전체 성능에 미치는 영향이 크지 않은 경우가 있음 — 데이터 복잡도, 과제(task)의 유형 및 손실 함수(loss function)에 따라 다름
결론[편집 | 원본 편집]
Dying ReLU는 ReLU 활성 함수 사용 시 주의해야 할 중요한 문제로, 뉴런이 0만 출력하는 “죽은” 상태가 되면 학습이 불가능하거나 비효율적이 된다. 적절한 활성 함수의 대체, 초기화 및 학습률 조정, 네트워크 구조 설계 등을 통해 이 문제를 완화할 수 있다.
같이 보기[편집 | 원본 편집]
참고 문헌[편집 | 원본 편집]
- Lu, Lu; Yeonjong Shin; Yanhui Su; George Em Karniadakis. “Dying ReLU and Initialization: Theory and Numerical Examples.” Communications in Computational Physics, 28(5):1671‑1706, 2020. arXiv:1903.06733
- Yeonjong Shin; George Em Karniadakis. “Trainability of ReLU Networks and Data‑dependent Initialization.” arXiv:1907.09696, 2019
각주[편집 | 원본 편집]
- ↑ Lu, Lu; Yeonjong Shin; Yanhui Su; George Em Karniadakis. “Dying ReLU and Initialization: Theory and Numerical Examples.” Communications in Computational Physics, 28(5):1671‑1706, 2020. arXiv:1903.06733
- ↑ Lu, Lu; Yeonjong Shin; Yanhui Su; George Em Karniadakis. “Dying ReLU and Initialization: Theory and Numerical Examples.” Communications in Computational Physics, 28(5):1671‑1706, 2020. arXiv:1903.06733
- ↑ Yeonjong Shin; George Em Karniadakis. “Trainability of ReLU Networks and Data‑dependent Initialization.” arXiv:1907.09696, 2019