Cholesky 분해 미분을 위한 고속 차단 알고리즘

본 논문은 대규모 양정정(positive‑definite) 행렬에 대한 Cholesky 분해의 미분을 효율적으로 계산하기 위한 새로운 차단(blocked) 알고리즘을 제안한다. 기존의 스칼라 기반 혹은 레벨‑2 BLAS 방식보다 캐시 친화적이며 레벨‑3 BLAS 연산을 활용해 병렬화가 용이한 구조로 설계되었다. 전방(forward) 및 역방향(reverse) 모드 모두 O(N³) 복잡도를 유지하면서, 실험적으로 대형 행렬에 대해 기존 방법보다 …

저자: Iain Murray

본 논문은 대규모 양정정 행렬에 대한 Cholesky 분해의 미분을 효율적으로 수행하기 위한 새로운 차단(blocked) 알고리즘을 제시한다. 서론에서는 Cholesky 분해 L·Lᵀ = Σ 의 정의와, 이를 포함하는 복합 함수 f(x) = g(L(Σ(x))) 와 같은 연산 흐름에서 미분이 필요함을 설명한다. 전통적인 접근법은 스칼라 기반 자동 미분이나 레벨‑2 BLAS 연산을 이용한 구현이었으며, 이는 O(N³) 복잡도는 유지하지만 캐시 효율이 낮고 병렬화가 어려워 실제 실행 시간에서 큰 손실을 초래한다. 2절에서는 자동 미분의 전방(forward) 및 역방향(reverse) 모드 개념을 정리하고, 행렬 체인 규칙을 이용해 전체 미분을 어떻게 분해할 수 있는지 설명한다. 전방 모드에서는 입력 행렬 Σ 에 대한 민감도 ˙Σ 를 이용해 L 의 민감도 ˙L 를 구하고, 이를 통해 최종 목적함수 f 에 대한 미분 ˙f 를 계산한다. 역방향 모드에서는 최종 목적함수에 대한 L 의 민감도 ¯L 를 시작점으로, Σ 에 대한 민감도 ¯Σ 를 역전파한다. 두 모드 모두 O(N³) 연산량으로 구현 가능하지만, 전방 모드는 입력이 여러 개인 경우 D번 반복해야 하는 반면, 역방향 모드는 한 번의 역전파로 모든 입력에 대한 미분을 얻을 수 있다. 3절에서는 수식적 접근을 통해 Cholesky 분해 미분의 닫힌 형태를 도출한다. 전방 모드에서는 dΣ = dL·Lᵀ + L·dLᵀ 라는 기본 변분식을 L⁻¹·dΣ·L⁻ᵀ 로 변형하고, 삼각화 연산 Φ 를 적용해 dL = L·Φ(L⁻¹·dΣ·L⁻ᵀ) 를 얻는다. 이는 ˙L = L·Φ(L⁻¹·˙Σ·L⁻ᵀ) 로 전방 업데이트 규칙을 제공한다. 역방향 모드에서는 ¯Σ = S + Sᵀ – diag(S) 라는 식을 얻으며, 여기서 S = L⁻ᵀ·Φ(Lᵀ·¯L)·L⁻¹ 이다. 또한, 전체 미분 행렬 ∂vech(L)/∂vech(Σ) 를 Z·(L⁻¹⊗L⁻¹)·(I⊗L) 형태로 표현해 이론적 분석에 활용할 수 있음을 보여준다. 하지만 이러한 대형 행렬을 직접 다루는 것은 Θ(N⁴) 메모리와 연산을 요구하므로 실용적이지 않다. 4절에서는 차단 알고리즘을 설계한다. LAPACK 의 DPOTRF 루틴은 레벨‑3 BLAS 연산을 이용해 블록 단위로 Cholesky 분해를 수행한다. 저자는 이 루틴을 그대로 사용하면서, 각 블록 단계에 대해 앞서 도출한 Φ 기반 전방·역방향 업데이트를 삽입한다. 구체적으로, 레벨‑2 루틴인 DPOTF2 를 차단 형태로 재구성하고, 각 블록에 대해 L⁻¹·˙Σ·L⁻ᵀ 를 계산한 뒤 Φ 를 적용해 ˙L 를 얻는다. 역방향에서는 ¯L 로부터 ¯Σ 를 구하는 과정에서도 동일한 블록 연산을 활용한다. 이러한 차단 방식은 메모리 접근 패턴을 최적화하고, 멀티코어 환경에서 BLAS 레벨‑3 연산의 병렬성을 그대로 활용할 수 있다. 실험에서는 다양한 행렬 크기에 대해 기존 스칼라 기반 자동 미분, 레벨‑2 기반 차단 알고리즘, 그리고 제안된 레벨‑3 차단 알고리즘을 비교한다. 결과는 N≈2000 이상에서는 레벨‑3 차단이 가장 빠르며, 경우에 따라 50배 이상의 속도 향상을 보인다. 반면, N<100 정도의 작은 행렬에서는 심볼릭 업데이트(Φ 를 직접 적용한 식)를 사용한 것이 레벨‑3 차단보다 약간 빠른 것으로 나타났다. 따라서 실제 응용에서는 행렬 크기에 따라 두 방법을 혼합하는 하이브리드 전략이 최적이다. 마지막으로, 저자는 자동 미분 프레임워크가 BLAS 레벨‑3 연산을 인식하도록 확장하는 필요성을 강조한다. 현재 대부분의 자동 미분 도구는 스칼라 연산이나 레벨‑2 연산만을 지원하므로, 고성능 수치선형대수와 결합된 미분이 제한된다. 본 논문의 차단 알고리즘은 이러한 한계를 극복하고, 대규모 공분산 행렬을 다루는 베이지안 통계, 고차원 최적화, 딥러닝 등 다양한 분야에 직접 적용 가능함을 시사한다.

원본 논문

고화질 논문을 불러오는 중입니다...

댓글 및 학술 토론

Loading comments...

의견 남기기