활성화 함수가 깊이를 의미 있게 만드는 이유: ReLU와 시그모이드의 역할 | DAKER 커뮤니티

신경망에서 층을 깊게 쌓는다고 해서 곧바로 더 복잡한 문제를 풀 수 있는 것은 아닙니다. 중간에 비선형성이 없으면, 여러 선형층은 결국 하나의 선형층으로 합쳐지기 때문입니다. 깊이가 있어도 표현력은 늘지 않는다는 뜻입니다.

그래서 활성화 함수가 중요합니다. ReLU와 시그모이드 같은 비선형 함수는 층과 층 사이에서 입력 공간을 꺾고, 그 결과 신경망이 더 복잡한 결정 경계를 만들 수 있게 합니다. 이 글에서는 왜 비선형성이 필요한지, ReLU와 시그모이드가 각각 어떤 역할을 하는지, 그리고 레이어를 쌓을 때 어디에 들어가는지를 차례로 살펴봅니다.

활성화 함수와 비선형성 썸네일

선형층만 쌓으면 깊이는 사라집니다

앞글에서 행렬곱이 선형변환임을 확인했습니다. 선형변환의 합성은 여전히 선형입니다. 따라서 Wx를 여러 번 적용하는 것만으로는 XOR처럼 직선 하나로 나눌 수 없는 경계를 만들 수 없습니다.

예를 들어 W₂(W₁x + b₁) + b₂ = (W₂W₁)x + (W₂b₁ + b₂) 입니다. 두 층의 선형 연산이 하나의 선형 연산으로 정리됩니다. 층을 10개로 늘려도 중간에 활성화 함수 φ가 없으면 결과는 같습니다. 파라미터 수는 많아 보여도, 표현 가능한 함수의 범위는 한 층의 선형분류기와 다르지 않습니다.

선형층만 합성하면 깊은 네트워크도 결국 하나의 선형층으로 붕괴합니다.

비선형이 들어가면 상황이 달라집니다. z = φ(Wx+b)처럼 활성화 함수를 넣으면 각 층이 입력 공간을 다른 방식으로 꺾고, 다음 층은 그 꺾인 공간을 다시 선형으로 섞습니다. 조각마다 다른 선형 규칙을 이어 붙이는 것과 비슷한 효과가 생깁니다. 깊은 네트워크의 깊이가 실제 의미를 갖는 지점이 바로 여기입니다.

충분히 넓은 네트워크가 연속 함수를 근사할 수 있다는 보편 근사 정리도 비선형 활성화를 전제로 합니다. 이름은 거창하지만 실무 감각으로 옮기면 간단합니다. 꺾임이 있어야 깊이가 살아납니다.

시그모이드는 출력을 0과 1 사이로 눌러 줍니다

시그모이드 σ(x) = 1/(1+e^(−x))는 S자 곡선입니다. 큰 양수는 1에 가깝게, 큰 음수는 0에 가깝게, 0 근처에서는 완만하게 변합니다. 그래서 출력을 확률처럼 읽고 싶을 때, 또는 게이트처럼 열고 닫는 신호를 만들고 싶을 때 유용합니다. 순환신경망의 게이트나 일부 어텐션·게이팅 설계에서 여전히 쓰입니다.

다만 단점도 분명합니다. 입력이 양쪽 끝으로 가면 기울기가 거의 0이 됩니다. 이렇게 포화가 오면 역전파 신호가 약해져 앞단의 학습이 어려워집니다. 깊은 피드포워드망의 은닉층에서 시그모이드만 사용하면 학습이 힘들었던 이유가 여기에 있습니다.

시그모이드는 확률처럼 읽기 좋지만, 포화 구간에서는 기울기가 거의 사라집니다.

그래서 시그모이드는 출력단의 이진 확률에는 잘 맞지만, 은닉층에서는 오늘날 ReLU 계열이 더 흔합니다.

ReLU와 시그모이드 곡선 비교 다이어그램

ReLU는 음수를 잘라 비선형 꺾임을 만듭니다

ReLU는 max(0, x)입니다. 양수는 그대로 통과시키고, 음수는 0으로 만듭니다. 계산이 단순하고, 양의 구간에서는 기울기가 1이라 신호가 비교적 잘 전달됩니다. 깊은 합성곱망과 트랜스포머의 MLP 블록에서 널리 쓰여 온 이유도 여기에 있습니다.

여기서 음수를 자른다는 말은 단순히 값을 없앤다는 뜻이 아니라, 그 지점에서 비선형 꺾임을 만든다는 뜻입니다. 이 꺾임이 선형 합성을 끊고 표현력을 확보합니다.

물론 ReLU에도 한계는 있습니다. 큰 음의 편향 등으로 어떤 뉴런이 항상 0만 내면, 그 뉴런의 기울기도 계속 0에 머물러 학습이 멈출 수 있습니다. 이른바 죽은 ReLU 문제입니다. 이를 완화하려고 Leaky ReLU, GELU, SiLU(Swish) 같은 변형이 쓰입니다. 음의 구간에도 작은 기울기를 남기거나, 더 부드러운 곡선을 사용해 학습 흐름을 개선하는 방식입니다.

ReLU와 그 변형들의 공통 역할은 선형 합성을 끊어 깊이에 표현력을 부여하는 데 있습니다.

활성화 함수는 어디에 들어갈까

전형적인 순서는 선형변환 → 활성화 → 정규화 또는 드롭아웃 → 다음 선형변환입니다. 다만 정규화와 활성화의 순서는 아키텍처마다 다를 수 있습니다. Pre-LN과 Post-LN의 차이도 결국 신호가 어떻게 흐르고 기울기가 어떻게 유지되는가에 관한 설계입니다.

그래서 레이어를 쌓을 때는 레시피를 외우는 것보다, 이 위치에 비선형성이 들어가 있는지를 먼저 확인하는 것이 좋습니다.

출력층의 활성화는 과제에 따라 달라집니다. 다중 클래스 분류는 보통 로짓을 그대로 두고 손실 함수 쪽에서 소프트맥스를 처리합니다. 이진 분류와 다중 라벨 분류는 시그모이드, 회귀는 활성화 없이 선형 출력을 쓰는 경우가 많습니다.

은닉층의 활성화와 출력층의 활성화는 목적이 다릅니다.

결정 경계로 보면 비선형의 효과가 더 분명합니다

2차원 장난감 데이터에서 선형 모델은 직선으로만 경계를 나눕니다. 반면 은닉층과 ReLU를 추가하면 경계를 여러 직선 조각으로 근사할 수 있습니다. 층 수와 너비가 늘어나면 그 조각이 많아져 곡선에 가까운 경계도 만들 수 있습니다.

이 실험은 수업에서 자주 등장하지만, 실무 직관에도 그대로 이어집니다. 데이터가 선형으로 잘 나뉘지 않는다면 특성 엔지니어링을 더하거나, 비선형 모델의 용량을 늘리는 쪽을 검토하게 됩니다.

다만 비선형성이 강하고 모델이 너무 넓으면 학습 데이터에만 과하게 맞춰질 위험도 있습니다. 드롭아웃, 가중치 감쇠, 데이터 증강은 이런 용량을 제어하는 장치입니다. 활성화 함수는 만능 해법이 아니라, 모델 용량과 정규화의 균형 안에서 의미를 가집니다.

정규화와 활성화는 함께 봐야 합니다

배치 정규화는 배치 통계로 스케일을 맞추고, 레이어 정규화는 샘플이나 토큰 축 통계로 스케일을 맞춥니다. 활성화 앞에 두는지 뒤에 두는지에 따라 네트워크가 보는 입력 분포가 달라집니다. 최근 트랜스포머는 Pre-LN 계열이 많아, 정규화로 스케일을 정리한 뒤 어텐션, MLP, 활성화를 적용합니다.

그래서 아키텍처를 참고할 때는 활성화 함수만 따로 떼어 보기보다, 정규화 위치까지 한 세트로 보는 편이 안전합니다.

드롭아웃은 학습 중 일부 활성화를 무작위로 꺼 공동적응을 줄입니다. 추론에서는 끄거나 기댓값에 맞게 스케일합니다. 비선형성이 만든 풍부한 표현이 과적합으로 이어지지 않도록 조절하는 장치라고 볼 수 있습니다.

구현과 하드웨어 관점에서도 차이가 납니다

ReLU가 널리 쓰인 이유 중 하나는 구현이 단순하고 융합(fusion)하기 쉽다는 점입니다. 행렬곱 다음 편향과 활성화를 한 커널로 합치면 메모리 왕복을 줄일 수 있습니다. 반면 GELU는 더 부드러운 곡선을 제공하지만 계산 비용이 조금 더 듭니다. 큰 모델에서는 이 차이가 누적되므로, 정확도 이득과 처리량을 함께 보는 것이 중요합니다.

양자화나 저비트 추론에서는 활성화의 동적 범위도 중요합니다. 한쪽으로 치우친 활성화는 양자화 오차를 키울 수 있습니다. 그래서 연구 단계에서는 곡선의 성질을 보고, 배포 단계에서는 범위, 희소성, 커널 융합까지 함께 보는 시야가 필요합니다.

언제 활성화를 바꿔 볼 만할까

기본 ReLU로 학습이 안정적이고 검증 점수도 충분하다면, 활성화 함수를 자주 바꿀 이유는 크지 않습니다. 다만 죽은 뉴런이 많거나, 앞단의 기울기가 약하거나, 음의 구간 정보가 과제에 중요해 보이거나, 같은 예산의 최신 아키텍처가 GELU나 SiLU를 표준으로 쓰는 경우에는 교체를 검토할 수 있습니다.

이때는 활성화만 단독으로 바꾸기보다 학습률, 초기화, 정규화 위치를 함께 조정하는 편이 좋습니다. 활성화 변경의 효과는 기울기 흐름, 포화, 스케일 변화와 얽혀 나타나는 경우가 많기 때문입니다.

활성화 함수는 표현력의 스위치이지만, 성능은 데이터와 목적함수, 정규화가 함께 움직일 때 결정됩니다.

정리

이 글의 핵심은 분명합니다. 선형층만 쌓으면 깊이는 사라지고, 비선형성이 들어가야 층을 쌓는 의미가 생깁니다. 시그모이드는 0과 1 사이의 출력이 필요할 때 유용하지만 포화 구간에서 기울기가 약해질 수 있습니다. ReLU는 단순하고 효율적이며 깊은 네트워크에서 신호 전달에 유리해 널리 쓰입니다. GELU, SiLU, Leaky ReLU 같은 변형도 결국 같은 목적, 즉 선형 합성을 끊고 표현력을 확보하는 데 있습니다.

한 줄로 줄이면 이렇습니다. 비선형성이 층을 쌓아도 표현력을 살립니다. 꺾임이 있어야 깊이가 깊음이 됩니다.

다음에 레이어 구성을 볼 때, 어떤 활성화가 어디에 들어가 있는지 함께 살펴보면 어떨까요?