Skip to content

Three types of errors

세상의 많은 일들은 부분적으로 알려진 함수 \(f\)를 잘 알려진 함수 \(g\)로 대체하고자 하는 과정입니다. 예를 들어 \(f\)가 이전 대화 내용을 입력으로, 답변을 출력으로 내놓는 함수라고 하겠습니다. (출력 값이 유일하지 않으므로 수학적으로 함수는 아닙니다.) OpenAI는 함수 \(f\)를 위해 Chat-GPT를 \(g\)로써 제안한 셈입니다.

함수 \(g\)를 찾는 과정에서 크게 세 가지 종류의 에러가 발생합니다. (PINNs 입장에서) 중요한 순서대로 나열하겠습니다.

  • Optimization error
  • Estimation error
  • Approximation error

본 장에서는 각 error의 (informal) 정의와 의의를 다룹니다.

Approximation error

함수 \(g\)는 보통 어떤 집합 \(\mathcal{G}\) 안에 속해 있습니다. Fully connected neural network를 예로 들어보겠습니다. Network의 넓이 (width), 깊이 (depth), 그리고 activation function이 정해지고 나면, network parameter \(\theta\)가 함수를 결정합니다. 이 때 \(\mathcal{G} = \{g_\theta: \theta\in \mathbb{R}^p\}\)라고 할 수 있습니다.

Approximation error는 다음과 같이 정의합니다.

\[ \varepsilon = \inf_{g_\theta \in \mathcal{G}}\| f - g_\theta\|. \]

즉, \(\mathcal{G}\)라는 set 안의 모든 candidate \(g_\theta\) 중에서 가장 좋은 것과 \(f\) 사이의 거리라는 뜻입니다. 다른 말로 표현하면 approximation error가 작을 수록 model class \(\mathcal{G}\)의 expressibility가 크다는 뜻이 됩니다. 함수의 크기 \(\| \cdot \|\)를 어떻게 정의하느냐에 따라 \(\varepsilon\)의 값이 달라질 수 있지만, 여기서는 넘어가겠습니다.

Estimation error

\(f\)는 부분적으로 주어져 있습니다. 따라서 우리에게 주어진 data인 집합 \(\{(x_i, f(x_i)): i=0, \dots, N\}\)은 유한집합입니다. 데이터가 유한함에서 오는 error가 estimation error입니다.

원래 우리가 minimize하고 싶은 함수를

\[ \mathcal{L}(\theta) = \int (f(x) - g_\theta(x))^2dx \]

라고 하면, 데이터의 유한함으로 인해 대신

\[ L(\theta) = \sum_{i=0}^N(f(x_i) - g_\theta(x_i))^2 \]

을 최소화하게 됩니다. 적분을 sum으로 표현할 수밖에 없는 상황에서 estimation error가 발생한다고 보시면 됩니다.

PINN의 관점으로 돌아와서, 우리의 목적은 PDE의 solution을 찾는 것입니다. 어떻게 보면 explicit한 데이터가 없고 physical law만 주어진 상황입니다. 이 경우, PINN loss를 수치적으로 계산하기 위해 quadrature 방법으로 적분을 계산했던 것을 기억해야 합니다. Quadrature는 continuous 적분을 weighted sum으로 근사하는 방법이므로, 필연적으로 error가 있습니다. 따라서 PINN의 경우 역시 estimation error = qudrature error라고 생각할 수 있습니다.

Optimization error

Loss 값을 계산했으면, 이를 줄이는 방향으로 network parameter \(\theta\)를 업데이트 해야 합니다. 하지만 epoch를 아무리 크게 하더라도, round-off error나 non-convexity와 같은 이슈로 인해 얻어진 solution이 최적화 문제의 global solution이라고 볼 수 없습니다. 얻어진 최적화 문제의 solution과 이론상 solution 사이의 차이를 optimization error라고 합니다.

Implications

  • Approximation error는 network의 size를 증가시키면 작아집니다 (Universal approximation theorem).
  • Estimation error는 sample points의 개수를 늘리면 작아집니다.
  • Optimization error는 epoch를 늘리고 learning rate을 줄이면 작아질 수도 있습니다.

하지만 실제로는 이렇게 단순하지만은 않습니다. Approximation error를 줄이기 위해서 network size를 키우면, 찾아야 하는 parameter 개수가 많아지고, 이는 optimization이 어려워질 수도 있음을 이야기 합니다. Approximation error는 줄었지만 optimization error가 증가해서 전체적인 에러는 증가할 수도 있습니다. 따라서 세 에러의 적절한 balance를 찾는 것은 PINN 뿐만 아니라, deep learning, 더 나아가 많은 종류의 numerical computation 문제에 대하여 중요합니다.