AI는 수학식만으로 돌아가지 않습니다. 실제 학습은 컴퓨터가 거대한 행렬을 반복해서 계산하고, 그 계산을 다시 미분하는 과정입니다. 이때 중요한 것은 단지 식이 맞는가가 아니라, 계산이 빠르고 안정적인가입니다. 수치선형대수는 선형대수 계산을 컴퓨터에서 어떻게 다룰 것인가를 다루고, 자동미분은 복잡한 계산 과정을 어떻게 효율적으로 미분할 것인가를 다룹니다.
먼저 알아둘 말
- 수치선형대수: 선형대수 문제를 컴퓨터에서 효율적이고 안정적으로 푸는 방법을 다루는 분야다.
- 수치오차: 컴퓨터가 실수를 유한한 자릿수로 표현하면서 생기는 오차다.
- 수치적 안정성: 작은 계산 오차가 결과를 지나치게 크게 흔들지 않도록 하는 성질이다.
- 분해: 큰 행렬 문제를 더 계산하기 쉬운 형태로 바꾸는 과정이다.
- 자동미분: 계산 그래프를 따라 정확한 도함수를 효율적으로 구하는 방법이다.
- 계산그래프: 연산들의 연결 구조를 노드와 간선으로 표현한 것이다.
이 강의에서 답할 질문
- 왜 수학적으로 맞는 식이 항상 계산하기 좋은 식은 아닐까?
- 행렬 분해는 왜 선형대수 계산의 핵심 도구일까?
- 자동미분은 수치미분이나 기호미분과 무엇이 다를까?
먼저 떠올릴 장면
- 식으로는 역행렬을 구해서 문제를 풀 수 있어 보여도, 실제 계산에서는 그 방식이 느리고 불안정할 수 있다.
- 작은 차분으로 미분을 근사하면 오차가 생각보다 커질 수 있다.
- 신경망 학습은 사실상 거대한 합성함수의 gradient를 반복해서 구하는 일이다.
즉 이 강의의 핵심은 "수학적으로 맞다"와 "컴퓨터에서 잘 계산된다"는 서로 다른 질문이라는 점입니다.
생각의 순서
- 먼저 왜 계산에서는 오차와 안정성을 따져야 하는지 본다.
- 그다음 행렬을 직접 다루기보다 분해하는 이유를 본다.
- 마지막으로 자동미분이 왜 AI 학습의 핵심 엔진인지 본다.
본문
1. 컴퓨터 계산에서는 오차를 무시할 수 없다
수학에서는 실수를 무한한 정밀도로 다룰 수 있다고 생각합니다. 하지만 컴퓨터는 그렇지 않습니다. 실수를 제한된 비트 수로 저장하므로, 아주 작은 반올림 오차가 항상 생깁니다.
그래서 같은 수학식이라도 계산 순서나 구현 방식에 따라 결과 오차가 달라질 수 있습니다. 이 점이 수치선형대수의 출발점입니다.
즉 질문은 더 이상 "이 식이 참인가?"만이 아닙니다.
- 이 계산이 빠른가?
- 이 계산이 오차에 강한가?
- 입력이 조금 흔들려도 결과가 지나치게 망가지지 않는가?
이런 질문을 함께 봐야 실제 AI 계산이 안정적으로 돌아갑니다.
2. 선형시스템은 역행렬보다 분해로 푸는 것이 보통 낫다
선형시스템
$$ Ax = b $$
를 풀 때, 수학적으로는
$$ x = A^{-1}b $$
라고 쓸 수 있습니다. 하지만 실제 계산에서는 역행렬을 직접 구하는 방식을 보통 선호하지 않습니다.
그 이유는 두 가지입니다.
- 계산량이 크다.
- 수치적으로 불안정할 수 있다.
대신 LU 분해, QR 분해 같은 방법을 씁니다. 이런 방법은 행렬을 계산하기 쉬운 구조로 나눈 뒤, 그 구조를 이용해 선형시스템을 더 효율적이고 안정적으로 풉니다.
즉 핵심은 "식을 예쁘게 쓰는 것"이 아니라 "오차를 키우지 않으면서 문제를 푸는 것"입니다.
3. 분해는 큰 문제를 계산 가능한 문제로 바꾼다
행렬 분해는 복잡한 행렬을 더 단순한 성분으로 나누는 일입니다. 예를 들어 삼각행렬처럼 계산이 쉬운 형태로 바꾸면, 전체 문제를 더 빠르게 풀 수 있습니다.
이 접근이 중요한 이유는 거대한 모델에서는 행렬 계산이 한두 번 일어나는 것이 아니라 계속 반복되기 때문입니다. 한 번의 계산이 조금만 더 안정적이고 효율적이어도, 전체 학습에서는 차이가 크게 누적됩니다.
그래서 수치선형대수는 단지 선형대수의 응용이 아니라, 실제 학습 시스템의 계산 체력을 책임지는 기반 기술입니다.
4. 미분을 구하는 방법은 세 가지로 나눠 생각할 수 있다
이제 미분으로 넘어갑니다. 복잡한 함수를 미분하는 방법은 크게 세 방향으로 생각할 수 있습니다.
첫째, 기호미분은 식을 직접 변형합니다. 사람이 공식을 전개하듯이 미분 공식을 적용해 새로운 식을 만듭니다.
둘째, 수치미분은 아주 작은 차분으로 기울기를 근사합니다.
$$ f'(x) \approx \frac{f(x+h) - f(x)}{h} $$
이 방식은 직관적이지만, h를 너무 작게 잡으면 반올림 오차가 커지고, 너무 크게 잡으면 근사 오차가 커집니다. 즉 정확도와 안정성을 동시에 맞추기 어렵습니다.
셋째, 자동미분은 함수를 이루는 계산 단계를 따라가며 체인룰로 도함수를 구합니다. 이 방식은 근사가 아니라, 계산그래프 위에서 정확한 미분값을 효율적으로 구한다는 점이 중요합니다.
5. 자동미분은 계산그래프와 체인룰을 이용한다
복잡한 함수도 결국 기본 연산들의 연결로 이루어집니다. 더하기, 곱하기, 지수함수, 행렬곱 같은 연산을 하나씩 연결하면 계산그래프를 만들 수 있습니다.
예를 들어 어떤 중간값이 다음 연산의 입력이 되고, 그 결과가 다시 다음 연산의 입력이 되는 구조를 그래프로 표현할 수 있습니다. 자동미분은 이 그래프를 따라 각 연산의 국소 미분을 계산하고, 그것들을 체인룰로 이어 붙입니다.
핵심은 다음입니다.
- 각 작은 연산의 미분은 쉽다.
- 어려운 것은 그것들이 많이 연결되어 있다는 점이다.
- 자동미분은 이 연결을 체계적으로 추적해 전체 미분을 계산한다.
즉 자동미분은 "복잡한 함수를 작은 미분 가능한 조각으로 나누고, 그 조각들을 체인룰로 다시 연결하는 방법"입니다.
6. 역전파는 자동미분의 대표적인 형태다
신경망에서 쓰는 역전파는 자동미분의 한 구현입니다. 순전파에서 계산한 값을 저장해 두었다가, 출력 쪽에서부터 입력 쪽으로 미분 정보를 거꾸로 전파합니다.
이 방식이 특히 중요한 이유는 파라미터가 매우 많아도 gradient를 효율적으로 계산할 수 있기 때문입니다. 손실함수를 각 파라미터별로 따로 미분하는 대신, 계산그래프 전체를 한 번 따라가며 필요한 gradient들을 함께 구합니다.
그래서 역전파는 단순한 구현 기술이 아니라, 대규모 신경망 학습을 가능하게 만든 핵심 아이디어입니다.
7. 수치선형대수와 자동미분은 함께 작동한다
현대 AI 계산에서는 이 둘이 따로 떨어져 있지 않습니다.
- 순전파와 역전파 내부에는 거대한 행렬연산이 있다.
- 그 행렬연산은 수치적으로 안정적이어야 한다.
- 동시에 그 계산 전체는 자동미분 가능해야 한다.
즉 모델 학습은 "행렬을 빠르고 안정적으로 계산하는 문제"와 "그 계산을 다시 효율적으로 미분하는 문제"가 결합된 구조입니다.
8. AI에서는 왜 보이지 않는 기초 체력이라 부를까
사용자는 보통 모델 구조나 손실함수에 주목하지만, 실제 학습 성능은 계산 인프라에도 크게 좌우됩니다.
- 수치적으로 불안정하면 학습이 발산할 수 있다.
- 비효율적인 행렬 계산은 학습 시간을 크게 늘린다.
- 자동미분이 없으면 복잡한 모델의 gradient를 현실적으로 계산하기 어렵다.
그래서 수치선형대수와 자동미분은 눈에 잘 드러나지 않지만, 현대 AI를 가능하게 하는 보이지 않는 기초 체력이라고 볼 수 있습니다.
예제
- 역행렬을 직접 구하지 않는 이유 설명하기 문제: 선형시스템
$$ Ax = b $$
를 풀 때 왜 항상
$$ A^{-1} $$
를 먼저 구하지 않는가? 풀이: 역행렬을 직접 구하는 방식은 계산량이 크고, 수치오차를 더 불안정하게 만들 수 있기 때문이다. 해설: 실제 계산에서는 분해 기반 접근이 더 빠르고 안정적인 경우가 많다.
- 수치미분의 한계 설명하기 문제: 수치미분에서 차분 크기 h를 잡기가 왜 어려운가? 풀이: h가 너무 작으면 반올림 오차가 커지고, 너무 크면 근사 오차가 커진다.
$$ f'(x) \approx \frac{f(x+h) - f(x)}{h} $$
해설: 수치미분은 간단하지만, 정확도와 안정성을 동시에 맞추기 어렵다.
- 자동미분의 장점 설명하기 문제: 자동미분이 신경망 학습에 왜 유리한가? 풀이: 복잡한 합성함수를 계산그래프로 나눈 뒤, 체인룰을 이용해 전체 gradient를 효율적으로 계산할 수 있기 때문이다. 해설: 역전파는 자동미분의 대표적 형태이며, 대규모 학습을 가능하게 만든 핵심 도구다.
스스로 점검
연습 문제
- 수치선형대수에서 왜 오차와 안정성을 함께 봐야 하는지 설명하라.
- 행렬 분해가 직접 역행렬 계산보다 실전에서 유리한 이유를 설명하라.
- 기호미분, 수치미분, 자동미분의 차이를 말하라.
- 계산그래프와 체인룰이 자동미분에서 어떤 역할을 하는지 설명하라.
복습 질문
- 수치선형대수는 어떤 문제의식을 가지는가?
- 자동미분은 왜 근사 미분과 다른가?
- 역전파는 왜 자동미분의 한 형태라고 말할 수 있는가?
체크포인트
- 수학적으로 맞는 식과 계산하기 좋은 식이 다를 수 있음을 이해한다.
- 수치적 안정성의 의미를 설명할 수 있다.
- 자동미분의 기본 직관을 설명할 수 있다.
- 수치선형대수와 자동미분이 AI 계산의 기반이라는 점을 설명할 수 있다.