이 단원 목차
행렬 방향의 변화는 선형 함수다
스칼라 손실을 행렬 A에 대해 미분할 때 dA는 행렬 모양의 방향이고 dL은 스칼라입니다. Frobenius 내적을 사용하면 gradient의 규약은
형상을 먼저 쓰면 전치가 빠지는 오류를 줄일 수 있습니다. 같은 숫자 배열이라도 벡터화 순서와 내적 규약에 따라 표기 방식이 달라질 수 있습니다.
Trace 이차 손실 미분
L(A)=tr(AᵀA)=ΣᵢⱼAᵢⱼ²를 미분하면
실습은 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²)를 적용하면
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입니다.
중앙차분은 a를 ±h만큼 바꾼 두 행렬을 사용합니다. 양쪽이 모두 SPD일 때만 계산합니다. 특이 경계에서는 logdet와 도함수를 —로 표시합니다. 한쪽만 정의된 차분을 중앙차분처럼 쓰지 않습니다.
그림과 수치 안정성
그림의 가로축은 A₀₀에 더하는 t이고 세로축은 정의역 안의 logdet입니다. 정의되지 않은 점을 0으로 이어 그리지 않습니다. h=0의 차분도 —입니다. h를 줄이면 절단 오차가 줄어들다가 실제 계산에서는 반올림 오차가 지배할 수 있습니다.
특이점에 가까워지면 역행렬과 도함수의 크기가 커질 수 있습니다. 큰 값이 코드의 오류인지 문제의 조건수 때문인지 구분하세요. 큰 행렬에서는 Cholesky 분해·선형계 풀이 등 안정적인 구현을 사용하고 정의역 확인을 유지해야 합니다.
AI 연결과 확인 문제
가우시안 우도, 공분산 추정, 엔트로피와 logdet 장벽에 이 미분이 나타납니다. 매개화 A=LLᵀ이면 L의 gradient는 연쇄법칙으로 별도로 구해야 하며 A의 gradient를 그대로 복사할 수 없습니다.
- A=2I에서 ∂logdet/∂a는? 1/2입니다.
- b=1에서 공유 b의 d tr(AᵀA)/db는? 4입니다.
- SPD 경계를 넘는 중앙차분으로 정칙 도함수를 검산할 수 있나요? 아니요. 차분 정의역부터 실패합니다.
추가 읽기: MIT 공식 강좌 안내. 강좌 범위를 확인해 보충 자료로 연결하며, 아래의 작은 예제와 논증은 직접 구성했습니다.
설명할 수 있나요?
실험 설정과 무관한 기준 예제를 묻습니다. 답을 고르고 설명을 확인해보세요.
선택한 답과 학습 표시는 이 브라우저에 저장됩니다. 다시 풀거나 표시를 해제할 수 있습니다.