행렬미분 스터디 1주차 내용 정리

Dyung·2025년 7월 5일

Optimization

목록 보기
1/4

1. 내용

행렬 미분과 행렬 수치연산

2. 교재 설명

첫 번째 레퍼런스는 Paige Bright, Alan Edelman, Steven G. Johnson이 작성한 "Matrix Calculus (for Machine Learning and Beyond)"라는 제목의 렉쳐 노트 논문이다. 이 논문은 2025년 1월 7일에 제출되었으며, MIT의 "Matrix Calculus"라는 단기 렉쳐의 강의록이다. 주로 미적분학을 일반 벡터 공간으로 확장하는 내용을 다루며, 기계 학습 및 대규모 최적화와 같은 실제 계산 응용에 중점을 둔다. 또한, 역방향 미분(역전파) 및 자동 미분(AD) 기술에 대한 효율성 문제와 소개도 포함한다.

  • Matrix Differential Calculus with Applications in Statistics and Econometrics, Heinz Neudecker and Jan R. Magnus.
    https://g.co/kgs/vqxqBFy (서브)

주요 표현

  • Directional derivative

  • Gradient

  • Linear approximation

  • Dot product

  • Partial derivative

  • Linear operator


1 Overview and Motivation

1.1 Applications

주제

행렬 미적분의 실제 응용 분야 (Applications of Matrix Calculus)

핵심 내용

행렬 미적분은 기계학습, 물리 모델링 등 다양한 현대 과학·공학 분야에서 필수적이다 (Matrix calculus is essential in modern fields like machine learning and physical modeling).

세부 내용

기계학습(Machine learning)

  • 파라미터 최적화(parameter optimization), 확률적 경사 하강법(stochastic gradient descent), 자동 미분(automatic differentiation), 역전파(backpropagation) 등에서 행렬 미적분이 핵심 역할을 한다.

  • 물리 모델링(Physical modeling)

  • 대규모 시뮬레이션(large physical simulations)에서 수천~수만 개의 파라미터에 대해 민감도 분석(sensitivity analysis)과 최적화(optimization)에 필수적이다.

  • 예: 비행기 날개 모양 최적화(optimizing the shape of an airplane wing), 토폴로지 최적화(topology optimization) 등.

통계 및 회귀(Statistics and regression)

실험 데이터에 모델을 맞추거나, 불확실한 입력에 대한 출력의 불확실성 평가 등에서 복잡한 미분이 필요하다.


1.2 First Derivatives

주제

행렬 및 벡터 함수의 1차 도함수 (First Derivatives of Matrix and Vector Functions)

핵심 내용

스칼라 함수와 달리, 행렬/벡터 함수의 도함수는 여러 가지 형태(gradient, Jacobian 등)로 나타난다.

세부 내용

스칼라 함수의 도함수(scalar derivative)

  • 전통적 의미의 도함수(derivative)는 수치(숫자)로 나타난다.

벡터 함수의 도함수(derivative of vector functions)

  • 벡터에 대한 도함수는 보통 gradient(그래디언트, 기울기) 또는 Jacobian(야코비안) 행렬로 표현된다.

행렬 함수의 도함수(derivative of matrix functions)

  • 행렬에 대한 도함수는 더 복잡하며, 입력과 출력 모두가 행렬일 때는 미분 결과가 4차원 배열(tensor)이나 적절히 펼친(flattened) 행렬이 될 수 있다.

기본 규칙

단순히 스칼라 미적분 규칙을 확장하는 것이 아니라, 각 상황에 맞는 정의와 규칙이 필요하다.


1.3 Intro : Matrix and Vector Product Rule

주제

행렬 및 벡터 곱셈의 미분 규칙 소개 (Introduction to the Product Rule for Matrices and Vectors)

핵심 내용

행렬/벡터 곱의 미분은 스칼라의 곱의 미분(곱셈의 미분법, product rule)과 유사하지만, 차원과 순서에 주의해야 한다 (The derivative of a matrix/vector product is analogous to the scalar product rule, but dimensions and order matter).

세부 내용

  • 스칼라 곱의 미분(Product rule for scalars)
  • 행렬/벡터 곱의 미분(Product rule for matrices/vectors)

곱의 미분법(product rule)이 적용되지만, 행렬 곱셈의 비가환성(non-commutativity), 차원(dimension), 전치(transpose) 등에 주의해야 한다.

  • 실제 계산에서의 어려움

스칼라와 달리, 행렬/벡터의 곱셈 미분은 각 원소별로 미분하거나, 적절한 행렬 연산 규칙을 적용해야 한다.








2 Derivatives as Linear Operators

2.1 Revisiting single-variable calculus

주제

단변수 미적분 복습 (Revisiting single-variable calculus)

핵심 내용

단변수 함수의 도함수 개념을 다시 살펴보고, 이를 다변수 및 행렬 미적분으로 확장하기 위한 기초로 삼는다 (Review the concept of derivatives for single-variable functions as a foundation for extending to multivariable and matrix calculus).

세부 내용

기본 개념 정리

도함수(derivative)는 함수의 순간 변화율(rate of change)을 측정한다.

대표적 정의는 아래와 같다.

선형 근사(linear approximation)

미분은 함수의 값을 한 점 근처에서 1차 선형 함수로 근사하는 과정이다(linear approximation near a point).

이해의 확장

이러한 단변수 미적분의 아이디어를 다변수 함수, 벡터, 행렬 등 더 복잡한 구조로 확장할 수 있다.


2.2 Linear operators

주제

미분 연산자의 선형성 및 선형 연산자 관점에서의 해석 (Linear operators and the linearity of differentiation)

핵심 내용

미분 연산자는 본질적으로 선형(linear) 연산자이며, 이 성질이 다변수 및 행렬 미적분의 기초를 이룬다 (The derivative operator is fundamentally linear, and this linearity underpins multivariable and matrix calculus).

세부 내용

선형 연산자(linear operator) 정의

선형 연산자는 다음 조건을 만족:
(for all scalars a,b and vectors/functions u,v)

미분의 선형성(linearity of differentiation)

미분 연산자는 선형성을 만족한다:

(The derivative of a linear combination is the linear combination of the derivatives)

미분을 선형 연산자로 해석(derivative as a linear operator)

미분을 단순히 수치가 아닌, 함수 공간에서의 선형 변환(linear transformation on function spaces)으로 해석한다.

이 관점은 다변수 함수, 벡터, 행렬, 더 일반적인 벡터 공간에서의 미분을 정의하는 데 핵심적이다.

확장

이 절에서 다루는 선형 연산자 관점은 뒤이어 나오는 방향 도함수(directional derivatives), 야코비안(Jacobian), 헤시안(Hessian) 등 고차원 미분 개념의 토대가 된다.


2.2.1 Directional derivatives

주제

방향 도함수 (Directional derivatives)

핵심 내용

방향 도함수는 함수의 특정 방향으로의 변화율을 측정한다 (The directional derivative measures the rate of change of a function in a specified direction).

세부 내용

정의(Definition)

주어진 점
x에서 임의의 단위 벡터
v 방향으로의 도함수는 다음과 같이 정의된다:


(The directional derivative of f at x in the direction v)


기하학적 의미(Geometric meaning)

방향 도함수는 함수가 점
x에서 벡터
v 방향으로 얼마나 빠르게 증가(또는 감소)하는지를 나타낸다.


그래디언트와의 관계(Relation to the gradient)

스칼라 값 함수 f의 경우, 방향 도함수는 그래디언트(gradient)와 방향 벡터의 내적(dot product)으로 표현된다:

(The directional derivative equals the dot product of the gradient and the direction vector)


벡터/행렬 함수로의 확장(Extension to vector/matrix functions)

방향 도함수 개념은 스칼라 함수뿐 아니라 벡터 함수, 행렬 함수 등 더 일반적인 함수에도 적용할 수 있다.

이때, 방향 도함수는 해당 함수의 선형 근사(linear approximation)에서 중요한 역할을 한다.


응용(Applications)

최적화(optimization)에서 함수가 특정 방향으로 얼마나 변하는지 파악할 때 사용된다.

기계학습에서 파라미터 공간의 임의 방향으로의 변화율을 계산하는 데 필수적이다.


2.3 Revisiting multivariable calculus, Part 1: Scalar-valued functions

주제

다변수 미적분 복습 1: 스칼라 값 함수
(Revisiting multivariable calculus, Part 1: Scalar-valued functions)

핵심 내용

여러 변수에 대한 스칼라 함수의 미분(gradient, partial derivatives 등) 개념을 정리하고, 이를 선형 연산자 관점에서 재해석한다
(Review the differentiation of scalar-valued functions of several variables—gradients, partial derivatives, etc.—and reinterpret them through the lens of linear operators.)

세부 내용

부분 도함수(Partial derivatives)

f:RnRf : \mathbb R^n \rightarrow \mathbb R 형태의 함수에서 각 변수별로 미분(partial derivative)을 취함:
fxi\displaystyle \frac{\partial f}{\partial x_i}
각 변수 방향으로의 변화율(rate of change in each variable direction)을 의미.


그래디언트(Gradient)
모든 부분 도함수를 벡터로 모은 것이 그래디언트(gradient):

f(x)=(fx1,,fxn)T\nabla f(x) = \left( \frac{\partial f}{\partial x_1}, \cdots, \frac{\partial f}{\partial x_n} \right)^{T}

그래디언트는 함수가 가장 빠르게 증가하는 방향(the direction of steepest ascent)을 나타낸다.


선형 근사(Linear approximation)
다변수 함수 f(x)의 한 점 x 근처에서의 1차 근사는 아래와 같다.
(first-order Taylor expansion in multiple variables)

f(x+h)f(x)+f(x)hf(x + h) \approx f(x) + \nabla f(x) \cdot h

여기서 hh는 벡터이며, f(x)h∇f(x)⋅h는 내적(dot product)이다.


방향 도함수와의 연결(Connection to directional derivatives)

임의의 방향 v에 대한 방향 도함수는 아래와 같다.

Dvf(x)=f(x)vD_{v} f(x) = \nabla f(x) \cdot v

(The directional derivative is the dot product of the gradient and the direction vector)


선형 연산자 관점(Linear operator perspective)
그래디언트는 입력 벡터 h에 대해 선형적으로 작용하는 선형 연산자(linear operator)로 해석할 수 있다. 이 관점은 이후 행렬, 텐서 등 더 복잡한 구조로 미분 개념을 확장하는 데 기초가 된다.








3.Study Note

1. 미분이란 무엇인가?

미분이란 접선의 기울기이다.
다항함수나 이차함수에서는 이 얘기가 맞다.
하지만, 벡터나 다변수 함수로 넘어왔을 때 접선의 기울기만으로 설명하기에는 한계가 있다.

f:R>Rf : |R -> |R 로 가는 미분 가능함수라고 했을 때,
ΔXΔXΔyΔy 사이에 모종의 관계가 있다?

f(x+h)f(x)f(x)[(x+h)x]f(x+h) - f(x) ≈ f'(x)[(x+h)-x]
f(x+h)f(x)=f(x)[(x+h)x]+r(h)f(x+h)-f(x) = f'(x)[(x+h)-x]+r(h)

단, limh>0r(h)/h=0lim h->0 r(h)/h = 0 이어야 한다.

f(x+dx)f(x)=f(x)dxf(x+dx)-f(x) = f'(x)dx

좌변은 df 가 된다
우변 f'(x)dx 의 dx 는 미소변화량 infiniestimal change

2. 어떤 함수 ff를 미분하는 이유는 무엇일까?

f가 비선형 함수이든 어떤 함수이든 간에 상관 없이
값과 미분값만 알고 있다면, 다른 함수값에서의 미분값을 추정할 수 있기 때문이다.

다시 말해, f를 가장 닮은 linear approximation(선형 근사)를 찾기 위함이다.

아래의 1차 테일러 정리는 이러한 사실을 증명하는 좋은 정리이다.
1번 미분이 가능하면 1차 근사 미분만을 하면 됨.
좌변의 값을 정확히 찾을 수 없기 때문에 우변의 값을 추정하여 알아보는 것이다.
f(x+h)=f(x+h) =

3. 행렬 함수의 미분은 무엇이 다른가?

일변수 함수와 다변수 함수에 비해 행렬 함수의 미분은 무엇이 다른가?

f(x)=x2f(x) = x^2 -> f(x)=2xf'(x) = 2x

하지만, x가 아닌 정사각행렬 A에서는 위의 식이 성립하지 않는다.

f(A+ΔA)f(A)=(A+ΔA)2A2f(A+ΔA)-f(A) = (A+ΔA)^2-A^2
=AΔA+ΔAA+(ΔA)2= A * ΔA + ΔAA + (ΔA)^2

df=adA+dAAdf = a* dA+dA*A
2AdA\neq 2A* dA

(단, ΔA는 각 성분들의 변화량이 있는 행렬이라고 함)

크로네커 곱(kronecker product)ⓧ, 벡터화(vectorization)를 통해
df=f(A)dAdf=f('A)dA에서의 f(A)f('A)를 확인하는 것.
F(A)=AIF('A) = AⓧI

f(x)=xTxf(x)=x^Tx은 자기 자신을 내적하는 함수이다.

f(x+Δx)f(x)=(2x)T(Δx)+(Δx)T(Δx)f(x+Δx)-f(x) = (2x)^T(Δx)+(Δx)^T(Δx) (내적은 교환법칙이 성립한다)
df=f(x)dxdf = f'(x)dx
df=2xdf= 2x

4. Differentials & Derivatives

df=f(x)[dx]df = f'(x)[dx]

  • df, dx : differential (vector space 의 원소)
  • f'(x) : derivative (linear map, linear transformation)
  • vector space(VV/R\mathbb{R}) 임의의 x,yVx, y \in V, aRa \in \mathbb{R}
  • Vector : vector space의 원소. 화살표, 함수, 행렬 Random variable 등은 모두 vector이다.

※field : 체, 덧셈 곱셈 항등원 법칙이 성립하는 공간 e.g.정수 실수 유리수 복소수

f(x)=f(x) = n차 이하 다항함수 \Rightarrow f(x):vectorspace{f(x)} : vector space

※ Baisis & Dimention

  • 모든 vector space 는 기저집합을 갖는다. (cardinality)
  • 기저집합 B=V1,...,VnB={V1, ..., Vn}XVX \in V에 대해,
    x=x1r1+x2r2+...+xnvnx=x1r1+x2r2+...+ xnvn인 계수 x1,...xnx1, ... xn이 유일하게 존재한다.
    이때의 행렬 matrix[x1...xn]matrix [x1 ... xn] 을 좌표벡터(Coordinate vector)라고 부른다.

5. Linear Transformation

두 V.S V,WV, W에 대해 함수 T:VWT:V \rightarrow W가 다음을 만족한다고 하자.

임의의 x,yVx,y \in V, aRa \in \mathbb R에 대해서
T(ax+y)=aT(x)+T(y)T(ax+y) = aT(x)+T(y)

T:VWT: V \rightarrow W는 선형 변환이라고 한다.

유한차원 벡터공간에서 V,WV, W의 기저집합이 주어지면
선형 변환 T:VWT:V \rightarrow W는 행렬로 유일하게 표현된다.
이를 선형변환의 행렬표현이라고 한다.

선형변환 중 공역이 실수 집합이면, "선형범함수(linear functional)"라고 한다.


※ linear operator(선형 연산자) : 정의역과 공역이 같은 차원의 벡터공간인 선형 변환
e.g. ) 미분, 적분 역시도 함수에서 함수를 얻어내는 작업이므로 선형 연산자로 볼 수 있다.

f'(x) 는 dx를 input으로 하고 df를 output으로 하는 linear map이다.

f:RRf:\mathbb R \rightarrow \mathbb R
df=f(x)dxdf=f'(x)*dx

f:RnRf : \mathbb R^n \rightarrow \mathbb R
df=f(x)dxdf = f'(x)dx
f(x):linearoperatorf'(x) : linear operator

f:RnRnf : \mathbb R^n \rightarrow \mathbb R^n
df=f(x)dxdf = f('x)dx

  • Riesz representation theorem : 유한 차원 내적 공간에서 모든 선형범함수(e.g.) f:RnRnf : \mathbb R^n \rightarrow \mathbb R^n)는 내적으로 표현된다.

6. Gradient 의 정의

df=f(x)[dx]=<?,dx>df = f'(x)[dx] = < ? , dx >
? 에 들어가는 vector를 gradient라고 한다. (f(x))(\bigtriangledown f(x))

df=f(x)[dx]=<f(x),dx>=(f(x))T(dx)df = f'(x)[dx] = <\bigtriangledown f(x), dx> = (\bigtriangledown f(x))^T(dx)
여기서 f(x)T=f(x)\bigtriangledown f(x)^T = f'(x)이다.

f의 자코비안 행렬 f'은 fT\bigtriangledown f^T 이다.

편미분
df=f(x)Tdx=af/ax1dx1+...+af/axndxndf = \bigtriangledown f(x)^Tdx = af/ax1 * dx1+...+ af/axn*dxn
f=matrix[af/ax1...af/axn]\bigtriangledown f = matrix[af/ax1 ... af/axn]

profile
AI / NLP / NLU

0개의 댓글