인공신경망(ANN)이란?
인공지능을 공부하다 보면 y = f(Wx + b)라는 수식을 자주 만나게 됩니다.
이 식은 인공신경망과 딥러닝의 가장 기본적인 계산을 표현합니다.
이 글에서는 하나의 인공 뉴런이 어떻게 동작하는지부터 시작해, 여러 층의 신경망이 복잡한 패턴을 학습하는 과정과 Transformer·LLM의 구조까지 정리해보겠습니다.
1. 인공신경망이란?
인공신경망(ANN, Artificial Neural Network)은 인간 뇌의 뉴런 연결에서 아이디어를 얻은 수학적 모델입니다.
여러 계산 노드인 인공 뉴런을 연결하고, 데이터에 포함된 패턴을 학습합니다.
사람이 규칙을 일일이 프로그래밍하는 대신, 데이터와 정답을 바탕으로 연결의 가중치를 조정하면서 문제를 해결하는 방법을 배웁니다.
데이터 → 특징 추출 → 내부 표현 → 판단 또는 생성
예를 들어 이미지 분류 모델은 처음에는 선·색·모서리 같은 단순한 특징을 찾습니다. 더 깊은 층에서는 눈·코·바퀴 같은 구조를 학습하고, 마지막에는 전체 정보를 조합해 ‘고양이’나 ‘자동차’를 판단합니다.
2. 인공 뉴런 하나의 계산
뉴런 하나가 여러 입력을 받는다고 해보겠습니다.
x₁, x₂, x₃
각 입력에는 중요도를 나타내는 가중치가 붙습니다.
w₁, w₂, w₃
뉴런은 입력과 가중치를 곱한 뒤 모두 더하고 편향을 추가합니다.
z = w₁x₁ + w₂x₂ + w₃x₃ + b
y = f(z)
이를 벡터 형태로 간단히 표현하면 다음과 같습니다.
y = f(wᵀx + b)
x: 뉴런으로 들어오는 입력w: 각 입력의 중요도를 나타내는 가중치b: 판단 기준을 이동시키는 편향(bias)f: 계산 결과를 변형하는 활성화 함수y: 다음 뉴런으로 전달되는 출력
3. 신경망은 뉴런 여러 개가 층으로 연결된 구조
신경망에는 입력층(Input Layer), 은닉층(Hidden Layer), 출력층(Output Layer)이 있습니다.
각 뉴런은 서로 다른 가중치를 사용해 입력을 처리합니다.
입력층 은닉층
x₁ ───────────────→ 뉴런 1
x₂ ───────────────→ 뉴런 2
x₃ ───────────────→ 뉴런 3
뉴런의 계산을 하나씩 쓰면 복잡하기 때문에 행렬로 묶어 표현합니다.
y = f(Wx + b)
여기서 소문자 w가 뉴런 하나의 가중치 벡터라면, 대문자 W는 여러 뉴런으로 구성된 한 층 전체의 가중치 행렬입니다.
입력 x
↓
Layer 1: y₁ = f(W₁x + b₁)
↓
Layer 2: y₂ = f(W₂y₁ + b₂)
↓
Layer 3: y₃ = f(W₃y₂ + b₃)
↓
결과
4. 뉴런들이 아무렇게나 연결되는 것은 아니다
인공신경망은 생물학적 뇌처럼 모든 뉴런이 자유롭게 신호를 주고받는 구조가 아닙니다. 대부분 미리 정해진 연결 구조를 따릅니다.
전통적인 완전연결망(Fully Connected Network)에서는 앞쪽 층의 출력이 뒤쪽 층의 입력이 됩니다.
Layer 1 → Layer 2 → Layer 3 → Output
따라서 ‘뉴런끼리 자유롭게 대화한다’기보다 ‘앞 층의 출력이 뒤 층의 계산에 영향을 준다’고 표현하는 편이 정확합니다. CNN, RNN, Transformer처럼 모델 종류에 따라 연결 방식은 달라집니다.
5. 단순한 계산이 복잡한 판단을 만드는 과정
뉴런 하나는 단순한 계산만 수행하지만, 많은 뉴런이 여러 층으로 연결되면 각 층이 서로 다른 수준의 특징을 처리할 수 있습니다.
자동차 이미지 인식 과정을 예로 들면 다음과 같습니다.
픽셀 → 선과 경계 → 곡선과 모서리 → 바퀴와 창문 → 자동차 부품 → 자동차
어떤 뉴런 하나가 자동차를 완벽하게 이해하는 것은 아닙니다. 수많은 작은 계산이 계층적으로 결합되면서 복잡한 내부 표현이 만들어지는 것입니다.
6. 딥러닝의 ‘Deep’은 무엇일까?
층이 하나뿐인 모델은 Input → Layer → Output으로 표현할 수 있습니다. 여기에 은닉층을 계속 추가하면 Input → Layer 1 → Layer 2 → Layer 3 → … → Output이 됩니다.
이처럼 층이 깊게 쌓인 신경망을 Deep Neural Network라고 부릅니다. 딥러닝(Deep Learning)의 ‘Deep’은 바로 이 깊은 층 구조를 의미합니다.
7. AI가 학습한다는 것은 무슨 뜻일까?
신경망이 학습한다는 것은 뉴런의 개수를 늘린다는 뜻이 아닙니다. 핵심은 연결에 사용되는 가중치 W를 적절한 값으로 조정하는 것입니다.
예를 들어 실제 정답이 고양이인데 모델이 강아지일 확률을 80%라고 예측했다고 해보겠습니다. 모델은 예측과 정답의 차이를 손실(Loss)로 계산합니다.
입력 → 예측 → 손실 계산
↓
역전파로 영향 계산
↓
가중치 업데이트
역전파(Backpropagation)는 어떤 가중치를 얼마나 수정해야 손실이 줄어드는지 계산합니다. 이후 경사하강법(Gradient Descent)으로 가중치를 조금씩 업데이트합니다.
W_new = W_old - η · ∂L/∂W
L: 손실 함수∂L/∂W: 가중치가 손실에 미친 영향, 즉 기울기η: 학습률(Learning Rate)
이 과정을 반복하면 예측 오류가 점점 줄어듭니다. 따라서 ‘AI가 학습했다’는 말은 수많은 연결의 가중치가 데이터에 맞는 값으로 조정되었다는 뜻입니다.
8. LLM과 Transformer로 확장하기
ChatGPT와 같은 대규모 언어 모델(LLM)도 기본적으로 Wx + b 형태의 선형 변환을 곳곳에서 사용합니다.
다만 문맥을 처리하기 위해 Transformer 구조를 활용합니다.
Token → Embedding → Multi-Head Attention
→ Residual + Normalization
→ Feed Forward Network
→ Residual + Normalization
→ 다음 Transformer Block → 다음 Token 확률
문장을 입력받으면 먼저 토큰(Token) 단위로 나누고, 각 토큰을 벡터로 변환합니다.
이후 Attention을 통해 현재 토큰이 다른 토큰을 얼마나 참고해야 하는지 계산합니다.
예를 들어 ‘나는 은행에 가서 돈을 찾았다’라는 문장에서 ‘은행’의 의미를 이해하려면 ‘돈’, ‘찾았다’와 같은 주변 단어를 함께 살펴봐야 합니다.
Attention은 이러한 토큰 간 관계를 수치로 계산합니다.
9. Q, K, V는 무엇일까?
Attention은 Query, Key, Value라는 세 가지 벡터를 사용합니다.
- Query: 지금 어떤 정보를 찾고 있는가?
- Key: 각 토큰은 어떤 종류의 정보인가?
- Value: 각 토큰이 실제로 가지고 있는 내용은 무엇인가?
Query와 Key를 비교해 관련성을 계산하고, 그 결과를 이용해 Value 정보를 가중합합니다. 이를 통해 현재 토큰이 문맥에서 어떤 정보를 참고해야 하는지 결정합니다.
10. Transformer Block의 핵심 구성
Multi-Head Attention
Transformer는 Attention을 한 번만 사용하는 것이 아니라 여러 개의 Head로 나누어 사용합니다. 각 Head는 서로 다른 W_Q, W_K, W_V를 학습하므로 문법·의미·위치·장거리 관계 등 서로 다른 관점에서 토큰 간 관계를 파악할 수 있습니다.
Feed Forward Network
Attention이 토큰 사이에서 정보를 주고받는 과정이라면, Feed Forward Network는 각 토큰 벡터 자체를 변환하는 과정입니다.
Wx + b → 활성화 함수 → Wx + b
문맥 정보를 반영한 뒤 각 토큰의 표현을 더 풍부하고 유용한 형태로 바꾸는 역할을 합니다.
Residual Connection
Transformer가 깊어지면 정보가 지나치게 변형되거나 학습이 어려워질 수 있습니다. 이를 완화하기 위해 원래 입력을 변환 결과에 다시 더합니다.
Output = x + Transformer(x)
원래 정보를 보존하면서 새로운 정보만 추가한다고 생각하면 됩니다. Skip Connection이라고도 부릅니다.
11. Embedding은 모델마다 다를까?
Embedding은 토큰을 숫자 벡터로 바꾸는 과정입니다. 같은 단어라도 LLM 모델마다 벡터가 다를 수 있습니다.
모델을 만들 때 사람이 ‘사과는 반드시 이런 벡터여야 한다’고 정하는 것은 아닙니다. Embedding은 처음에는 임의의 값에 가깝게 시작하고, 학습 과정에서 단어가 다른 단어들과 함께 등장하는 패턴을 반영하며 수정됩니다.
모델마다 Embedding이 다른 이유는 학습 데이터, Tokenizer, 벡터 차원, 모델 구조와 학습 방법이 서로 다르기 때문입니다. 따라서 Embedding은 고정된 사전적 의미라기보다 특정 모델이 학습한 내부 표현입니다.
12. Transformer는 언제 처음 등장했을까?
Transformer는 2017년 Google 연구진이 발표한 논문 Attention Is All You Need에서 처음 제안되었습니다. 이후 2018년 OpenAI의 GPT-1을 비롯해 다양한 언어 모델에 사용되기 시작했습니다.
13. 다른 신경망도 뉴런 구조를 사용할까?
CNN, RNN, Transformer 등 대부분의 인공신경망은 결국 y = f(Wx + b)와 같은 기본 계산을 여러 방식으로 조합합니다.
Artificial Neural Network
├── MLP
├── CNN
├── RNN
│ └── LSTM / GRU
└── Transformer
├── Encoder
├── Decoder
└── Encoder-Decoder
- CNN: 이미지의 지역적인 패턴과 공간 구조를 처리
- RNN: 순서가 있는 데이터를 차례로 처리
- LSTM/GRU: RNN의 장기 의존성 문제를 보완
- Transformer: Attention으로 토큰 간 관계를 계산
14. Attention을 여러 번 사용하는 이유
문장 속 관계는 복잡하기 때문에 한 번의 계산만으로 모든 의미를 표현하기 어렵습니다. Transformer는 여러 Block을 거치며 정보를 단계적으로 업데이트합니다.
단순한 관계 → 조금 더 복잡한 관계 → 문맥을 반영한 관계 → 추상적인 의미
각 층은 이전 층의 표현을 다시 입력으로 받아 새로운 관계를 계산합니다. 그래서 여러 층을 통과할수록 단어 간 관계를 넘어 문장 전체의 의미와 구조를 더 풍부하게 표현할 수 있습니다.
마무리: AI의 지능은 어디에 있을까?
인공신경망은 y = f(Wx + b)라는 단순한 계산을 기본 단위로 사용합니다. 하지만 이 계산 단위를 수많은 뉴런과 층으로 연결하고, 데이터에 맞춰 가중치 W를 학습시키면 매우 복잡한 함수를 만들 수 있습니다.
현대 AI의 지능이 개별 뉴런 하나에 들어 있다고 보기는 어렵습니다. 수많은 가중치가 만드는 패턴과 뉴런들이 함께 형성하는 분산 표현(Distributed Representation)에 정보가 저장된다고 보는 편이 더 정확합니다.
문장 입력 → Tokenization → Embedding → Transformer Blocks
→ 최종 벡터 → 다음 Token 확률 → 출력
결국 인공신경망은 단순한 수학 계산을 거대한 규모로 연결하고, 학습을 통해 연결의 가중치를 조정하는 시스템입니다. 이 원리를 이해하면 CNN, RNN, Transformer, LLM이 서로 완전히 다른 기술이라기보다 같은 신경망 원리를 각자의 방식으로 확장한 모델이라는 점을 이해할 수 있습니다.
핵심 용어 정리
- Gradient Descent: 손실을 줄이는 방향으로 가중치를 업데이트하는 방법
- Learning Rate: 한 번의 가중치 업데이트 크기
- Backpropagation: 손실이 각 가중치에 미친 영향을 계산하는 방법
- Embedding: 토큰을 숫자 벡터로 변환한 표현
- Attention: 토큰 간 관련도를 계산해 필요한 정보를 참고하는 방법
- Residual Connection: 입력 정보를 출력에 다시 더하는 연결
- Feed Forward Network: 각 토큰의 벡터 표현을 추가로 변환하는 신경망