신경망(Neural Network)이란 무엇인가

딥러닝의 기반인 신경망 구조를 뉴런부터 학습 과정까지 그림으로 이해합니다.

· 11 min read · PALDYN Team

지난 글에서 딥러닝(DL)은 다층 신경망 구조로 학습하는 ML의 한 방식이라고 했습니다. 그런데 신경망이 정확히 어떻게 생겼고, 어떻게 “학습”하는 걸까요?

어떤 설명은 너무 수식 중심이라 와닿지 않고, 어떤 설명은 너무 추상적이라 실제로 어떻게 돌아가는지 감이 안 옵니다.

이 글에서는 뉴런 하나의 구조부터 네트워크 전체의 학습 흐름까지, 수식보다 직관을 먼저 잡는 것을 목표로 순서대로 풀어봅니다.


뇌에서 빌려온 아이디어

신경망은 인간의 뇌에서 착안했습니다. 뇌에는 약 860억 개의 뉴런이 있고, 각 뉴런은 최대 수만 개의 다른 뉴런과 연결됩니다. 그 연결 수는 약 100조 개에 달합니다.

뉴런의 동작 원리는 단순합니다.

  1. 여러 뉴런으로부터 신호를 받는다
  2. 신호의 합이 일정 임계값을 넘으면 활성화된다
  3. 활성화되면 다음 뉴런으로 신호를 전달한다

인공 신경망은 이 동작을 수식으로 흉내 냅니다.

  • 뉴런 → 노드(node)
  • 연결 → 엣지(edge)
  • 연결 강도 → 가중치(weight)
  • 임계값 통과 여부 → 활성화 함수(activation function)

완전히 같지는 않지만, 원리의 뼈대는 공유합니다.


인공 뉴런의 구조

하나의 뉴런은 이렇게 동작합니다.

인공 뉴런 구조

세 개의 입력값 x₁, x₂, x₃이 뉴런으로 들어옵니다. 그런데 모든 입력이 같은 비중으로 처리되지 않습니다. 각 입력에는 가중치(w) 가 곱해집니다.

예를 들어 집값을 예측하는 뉴런이 있다면,

입력      가중치      해석
면적    × 0.8    →  중요하게 반영
층수    × 0.3    →  어느 정도 반영
주차장  × 0.1    →  조금만 반영

가중치가 크면 그 입력이 결과에 크게 영향을 미치고, 가중치가 작으면 영향이 적습니다. 가중치가 음수면 “이게 클수록 오히려 불리하다”는 뜻이 됩니다.

이 값들을 전부 더한 뒤 편향(bias, b) 을 더합니다. 편향은 뉴런이 활성화될 기준점을 조정하는 역할입니다. 전체를 수식으로 쓰면 이렇습니다.

가중합 = w₁x₁ + w₂x₂ + w₃x₃ + b

이 가중합은 아직 선형(linear) 계산입니다. 여기에 활성화 함수 f 를 통과시켜야 비로소 뉴런의 출력이 완성됩니다.

y = f( w₁x₁ + w₂x₂ + w₃x₃ + b )

활성화 함수가 왜 필요한가

활성화 함수가 없으면 어떻게 될까요?

아무리 층을 많이 쌓아도, 선형 계산의 연속은 결국 하나의 선형 계산으로 합쳐집니다. 수십 층짜리 신경망이 사실상 1층짜리와 동등해지는 것입니다.

활성화 함수는 이 선형 계산에 비선형성을 주입합니다. 비선형성이 생기면 네트워크가 훨씬 복잡한 패턴을 표현할 수 있습니다.

대표적인 활성화 함수 세 가지를 정리하면 이렇습니다.

함수출력 범위특징주로 쓰이는 곳
Sigmoid0 ~ 1S자 곡선, 확률처럼 해석 가능이진 분류 출력층
ReLU0 ~ ∞0 이하는 0, 0 초과는 그대로은닉층 (현재 가장 많이 사용)
Softmax0 ~ 1, 합산 = 1여러 클래스의 확률로 변환다중 분류 출력층

ReLU가 현재 가장 널리 쓰이는 이유는 단순합니다. 계산이 빠르고, 깊은 네트워크에서 학습이 잘 됩니다.

# ReLU는 구현도 이렇게 단순합니다
def relu(x):
    return max(0, x)

# 음수는 0으로, 양수는 그대로
relu(-3)  # → 0
relu(0)   # → 0
relu(5)   # → 5

학습이란 무엇인가

신경망을 처음 만들면 모든 가중치는 무작위 값으로 초기화됩니다. 당연히 예측이 엉망입니다. 학습은 이 가중치를 반복적으로 조정해 예측을 점점 정답에 가깝게 만드는 과정입니다.

아래 4단계를 수만 ~ 수억 번 반복합니다.

신경망 학습 과정

1단계 — 순전파 (Forward Pass)

입력 데이터를 신경망에 통과시켜 예측값을 계산합니다. 현재 가중치를 그대로 사용해 “지금 이 모델은 뭐라고 예측하는가”를 확인하는 단계입니다.

2단계 — 손실 계산 (Loss Calculation)

예측값과 정답의 차이를 손실(loss) 이라는 숫자로 계산합니다. 손실이 클수록 예측이 틀렸다는 뜻입니다.

# 대표적인 손실 함수: 평균 제곱 오차 (MSE)
loss = (예측값 - 정답값) ** 2

# 예) 정답이 1.0인데 예측이 0.3이라면
loss = (0.3 - 1.0) ** 2  # → 0.49

3단계 — 역전파 (Backpropagation)

손실을 줄이려면 어떤 가중치를 얼마나 바꿔야 할까요? 역전파는 이 질문에 답합니다.

출력층에서 입력층 방향으로 거꾸로 훑으며, 각 가중치가 손실에 얼마나 기여했는지 미분을 통해 계산합니다. 이 값을 기울기(gradient) 라고 합니다.

기울기가 양수면 → 이 가중치를 줄여야 손실이 감소 기울기가 음수면 → 이 가중치를 높여야 손실이 감소

4단계 — 가중치 갱신 (Weight Update)

계산된 기울기를 바탕으로 가중치를 조금씩 조정합니다.

# 경사하강법 (Gradient Descent)
w = w - learning_rate × gradient

여기서 learning_rate(학습률)가 중요합니다.

learning_rate가 너무 크면  →  정답을 지나쳐버림 (발산)
learning_rate가 너무 작으면 →  학습이 극도로 느려짐
적절한 값                   →  보통 0.001 ~ 0.01 사이

이 값을 잘 정하는 것 자체가 AI 엔지니어링의 중요한 기술입니다.


왜 층을 여러 개 쌓는가

뉴런 하나, 혹은 한 층만으로는 단순한 패턴 밖에 못 잡습니다. 층이 깊어질수록 더 추상적인 개념을 학습할 수 있습니다.

이미지 인식을 예로 들면 이렇습니다.

1층  →  픽셀의 밝기 변화, 선, 경계 (매우 저수준)
2층  →  선이 모인 모양, 텍스처
3층  →  눈, 코, 귀 같은 부분 형태
4층  →  "고양이 얼굴"이라는 고수준 개념

텍스트도 마찬가지입니다.

1층  →  글자, 형태소
2층  →  단어의 의미
3층  →  문장의 맥락과 의도

이것이 “딥(Deep)“러닝에서 Deep이 의미하는 바입니다. 층이 깊어질수록(deep) 더 복잡한 표현이 가능해집니다.

현대 LLM은 이 층이 수십 ~ 수백 개에 달하고, 각 층에 수백만 ~ 수십억 개의 뉴런이 들어있습니다.


과적합: 학습이 너무 잘 되면 생기는 문제

신경망이 학습 데이터에 지나치게 맞춰지면 문제가 생깁니다. 학습 데이터에서는 정답률이 99%인데, 새로운 데이터에서는 60%밖에 안 나오는 현상입니다. 이를 과적합(overfitting) 이라 합니다.

과적합 비유:
시험 문제 100개를 통째로 외운 학생.
같은 문제는 다 맞추지만, 조금만 바뀌면 못 풀어냅니다.

반대로 너무 덜 학습되면 과소적합(underfitting) 이 됩니다. 이 둘 사이의 균형을 잡는 것이 딥러닝 개발의 핵심 과제 중 하나입니다.

상태학습 데이터 성능새로운 데이터 성능
과소적합낮음낮음
적정높음높음
과적합매우 높음낮음

정리

  • 인공 뉴런 = 입력 × 가중치 → 가중합 → 활성화 함수 → 출력
  • 활성화 함수 = 비선형성을 부여해 복잡한 패턴 표현을 가능하게 함
  • 학습 = 순전파 → 손실 계산 → 역전파 → 가중치 갱신의 반복
  • 층이 깊을수록 = 더 추상적인 개념까지 학습 가능
  • 과적합 = 학습 데이터에 과하게 맞춰진 상태, 일반화 실패

신경망의 기본 원리는 여기까지입니다. 다음 글에서는 현재 LLM의 근간이 되는 트랜스포머(Transformer) 구조를 살펴봅니다. 신경망을 알고 나면 트랜스포머가 왜 등장했는지 훨씬 자연스럽게 이해됩니다.


다음 글: 트랜스포머(Transformer)란 무엇인가 — LLM이 언어를 이해하는 방법


읽어주셔서 감사합니다. 😊