3. 신경망 이론

이 노트는 '인공지능 시스템' 강의를 수강하며 정리한 내용을 바탕으로 작성했습니다.

3. 신경망 이론

Vector / Matrix Algebra

신경망의 수학적 표현을 위한 벡터/행렬 대수 정리입니다.

① Vector
  • Row vector: $X = [x_1, x_2, \ldots, x_n]$
  • Column vector: $X^T = [x_1, x_2, \ldots, x_n]^T$
② n차원 Vector X의 Norm (정의)

$$\|X\| \triangleq \sqrt{X X^T} = \sqrt{\sum_{i=1}^n x_i^2}$$

예시: $X = [2, 3, 4]$의 norm $$\|X\| = \sqrt{2^2 + 3^2 + 4^2} = \sqrt{29}$$

③ Inner Product (내적)

$$X \cdot Y^T = [x_1, x_2, \ldots, x_n] \cdot [y_1, y_2, \ldots, y_n]^T = \sum_{i=1}^n x_i y_i$$

내적이 0이면 두 벡터는 직교합니다. 이 성질은 패턴 저장 시 cross-talk(혼선)을 방지하는 데 활용됩니다.

예시: $X = [1, 0], Y = [0, 1]$은 서로 직교 → $X \cdot Y^T = 0$

연상메모리(6장)에서 사용: $X_1^T = X_2^T = 0$이면 cross-talk 없음 → 연상하고 싶은 패턴은 0이 되고 → 연상하고 싶은 3번째 패턴만 영향 가능.

④ 행렬 전치

$W \in \mathbb{R}^{m \times n} \to W^T \in \mathbb{R}^{n \times m}$ (치환하면 크기 바뀜)

이미지

3.1 신경망의 분류 (Classification of NN)

분류 기준:

1) Number of layer (층의 수) - Single layer (단층 신경망) - Multi layer (다층 신경망)

2) Output type (출력 형태) - Forward network (순방향 신경망) - Recurrent network (순환 신경망)

3) Data type (데이터 타입) - Digital - Analog - Mixing (디지털 + 아날로그)

4) Activation function (활성화 함수) - Unipolar (단극성) / Bipolar (양극성) - Linear / Nonlinear - Continuous / Binary

5) Learning method (학습 방법) - Supervised learning (지도학습) - Unsupervised learning (자율학습) - Competitive learning (경쟁학습)

① Number of Layer

  • 단층 신경망: 입력 $X$에서 $W_{ij}$ 통해 출력 $y_i$로 직접 $$y_i = f\left(\sum_{i=1}^n x_i w_{li}\right), \quad y_M = f\left(\sum_{i=1}^n x_i w_{Mi}\right)$$
  • 다층 신경망: input → hidden layer → output $$z_l = f\left(\sum x_i v_{li}\right), \quad y_l = f\left(\sum z_i w_{li}\right)$$

② Output Type

  • Static: 시간에 무관
  • Dynamic: 시간 의존 (recurrent)

③ Data Type

  • Digital: ADALINE, MP(M-P), perceptron 등
  • Analog: Hopfield, MLP, RBF 등
  • Mixing: perceptron, multi-perceptron, RBFN 등

이미지

④ Activation Function (활성화 함수)

신경망의 출력 형태를 결정합니다. 주요 종류:

1) Identity function (항등함수) $$f(\text{net}) = \text{net}$$

2) Hard limiter (단극성 계단함수) $$f(\text{net}) = \begin{cases} 1 & \text{net} \geq T \\ 0 & \text{net} < T \end{cases}$$

3) Bipolar hard limiter (양극성 계단함수) $$f(\text{net}) = \begin{cases} 1 & \text{net} \geq 0 \\ -1 & \text{net} < 0 \end{cases}$$

4) 단극성 Sigmoid function $$f(\text{net}) = \frac{1}{1 + e^{-\lambda \text{net}}}$$

미분: $f'(\text{net}) = \lambda f(\text{net})[1 - f(\text{net})]$

5) 양극성 Sigmoid function (tanh) $$f(\text{net}) = \frac{1 - e^{-\lambda \text{net}}}{1 + e^{-\lambda \text{net}}}$$

미분: $f'(\text{net}) = \frac{\lambda}{2}[1 - f(\text{net})^2]$

이미지

⑤ Learning Method

  • 지도학습(Supervised): 입력과 정답(target) 쌍으로 학습. 오차를 줄이는 방향으로 가중치 조정.
  • 강화학습(Reinforcement): 환경과 상호작용하며 보상 최대화.
  • 자율학습(Unsupervised): 정답 없이 데이터의 구조만 학습.

학습법의 종류

① Hebb 학습법

  • AF: 이진 또는 연속함수
  • $W'$(초기 연결 강도)을 0에 가까운 값 사용
  • 업데이트 공식: $$w^{k+1} = w^k + \Delta w^k = w^k + 2r \cdot X$$ 여기서 $r = y = f(\text{Net})$.

예제 3.12: Hebb 학습법을 적용하여 $w^2, w^3, w^4$를 구하시오.

조건: $W' = [0.1, -0.1, 0.2], \lambda = 1$ 입력 패턴: $X_1 = [1, 2, 1], X_2 = [0, 1, 1], X_3 = [1, 0, 1]$ AF: ⓐ 단극성 계단함수(T=0), ⓑ 단극성 sigmoid 함수

ⓐ 단극성 계단함수 (T=0)의 경우:

  • Path1 - 1st step: $\text{Net}^1 = X_1 \cdot (W')^T = [1, 2, 1] \cdot [0.1, -0.1, 0.2]^T = 0.1$
  • $r = f(\text{Net}^1) = f(0.1) = 1$ (계단함수이므로 $0.1 > T = 0$)
  • $\Delta w^1 = 2rX_1 = 1 \cdot 1 \cdot [1, 2, 1] = [1, 2, 1]$
  • $W^2 = W' + \Delta w^1 = [0.1, -0.1, 0.2] + [1, 2, 1] = [1.1, 1.9, 1.2]$

이 과정을 반복하여 $W^3, W^4$를 구합니다.

이미지

② Perceptron 학습법

  • AF: 이진 또는 연속함수
  • $W'$(임의의 값) 사용
  • 업데이트 공식: $$w^{k+1} = w^k + 2r \cdot X, \quad r = y^d - y$$ (지도학습, 오차를 학습 신호로 사용)

③ Delta 학습법

  • AF: 연속함수, 지도학습
  • 업데이트 공식: $$w^{k+1} = w^k + 2[y^d - f(\text{Net}^k)]f'(\text{Net}^k) \cdot X = w^k + 2r \cdot X$$

특징: 오차뿐 아니라 미분한 값도 사용한다는 점이 독특 (실제 출력의 기울기 정보 반영).

이미지

④ LMS (Least Mean Square) 학습법

  • AF: 항등함수, $W'$은 임의의 값 사용, 지도학습
  • 오차 최소화 방향으로 학습: $$E = \frac{1}{2}(y^d - y)^2$$
  • 업데이트 공식: $$w^{k+1} = w^k + 2(y^d - y) \cdot X = w^k + 2(y^d - X \cdot W^T) \cdot X$$

여기서 $y = f(\text{Net}) = \text{Net} = X \cdot W^T$ (항등함수).

⑤ 경쟁식 학습법

1) In-star 학습법
  • 여러 뉴런 중 하나의 뉴런으로 모임 (winner neuron)
  • 연결강도 $w_{ij}$ ($j = 1, 2, \ldots, n$)만 변경
  • 업데이트: $$\Delta w_{ij} = 2(x_j - w_{ij})$$
2) Out-star 학습법
  • 하나의 winner 뉴런에서 퍼져나감
  • 연결강도 $w_{ij}$만 변경
  • 업데이트: $$\Delta w_{ij} = 2(y_j^d - w_{ij})$$

학습법 정리 표

학습법 초기 연결강도 연결강도 변화량
Hebb 작은 값 $\alpha r X$
퍼셉트론 임의 값 $\alpha(d - y)X$
델타 임의 값 $\alpha(d - y)f'(\text{Net})X$
LMS 임의 값 $\alpha(d - X W^T)X$
In-star 임의 값 $\Delta w_{ij} = \alpha(x_j - w_{ij})$
Out-star 0 $\Delta w_{ij} = \alpha(d_j - w_{ij})$

기호 정리: - $x_i$: 입력층의 $i$번째 뉴런 - $X$: 입력 벡터 - $y_j$: 출력층의 $j$번째 뉴런 - $y_j^k$: 출력층의 $j$번째 뉴런의 $k$단계에서의 출력 - $Y$: 출력 벡터 - $z_k$: 은닉층의 $k$번째 뉴런 - $v_{ij}$: 입력층의 $j$번째 뉴런과 은닉층의 $i$번째 뉴런 간의 연결 - $W, V$: 연결강도 벡터 또는 매트릭스 - $\Delta W$: 연결강도의 변화량 - $\alpha$: 학습률 - $\gamma$: 학습 신호 - $\delta$: 오차 신호 - $f(\cdot)$: 활성화 함수 - Net: 뉴런의 입력 가중합 - $b$: 바이어스 - $d$: 목표치 - $T$: 임계치 - $\|X\|$: 벡터 X의 norm - $H_d$: 해밍거리

이미지

$H_d$ 해밍거리: 패턴들의 유사도 측정. 예) $X_1 = [1, 1, 0, 1], X_2 = [1, 0, 1, 1]$ → $H_d = 2$ (두 자리에서 다름)

비슷한 글 추천

Comments (0)

No comments yet. Be the first to comment!