본문 바로가기
AI & Vision

ReLU 활성 함수란 무엇인가?

by 대박플머 2025. 1. 21.

신경망(Neural Network)은 인공지능 모델에서 데이터를 학습하고 패턴을 이해하기 위한 중요한 도구입니다. 그 중에서도 "활성 함수(Activation Function)"는 뉴런의 출력을 결정하고 학습의 핵심적인 역할을 합니다. 이번 글에서는 활성 함수의 개념부터, ReLU(Rectified Linear Unit)가 어떤 역할을 하고, 왜 음수를 0으로 만드는지까지 자세히 살펴보겠습니다.


활성 함수란?

활성 함수는 신경망에서 뉴런의 출력값을 결정하는 함수입니다. 입력값을 선형 결합한 결과를 비선형적으로 변환하여 다음 계층으로 전달하는 역할을 합니다. 활성 함수가 없다면, 여러 층(layer)을 쌓아도 단순한 선형 계산만 반복될 뿐, 복잡한 문제를 해결할 수 없습니다.

활성 함수의 역할

  1. 비선형성 도입: 데이터를 복잡하게 변환하여 신경망이 비선형적인 데이터 관계를 학습할 수 있도록 합니다.
  2. 출력값 정규화: 출력값을 특정 범위로 제한하여 계산 안정성을 높이고 학습 효율을 개선합니다.
  3. 특징 강조: 입력값 중 중요한 신호를 더 강조하고, 덜 중요한 신호는 억제합니다.

비선형성이란?

비선형성이란 간단히 말해, 입력과 출력 사이의 관계가 단순한 직선(선형)이 아니라 곡선처럼 복잡한 형태를 가지는 것을 의미합니다.

선형성과 비선형성의 차이

  • 선형성: 입력값과 출력값의 관계가 단순한 비례식으로 표현됨. 복잡한 데이터 패턴을 학습할 수 없음.
  • 비선형성: 곡선이나 다양한 형태의 관계를 표현하며, 복잡한 데이터 패턴을 학습 가능.

활성함수를 통한 비선형성 획득

신경망에서 데이터와 가중치를 곱하고 더하는 과정만으로는 선형 변환에 불과합니다. 하지만 여기에 ReLU와 같은 활성함수를 적용하면 비선형성이 생기는데, 그 이유는 다음과 같습니다:

  • 구간별 다른 동작:
    • ReLU는 입력이 양수일 때와 음수일 때 다르게 동작합니다
    • 양수 구간: $f(x) = x $(선형)
    • 음수 구간: $f(x) = 0 $(상수)
    • 이러한 구간별 다른 동작이 전체적으로 비선형 관계를 만듭니다
  • 기울기의 불연속성:
    • $x = 0$인 지점에서 기울기가 갑자기 변합니다
    • 음수 구간: 기울기 = 0
    • 양수 구간: 기울기 = 1
    • 이러한 급격한 변화는 선형 함수에서는 불가능한 특성입니다
  • 복합 함수의 비선형성:
    예를 들어 두 개의 입력 $x_1, x_2$가 있을 때:$y = ReLU(z)$ (비선형 변환)
  • 선형 결합 z는 평면을 만들지만
  • ReLU를 통과하면서 음수 부분이 0이 되어 평면이 접히는 효과가 발생
  • 이는 더 이상 단순한 평면이 아닌 비선형 형태가 됨
  • $z = w_1x_1 + w_2x_2 + b$ (선형 결합)
  • 다층 신경망에서의 효과:$h1 = ReLU(z1)$$y = ReLU(z_2)$
    • 각 층마다 ReLU를 통과하면서 데이터 공간이 여러 번 '접히고 구부러지는' 효과
    • 이를 통해 매우 복잡한 비선형 패턴을 표현할 수 있게 됨
  • $z_2 = w_{11}h_1 + b_2$
  • $z1 = w_1x_1 + w_2x_2 + b_1$
  • 실제 예시:
    • 입력값 $x = [-2, -1, 0, 1, 2]$에 대해
      • 선형 변환: $z = 2x + 1$
      • ReLU 적용: $y = ReLU(z)$
    • 결과:
      • $z = [-3, -1, 1, 3, 5]$ (선형)
      • $y = [0, 0, 1, 3, 5]$ (비선형)


이처럼 ReLU는 음수 부분을 0으로 만들어 선형 관계를 비선형으로 변환합니다.

 

$$f(x) = x$$

 

이러한 비선형성 덕분에 신경망은 복잡한 패턴을 학습할 수 있게 되며, 이는 현실 세계의 다양한 문제를 해결하는 데 필수적입니다.


ReLU (Rectified Linear Unit)

ReLU의 정의

ReLU는 가장 널리 사용되는 활성 함수 중 하나로, 다음과 같은 수식으로 정의됩니다:

$ReLU(z) = max(0, z)$

즉, 입력값 $z$가 0보다 크면 그대로 출력하고, 0보다 작으면 0으로 변환합니다.

ReLU의 동작 예시

  • $z = 3$일 경우, $ReLU(3) = 3$
  • $z = -2$일 경우, $ReLU(-2) = 0$

ReLU가 음수를 0으로 만드는 이유

ReLU는 출력값이 음수일 경우 이를 0으로 변환합니다. 이렇게 동작하는 이유는 다음과 같습니다.

1. 불필요한 정보 제거

음수 값은 신경망 학습에 도움이 되지 않는 경우가 많습니다. ReLU는 이러한 값을 0으로 변환하여 다음 층으로 전달하지 않음으로써, 계산에서 방해 요소를 제거합니다.

2. 계산 단순화

음수 값을 포함하면 계산이 복잡해질 수 있습니다. ReLU는 음수를 0으로 변환하여 계산을 더 간단하고 빠르게 만듭니다.

3. 학습 안정화

음수 값이 여러 층을 거쳐 전달되면, 그래디언트가 점점 작아져 학습 속도가 느려질 수 있습니다. 이를 "Vanishing Gradient 문제"라고 하는데, ReLU는 이 문제를 효과적으로 해결합니다.

4. 중요한 정보만 전달

ReLU는 양수 값만 다음 층으로 전달하여, 네트워크가 중요한 정보만 학습하도록 돕습니다.


가중치와 ReLU의 관계

ReLU는 출력값이 음수일 경우 이를 0으로 변환하지만, 가중치 자체가 음수일 수는 있습니다. 가중치는 입력값과 출력값 간의 관계를 학습하는 값으로, 음수 가중치는 두 값이 반대 관계에 있을 때 중요한 역할을 합니다.

예: 음수 가중치의 역할

  • 입력값: $x = 3$, 가중치: $W = -0.5$
  • 계산 결과: $z = x \times W = 3 \times -0.5 = -1.5$
  • ReLU 적용: $ReLU(-1.5) = 0$

가중치가 음수여도 학습에 문제가 없으며, ReLU는 최종 출력값이 음수일 경우에만 0으로 변환합니다.


간단한 신경망 예제

신경망 구조

  • 입력: $x_1 = 3, x_2 = 5$
  • 히든 레이어: 노드 2개, ReLU 활성 함수 사용
  • 출력 레이어: 1개

가중치 및 바이어스

  • 히든 레이어:
    • 첫 번째 노드: $W_{11} = -0.5, W_{12} = 0.8, b_1 = 0.2$
    • 두 번째 노드: $W_{21} = 0.6, W_{22} = -0.9, b_2 = -0.3$
  • 출력 레이어: $W_{o1} = 1.2, W_{o2} = -1.5$

계산 과정

  1. 첫 번째 노드 계산:$z_1 = (3 \cdot -0.5) + (5 \cdot 0.8) + 0.2 = 2.7$
  2. $h_1 = ReLU(z_1) = max(0, 2.7) = 2.7$
  3. $z_1 = (x_1 \cdot W_{11}) + (x_2 \cdot W_{12}) + b_1$
  4. 두 번째 노드 계산:$z_2 = (3 \cdot 0.6) + (5 \cdot -0.9) - 0.3 = -3.0$
  5. $h_2 = ReLU(z_2) = max(0, -3.0) = 0$
  6. $z_2 = (x_1 \cdot W_{21}) + (x_2 \cdot W_{22}) + b_2$
  7. 출력 계산:$y = (2.7 \cdot 1.2) + (0 \cdot -1.5) = 3.24$
  8. $y = (h_1 \cdot W_{o1}) + (h_2 \cdot W_{o2})$

최종 결과

  • 히든 레이어 출력: $h_1 = 2.7, h_2 = 0$
  • 출력값: $y = 3.24$

결론

ReLU는 신경망에서 간단하면서도 강력한 활성 함수입니다. 음수 출력을 0으로 변환하여 불필요한 정보를 제거하고, 학습을 더 효율적이고 안정적으로 만들어줍니다. 또한, 양수 출력만 다음 층으로 전달해 중요한 정보만 학습하도록 돕습니다.

ReLU는 현대 딥러닝 모델에서 기본 활성 함수로 널리 사용되며, 그 단순함과 효과 덕분에 앞으로도 주요 역할을 할 것입니다.