
AI의 해부학: '뇌'를 벡터와 수학으로 해체하기
요약
AI의 본질을 신비주의적 관점이 아닌 선형 대수학, 벡터, 행렬 등 수학적 구조로 해부합니다. 고전적 AI부터 머신러닝, 딥러닝으로 이어지는 기술적 진화 과정과 그 작동 원리를 설명합니다.
핵심 포인트
- AI의 실체는 정교하게 배열된 방대한 산술 연산의 집합임
- 머신러닝은 규칙을 직접 코딩하는 대신 데이터에서 통계적 규칙을 도출함
- 딥러닝은 다층 인공 신경망을 사용하는 머신러닝의 하위 분야임
- AI 역사는 1956년 Dartmouth 프로젝트부터 시작된 긴 여정임
"기계 안에 유령은 없습니다. 오직 매우 설득력 있는 의상을 입은 선형 대수학 (linear algebra)만이 존재할 뿐입니다."
누군가 AI 시스템을 "똑똑하다"고 부를 때마다, 어딘가에 있는 수학자는 커피를 마시며 조용히 한숨을 내쉽니다. 그것이 정확히 틀렸기 때문은 아닙니다. 다만 진실이 훨씬 덜 신비로우면서도 동시에 더 인상적이기 때문입니다. 데이터 센터 안에는 뇌가 없습니다. 인간의 의미에서의 이해도 존재하지 않습니다. 존재하는 것은 사고하는 것처럼 보이는 출력을 생성할 수 있을 만큼 정교하게 배열된, 엄청난 양의 산술 연산입니다. 이 글은 그 내부를 들여다봅니다. "디지털 의식"에 대한 비유나 공상 과학적인 손짓은 없습니다. 오직 실제 해부학적 구조, 즉 벡터 (vectors), 행렬 (matrices), 파이프라인 (pipelines), 그리고 이러한 시스템이 구축되고, 훈련되며, 때때로 공용 인터넷에 유출되는 방식에 관한 매우 실제적이고 현재 진행 중인 논쟁들만을 다룹니다.
1. AI란 진정 무엇인가?
1.1 작동 정의
마케팅 용어를 걷어낸 인공지능 (Artificial Intelligence)은 패턴 인식, 언어 생성, 예측 수행, 또는 불완전한 정보에 기반한 행동 등 일반적으로 인간의 인지 (cognition)를 필요로 하는 작업을 수행하는 시스템을 구축하는 분야입니다. 현대의 AI, 특히 당신의 이메일을 작성하고 세미콜론을 두고 당신과 논쟁하는 종류의 AI는 거의 전적으로 **머신러닝 (machine learning, ML)**이라 불리는 하위 분야와, 그 안의 더 세부적인 분야인 **딥러닝 (deep learning)**을 기반으로 구축됩니다.
이 차이는 중요합니다:
-
고전적 AI (Classical AI) (1950년대–1980년대)는 인간이 작성한 if X, then Y 형태의 논리 트리와 같은 수동으로 코딩된 규칙에 의존했습니다. 이는 흔히 "기호주의 AI (symbolic AI)" 또는 "전통적인 AI (Good Old-Fashioned AI, GOFAI)"라고 불립니다.
-
**머신러닝 (Machine Learning)**은 이를 뒤집습니다. 규칙을 직접 작성하는 대신, 시스템에 방대한 양의 데이터를 보여주고 시스템이 통계적으로 규칙을 _도출 (derive)_하게 합니다.
-
**딥러닝 (Deep Learning)**은 다층 인공 신경망 (multi-layered artificial neural networks)을 사용하는 머신러닝입니다. 여기서 "딥 (deep)"은 출력의 심오함이 아니라 레이어 (layer)의 수를 의미합니다 (업계가 마케팅 문구를 작성할 때 편리하게 잊어버리는 차이점입니다).
1.2 간략한 역사 — Dartmouth에서 딥러닝까지
"인공지능 (Artificial Intelligence)"이라는 용어는 1956년 John McCarthy, Marvin Minsky, Nathaniel Rochester, Claude Shannon이 조직한 **Dartmouth 여름 연구 프로젝트 (Dartmouth Summer Research Project)**에서 만들어졌습니다. 이 제안서는 거의 희극적인 낙관주의를 담아, "학습의 모든 측면은... 원칙적으로 기계가 이를 시뮬레이션할 수 있도록 매우 정밀하게 기술될 수 있다"라고 명시했습니다. 그들은 이 문제 해결을 위해 두 달의 예산을 책정했습니다. 하지만 이제 거의 7세기가 걸렸으며, 여전히 "해결"과는 거리가 멉니다.
대략적인 타임라인:
-
1943년 — Warren McCulloch과 Walter Pitts가 인공 뉴런 (artificial neuron)의 첫 번째 수학적 모델을 발표했습니다.
-
1958년 — Frank Rosenblatt이 최초의 학습 가능한 신경망 (neural network)인 Perceptron을 구축했으며, 이는 "걷고, 말하고, 보고, 쓰는" 기계에 대한 헤드라인을 장식했습니다.
-
1969년–1980년대 — "AI 겨울 (AI Winter)". Minsky와 Papert의 저서 _Perceptrons_가 단층 네트워크 (single-layer networks)의 근본적인 한계를 입증하면서 자금이 고갈되고 분야가 정체되었습니다.
-
1986년 — Rumelhart, Hinton, Williams가 심층 네트워크 (deep networks)의 학습을 수학적으로 다룰 수 있게 만드는 알고리즘인 **역전파 (backpropagation)**를 대중화했습니다.
-
2012년 — AlexNet이 ImageNet 경진대회에서 압도적인 차이로 우승하며, 충분한 데이터와 GPU 성능이 뒷받침된다면 심층 합성곱 신경망 (deep convolutional networks)이 대규모로 작동함을 증명했습니다. 이는 현대 딥러닝 (deep learning) 붐의 시작으로 널리 간주됩니다.
-
2017년 — Google 연구진이 _"Attention Is All You Need"_를 발표하며 Transformer 아키텍처를 도입했습니다. 이는 GPT, Claude, Gemini를 포함하여 이후 등장한 거의 모든 주요 언어 모델 (language model)의 중추가 되었습니다.
-
2020년대 — 거대 언어 모델 (LLMs)이 수천억 개의 파라미터 (parameters) 규모로 확장되었고, RAG 및 에이전트 도구 사용 (agentic tool-use)이 등장했으며, AI는 연구적 호기심에서 소비자 인프라로 전환되었습니다.
주목할 만한 패턴: AI는 누군가가 "사고가 어떻게 작동하는지"에 대해 천재적인 영감을 얻었기 때문에 발전한 것이 아닙니다. AI는 더 나은 수학 (transformers), 더 많은 데이터, 그리고 더 많은 컴퓨팅 자원 (compute) — 우연히 복리로 작용하게 된 세 가지 화려하지 않은 요소들 덕분에 발전했습니다.
2. 신경망 (Neural Networks): 엔진룸
2.1 생물학적 비유 (그리고 그것이 과장된 이유)
신경망 (Neural networks)은 생물학적 뉴런 (biological neurons)에서 느슨하게 영감을 받았지만, 그 유사성은 표면에 불과합니다. 실제 뉴런은 살아있는 시스템에 내장된 화학적으로 복잡하고 자가 수복이 가능한 세포입니다. 반면 인공 "뉴런"은 입력값에 가중치 (weights)를 곱하고 그 결과를 함수를 통해 압축 (squashing)하여 생성되는 단일 숫자입니다. 이를 "뇌"라고 부르는 것은 마치 손목시계를 "야심 찬 해시계"라고 부르는 것과 비슷합니다. 유용한 약칭이 될 수는 있지만, 문자 그대로 받아들이면 오해의 소지가 있습니다.
2.2 인공 뉴런 (The Artificial Neuron)
각 인공 뉴런은 정확히 한 가지 일만 수행합니다: 여러 숫자를 입력받아 하나의 숫자를 출력하는 것입니다. 수학적 식은 다음과 같습니다:
z = (w1*x1 + w2*x2 + ... + wn*xn) + b
a = activation(z)
여기서:
x1...xn은 입력값 (inputs) 입니다 (픽셀 값, 단어 임베딩 (word embeddings), 또는 모든 수치 데이터가 될 수 있습니다).w1...wn은 가중치 (weights) 입니다 — 각 입력이 얼마나 중요한지를 결정하는 학습된 값입니다.b는 편향 (bias) 입니다 — 출력을 이동시키는 오프셋 (offset)입니다.activation()은z에 적용되는 비선형 함수 (non-linear function) 입니다.
마지막 비선형 활성화 함수 (activation function)가 없다면, 수천 개의 층 (layers)을 쌓더라도 전체 네트워크는 수학적으로 단일 선형 방정식 (linear equation)으로 붕괴되어 버립니다. 즉, 직선보다 복잡한 것은 전혀 학습할 수 없게 됩니다. 가장 흔히 사용되는 활성화 함수는 다음과 같습니다:
- ReLU (Rectified Linear Unit):
f(z) = max(0, z)— 단순하고 빠르며, 현재 대부분의 은닉층 (hidden layers)에서 기본값으로 사용됩니다. - Sigmoid:
f(z) = 1 / (1 + e^-z)— 출력을 0과 1 사이로 압축하며, 확률 (probabilities) 계산에 유용합니다. - Softmax: 숫자 벡터를 합계가 1이 되는 확률 분포 (probability distribution)로 변환합니다 — 이는 언어 모델 (language model)의 맨 마지막 단계에 위치하여, 원시 점수 (raw scores)를 "다음 단어가 _cat_일 확률"로 변환하는 역할을 합니다.
2.3 순전파 (Forward Propagation) — 수학
"순전파 (Forward propagation)"는 출력을 얻을 때까지 데이터를 네트워크를 통해 레이어(layer)별로 밀어 넣는 과정일 뿐입니다. 단일 레이어의 경우, 다음과 같이 행렬(matrix) 형태로 표현됩니다:
Z = W·X + B
A = activation(Z)
여기서 W는 해당 레이어의 모든 가중치(weights)를 담은 행렬이며, X는 입력 벡터(input vector), B는 편향(biases) 벡터입니다. 이것이 바로 AI가 근본적으로 "산업적 규모의 선형 대수 (linear algebra at industrial scale)"인 이유입니다. 현대의 LLM은 응답 하나당 수조 번의 이러한 행렬 곱셈을 수행하며, 바로 이 점 때문에 일반적인 프로세서가 아닌 특화된 칩(GPU 및 TPU)이 필요한 것입니다.
2.4 역전파 (Backpropagation) 및 경사 하강법 (Gradient Descent)
학습(Training)은 네트워크의 출력이 정답에 더 가까워지도록 모든 가중치와 편향을 조정하는 과정입니다. 이는 다음을 통해 이루어집니다:
-
손실 계산 (Loss calculation) — 손실 함수(loss function)를 사용하여 네트워크의 예측값과 실제 정답을 비교합니다. 분류(classification) 작업에서는 일반적으로 **교차 엔트로피 손실 (cross-entropy loss)**을 사용합니다:
L = -Σ y_true * log(y_predicted) -
역전파 (Backpropagation) — 미분(calculus, 특히 연쇄 법칙/chain rule)을 사용하여 각 개별 가중치가 오차에 얼마나 기여했는지 계산합니다: 네트워크의 모든 가중치
w에 대한∂L/∂w를 구합니다. -
경사 하강법 (Gradient descent) — 오차를 줄이는 방향으로 각 가중치를 미세하게 조정합니다:
w_new = w_old - learning_rate * (∂L/∂w)
이 과정을 수십억 개의 예시를 통해 수백만 번 반복하면, 순수하게 시행착오를 통해 유용한 출력을 생성할 수 있는 가중치 구성을 갖춘 네트워크를 얻게 됩니다. 그 누구도 개별 가중치가 무엇이어야 하는지 수동으로 설계하지 않습니다. 그것은 작성되는 것이 아니라 발견되는 것입니다. 이것이 AI가 종종 **블랙박스 (black box)**라고 불리는 이유이기도 합니다. 이러한 시스템을 만드는 사람들조차 특정 가중치를 가리키며 "여기가 파리가 프랑스의 수도라는 것을 아는 지점입니다"라고 말할 수 없습니다. 지식은 통계적으로 수십억 개의 파라미터(parameters) 전체에 흩어져 있습니다.
2.5 ANN의 해부학: 6개의 레이어, 6개의 역할
2.5 ANN의 해부학: 6개의 레이어, 6개의 역할
적당히 복잡한 작업을 위해 사용되는 전형적인 심층 **인공신경망(Artificial Neural Network, ANN)**은 대략 여섯 가지 기능적 레이어로 나눌 수 있습니다:
-
입력 레이어 (Input Layer) — 원시 데이터를 숫자로 변환하여 받습니다 (픽셀 강도, 단어 토큰, 오디오 파형 등). 여기서는 계산이 일어나지 않으며, 단순히 데이터의 진입점 역할을 합니다.
-
임베딩/인코딩 레이어 (Embedding / Encoding Layer) — 이산적인 입력(단어와 같은)을 의미를 포착하는 밀집된 숫자 벡터로 변환합니다. 여기서
-
단어는 벡터(vector)가 됩니다. 예를 들어, 4096차원의 숫자 리스트와 같은 형태입니다.
-
문장은 벡터들의 시퀀스(sequence)가 되며, 어텐션(attention)을 통해 더욱 결합되어 하나의 문맥적 표현(contextual representation)이 됩니다.
-
이미지는 패치(patch)당 하나씩 할당된 벡터들의 그리드(grid)가 됩니다.
-
의미는 **잠재 공간 (latent space)**이라 불리는 이 고차원 공간에서의 _거리와 방향_이 됩니다.
이에 대한 유명한 증명은 다음과 같습니다: 잘 훈련된 단어 임베딩 (word-embedding) 공간에서는 다음과 같은 벡터 산술 (vector arithmetic)이
vector("king") - vector("man") + vector("woman") ≈ vector("queen")
실제로, 대략적으로 작동합니다. 이것은 시적인 표현이 아니라, 인간의 의미론적 직관과 우연히 일치하는 숫자 리스트의 문자 그대로의 뺄셈과 덧셈입니다. AI 시스템에서의 "사고"란, 이 추상적인 수학적 공간을 통해 점을 이동시키고 그 점이 어디에 착륙하는지를 읽어내는 과정입니다.
4. AI의 추론: 사고의 사슬 (Chain-of-Thought) 그리고 그 너머
초기 언어 모델들은 단 한 번의 순방향 패스 (forward pass)로 질문에 답했습니다. 본질적으로는 매우 정교한 자동 완성 (autocomplete) 기능이었죠. 현대의 "추론" 모델들은 Google의 Wei 등이 2022년 논문에서 공식화한 **사고의 사슬 (Chain-of-Thought, CoT) 프롬프팅 (prompting)**이라 불리는 기술을 사용하여 이를 개선했습니다. 핵심 통찰은 다음과 같습니다: 언어 모델은 결론으로 바로 뛰어넘기보다 중간 추론 단계 (intermediate reasoning steps)를 생성하도록 강제될 때 더 나은 답변을 만들어냅니다.
이후 이는 더욱 구조화된 접근 방식으로 진화했습니다:
-
Chain-of-Thought (사고의 사슬): 모델이 최종 답변을 내놓기 전에 자연어(natural language)로 단계별 추론 과정을 작성합니다.
-
Tree-of-Thought (사고의 트리): 모델이 여러 추론 분기(reasoning branches)를 병렬적으로 탐색하고, 체스 엔진이 여러 수의 시퀀스를 고려하는 방식과 유사하게 어떤 경로가 가장 유망해 보이는지 평가합니다.
-
Self-consistency decoding (자기 일관성 디코딩): 동일한 질문에 대해 모델이 여러 개의 독립적인 추론 사슬(reasoning chains)을 생성하고 가장 흔하게 나타나는 최종 답변을 선택합니다. 이는 오류는 일관되지 않지만, 올바른 추론은 수렴하는 경향이 있다는 이론에 기반합니다.
-
Extended "thinking" tokens (확장된 "사고" 토큰): 최신 추론 모델(OpenAI의 o-series 또는 Anthropic의 Claude extended thinking mode 등)은 강화학습 (reinforcement learning)을 통해 최종 답변을 내놓기 전 긴 내부 추론 흔적(reasoning traces)을 생성하도록 훈련되었으며, 이는 모델에게 효과적으로 "연습장"을 제공하는 것과 같습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기