본문으로 건너뛰기
50 / ANALYSIS LAB
먼저 알아두면 좋아요 · 연결된 선수 단원의 극한·함수·미분·선형사상
단원 목록 (103) · 행렬·trace·logdet 미분
이해하는 속도로 읽으세요.개념도이론실험확인 문제
BUILD YOUR INTUITION

먼저 그림으로 이해하기

한 번에 한 단계씩 살펴보세요.

행렬 미분의 형상과 양의 정부호 정의역을 명시하고 차분으로 검산합니다.

-0.50.51.386축 범위는 현재 값에 맞춰 조절합니다.
가로: A₀₀의 변화 t · 세로: 정의역 안의 logdet(A+tE₀₀)
함수·원래 모형

det A = 3

고정 기준 예제의 그림과 수치입니다. 각 단계에서 같은 그림의 의미를 차례로 살펴보세요. 고정된 기준 예제이며 아래 실험의 설정과 독립적입니다.
1 / 4

미분 형상

dA는 행렬 방향이고 결과는 스칼라입니다.

D logdet[A](E)=tr(A⁻¹E)

실험에서 확인하기 →
이 단원 목차

행렬 방향의 변화는 선형 함수다

스칼라 손실을 행렬 A에 대해 미분할 때 dA는 행렬 모양의 방향이고 dL은 스칼라입니다. Frobenius 내적을 사용하면 gradient의 규약은

dL=⟨∇AL,dA⟩F=tr⁡((∇AL)TdA).dL=\langle\nabla_A L,dA\rangle_F=\operatorname{tr}((\nabla_A L)^T dA).

형상을 먼저 쓰면 전치가 빠지는 오류를 줄일 수 있습니다. 같은 숫자 배열이라도 벡터화 순서와 내적 규약에 따라 표기 방식이 달라질 수 있습니다.

Trace 이차 손실 미분

L(A)=tr(AᵀA)=ΣᵢⱼAᵢⱼ²를 미분하면

dL=2tr⁡(ATdA),∇AL=2A.dL=2\operatorname{tr}(A^T dA),\qquad\nabla_A L=2A.

실습은 A=[[a,b],[b,c]]입니다. 자유 행렬의 gradient 원소는 각각 2Aᵢⱼ지만 b는 두 원소에 동시에 등장하므로 공유 매개변수 b의 도함수는 4b입니다. 대칭 행렬 공간의 미분과 자유 원소 공간의 미분을 같은 입력 형상으로 취급하지 마세요.

Log-determinant의 정의역과 유도

여기서는 실수 SPD 행렬에서 log det A를 다룹니다. A+tE=A(I+tA⁻¹E)를 쓰고 det(I+tM)=1+t tr M+O(t²)를 적용하면

Dlog⁡det⁡A[E]=tr⁡(A−1E),∇Alog⁡det⁡A=A−T.D\log\det A[E]=\operatorname{tr}(A^{-1}E),\qquad\nabla_A\log\det A=A^{-T}.

A가 대칭이면 A⁻ᵀ=A⁻¹입니다. 이 항등식의 일반 가역 행렬 방향 미분과 실수 logdet의 정의역을 구분해야 합니다. 실습은 SPD로 범위를 고정하며 log|det|나 복소 log의 가지 문제를 섞지 않습니다.

2×2 기준 계산

A=[[2,1],[1,2]]의 determinant는 3, 역행렬은 (1/3)[[2,−1],[−1,2]]입니다. E₀₀ 방향의 미분은 역행렬 첫 대각인 2/3입니다.

∂∂alog⁡(ac−b2)=cac−b2.\frac{\partial}{\partial a}\log(ac-b^2)=\frac c{ac-b^2}.

중앙차분은 a를 ±h만큼 바꾼 두 행렬을 사용합니다. 양쪽이 모두 SPD일 때만 계산합니다. 특이 경계에서는 logdet와 도함수를 —로 표시합니다. 한쪽만 정의된 차분을 중앙차분처럼 쓰지 않습니다.

그림과 수치 안정성

그림의 가로축은 A₀₀에 더하는 t이고 세로축은 정의역 안의 logdet입니다. 정의되지 않은 점을 0으로 이어 그리지 않습니다. h=0의 차분도 —입니다. h를 줄이면 절단 오차가 줄어들다가 실제 계산에서는 반올림 오차가 지배할 수 있습니다.

특이점에 가까워지면 역행렬과 도함수의 크기가 커질 수 있습니다. 큰 값이 코드의 오류인지 문제의 조건수 때문인지 구분하세요. 큰 행렬에서는 Cholesky 분해·선형계 풀이 등 안정적인 구현을 사용하고 정의역 확인을 유지해야 합니다.

AI 연결과 확인 문제

가우시안 우도, 공분산 추정, 엔트로피와 logdet 장벽에 이 미분이 나타납니다. 매개화 A=LLᵀ이면 L의 gradient는 연쇄법칙으로 별도로 구해야 하며 A의 gradient를 그대로 복사할 수 없습니다.

  1. A=2I에서 ∂logdet/∂a는? 1/2입니다.
  2. b=1에서 공유 b의 d tr(AᵀA)/db는? 4입니다.
  3. SPD 경계를 넘는 중앙차분으로 정칙 도함수를 검산할 수 있나요? 아니요. 차분 정의역부터 실패합니다.

추가 읽기: MIT 공식 강좌 안내. 강좌 범위를 확인해 보충 자료로 연결하며, 아래의 작은 예제와 논증은 직접 구성했습니다.

CHECK YOUR UNDERSTANDING

설명할 수 있나요?

실험 설정과 무관한 기준 예제를 묻습니다. 답을 고르고 설명을 확인해보세요.

1. 행렬 Frobenius 내적에서 logdet의 gradient는?
2. tr(AᵀA)에서 공유 b의 도함수는?

선택한 답과 학습 표시는 이 브라우저에 저장됩니다. 다시 풀거나 표시를 해제할 수 있습니다.