3.1.4 선형대수와 벡터: 인공지능을 움직이는 수학의 언어
선형대수(Linear Algebra)는 벡터(vector), 행렬(matrix), 선형 변환(linear transformation)을 다루는 수학 분야로, 다차원 데이터를 표현하고 다루는 데 꼭 필요한 도구입니다. 인공지능(AI)에서는 이미지, 문장, 센서값 등 다양한 정보를 수치 벡터로 표현하고 이를 효율적으로 처리하기 위해 선형대수 지식이 필수입니다. 이 글에서는 선형대수의 핵심 개념들을 직관적으로 설명하고, 그것이 AI 시스템에서 어떻게 활용되는지 구체적인 예시와 함께 살펴보겠습니다.
📌 1. 벡터와 벡터 공간(Vector & Vector Space)
벡터는 크기와 방향을 가진 수학적 객체입니다. 예를 들어, 2차원 벡터 v= [x, y]는 가로(x)와 세로(y) 방향의 이동량을 나타내며, 공간 상의 한 점에서 다른 점까지의 "화살표"로 생각할 수 있습니다.
- 벡터는 수치의 나열 (예: [3, 5])로 표현되며, 위치, 속도, 텍스트 의미, 이미지 픽셀 강도 등 다양한 정보를 표현할 수 있습니다.
- 벡터들의 집합이 더하기와 스칼라 곱에 대해 닫혀 있다면, 그것은 벡터 공간(vector space)이 됩니다.
- 어떤 벡터 공간은 그 공간을 이루는 최소 단위인 기저 벡터(basis vector)들로 표현됩니다. 예를 들어 3차원 공간에서는 보통 (1,0,0),(0,1,0),(0,0,1)(1,0,0), (0,1,0), (0,0,1)이 기저입니다.
💡 AI에서의 활용:
- 단어 임베딩(Word Embedding): 단어를 고차원 벡터로 표현함으로써, 의미상 유사한 단어들이 비슷한 벡터 방향을 갖도록 만듭니다.
➕ 2. 벡터 연산(Vector Operations)
📌 2.1 벡터 덧셈
- 두 벡터를 더하면 각 성분을 더한 새로운 벡터가 됩니다.
- 시각적으로는 첫 벡터의 머리에 두 번째 벡터의 꼬리를 붙이고, 시작점에서 끝점까지 그은 화살표가 결과 벡터입니다.
📌 2.2 스칼라 곱
- 벡터에 숫자(스칼라)를 곱하면, 방향은 그대로이고 길이만 늘어나거나 줄어듭니다.
- 음수를 곱하면 방향이 반대가 됩니다.
📌 2.3 내적(Dot Product) a⋅b=a1b1+a2b2+…+ anbn
- 두 벡터의 방향 유사도를 나타냅니다. 각도가 작을수록 내적 값이 크고, 직각이면 0이 됩니다.
- AI에서는 유사도 계산, 신경망 뉴런의 출력 계산 등에서 사용됩니다.
📌 2.4 벡터의 크기(Norm)
- 벡터의 길이이며, 정규화(normalization) 시 주로 사용됩니다.
📌 2.5 선형 결합(Linear Combination)
- 여러 벡터에 스칼라를 곱하고 더해서 새로운 벡터를 만드는 방식입니다.
- 벡터 공간의 모든 벡터는 기저 벡터들의 선형 결합으로 표현됩니다.
📐 3. 행렬과 선형 변환(Matrices and Linear Transformations)
행렬은 숫자의 격자이며, 벡터에 작용해 벡터를 변환하는 도구입니다. 예를 들어, 2×2 행렬 A가 2D 벡터 x에 작용하면, x는 회전, 확대, 이동된 새로운 벡터로 바뀝니다.
📌 3.1 행렬-벡터 곱
A⋅x=yA \cdot x = y 형태의 연산으로, 행렬 A의 각 행과 벡터 x의 내적으로 구성된 결과 y를 생성합니다.
📌 3.2 행렬-행렬 곱
- 여러 변환을 연달아 적용할 때 사용됩니다. 순서에 따라 결과가 달라집니다. (곱셈은 교환법칙이 안 성립함)
📌 3.3 특수 행렬
- 단위 행렬(I): 아무런 변화를 주지 않는 변환
- 역행렬(A⁻¹): 원래 상태로 되돌리는 변환
- 전치행렬(Aᵀ): 행과 열을 뒤바꿈 (역전파 등에서 사용)
📌 AI에서의 활용
- 신경망의 가중치 행렬, 데이터 전처리, 차원 축소 등 거의 모든 연산이 행렬 곱으로 표현됩니다.
🌀 4. 고유값과 고유벡터(Eigenvalues & Eigenvectors)
어떤 행렬 A가 벡터 v를 자기 방향 그대로 늘리거나 줄이기만 할 때:
A⋅v=λ⋅vA \cdot v = \lambda \cdot v
- 여기서 λ\lambda는 고유값, v는 고유벡터입니다.
📌 직관적 의미: 회전이나 방향 변화 없이 늘어나거나 줄어드는 벡터를 찾는 것.
📌 PCA에서의 활용: 데이터 분산이 가장 큰 방향(고유벡터)을 찾아 차원을 줄입니다.
📌 예시:
행렬 A = [2,0],[0,4][2, 0], [0, 4]의 경우,
- x축 방향 벡터 [1, 0]는 고유값 2를 가짐 (길이만 2배)
- y축 방향 벡터 [0, 1]는 고유값 4를 가짐
🎨 5. 시각화와 기하학적 직관(Geometric Intuition)
📌 벡터 시각화: 벡터는 원점에서 어떤 지점까지 화살표로 표현 가능
📌 덧셈/뺄셈: 평행사변형 법칙이나 팁-투-테일 방식으로 시각화
📌 Span과 선형독립: 두 벡터로 평면을 생성, 세 벡터가 같은 평면 위에 있으면 선형종속
📌 행렬 변환 시각화: 2D 격자가 회전하거나 왜곡되는 모습으로 이해 가능
📌 PCA 시각화: 데이터 포인트를 주성분 방향(고유벡터)으로 투영
📌 고유벡터 시각화: 어떤 변환에서도 방향은 유지되는 특수한 벡터
🤖 6. 인공지능에서의 활용 사례(Linear Algebra in AI)
📌 6.1 신경망(Neural Networks)
- 입력 x, 가중치 행렬 W, 바이어스 b에 대해: y=W⋅x+by = W \cdot x + b
- 전방향 전파(Forward Pass), 역전파(Backpropagation) 모두 선형대수 연산으로 구성됨
- 행렬 곱을 병렬 처리하여 빠른 학습 가능 (GPU)
📌 6.2 주성분 분석(PCA)
- 고차원 데이터의 공분산 행렬을 고유벡터로 분해하여 주요 방향 추출
- 데이터 시각화, 노이즈 제거, 전처리에 활용
📌 6.3 자연어처리(NLP)와 단어 임베딩
- Word2Vec, GloVe 등은 단어를 고차원 벡터로 표현
- 의미상 유사한 단어는 비슷한 방향의 벡터를 가짐
- 예: king - man + woman ≈ queen
📌 6.4 추천 시스템
- 사용자-아이템 행렬을 행렬 분해하여 잠재 요인(latent factor) 벡터로 표현
- 내적을 통해 추천 점수 계산
📌 6.5 컴퓨터 비전 & 로보틱스
- 이미지 → 픽셀 벡터화
- 회전/투영 행렬, 자코비안 행렬 등으로 위치/자세 계산
📌 6.6 그래프 분석
- 인접 행렬, 고유벡터 기반 중앙성 계산, 스펙트럴 클러스터링 등
✅ 마무리하며
선형대수는 단순한 수학 이론을 넘어서, 인공지능의 구조와 작동 원리를 이해하는 핵심 언어입니다. 벡터는 데이터를 표현하고, 행렬은 그 데이터를 변환하며, 고유값과 고유벡터는 그 변환의 본질적인 방향과 의미를 드러냅니다. 이 개념들은 뉴럴넷의 학습, 데이터 분석, 차원 축소, 의미 표현 등 AI 전반에 걸쳐 사용됩니다.
선형대수를 제대로 이해하면, 추상적인 AI 모델이 어떻게 작동하는지 꿰뚫어볼 수 있습니다. 그리고 고차원 벡터 공간에서 의미를 다루는 능력이, 결국 실세계의 지능적인 판단을 기계가 수행할 수 있게 하는 열쇠가 됩니다.