신경망(Neural Network)은 인간의 뇌 뉴런 구조를 모방한 계산 모델이다. 입력층·은닉층·출력층으로 구성된 레이어가 연결되어 복잡한 함수를 근사한다.
구조
입력층 은닉층1 은닉층2 출력층
x1 ──→ h1 ─→ h4 ──→ y1
x2 ──→ h2 ─→ h5 ──→ y2
x3 ──→ h3 ─→ h6
각 연결에는 가중치(w)가 있고,
각 노드는 입력의 가중합 + 편향 → 활성화 함수 적용
뉴런의 계산
z = w1*x1 + w2*x2 + ... + wn*xn + b (선형 결합)
a = activation(z) (비선형 변환)
python
import numpy as np
def sigmoid(z): return 1 / (1 + np.exp(-z))
def forward(X, W1, b1, W2, b2):
z1 = X @ W1 + b1 # 행렬 곱
a1 = sigmoid(z1) # 활성화
z2 = a1 @ W2 + b2
a2 = sigmoid(z2) # 출력
return a2
관련 개념
참고문헌
- •Rosenblatt, F. (1958). The Perceptron
- •Nielsen, M. Neural Networks and Deep Learning (무료 온라인)