테마 선택

📚 지식 노트

AI·하드웨어·주변기기·게임·컴퓨터 시스템·이론 컴퓨터 과학·수학·개발과 운영·보안·응용 분야에 대해 알아 두면 좋은 내용을 정리한 노트다. 위에서 분야를 고르고 아래에서 노트를 고른다.

AI를 위한 수학

머신러닝과 딥러닝 설명에 자꾸 나오는 벡터·행렬, 미분과 연쇄 법칙, 확률과 베이즈, 엔트로피, 최적화를 작은 숫자 예로 직접 계산해 보고, 각각이 AI의 어디에 쓰이는지 잇는다.

목차 (16)
  1. 벡터와 내적: 비슷함을 재는 방법
  2. 행렬: 공간을 바꾸는 함수
  3. 연립방정식과 계수
  4. 고윳값과 고유벡터, 그리고 PCA
  5. SVD와 저랭크 근사
  6. 미분, 편미분, 기울기
  7. 연쇄 법칙과 계산 그래프
  8. 확률 변수, 기댓값, 분산
  9. 자주 쓰는 분포: 베르누이와 정규 분포
  10. 베이즈 정리: 증거로 믿음을 고치기
  11. 최대 가능도: 자료가 가장 그럴듯해지는 파라미터
  12. 정보 이론: 엔트로피, 교차 엔트로피, KL 발산
  13. 소프트맥스와 log-sum-exp
  14. 최적화: 볼록성, 학습률, 모멘텀
  15. 어디에 쓰이나
  16. 핵심 자료

벡터와 내적: 비슷함을 재는 방법

AI는 글자·그림·소리를 모두 숫자 목록, 곧 벡터로 바꿔 다룬다. 벡터는 공간의 한 점이자 원점에서 그 점으로 가는 화살표다. 두 벡터의 내적 a·b = a₁b₁ + a₂b₂ + …는 성분끼리 곱해 더한 값이고, 기하학적으로는 ‖a‖‖b‖cos θ, 곧 길이 두 개와 사이 각의 코사인을 곱한 것과 같다.

그래서 내적을 두 길이로 나누면 방향만 남는다. 이것이 코사인 유사도다. 같은 방향이면 1, 직각이면 0, 반대면 −1이다. 문장 임베딩끼리 비교할 때 길이(문장이 길어서 커진 값 등)에 흔들리지 않고 "무엇에 관한 글인가"만 보고 싶어 이 값을 쓴다. 아래 장난감 벡터에서 축구 경기 결과과 야구 중계은 0.98, 축구 경기 결과과 라면 맛집은 0.38다. 임베딩이 어떻게 학습되는지는 딥러닝 노트, 임베딩을 모아 빠르게 찾는 벡터 검색은 데이터베이스 노트에 있다.

문장 세 개를 2차원 벡터로 둔 그림. 축구와 야구 벡터는 거의 같은 방향이고 라면 벡터는 다른 방향이다. 오른쪽에 쌍마다 코사인 유사도를 적었다운동 →음식 ↑축구 경기 결과 (4, 1)야구 중계 (3, 1.5)라면 맛집 (0.5, 3.5)cos θ = a·b / (‖a‖‖b‖)축구 · 야구0.98내적 13.5 · 각도 13°축구 · 라면0.38내적 5.5 · 각도 68°야구 · 라면0.57내적 6.8 · 각도 55°‖축구‖ = 4.12, ‖라면‖ = 3.54길이와 상관없이 방향만 본다
'운동'과 '음식' 두 특징으로 만든 2차원 장난감 문장 벡터. 같은 주제는 같은 방향을 가리켜 코사인 유사도가 1에 가깝다. 실제 임베딩은 수백~수천 차원이지만 계산은 같다.

행렬: 공간을 바꾸는 함수

행렬은 숫자를 직사각형으로 늘어놓은 표지만, 더 쓸모 있는 관점은 "벡터를 받아 다른 벡터를 돌려주는 함수"다. 2×2 행렬의 첫 열은 x축 단위 벡터 e₁이, 둘째 열은 y축 단위 벡터 e₂가 옮겨 가는 곳이다. 나머지 모든 점은 이 둘의 조합이므로 따라 움직이고, 격자는 평행을 유지한 채 늘고 기운다. 이렇게 직선과 원점을 보존하는 변환을 선형 변환이라 한다.

행렬식(det)은 이 변환이 넓이를 몇 배로 바꾸는지다. 0이면 평면이 선이나 점으로 짓눌려 정보가 사라지고, 음수면 앞뒤가 뒤집힌다.

왼쪽 정사각 격자가 행렬을 지나 오른쪽처럼 가로로 늘고 기울어진 격자가 된다. 색칠한 단위 정사각형은 넓이가 행렬식만큼 바뀐 평행사변형이 된다변환 전: 정사각 격자변환 뒤: A = [1.5 0.5; 0 1]e₁e₂Ae₁ = (1.5, 0)Ae₂ = (0.5, 1)A를 곱함넓이 1인 정사각형 → 넓이 det A = 1.5열 = 기저 벡터가 가는 곳
행렬 A의 두 열이 e₁, e₂가 가는 곳이다. 격자 전체가 따라 움직이고, 넓이 1인 정사각형은 넓이 det A인 평행사변형이 된다.

행렬 곱 AB는 "B를 먼저 하고 그다음 A를 하는" 변환 하나다. 순서가 중요하다. 90° 회전 R = [0 -1; 1 0]과 가로 2배 늘이기 S = [2 0; 0 1]에서 RS = [0 -1; 2 0]지만 SR = [0 -2; 1 0]로 다르다. 신경망의 한 층은 입력 벡터에 가중치 행렬을 곱하고(선형 변환) 비선형 함수를 씌운 것이며, GPU가 하는 일의 대부분이 이 행렬 곱이다.

연립방정식과 계수

미지수 여러 개를 식 여러 개로 푸는 연립방정식은 Ax = b로 쓸 수 있다. 행렬 A가 x를 b로 보내는 변환이니, "어떤 x가 b로 가는가"를 묻는 셈이다. 식 하나가 평면 위의 직선 하나이므로, 해는 직선들이 만나는 점이다.

계수(rank)는 행렬의 열(또는 행) 가운데 서로 독립인 것의 수, 곧 변환 뒤에 남는 차원의 수다. 2×2 행렬의 계수가 2이면 평면이 평면으로 가서 해가 하나 있고, 계수가 1이면 한 식이 다른 식의 배수라 직선이 겹치거나(해가 무수히 많음) 평행하다(해가 없음). 머신러닝에서는 특징끼리 거의 겹치는(다중공선성) 자료가 계수가 모자란 행렬을 만들어 선형 회귀의 해가 불안정해지고, 이를 규제(릿지)로 다스린다.

왼쪽은 두 직선이 한 점에서 만나 해가 하나인 연립방정식, 오른쪽은 두 직선이 평행해 해가 없는 연립방정식이다해가 하나: 계수 22x + y = 5x + 3y = 10해가 없음: 계수 1x + 2y = 42x + 4y = 4(1, 3)좌변이 정확히 2배
왼쪽: 두 직선이 (1, 3)에서 만나 해가 하나다. 오른쪽: 둘째 식의 좌변이 첫째 식의 2배라 계수가 1이고, 우변이 맞지 않아 두 직선이 평행하다.

고윳값과 고유벡터, 그리고 PCA

변환을 해도 방향이 바뀌지 않고 길이만 λ배가 되는 벡터를 고유벡터, 그 배율 λ를 고윳값이라 한다(Av = λv). 행렬이 하는 일을 "이 방향으로는 λ₁배, 저 방향으로는 λ₂배"로 쪼개 보여 주는 셈이다. 대칭 행렬이면 고유벡터들이 서로 직각이다.

주성분 분석(PCA)은 이를 자료에 쓴다. 자료의 공분산 행렬(특징끼리 함께 변하는 정도)은 대칭이고, 그 고유벡터가 자료가 가장 넓게 퍼진 방향(주축), 고윳값이 그 방향의 분산이다. 고윳값이 큰 축 몇 개만 남기고 그 위로 투영하면 정보를 크게 잃지 않고 차원을 줄일 수 있다. 시각화, 노이즈 줄이기, 임베딩 압축에 쓴다.

비스듬히 퍼진 점 열 개와 그 첫 주축(긴 화살표), 둘째 주축(짧은 화살표). 점에서 첫 주축으로 내린 수선이 투영이다PC1PC2① 공분산 행렬 C[14.2 10.2; 10.2 8.7]② Cv = λv 를 푼다λ₁ = 21.96, v₁ = (0.79, 0.61)λ₂ = 0.89, v₂ = (0.61, −0.79)③ 설명된 분산 λᵢ / (λ₁ + λ₂)PC1 96.1% · PC2 3.9%파란 점: 첫 주축 위로 투영한 자리.2차원 → 1차원으로 줄여도분산 대부분이 남는다.
점 열 개의 공분산 행렬을 고윳값 분해했다. 첫 주축이 분산의 대부분을 설명하므로 점을 그 축 위로 투영(파란 점)해 1차원으로 줄여도 퍼진 모양이 거의 남는다. 화살표 길이는 √λ에 비례한다.

SVD와 저랭크 근사

고윳값 분해는 정사각 행렬에만 쓸 수 있다. 특이값 분해(SVD)는 어떤 m×n 행렬도 A = UΣVᵀ로 쪼갠다. 회전(Vᵀ) → 축마다 늘이기(Σ, 대각선의 특이값 σ) → 회전(U)이다. 특이값을 큰 순서로 k개만 남기면, 계수 k인 행렬 가운데 원래 행렬에 가장 가까운 것이 된다(에커트–영 정리).

아래 6×6 표(값 36개)는 랭크 1이면 오차 35.6%, 랭크 2면 4.6%로 줄어든다. 랭크 2 근사는 u·v 벡터와 σ 두 벌, 값 26개면 된다. 큰 그림일수록 아끼는 비율이 커진다.

십자 무늬의 6×6 밝기 표와, 특이값 하나만 남긴 근사(흐릿한 덩어리), 두 개를 남긴 근사(원본과 거의 같은 십자)원본값 36개랭크 1 근사값 13개 · 오차 35.6%랭크 2 근사값 26개 · 오차 4.6%특이값 σ = 35.2, 13.3, 1.4, 1.0, 0.3, 0.0랭크 k 근사는 u·v(6개씩)와 σ를 k벌만 저장한다.
특이값 첫째는 전체 밝기의 큰 덩어리를, 둘째는 십자 모양을 담는다. 나머지 특이값은 노이즈 수준이라 버려도 거의 같아 보인다. 오차는 프로베니우스 노름의 비율이다.

LLM을 미세 조정하는 LoRA가 이 생각을 쓴다. 4096×4096 가중치(16,777,216개)를 통째로 고치는 대신, 바뀌는 양이 저랭크라고 보고 4096×8과 8×4096 행렬 두 개(65,536개, 0.39%)만 학습한다. 자세한 이야기는 LLM 노트에 있다.

미분, 편미분, 기울기

미분은 입력을 아주 조금 바꿨을 때 출력이 몇 배로 바뀌는지다. f(x) = x²이면 f′(x) = 2x라서, x = 3에서 x를 0.001 늘리면 f는 약 0.006 는다. 입력이 여러 개면 하나만 움직이고 나머지는 고정한 미분, 곧 편미분 ∂f/∂x, ∂f/∂y를 구한다. 이를 모은 벡터가 기울기(gradient) ∇f다.

기울기는 함수가 가장 가파르게 오르는 방향을 가리키고, 그 길이가 가파른 정도다. 등고선과는 늘 직각이다. 학습이란 손실 함수의 기울기를 구해 그 반대쪽(−∇f)으로 조금씩 가는 경사 하강이며, 학습률과 미니배치 같은 실제 요령은 머신러닝 노트에서 다룬다.

가로로 길쭉한 타원 등고선 네 개와, 등고선 위 다섯 점에서 바깥쪽으로 등고선에 수직하게 뻗은 기울기 화살표1369(1, 1)f(x, y) = x² + 3y²∂f/∂x = 2x, ∂f/∂y = 6y(1, 1)에서∇f = (2, 6)수치 미분: (2.000, 6.000)y 쪽이 3배 가팔라 화살표가세로로 더 길다.경사 하강은 −∇f 쪽(안쪽)으로조금씩 걸어 바닥에 닿는다.
f(x, y) = x² + 3y²의 등고선(숫자는 f 값)과 몇 점의 기울기 화살표. 화살표는 등고선에 수직이고, y 방향이 더 가팔라 세로 성분이 크다. 수치 미분(아주 작은 차이로 나눈 값)과 공식이 같다.

연쇄 법칙과 계산 그래프

함수를 이어 붙인 합성 함수의 미분은 각 단계 미분의 곱이다. y = f(g(x))면 dy/dx = f′(g(x)) · g′(x). 이것이 연쇄 법칙이다. "x를 조금 바꾸면 g가 g′배로 바뀌고, 그 변화가 다시 f′배로 불어난다"고 읽으면 된다.

신경망은 곱하기·더하기·활성화 함수 같은 작은 연산을 수백만 개 이어 붙인 것이다. 이 연산들을 노드로 그린 계산 그래프에서, 각 노드는 자기 입력에 대한 국소 미분만 알면 된다. 출력에서 출발해 뒤에서 온 기울기에 국소 미분을 곱해 앞으로 넘기면 모든 입력의 기울기가 한 번에 나온다. 이것이 딥러닝 노트의 역전파이고, PyTorch 같은 프레임워크의 자동 미분이 하는 일이다.

x와 w가 곱하기 노드로, 그 결과와 b가 더하기 노드로, 다시 제곱 노드를 거쳐 L이 되는 계산 그래프. 단계마다 값과 기울기가 나타난다xw×b+( )²L= 2= −3b = 4u = −6v = −2= 4∂L/∂v = −4∂L/∂u = −4∂L/∂b = −4∂L/∂x = 12∂L/∂w = −8국소 미분: d(v²)/dv = 2v국소 미분: ∂(u + b)/∂u = ∂(u + b)/∂b = 1국소 미분: ∂(w·x)/∂w = x, ∂(w·x)/∂x = w
1 / 7

입력 x = 2, w = −3, b = 4. 계산을 작은 연산(곱하기·더하기·제곱)의 그래프로 쪼갠다.

연쇄 법칙을 계산 그래프로 본 것. 검은 숫자는 앞으로 계산한 값, 빨간 숫자는 L에 대한 기울기다. 노드마다 자기 국소 미분만 알면 되고, 뒤에서 온 기울기에 그것을 곱해 앞으로 넘긴다.

미분이 곱으로 이어진다는 점이 깊은 신경망의 오랜 골칫거리를 설명한다. 시그모이드 σ의 도함수 σ(1 − σ)는 σ = 1/2일 때 가장 큰 0.25이다(산술–기하 평균 부등식). 층마다 이 값 이하를 곱하면 10층만 지나도 기울기가 0.95 × 10⁻⁶배 이하로 줄어 앞쪽 층이 거의 배우지 못한다. 이것이 기울기 소실이다. 반대로 층마다 1보다 큰 배율이 곱해지면 1.5배씩 10층에 57.7배로 불어나는 기울기 폭발이 된다. 한쪽으로만 포화되는 ReLU, 기울기가 그대로 지나가는 지름길을 둔 잔차 연결, 배치 정규화, 기울기 길이를 문턱에서 잘라 내는 기울기 클리핑이 이를 다스리는 표준 도구다.

확률 변수, 기댓값, 분산

확률 변수는 결과가 우연에 달린 수다. 주사위 눈, 내일 기온, 모델이 내놓는 다음 토큰이 모두 그렇다. 확률 변수가 각 값을 가질 확률을 모은 것을 분포라 한다.

  • 기댓값 E[X] = Σ x·p(x): 값에 확률을 곱해 더한 무게 중심. 주사위 하나는 3.5이다. 손실 함수는 보통 "자료 분포에 대한 오차의 기댓값"이고, 미니배치 평균은 그 추정값이다.
  • 분산 Var[X] = E[(X − E[X])²]: 평균에서 얼마나 퍼졌는지. 주사위 하나는 2.92, 그 제곱근인 표준편차는 1.71다.
  • 독립인 확률 변수를 더하면 기댓값도 분산도 더해진다. 주사위 두 개의 합은 기댓값 7, 분산이 하나일 때의 2배다. 반대로 n개를 평균 내면 분산이 1/n로 준다. 미니배치를 키우면 기울기 추정이 덜 흔들리는 까닭이다.
주사위 하나는 1부터 6까지 막대 높이가 같고, 두 개의 합은 7에서 가장 높은 삼각형 꼴이다. 각 그림에 기댓값 선과 표준편차 범위를 그었다주사위 하나123456E[X] = 3.5Var = 2.92, σ = 1.71주사위 두 개의 합23456789101112E[X] = 7.0Var = 5.83, σ = 2.42
주사위 하나(평평한 분포)와 두 개의 합(7에서 가장 높은 삼각형). 빨간 점선이 기댓값, 칠한 띠가 기댓값 ± 표준편차다. 합의 분산은 하나일 때의 정확히 2배다.

자주 쓰는 분포: 베르누이와 정규 분포

  • 베르누이 분포: 1(성공)이 확률 p, 0이 확률 1 − p인 동전 던지기. 기댓값 p, 분산 p(1 − p). 이진 분류 모델의 출력(스팸일 확률)이 이 분포의 p를 예측하는 것이다. 클래스가 여럿이면 범주형(카테고리) 분포가 되고, 그 확률을 소프트맥스가 만든다.
  • 정규(가우스) 분포: 평균 μ와 표준편차 σ로 정해지는 종 모양. 작은 독립 효과가 많이 더해지면 무엇이든 이 꼴에 가까워진다(중심 극한 정리). 그래서 측정 오차, 가중치 초기값, 확산 모델이 그림에 더하는 노이즈가 모두 정규 분포다(생성 모델 노트). 제곱 오차 손실은 "오차가 정규 분포를 따른다"는 가정의 최대 가능도와 같다.
왼쪽은 0과 1 두 값만 갖는 베르누이 분포 막대, 오른쪽은 종 모양 정규 분포 곡선. 가운데 ±1 표준편차 구간이 칠해져 있다베르누이(p = 0.3)0.700.31E = p = 0.3Var = p(1 − p) = 0.21정규 분포(평균 0)−2σ−1σ0+1σ+2σσ = 1σ = 2±1σ 안: 68.3% · ±2σ 안: 95.4%±3σ 안: 99.7% (σ = 1 기준)
왼쪽: p = 0.3인 베르누이 분포. 오른쪽: 평균 0인 정규 분포(실선 σ = 1, 점선 σ = 2). 칠한 구간은 ±1σ·±2σ이고, 그 안에 들 확률은 적분해 구했다.

베이즈 정리: 증거로 믿음을 고치기

조건부 확률 P(A | B)는 "B가 일어났다는 걸 알 때 A일 확률"이다. 베이즈 정리는 이것을 거꾸로 뒤집는다.

P(가설 | 증거) = P(증거 | 가설) × P(가설) / P(증거)

P(가설)이 증거를 보기 전 믿음(사전 확률), P(가설 | 증거)가 본 뒤의 믿음(사후 확률)이다. 유병률 1%인 병을, 환자의 99%를 양성으로 잡고 건강한 사람의 5%를 잘못 양성으로 내는 검사로 본다고 하자. 양성이 나왔을 때 실제 환자일 확률은 99%가 아니라 16.7%다. 1만 명으로 세면 바로 보인다. 양성 594명 가운데 진짜 환자는 99명뿐이다.

1만 명 가운데 100명이 병이 있고 그중 99명이 양성, 병이 없는 9,900명 가운데 495명이 거짓 양성이다. 양성 594명 가운데 진짜 환자는 99명이다전체10,000명병 있음 1%100명병 없음 99%9,900명진짜 양성 99%99명음성 1%1명거짓 양성 5%495명음성 95%9,405명양성 594명 중 진짜 환자 99명 → P(병 | 양성) = 16.7%검사가 99% 정확해도 병이 드물면 양성 대부분은 거짓 양성이다.
같은 계산을 사람 수로 센 나무. 병이 드물면(사전 확률이 낮으면) 정확한 검사라도 양성 대부분이 거짓 양성이다.

사후 확률은 다음 증거의 사전 확률이 된다. 같은 검사를 독립적으로 한 번 더 해서 또 양성이면 16.7% → 79.8%로 오른다. 스팸 필터(나이브 베이즈), 모델 불확실성을 다루는 베이즈 신경망, 그리고 이상 탐지처럼 드문 사건을 맞히는 분류기의 정밀도가 낮게 나오는 현상(머신러닝 노트의 평가 지표)이 모두 이 계산이다.

최대 가능도: 자료가 가장 그럴듯해지는 파라미터

동전을 10번 던져 앞면이 7번 나왔다. 앞면 확률 p는 얼마로 보는 게 좋을까? 가능도(likelihood) L(p)는 "p가 이 값일 때 지금 본 자료가 나올 확률"이다. 이 경우 L(p) = p⁷(1 − p)³이다. 이것을 가장 크게 만드는 p를 고르는 것이 최대 가능도 추정(MLE)이고, 답은 직관대로 7/10이다.

곱은 다루기 불편하고 작은 수를 많이 곱하면 0으로 뭉개지므로, 보통 로그를 씌워 합으로 바꾼다. 로그는 커지는 순서를 바꾸지 않아 최댓값 자리가 같다. 그리고 최적화 도구는 최소화를 하므로 부호를 바꾼 음의 로그 가능도(NLL)를 손실로 쓴다. 분류의 교차 엔트로피, 회귀의 제곱 오차, LLM의 다음 토큰 예측 손실이 모두 어떤 분포의 NLL이다.

가로축 p(앞면 확률)에 대한 가능도 곡선. p = 0.7에서 가장 높고 p = 0.5에서는 그보다 낮다00.50.71p (앞면이 나올 확률)L앞면 7 · 뒷면 3L(0.7) = 2.22 × 10^−3L(0.5) = 9.77 × 10^−4로그 가능도ln L(0.7) = −6.11ln L(0.5) = −6.93가장 높은 곳 = 앞면 / 전체= 7 / 10 = 0.7
앞면 7, 뒷면 3일 때의 가능도 곡선(가장 높은 점을 1로 맞춰 그렸다). p = 0.7에서 가장 높고, 공정한 동전 p = 0.5는 그 절반도 안 된다.

정보 이론: 엔트로피, 교차 엔트로피, KL 발산

  • 엔트로피 H(P) = −Σ p log p: 결과를 미리 알 수 없는 정도, 또는 결과를 전하는 데 드는 평균 비트 수. 공정한 동전은 1비트, 앞면이 90%인 동전은 0.47비트다. 결과가 뻔할수록 작다.
  • 교차 엔트로피 H(P, Q) = −Σ p log q: 실제 분포는 P인데 Q라고 믿고 부호를 짰을 때의 평균 비트 수. P = (0.5, 0.3, 0.2), Q = (0.4, 0.4, 0.2)면 H(P) = 1.485비트, H(P, Q) = 1.522비트다.
  • KL 발산 KL(P‖Q) = H(P, Q) − H(P): 틀린 믿음 때문에 더 쓰는 비트. 위 예는 0.036비트다. 늘 0 이상이고 P = Q일 때만 0이다. 순서를 바꾸면 값이 달라(KL(Q‖P) = 0.037) 거리가 아니다. VAE의 손실, RLHF에서 원래 모델에서 너무 멀어지지 않게 묶는 항, 지식 증류에 쓰인다.

분류에 교차 엔트로피를 쓰는 까닭: 정답이 원-핫 P = (1, 0, 0)이면 H(P) = 0이라, 교차 엔트로피를 줄이는 것이 곧 KL을 줄이는 것이자 정답 확률의 NLL −ln q를 줄이는 것이다. 예측이 (0.7, 0.2, 0.1)이면 손실은 −ln 0.7 = 0.357내트다. 또 하나, 기울기가 좋다. 시그모이드(또는 소프트맥스) 출력에 교차 엔트로피를 붙이면 로짓에 대한 기울기가 깔끔하게 q − 1이 되어, 틀릴수록 크게 고친다. 제곱 오차를 붙이면 시그모이드의 기울기 q(1 − q)가 곱해져, 정답 확률이 0에 가까운 크게 틀린 예에서 오히려 기울기가 0에 가까워지고 학습이 멈춘다.

왼쪽은 앞면 확률 p에 따른 동전의 엔트로피로 p = 0.5에서 1비트로 가장 크다. 오른쪽은 정답 확률 q가 0에 가까울수록 교차 엔트로피는 크게 치솟고 제곱 오차는 1에서 멈추는 모습이다1.000.47동전 엔트로피 H(p), 비트00.51p (앞면 확률)10정답 확률 q에 대한 손실−ln q(1 − q)²00.5140q = 0.05: 기울기 0.95 대 0.090
왼쪽: 동전의 엔트로피는 p = 0.5에서 1비트로 가장 크다. 오른쪽: 정답 확률 q가 0에 가까울수록 교차 엔트로피(실선)는 끝없이 커지지만 제곱 오차(점선)는 1에서 멈춘다. 아래 줄은 q = 0.05일 때 로짓에 대한 두 손실의 기울기 크기다.

소프트맥스와 log-sum-exp

모델의 마지막 층은 클래스(또는 토큰)마다 아무 실수나 내놓는다. 이를 로짓이라 한다. 소프트맥스 softmax(z)ᵢ = ezᵢ / Σ ezⱼ는 로짓을 모두 양수로 만들고 합이 1이 되게 나눠 확률로 바꾼다. 로짓 (2, 1, 0.1)은 (0.659, 0.242, 0.099)이 된다. 로짓을 온도 T로 나누고 소프트맥스하면 T가 작을수록 가장 큰 값에 쏠리고, 클수록 고르게 퍼진다. LLM의 샘플링 온도가 이것이다.

컴퓨터에서 그대로 계산하면 탈이 난다. 64비트 실수로 e710쯤부터는 무한대가 되어, 로짓이 1000 근처면 ∞/∞ = NaN이 나온다. 모든 로짓에서 최댓값 m을 빼고 계산하면 결과는 똑같고(분자·분모에 같은 e−m이 곱해질 뿐) 가장 큰 항이 e⁰ = 1이라 넘치지 않는다. 손실에 필요한 log Σ ezᵢ도 m + log Σ ezᵢ − m으로 계산한다. 이것이 log-sum-exp 요령이고, 프레임워크가 소프트맥스와 교차 엔트로피를 한 함수로 묶어 제공하는 이유다.

로짓 2, 1, 0.1을 세 가지 온도로 소프트맥스한 막대. 온도가 낮을수록 가장 큰 값에 쏠린다. 오른쪽은 로짓이 1000 근처일 때 그대로 계산하면 NaN이 되고 최댓값을 빼면 제대로 나오는 것을 보여 준다로짓 (2, 1, 0.1) → 확률866650고양이122430개21019여우T = 0.5T = 1T = 2막대 위 숫자는 %로짓 (1000, 999, 998)그대로: e¹⁰⁰⁰ = ∞ → ∞/∞NaN, NaN, NaN최댓값 1000을 빼고: e⁰, e⁻¹, e⁻²0.665, 0.245, 0.090log-sum-exp도 같은 요령:= 1000.408
왼쪽: 같은 로짓도 온도가 낮으면(T = 0.5) 한 클래스에 쏠리고, 높으면(T = 2) 고르게 퍼진다. 오른쪽: 큰 로짓을 그대로 지수화하면 넘쳐 NaN이 되고, 최댓값을 빼면 제대로 나온다.

최적화: 볼록성, 학습률, 모멘텀

함수 그래프 위 두 점을 이은 선분이 늘 그래프 위(또는 위쪽)에 있으면 볼록 함수다. 볼록 함수는 골짜기가 하나뿐이라 경사 하강이 어디서 출발하든 같은 최솟값에 닿는다. 선형 회귀의 제곱 오차, 로지스틱 회귀의 교차 엔트로피가 볼록이다. 신경망의 손실은 볼록이 아니어서 국소 최솟값과 안장점이 수없이 많지만, 실제로는 충분히 좋은 곳에 잘 닿는다는 것이 경험적으로 알려져 있다.

학습률 η는 한 걸음의 크기다. f(x) = x²에서 한 걸음은 x ← x − η·2x = (1 − 2η)x이므로, η가 0.5보다 작으면 부드럽게 줄고, 0.5~1 사이면 부호를 바꾸며 줄고, 1을 넘으면 튀어 나간다. 실제 손실은 방향마다 곡률이 달라 가장 가파른 방향이 학습률의 상한을 정한다.

걸음 수에 따른 x 값. 작은 학습률은 0으로 매끄럽게 줄고, 큰 학습률은 부호를 바꾸며 줄며, 너무 큰 학습률은 부호를 바꾸며 커진다−10−505100510걸음η = 0.1수렴10걸음 뒤 x = 0.43η = 0.9진동하며 수렴10걸음 뒤 x = 0.43η = 1.05발산10걸음 뒤 x = 10.37
f(x) = x²에서 x = 4부터 학습률 셋으로 10걸음. η = 0.1은 매 걸음 0.8배, η = 0.9는 −0.8배, η = 1.05는 −1.1배가 되어 발산한다.

모멘텀은 지난 걸음을 속도처럼 쌓아 두고 거기에 새 기울기를 더한다. 꾸준히 같은 쪽을 가리키는 완만한 방향으로는 가속하고, 부호가 번갈아 바뀌는 가파른 방향의 흔들림은 서로 상쇄된다. 한 방향이 25배 가파른 골짜기 ½(x² + 25y²)에서 같은 학습률 0.035로 손실을 0.001 아래로 떨어뜨리는 데 보통 경사 하강은 152걸음, 모멘텀 0.9는 92걸음이 걸렸다. SGD·모멘텀·Adam의 경로 비교 그림은 딥러닝 노트에 있다.

손실에 가중치 크기에 대한 벌점을 더하는 것이 규제(regularization)다. 가중치 제곱합 λ‖w‖₂²를 더하는 L2 규제(릿지)는 모든 가중치를 0 쪽으로 고르게 줄이지만 정확히 0으로 만들지는 않는다. 절댓값 합 λ‖w‖₁을 더하는 L1 규제(라소, Tibshirani 1996)는 일부 가중치를 정확히 0으로 만들어 쓸모없는 특징을 저절로 골라낸다. λ가 크면 단순한 모델 쪽으로, 작으면 자료에 더 맞추는 쪽으로 기운다.

어디에 쓰이나

수학AI에서 쓰이는 자리
내적·코사인 유사도임베딩 검색, 추천, 어텐션 점수(질의·키의 내적)
행렬 곱신경망의 모든 층, 어텐션, GPU 연산의 대부분
계수·연립방정식선형 회귀의 정규 방정식, 다중공선성과 릿지 규제
고윳값·PCA차원 축소, 시각화, 손실 지형의 곡률(헤시안) 분석
SVD·저랭크 근사LoRA, 모델 압축, 추천 시스템의 행렬 분해
기울기·연쇄 법칙경사 하강, 역전파, 자동 미분
기댓값·분산손실 함수의 정의, 미니배치 노이즈, 초기화·정규화
정규 분포가중치 초기화, 확산 모델의 노이즈, VAE의 잠재 공간
베이즈 정리나이브 베이즈, 불확실성 추정, 드문 사건 탐지의 정밀도
최대 가능도거의 모든 손실 함수의 유도, LLM 사전 학습
엔트로피·교차 엔트로피·KL분류 손실, 퍼플렉서티, VAE, RLHF의 KL 제약, 지식 증류
소프트맥스·log-sum-exp분류 출력, 어텐션 가중치, 샘플링 온도
볼록성·학습률·모멘텀최적화기 선택(SGD·Adam), 학습률 스케줄

핵심 자료

자료요지링크
Mathematics for Machine Learning (Deisenroth · Faisal · Ong)선형대수, 해석 기하, 행렬 분해, 미적분, 확률, 최적화를 머신러닝에 필요한 만큼 묶은 교재. PDF를 무료로 공개한다.책 누리집
3Blue1Brown — Essence of linear algebra행렬을 공간을 바꾸는 함수로 보는 관점을 애니메이션으로 보여 준다. 행렬식·고윳값의 그림이 이 노트의 바탕이다.3Blue1Brown
3Blue1Brown — Essence of calculus미분과 적분, 연쇄 법칙을 공식보다 "조금 바꾸면 얼마나 바뀌나"라는 직관으로 설명한다.3Blue1Brown
Stanford CS229 강의 노트선형 회귀·로지스틱 회귀·지수족·EM 등을 최대 가능도와 경사 하강으로 유도한다. 확률과 최적화가 실제 학습 알고리즘이 되는 과정을 볼 수 있다.Stanford
Goodfellow · Bengio · Courville — Deep Learning, 2~4장선형대수, 확률과 정보 이론, 수치 계산(넘침·조건수·경사 기반 최적화)을 딥러닝에 필요한 범위로 정리했다.공개 교재
Seeing Theory (Brown 대학)확률·분포·베이즈 추론·회귀를 직접 조작하는 그림으로 보여 준다.Brown
Visual Information Theory (Christopher Olah)엔트로피·교차 엔트로피·KL 발산을 부호 길이로 해석해 그림으로 설명한다.저자 블로그
Why Momentum Really Works (Gabriel Goh)모멘텀이 길쭉한 골짜기에서 왜 빨라지는지 이차 함수의 고윳값으로 분석하고, 조작할 수 있는 그림을 붙였다.Distill
Wikipedia — Vanishing gradient problem역전파에서 층마다 미분이 곱해져 기울기가 지수로 줄거나 불어나는 문제와 ReLU·잔차 연결·정규화·클리핑 같은 대책.Wikipedia
Wikipedia — Lasso (statistics)L1 벌점이 일부 계수를 정확히 0으로 만들어 변수를 고르고, L2(릿지)는 줄이기만 한다는 차이를 다룬 항목.Wikipedia