단순한 인공 뉴런을 층으로 쌓고 데이터로 가중치를 조금씩 고쳐 가며 패턴을 배우는 머신러닝 모델이다. 뉴런 하나는 곱하고 더하는 일만 하지만 층을 깊게 쌓으면 손글씨 인식부터 대화까지 해내서, 이미지·음성·언어처럼 패턴이 복잡하고 데이터가 많은 문제에 쓰며 LLM도 거대한 신경망이다.
| 층 | 하는 일 | 손글씨 예시 |
|---|---|---|
| 입력층 | 데이터를 받는다 | 사진의 픽셀 값 |
| 은닉층 | 점점 추상적인 특징으로 바꾼다 | 선·모서리 → 동그라미·획 조합 |
| 출력층 | 판단을 낸다 | "이건 숫자 7" |
가중치는 처음에 무작위 값이라 예측이 엉망이다. 정답과의 차이(손실)를 재고, 각 가중치가 얼마나 책임이 있는지 출력층에서 거꾸로 계산한 뒤(역전파), 손실이 줄어드는 쪽으로 조금씩 고친다(경사하강법).
이 과정을 수백만 번 되풀이하면 고양이와 개를 구분하는 모델이 된다. 이렇게 많은 반복은 대량의 데이터와 GPU가 있어서 가능했다.
층을 깊게 쌓은 신경망을 쓰는 게 딥러닝이다. 이미지용 CNN, 순서 있는 데이터용 RNN, LLM의 뼈대인 Transformer는 모두 뉴런을 연결하는 방식만 다른 신경망이다. 규모 차이는 아주 크다.
| 모델 | 파라미터(가중치) 수 |
|---|---|
| 손글씨 분류 예제 | 수십만 개 |
| 최신 LLM | 수천억 개 |
같은 원리를 크게 키우고 인터넷 규모의 텍스트로 학습시키자 대화하고 추론하는 능력이 나타났다.
PyTorch에서는 nn.Linear로 층을 선언하고, 데이터가 지나갈 순서를 forward 함수에 적은 뒤, 옵티마이저를 골라 학습 루프를 돌린다. 입문용 손글씨 숫자 분류(MNIST)는 백 줄도 안 되는 코드로 정확도 98%가 나온다.
LLM을 API로만 쓰더라도 이 원리를 알면 용어가 쉽게 이해된다. '파라미터 70억 개'는 가중치 개수이고, 파인튜닝은 그 가중치를 추가로 조정하는 일이다.
가중치 수백만 개가 얽혀서 판단하기 때문에 왜 그런 답이 나왔는지 알기 어렵다(블랙박스). 데이터가 적으면 학습 데이터를 외워버리고(과적합), 데이터에 편향이 있으면 편향까지 배운다.
| 데이터 | 추천 |
|---|---|
| 작은 표 형태 데이터 | 단순한 모델 |
| 이미지·음성·언어, 대량 데이터 | 신경망 |
요즘은 신경망을 처음부터 학습시키기보다 이미 학습된 모델을 가져와 그대로 쓰거나 내 데이터로 조금 더 학습시키는 경우가 많다. 처음부터 만드는 건 주로 원리를 익히거나 작은 문제를 풀 때다.
| 어디서 | 어떻게 쓰나 |
|---|---|
| 사진·영상 | 학습된 이미지 모델을 가져와 내 사진으로 파인튜닝해 분류·물체 찾기에 쓴다 |
| 음성 | 음성 인식 모델로 회의 녹음을 받아쓰고, 음성 합성으로 글을 읽어 준다 |
| 텍스트·대화 | LLM을 챗봇이나 API로 불러 요약·번역·코드 작성을 맡긴다 |
| 공부·실험 | PyTorch로 작은 신경망을 짜서 MNIST 같은 예제로 학습 과정을 직접 본다 |