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