[딥러닝을 위한 수학] CHAPTER 8. 행렬 미분

[딥러닝을 위한 수학] CHAPTER 8. 행렬 미분

Tags
Math
딥러닝을 위한 수학
Published
February 23, 2025
Author
JH
태그
종류
학문 분야

8.1 공식들

스칼라
벡터
행렬
스칼라
벡터
-
행렬

8.1.1 스칼라 인수 벡터 함수

  • : 스칼라를 받고 벡터를 돌려주는 함수
    • 같은 스칼라 인수 벡터 함수를 벡터값 함수(vector-valued function)라고 부르기도 함
    • 의 도함수를 접벡터(tangent vector)라고 부름
  • 의 도함수는 의 각 성분에 해당하는 함수들의 도함수들로 이루어진 벡터임

8.1.2 벡터 인수 스칼라 함수

  • : 벡터를 받고 스칼라를 돌려주는 함수
    • 이런 함수를 스칼라장이라고 부름
    • 이 함수의 도함수는 기울기임
  • 행렬 미분 표기법에서는 를 다음과 같이 표기함

8.1.3 벡터 인수 벡터 함수

  • : 벡터를 받고 벡터를 돌려주는 함수
    • 함수 는 m성분 벡터 를 받고 n성분 벡터를 돌려주는 함수 의 도함수임
    • 벡터 인수 벡터 함수 의 도함수는 위 둘을 결합한 형태임
    • 의 각 행은 처럼 의 스칼라 함수임. 따라서 위 식을 다음과 같이 표기할 수 있음

8.1.4 스칼라 인수 행렬 함수

  • : 스칼라를 받고 행렬을 돌려주는 함수
    • 인수 에 대한 이 함수의 미분은 다음처럼 각 스칼라 함수의 에 대한 도함수로 구성됨
    • 앞에서 스칼라 인수 벡터 함수의 도함수를 접벡터라고 불렀듯, 스칼라 인수 행렬 함수의 도함수는 접행렬(tangent matrix)이라고 부를 수 있음

8.1.5 행렬 인수 스칼라 함수

  • : 행렬을 받고 스칼라를 돌려주는 함수
    • 분자 중심 표현 접근 방식에서는 도함수 행렬이 의 형태임
    • 위 식은 기울기 행렬(gradient matrix)을 정의함. 기울기 행렬은 기울기 벡터 의 행렬 버전임

8.2 항등식

8.2.1 벡터 인수 스칼라 함수 관련 항등식

  • 다음은 직관적인 기본 법칙들임
    • 위 식은 스칼라 곱셈이 행렬 미분에서도 제7장의 미분과 동일한 방식으로 작용함을 말해주고,
    • 아래 식은 행렬 미분 연산자 역시 제7장의 미분 연산자처럼 선형 연산자임을 뜻함
  • 곱 법칙도 보통의 미분에서와 같음
  • 벡터 인수 스칼라 함수의 연쇄법칙은 다음과 같음
    • 합성 함수 는 스칼라를 받고 스칼라를 돌려주는 함수이고, 는 벡터를 받고 스칼라를 돌려주는 함수임
  • 두 벡터의 내적과 미분에 관해 다음과 같은 항등식이 성립함
    • 이 항등식에서 보듯이, 벡터 의 내적의 도함수는 에 의존하지 않음
    • 다음은 를 벡터값 함수 로 대체해서 위 식을 확장한 항등식임
  • 마지막으로, 두 벡터 함수 의 내적의 도함수는 다음과 같음

8.2.2 스칼라 인수 벡터 함수 관련 항등식

  • 상수 곱셈에 관한 항등식은 다음과 같음
    • 도함수가 열벡터이므로, 왼쪽에서 행렬을 곱할 수 있음
  • 합 법칙과 연쇄법칙 역시 적용됨
    • 스칼라 인수 벡터 함수의 도함수는 열벡터이고 벡터 인수 벡터 함수의 도함수는 행렬이므로 위 식은 옳음
  • 스칼라 인수 벡터 함수들의 내적과 관련한 미분법은 다음과 같음
  • 다음으로, 의 합성의, 에 대한 미분법은 다음과 같음
    • 결과는 행벡터와 열벡터의 내적임

8.2.3 벡터 인수 벡터 함수 관련 항등식

  • 기계학습에서는 역전파 과정에 쓰이는 손실함수(loss function)의 도함수가 바로 벡터 인수 벡터 함수의 도함수임
  • 우선, 다음은 상수 곱셈에 관한 두 항등식임
  • 그리고 다음은 배분법칙임
  • 다음은 연쇄법칙인데, 벡터 인수 스칼라 함수나 스칼라 인수 벡터 함수의 도함수에서와 동일한 형태임

8.2.4 행렬 인수 스칼라 함수 관련 항등식

  • 우선, 다음은 합 법칙임
  • 곱 법칙도 예상대로 작동함
  • 그러나 연쇄법칙은 이전과 좀 다름
    • 행렬 인수 스칼라 함수의 연쇄법칙에는 스칼라를 받고 스칼라를 돌려주는 함수 와 행렬을 받고 스칼라를 돌려주는 함수 가 관여함

8.3 야코비 행렬과 헤세 행렬

  • 위에서 벡터값 함수 의 벡터 에 대한 도함수를 다음과 같이 정의함
    • 이 도함수를 야코비 행렬(Jacobian matrix)이라고 부르고 로 표기함
    • 야코비 행렬을 표기할 때 미분 대상 변수를 첨자로 표기하기도 함 (ex: )

8.3.1 야코비 행렬

  • 야코비 행렬을 기울기들을 쌓은 행렬로 간주할 수 있음
    • 스칼라장, 즉 벡터를 받고 스칼라를 돌려주는 함수의 기울기는 그 함수가 가장 크게 변하는 방향을 가리킴
    • 그와 비슷하게, 야코비 행렬은 벡터값 함수가 어떠한 점 부근에서 어떻게 움직이는지에 관한 정보를 제공함
    • 즉, 벡터값 함수와 야코비 행렬의 관계는 벡터 인수 스칼라 함수와 그 기울기의 관계와 같음
  • 미분과 관련하여, 야코비 행렬은 제7장에서 본 좀 더 구체적인 도함수들의 일반화라고 할 수 있음
    • 함수
      도함수
      , 야코비 행렬
      , 기울기 벡터
      , 직선 기울기(slope)

8.3.1.1 자율 미분방정식

  • 미분방정식(differential equation) : 함숫값들과 도함수가 함께 등장하는 방정식
  • 연립 미분방정식을 하나의 벡터값 함수로 간주할 수 있으며, 그 벡터값 함수의 야코비 행렬은 연립 미분방정식의 임계점(도함수가 0이 되는 점)들을 특징지음
    • 한 예로, 다음과 같은 연립 미분방정식이 있음
    • 이 연립방정식을 다음과 같은 하나의 벡터값 함수로 표현할 수 있음
    • 가 나타내는 연립방정식의 임계점들은 인 점들임. 임계점들은 다음과 같음
    • 임계점을 특징지으려면 의 야코비 행렬이 필요함
    • 먼저, 각 임계점에서의 야코비 행렬을 구함
    • 다음으로, 이 야코비 행렬들의 고윳값들을 계산함
  • 자율 연립 미분방정식 임계점에 대한 야코비 행렬의 고윳값들은 그 임계점의 종류와 안정성을 나타냄
    • 두 고윳값이 모두 실수이고 부호가 같으면, 그 임계점은 마디점(node)임
      • 고윳값들이 0보다 작으면 그 마디점은 안정적이고, 0보다 작지 않으면 불안정함
    • 고윳값들이 실수이지만 부호가 다르면 해당 임계점은 안장점임
      • 안장점은 궁극적으로 불안정한데, 불안정한 방향이 두 개임
      • 일부 연구자들은 심층 신경망 훈련 과정에서 발견되는 대부분의 손실함수 극소점이 실제로는 안장점이라고 믿음
    • 복소 고윳값들은 나선형(spiral) 임계점을 나타냄
      • 고윳값들의 실수부가 0보다 작으면 안정적이고, 그렇지 않으면 불안정함
      • 두 고윳값은 서로의 켤레복소수이므로, 실수부의 부호는 반드시 같음

8.3.1.2 뉴턴 방법

  • 뉴턴 방법(Newton’s method) : 함수의 근들을 구하는 고전적인 방법
    • 뉴턴 방법은 일계도함수와 초기 추측값에서 출발해서 반복적으로 근을 개선해 나감
    • 1차원의 경우에서 뉴턴 방법은 다음과 같은 공식을 이용해서 근을 개선해 나감
      • 여기서 은 해(근)의 초기 추측값임
  • 뉴턴 방법을 벡터 인수 벡터 함수로 확장하려면 위 식의 도함수 역수를 역 야코비 행렬로 대체해야 함
    • 다음은 적당한 초기 추측 벡터 에서 평가한 역 야코비 행렬을 이용하는, 좀 더 일반적인 뉴턴 방법 반복식임

8.3.2 헤세 행렬

  • 야코비 행렬이 단변수 함수의 일계도함수의 일반화라면, 헤세 행렬(Hessian matrix)은 이계도함수의 일반화임
    • 단, 헤세 함수는 스칼라장, 즉 벡터를 받고 스칼라 값을 돌려주는 함수에만 한정됨
    • 함수 에 대한 헤세 행렬은 다음과 같이 정의됨
  • 헤세 행렬은 정방행렬이면서 대칭행렬임
    • 따라서
  • 헤세 행렬은 스칼라장의 기울기의 야코비 행렬임

8.3.2.1 극소점과 극대점

  • 제7장에서 배웠듯이, 이계도함수를 이용하면 주어진 함수의 임계점이 극소점인지() 극대점인지() 알아낼 수 있음
  • 헤세 행렬의 고윳값들을 이용해서 임계점을 특징지을 수 있음
    • 고윳값이 모두 양수이면 임계점은 극소점임
    • 고윳값이 모두 음수이면 임계점은 극대점임
    • 양수와 음수의 고윳값이 섞여 있으면, 임계점은 안장점임

8.3.2.2 최적화

  • 일차 최적화 방법(first-order optimization method) : 전적으로 기울기에만 의존하는 알고리즘
  • 이차 최적화 방법(second-order optimization method) : 헤세 행렬 또는 헤세 행렬을 근사한 행렬을 사용하는 최적화 알고리즘
    • 가 아니라 를 최적화할 때는 이차 최적화 방법이 필요함
  • 테일러 급수 전개(Taylor series expansion) : 임의의 함수를 급수(series), 즉 수열의 모든 항의 합으로 근사하는 기법
    • 일반적으로, 함수 를 점 x = a 부근에서 근사하기 위한 테일러 급수 전개는 다음과 같은 형태임
      • 여기서 의 k계 도함수를 점 a에서 평가한 것임
      • 선형 근사는 의 일계도함수를 사용하고 이차 근사는 이계도함수를 사용함
    • 벡터 인수 스칼라 함수 로 넘어가면, 일계도함수는 기울기가 되고 이계도함수는 헤세 행렬이 됨