Mathematics/Calculus 6

상미분 방정식의 종류와 근사해법

Contents 미분 방정식은 딥러닝에서 중요한 방정식 중 하나이다. 딥러닝의 기본 원리는 경사 하강법을 통해 우리가 알 수 없는 함수를 근사하여 최적의 값을 찾는 방식으로 학습한다. 이때 경사 하강법은 미분을 통해 계산되며, 1계 도함수를 이용하여 역전파 알고리즘을 수행하기 때문에 미분 방정식의 개념에 대해서는 숙지하고 있어야 한다. 그렇다면, 이번 목차에서는 미분 방정식의 종류와 근사해법에 대해서 알아보자. 변수분리형 방정식 미지의 함수와 그 도함수들로 구성된 식을 미분방정식이라 부르며, 특히 1변수 함수에 대한 미분으로 표현된 식을 상미분방정식, 다변수 함수에 대한 편미분으로 표현된 식을 편미분방정식이라 분류한다. 실제 딥러닝에서는 다변량을 다루기 때문에 편미분방정식을 사용하지만, 상미분방정식부터 ..

[Calculus] Sigmoid 함수 미분하기

딥러닝에서 활성화 함수를 사용할 때 시그모이드(Sigmoid) 함수를 많이 사용한다. 역전파를 보내기 위해서는 해당 함수의 편미분값을 보내야하기에 이번 글에서는 시그모이드 함수를 수식적으로 미분해보자. 우리가 알고 있는 시그모이드 함수는 다음과 같다. \[ f(x) = \frac{1}{1 + e^{-x}} \] \[ \begin{equation} \begin{split} \frac{df}{dt} = & -\frac{1}{t^2}, \ \ \ (t = 1+e^{-x}) \\ \\ \Rightarrow & \ \frac{1}{(1+e^{-x})^2} \cdot e^{-x} \\ \\ \Rightarrow &\ \frac{1 + e^{-x} -1}{ (1+e^{-x})(1+e^{-x})} \\ \\ \Righ..

[Calculus] 라플라스 변환(Laplace Transform)

라플라스 변환은 수학자 피에르시몽 라플라스의 이름을 따서 지은 이름이며, 미분방정식을 대수방정식으로 변환해주는 녀석이다. 대수방정식은 우리가 일반적으로 알고 있는 $x^2 + x - 2 = 0$과 같은 형태를 의미하고, 미분방정식은 우리가 알지못하는 함수와 그의 도함수, 그리고 이 함수들의 함수값에 관계된 여러 개의 변수들에 대한 방정식을 의미한다. 이전 글에서 다룬 테일러 급수, 매클로린 급수와 같은 녀석이 미분방정식의 예라고 할 수 있다. 미분방정식의 경우 대수방정식에 비해 상대적으로 사람이 이해하기 어렵기에 대수방정식으로 변환하여 인수분해 혹은 근의 공식을 사용하여 쉽게 해를 구하기 위해 라플라스 변환을 사용한다. 라플라스 변환을 통해 미분방정식을 대수방정식으로 변환한 후 대수방정식의 해를 구한 후..

[Calculus] Taylor series 는 무엇일까?

테일러 급수(Taylor series)는 임의의 함수 $f(x)$를 다항함수로 표현하는 것을 일컫는다. 머신러닝이나 딥러닝에서는 실제 데이터의 함수가 어떻게 생겼는지 알지 못한다. 이런 상황에서 임의의 함수 $f(x)$를 다항식으로 근사하여 점 $a$에서의 $f(x)$ 값을 도출할 수 있으며, 항이 많아질수록 근사의 정확도는 높아진다. 우리는 임의의 점 $a$에 대해서 함숫값 $f(a)$가 주어지고, 그의 도함수인 $f^{\prime}(a)$가 주어졌을 때 이웃한 점에서의 함숫값을 추정할 수 있을 것이다. 다만, 테일러 급수에서 주의해야될 점은 $x$에서 근처 임의의 점($a$) 간의 거리가 멀어질수록 큰 오차를 가지게 된다. 그렇기에 점 $x$와 점 $a$ 간의 거리를 최소화 하는 지점을 적절히 선정해..

[Calculus] Jacobian matrix

딥러닝에서는 backpropagation을 통해 가중치를 갱신하여 cost function을 최소화 하는 방향으로 접근한다. 우리는 backpropagation을 수행할 때 미분을 통해 신호를 전달하는 것을 알고 있다. 선형 모델을 미분할 경우 다음과 같은 가중치 벡터($w$)가 산출된다. \[ \frac{\partial w^Tx}{\partial x} = = \frac{\partial x^Tw}{\partial x} = w \] 이차 모델을 미분할 경우 행렬($A, A^T$)과 벡터($x$)의 곱으로 산출된다. \[ \frac{\partial x^TAx}{\partial x} = (A + A^T)x \] 벡터를 스칼라로 미분할 경우 아래와 같은 결과가 도출된다. \[ \frac{\partial \bol..

[Calculus] 수치 미분(numerical differential)

수치미분(Numerical differential)은 함수의 일부분을 다항식으로 변경한 후 변경한 다항식을 미분하는 것이다. 미분에는 해석적미분(Analytical differential)과 수치미분(Numerical differential)이 존재하는데, 해석적미분은 우리가 $\frac{df}{dx}$와 같은 형태로 공식을 통해 논리적인 전개로 하여금 미분을 수행하는 것을 일컫는다. 수치미분은 해석적미분으로는 불가능한 문제를 수치적으로 접근하여 근사하는 방식을 일컫는다. 컴퓨터의 경우 사람과는 다르게 해석적미분이 불가능하기 때문에, 수치적으로 접근해 근사하는 방식을 사용하고 있다. 수치미분은 아주 작은 차분으로 미분함으로써 미분값을 근사하는 방식이다. 실제로 python에서 구현할 때에는 반올림 오차 ..

반응형