Neural Network (Basic)

hyeony·2025년 6월 20일

VISION

목록 보기
2/6
post-thumbnail

1. Introduction

인공신경망(Artificial Neural Network)은 인간 뇌의 뉴런 연결 구조를 모방한 머신러닝 모델로, 입력층–은닉층–출력층으로 구성된다. 각 뉴런(node)은 이전 층에서 전달된 값에 가중치(weight)편향(bias)을 적용해 선형 결합한 뒤, 비선형 활성화 함수(activation function)를 통해 출력을 생성하고 다음 층으로 전달한다.

이렇게 다층 구조를 통해 입력 데이터의 복잡한 패턴을 점진적으로 추출하고 학습할 수 있으며, 학습 과정에서는 오차 역전파(backpropagation)경사 하강법(gradient descent)을 활용해 가중치를 최적화한다.

이러한 특성 덕분에 인공신경망은 이미지 분류, 자연어 처리, 음성 인식 등 다양한 분야에서 뛰어난 성능을 발휘하며, 충분한 은닉 유닛을 갖춘 경우 임의의 연속함수도 근사할 수 있는 universal approximator로 인정받고 있다.

2. MNIST Dataset


MNIST美 국립표준기술연구소(NIST)가 제공한 손글씨 숫자 데이터셋을 변형한 버전이다. 0부터 9까지로 구성된 10 개 클래스를 포함한 흑백 이미지로, 각 이미지는 28×28 픽셀(총 784 개)이며 픽셀 값은 0(흰색)에서 255(검은색) 사이의 정수로 표현된다.

전체 70,000 개 샘플로 구성되며, 이 중 60,000 개를 학습용(training set), 10,000개를 시험용(test set)으로 사용한다.

3. 퍼셉트론

가. 단층 퍼셉트론 구조

1957년 Frank Rosenblatt가 제안한 단순한 신경망 모델로, 입력층(input)출력층(output), 단 두 개의 계층으로만 구성된다.

각 뉴런은 입력 벡터 xx와 가중치 벡터 ww의 내적에 편향(bias) bb를 더해

z=iwizi+bz=\sum_{i}w_iz_i+b

형태로 선형 결합을 수행한 뒤, 계단 함수(step function)

h(z)={1(z>θ)0(otherwise)h(z) = \begin{cases} 1 & (z > \theta)\\ 0 & (\text{otherwise}) \end{cases}

을 적용하여 이진 출력을 만든다.

나. 퍼셉트론 학습 알고리즘

주어진 입력에 대한 예측 yy와 목표값 tt의 오차(ty)(t–y)에 학습률 ηη를 곱해 가중치와 편향을 갱신한다.

Δwj=η(ty)xj,Δb=η(ty)\Delta w_j = \eta\,\bigl(t - y\bigr)\,x_j, \quad \Delta b = \eta\,\bigl(t - y\bigr)

이 과정을 全 학습 데이터에 반복 적용하면서 올바른 결정 경계(decision boundary)를 찾아간다.

※ Decision Boundary?
Decision Boundary란 분류 모델이 서로 다른 클래스로 예측을 나누는 경계를 말한다.

다. 논리 게이트 구현 예시

① AND 게이트 예시

z={0when 2x1+2x231when 2x1+2x2>3z = \begin{cases} 0 & \text{when } 2x_1 + 2x_2 \le 3\\ 1 & \text{when } 2x_1 + 2x_2 > 3 \end{cases}
z={0when 3x1+2x241when 3x1+2x2>4z = \begin{cases} 0 & \text{when } 3x_1 + 2x_2 \le 4\\ 1 & \text{when } 3x_1 + 2x_2 > 4 \end{cases}
z=z = \dots

② OR 게이트 예시

z={0when 2x1+2x211when 2x1+2x2>1z = \begin{cases} 0 & \text{when } 2x_1 + 2x_2 \le 1\\ 1 & \text{when } 2x_1 + 2x_2 > 1 \end{cases}

③ NAND 게이트 예시

z={0when 2x12x231when 2x12x2>3z = \begin{cases} 0 & \text{when } -2x_1 - 2x_2 \le -3\\ 1 & \text{when } -2x_1 - 2x_2 > -3 \end{cases}

라. 단층 퍼셉트론의 한계

다음은 XOR 게이트 예시이다.

z={0w1x1+w2x2θ1w1x1+w2x2>θz = \begin{cases} 0 & w_1 x_1 + w_2 x_2 \le \theta\\ 1 & w_1 x_1 + w_2 x_2 > \theta \end{cases}

단층 퍼셉트론을 쓰면 XOR처럼 결정 경계가 곡선 또는 다중 곡면으로 나누어져야 하는 문제를 해결할 수 없다. 입력 공간을 하나의 초평면(hyperplane)으로만 분리하기 때문이다.

이러한 한계를 극복하기 위해 다층 퍼셉트론(MLP)가 도입되었다.

4. 다층 퍼셉트론(MLP)

가. 개념 및 구조

1) 정의 및 필요성

단층 퍼셉트론비선형 분리 한계를 극복하기 위해, 하나 이상의 은닉층(hidden layer)을 추가한 신경망 모델이다.

2) 구조

① 입력층(input layer): 원본 특성(feature) 벡터 xRn\mathbf{x} \in \mathbb{R}^n

② 은닉층(hidden layer):
각 은닉층 ll의 뉴런은 前 단계 출력

h(l1)\mathbf{h}^{(l-1)}

에 대해

z(l)=W(l)h(l1)+b(l),h(l)=σ(z(l))\mathbf{z}^{(l)} = W^{(l)}\,\mathbf{h}^{(l-1)} + \mathbf{b}^{(l)}, \quad \mathbf{h}^{(l)} = \sigma\bigl(\mathbf{z}^{(l)}\bigr)

형태로 선형 결합 후 비선형 활성화 함수 σ\sigma을 적용한다.

대표 활성화 함수로는 ReLU, Sigmoid, Tanh 등이 있다.

③ 출력층(output layer):

  • 회귀: 항등 함수(identity)
  • 이진 분류: Sigmoid
  • 다중 클래스: Softmax

3) 학습(Backpropagation)

① 순전파(forward pass)로 출력 y^\hat{y} 계산

② 손실 함수 L(y^,y)L(\hat{y},y)로 오차 측정

③ 오차 역전파로 각 층의 가중치와 편향에 대한 그래디언트 계산

④ 경사 하강법 등으로

W(l)W(l)ηLW(l),b(l)b(l)ηLb(l)W^{(l)} \leftarrow W^{(l)} - \eta \frac{\partial L}{\partial W^{(l)}}, \quad \mathbf{b}^{(l)} \leftarrow \mathbf{b}^{(l)} - \eta \frac{\partial L}{\partial \mathbf{b}^{(l)}}

4) 장점

  • 복잡한 비선형 함수 근사

  • 특징을 단계적으로 추출하는 계층적 표현 학습

나. XOR 문제 해결하기

입력 (x1,x2)(x_1, x_2)에 대해 XOR은 (0,1)(0, 1), (1,0)(1, 0)11로, 나머지는 00으로 분류해야 한다. 2층의 MLP을 설계하면 다음과 같다.

  • 은닉층: 2 개 뉴런, 활성화 함수 ReLU 또는 Sigmoid
  • 출력층: 1 개 뉴런, Sigmoid

Sigmoid 사용 시, 가중치 예시는 다음과 같다.

  • 은닉층
    W(1)=[20202020],b(1)=[1030]W^{(1)} = \begin{bmatrix} 20 & 20\\ -20 & -20 \end{bmatrix}, \quad \mathbf{b}^{(1)} = \begin{bmatrix} -10\\ 30 \end{bmatrix}
  • 출력층
    W(2)=[2020],b(2)=30W^{(2)} = \begin{bmatrix} 20 & 20 \end{bmatrix}, \quad b^{(2)} = -30

  • 은닉 뉴런 1: z1=20x1+20x210z_1=20x_1+20x_2-10, h1=σ(z1)h_1=\sigma(z_1) → OR 역할

  • 은닉 뉴런 2: z2=20x120x2+30z_2=-20x_1-20x_2+30, h2=σ(z2)h_2=\sigma(z_2) → NAND 역할

  • 출력층: z=20h1+20h230z=20h_1+20h_2-30, y^=σ(z)\hat{y}=\sigma(z) → 두 은닉 출력을 AND

5. 신경망 구성요소

가. 선형 계층(Linear Layer)

① 역할
입력 벡터에 대해 선형 변환(affine transform)을 수행하여 다음 계층에서 비선형 변환이 가능하도록 '기본 틀'을 제공한다.

② 구성 요소

  • 입력: h(l1)Rn\mathbf{h}^{(l-1)} \in \mathbb{R}^n

  • 가중치: W(l)Rm×nW^{(l)} \in \mathbb{R}^{m \times n}

  • 편향: b(l)Rm\mathbf{b}^{(l)} \in \mathbb{R}^m

③ 수식

z(l)=W(l)h(l1)+b(l),h(l)=z(l)\mathbf{z}^{(l)} = W^{(l)}\,\mathbf{h}^{(l-1)} + \mathbf{b}^{(l)}, \quad \mathbf{h}^{(l)} = \mathbf{z}^{(l)}

④ 특징

  • 순수 선형 연산이므로 은닉층 없이 여러 개를 겹쳐도 표현력은 단일 계층과 동일하다.

  • 비선형 활성화 함수와 결합되어야만 복잡한 패턴을 학습할 수 있다.

  • 주로 입력 차원 변경, 특성 조합, 차원 축소/확장 등에 사용된다.

나. 활성화 계층(Activation Layer)

① 목적
선형 변환 후에 비선형성(non-linearity)을 추가하여, 네트워크가 복잡한 함수나 패턴을 학습할 수 있도록 한다.

② 대표 함수 및 수식
㉮ 계단 함수(Step function)

h(z)={1(z>0)0(otherwise)h(z) = \begin{cases} 1 & (z > 0)\\ 0 & (\text{otherwise}) \end{cases}
  • 장점: 단순 이진 분류에 직관적

  • 단점: 미분 不可 → 역전파 적용 不可

㉯ 시그모이드 함수(Sigmoid)

σ(z)=11+ez\sigma(z)=\frac{1}{1+e^{-z}}
  • 출력 범위: (0,1)(0, 1)

  • 장점: 확률 출력 해석 可

  • 단점: 입력 절댓값 클 때 그래디언트 소실(vanishing gradient)

㉰ ReLU(Rectified Linear Unit)

ReLU(z)=max(0,z)\text{ReLU}(z)=\text{max}(0,z)
  • 장점: 계산 간단, 희소 활성화(sparse activation) 유도

  • 단점: 음수 영역 뉴런이 영(死) 상태가 되는 “죽은 ReLU(Dead ReLU)” 문제

㉱ 쌍곡탄젠트 함수(Tanh)

tanh(z)=ezezez+ez\tanh(z)=\frac{e^z-e^{-z}}{e^z+e^{-z}}
  • 출력 범위: (1,1)(-1, 1) (zero-centered)

  • 장점: Sigmoid보다 빠른 수렴

  • 단점: 여전히 큰 입력에 그래디언트 소실

다. 출력 계층 함수

① 이진 분류용 시그모이드(Sigmoid for Binary Classification)

  • 출력:

    y^=σ(z)=11+ez, y^(0,1)\hat{y}=\sigma(z)=\frac{1}{1+e^{-z}}, \space \hat{y} \in (0,1)
  • 해석: 출력값을 “클래스 1일 확률”로 볼 수 있다.

  • 손실 함수(Binary Cross-Entropy):

    L=[ylogy^+(1y)log(1y^)]L = -\bigl[y\log \hat y + (1 - y)\log(1 - \hat y)\bigr]

② 다중 클래스용 소프트맥스(Softmax for Multi-class Classification)

  • 출력: KK개의 클래스 점수 벡터 z=(z1,,zK)\mathbf{z} = (z_1, \dots, z_K)에 대해
    y^i=ezij=1Kezj,i=1,,K\hat y_i = \frac{e^{z_i}}{\sum_{j=1}^K e^{z_j}}, \quad i = 1, \dots, K

이때 y^i\hat y_i는 클래스 ii일 확률이며 i=1Ky^i=1\sum_{i=1}^K \hat y_i = 1을 만족한다.

  • 손실 함수(Categorical Cross-Entropy):
    L=i=1Kyilogy^iL = -\sum_{i=1}^K y_i \,\log \hat y_i
    여기서 yy는 one-hot 레이블 벡터이다.

6. 파라미터 결정 및 네트워크 설계

가. 입력층 및 출력층 노드 수 결정

① 입력층 노드 수: 주어진 입력 데이터의 특성 수에 따라 자동으로 결정

② 출력층 노드 수

  • 회귀 문제: 예측하려는 값의 차원에 맞춰 결정 (예: 스칼라 회귀 → 1개 노드)

  • 분류 문제: 클래스 수에 따라 결정 (예: 10개 클래스 → 10개 노드)

나. 은닉층 수와 노드 수 결정

① 문제 복잡도 대응

  • 데이터의 패턴이 단순하면 은닉층 1 ~ 2 개, 복잡하면 3 개 이상 고려

  • 과도한 깊이는 학습 시간 증가·그래디언트 소실 위험

② 노드 수(폭, width) 설정

  • 각 은닉층 노드 수는 입력 차원 nn과 출력 차원 kk 사이에서 결정

  • 일반적 규칙:

    n<hidden12n,n<\text{hidden}_1 \le 2n,
    hiddenl+1hiddenl2\text{hidden}_{l+1} ≈ \frac{\text{hidden}_l}{2}
    hiddenLk\text{hidden}_L ≥ k
  • 경험적 가이드: 첫 은닉층은 입력 특성 수의 1~3 배로 시작해보고, 층이 깊어질수록 점차 노드 수를 줄이며 추상화 수준 높여보기

③ 과적합 Vs. 과소적합 균형

  • 노드 수·층 수가 과하면 과적합 발생 → 검증 손실 상승

  • 너무 적으면 모델 용량 부족 → 학습 손실·검증 손실 모두 높음

  • 해결책: 교차검증(cross-validation), 학습 곡선 분석

④ 탐색 방법

  • 그리드 탐색(Grid Search): 미리 정의한 후보 (depth, width) 조합 전수 시험

  • 랜덤 탐색(Random Search): 설정 범위 내 무작위 샘플로 효율적 탐색

  • 베이지안 최적화(Bayesian Optimization): 이전 평가 결과를 이용해 다음 후보 제안

  • AutoML 도구 활용

⑤ 계산 자원 고려

  • 층·노드가 늘어날수록 파라미터 수 l(nl×nl1+nl)\sum_l(n_l \times n_{l-1}+n_l) 증가

  • GPU 메모리, 학습 속도, 배포 환경 제약 반영

다. 3층 신경망 설계 예제

① 아키텍처

  • 입력층: 2개 노드

  • 은닉층1: 3개 노드 (ReLU)

  • 은닉층2: 2개 노드 (ReLU)

  • 출력층: 2개 노드 (Softmax)

② 파라미터 수 계산

W(1)R3×2,  b(1)R3    32+3=9W^{(1)}\in\mathbb{R}^{3\times2},\;b^{(1)}\in\mathbb{R}^3 \;\to\; 3\cdot2 + 3 = 9
W(2)R2×3,  b(2)R2    23+2=8W^{(2)}\in\mathbb{R}^{2\times3},\;b^{(2)}\in\mathbb{R}^2 \;\to\; 2\cdot3 + 2 = 8
W(3)R2×2,  b(3)R2    22+2=6W^{(3)}\in\mathbb{R}^{2\times2},\;b^{(3)}\in\mathbb{R}^2 \;\to\; 2\cdot2 + 2 = 6
  • 총 파라미터: 9+8+6=239 + 8 + 6 = 23

③ 순전파(forward pass) 흐름

  • 은닉층1:
    z(1)=W(1)x+b(1),h(1)=ReLU(z(1))\mathbf{z}^{(1)} = W^{(1)}\mathbf{x} + \mathbf{b}^{(1)}, \quad \mathbf{h}^{(1)} = \mathrm{ReLU}\bigl(\mathbf{z}^{(1)}\bigr)
  • 은닉층2:
    z(2)=W(2)h(1)+b(2),h(2)=ReLU(z(2))\mathbf{z}^{(2)} = W^{(2)}\mathbf{h}^{(1)} + \mathbf{b}^{(2)}, \quad \mathbf{h}^{(2)} = \mathrm{ReLU}\bigl(\mathbf{z}^{(2)}\bigr)
  • 출력층:
    z(3)=W(3)h(2)+b(3),y^=Softmax(z(3))\mathbf{z}^{(3)} = W^{(3)}\mathbf{h}^{(2)} + \mathbf{b}^{(3)}, \quad \hat{\mathbf{y}} = \mathrm{Softmax}\bigl(\mathbf{z}^{(3)}\bigr)

<참고 자료>
유성욱 교수님, 지능형 영상처리, 중앙대학교 전자전기공학부, 2024

profile
Chung-Ang Univ. EEE.

0개의 댓글