비선형 함수(Nonlinear Function)의 필요성 정리
1. 선형 함수 vs 비선형 함수
- 선형 함수(Linear Function): 직선의 형태로 데이터를 분리 가능
- 비선형 함수(Nonlinear Function): 곡선을 활용하여 복잡한 패턴을 표현 가능
(1) 선형 함수만 사용하면 발생하는 문제
- 뉴럴 네트워크에서 선형 변환(행렬 곱셈)만 계속하면 결국 하나의 선형 변환으로 축소됨
- 예: 3개 레이어 중 중간 레이어가 사라지는 효과 발생
- 즉, 딥러닝(Deep Learning)이 아닌 단순한 선형 모델(Linear Model)이 되어버림
(2) 딥러닝에서 비선형 함수의 필요성
- 뉴런(Neuron) 수가 많아질수록 모델 성능이 향상됨
- 비선형 활성화 함수(Activation Function)를 추가하면 레이어의 역할이 유지되며 복잡한 데이터도 학습 가능
- 대표적인 비선형 함수:
- ReLU (Rectified Linear Unit)
- Sigmoid
- Tanh (Hyperbolic Tangent)
2. 비선형 함수(Activation Function)의 역할
- 딥러닝 모델에서 출력값에 비선형 함수를 적용하여 복잡한 패턴을 학습 가능하도록 함
- 활성화 함수는 네트워크가 비선형 문제를 해결할 수 있도록 도와줌
활성화 함수의 주요 특징
함수 수식 특징
ReLU | f(x)=max(0,x)f(x) = max(0, x) | 가장 많이 사용됨, 기울기 소실 문제 없음 |
Sigmoid | f(x)=11+e−xf(x) = \frac{1}{1 + e^{-x}} | 확률 예측에 사용, 그러나 기울기 소실 문제 존재 |
Tanh | f(x)=ex−e−xex+e−xf(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}} | Sigmoid보다 강한 비선형성, 값의 범위 [-1,1] |
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-10, 10, 100)
relu = np.maximum(0, x)
sigmoid = 1 / (1 + np.exp(-x))
tanh = np.tanh(x)
plt.plot(x, relu, label="ReLU")
plt.plot(x, sigmoid, label="Sigmoid")
plt.plot(x, tanh, label="Tanh")
plt.legend()
plt.title("활성화 함수 비교")
plt.show()
3. 딥러닝에서 비선형성을 적용한 예제
딥러닝 모델에서 비선형성을 추가하지 않으면 네트워크는 단순한 선형 회귀 모델(Linear Regression)이 됨.
선형 변환만 적용한 경우
a3 = W2 * a2
이렇게 하면 출력은 여전히 선형이므로, 딥러닝의 장점을 활용할 수 없음.
비선형 변환을 적용한 경우
a3 = ReLU(W2 * a2)
비선형 활성화 함수를 추가하면 네트워크가 복잡한 패턴을 학습 가능하게 됨.
4. 영상 인식(Computer Vision)에서 비선형 함수의 역할
- 영상 데이터는 2D 배열(행렬) 형태로 저장됨
- 0 = 검은색
- 255 = 흰색
- 비선형성을 적용해야 객체를 정확하게 구분할 수 있음
5. DNN(Deep Neural Network)과 비선형성
(1) DNN의 역할: Approximator
- 딥러닝 모델은 우리가 원하는 복잡한 함수를 근사(Approximate)하는 역할을 함
- 예를 들어, 선(ax + b = f(X))을 잘 찾는 것이 목표
- 이 선을 기준으로 나무인지 건물인지 구분하는 경계(Boundary)를 학습하는 과정
(2) 고도로 비선형 모델
- Feature Mapping(특징 변환)을 통해 복잡한 데이터를 구분하기 쉽게 만듦
- 선형 모델로 구분이 어려운 데이터를 고차원으로 변환하여 선형적으로 분리 가능하게 함
6. Universal Approximator(범용 근사 정리)
- 딥러닝 모델(DNN)은 적절한 뉴런 수와 비선형 함수를 활용하면 어떤 함수도 근사할 수 있음
- 예를 들어, 조시와 비버(다람쥐 vs 비버)를 구분하는 모델도 딥러닝을 사용하면 가능
DNN이 하는 일
- 피처를 잘 뽑아냄
- 분류 모델을 학습하여 구분 가능하게 함
- 모든 것을 한 번에 수행 (End-to-End 학습)
7. 정리
- 선형 변환만 사용하면 네트워크가 의미 없는 모델이 됨
- 비선형 활성화 함수(ReLU, Sigmoid, Tanh)가 필요
- 딥러닝에서는 Feature Mapping을 통해 복잡한 데이터 구조를 학습 가능
- Universal Approximator 정리에 따라 충분한 뉴런과 활성화 함수를 사용하면 어떤 함수도 근사 가능
딥러닝에서 비선형성이 없으면 뉴럴 네트워크가 단순 선형 회귀 모델이 되어버리므로, 꼭 필요하다는 점!
728x90
'인공지능 대학원 > AI 영상처리' 카테고리의 다른 글
딥러닝 개념 (0) | 2025.03.31 |
---|---|
인공신경망 MLP,CNN (0) | 2025.03.31 |
CIFAR-10로 CNN 이미지 분류 (0) | 2025.03.31 |
CNN(Convolutional Neural Network) (0) | 2025.03.20 |
딥러닝 이전의 영상 인식 및 딥러닝 기반 기술 (0) | 2025.03.09 |