본문 바로가기
데이터분석(DA)/빅데이터 기초

02. 미분의 활용 - 미분, 편미분, 경사하강법, 그래디언트

by 왁왁s 2024. 4. 10.

빅데이터에서의 미분

보통의 인공지능에서는 모델을 세우고, 모델이 출력하는 값이 최대 or 최소가 되길 원하는데 이 함수가 복잡하기 때문에 바로 최댓값, 최솟값을 구하기 어렵다. 그때 '미분'을 활용하는 것이다.

 

미분은 개념적으로는 함수가 입력에 대해서 증가하는 정도를 나타내는 것이다. 어떤 상황에서는 기울기로도 해석이 된다. 

 

기울기 계산

함수의 변화율을 이해하여 변수가 함수값에 미치는 영향을 파악한다.

* 기울기를 기반해서 인공지능 모델을 어떤 방향으로 진화시킬지를 결정하는데에도 사용한다.

 

(편)미분

여러 변수에 대한 기울기(함수 변화율)를 계산하여 변수 간 관계 파악

* 변수가 하나가 아닌 여러 개인 경우에 하나의 함수에 대응시키는 상황에서 이 변수가 변할 때는 어떻게 바뀌고, 다른 변수가 변할 땐 어떻게 바뀌고 하는 것을 따져볼 필요가 있는데, 변수마다의  이 함수의 미분을 따지는 편미분도 중요하다

 

경사하강법

함수의 기울기를 이용해서 함수의 최소값일 때 𝑥를 찾는 최적화 알고리즘

* 손실함수를 최적화하는 데 미분이 사용된다.

* 함수의 최솟값과 최댓값을 찾는 것이 힘든 상황에서 함수의 기울기, 미분 값만을 이용해서 모델을 계속해서 업데이트 시키게 되면 결국엔 최적의 모델을 찾게 된다라는 방법이다.

 

뉴튼랩슨법

방정식 𝑓(𝑥) = 0 의 해를 근사적으로 찾는 방법론이다.

* 대표적인 수치해석 방법이다.

 


 

 

미분(Derivative)이란?

함수 𝑓의 극한이 존재할 때, 특정 지점 𝑥에서 𝑓의 미분계수 𝑓'(𝑥)는 아래와 같다.

 

함수를 해석해보면, 𝑥에서 가지는 함숫값과 𝑥+δ 에서 가지는 함숫값이 있는데, 그것을 δ로 나눈다. 𝑥를 기준으로해서 얼마나 값이 변했는지 변화량을 나타내는 것이 δ이다. 

 

입력의 변화량 δ 대비 출력의 변화량 𝑓(𝑥+δ) - 𝑓(𝑥)을 나타내는 값을 변화량 δ을 아주 작은 값, 0으로 보냈을  때 그 순간의 함수가 어떻게 변하는지 나타내는 것을 미분이라고 한다.

 

 

 

미분의 다른 표기법은 위와 같으며, 𝑥가 미세하게 변할 때 함수 𝑓(𝑥)가 얼마나 미세하게 변하는지 비율을 나타내는 것이다.

 

 

편미분(Partial Derivative)이란?

편미분은 변수가 여러 개 있을 때, 함수 𝑓 가 여러 개의 변수를 받아들여 하나의 실수로 대응시키는 함수라고 할 때, 𝑓는 𝑥부터 𝑥ₙ까지의 변수가 미세하게 변할 때 어떻게 변할 것인지를 따져보는 것이 편미분이라고 생각하면 된다. 

 

2개 이상의 독립변수에 대해 원하는 독립변수 외에는 상수로 간주하고 미분하며, 일반화된  n개의 변수에 대한 미분계수는 아래와 같다.

 

𝑥ᵢ가 미세하게 편할 때 함숫값이 얼마나 변하는지를 δ를 0으로 보내면서 따져 보는 것이다. 

 

 

그래디언트(Gradient)란?

편미분을 모은 벡터로 일반적으로 ∇𝑓 로 표기하며 정의는 아래와 같다.

그래디언트는 흔히 경사하강법을 이야기할 때 나오며, 

그래디언트 ∇𝑓(𝑥, 𝑦)의 의미는 (𝑥, 𝑦)의 위치에서 𝑓(𝑥, 𝑦)가 가장 빠르게 증가하는 방향을 의미하며,

-∇𝑓(𝑥, 𝑦)는 𝑓(𝑥, 𝑦)가 가장 빠르게 감소하는 방향을 의미한다.

 

 

경사하강법 (Gradient Descent) 

기울기(경사)를 경사의 반대 방향으로 이동시켜 극값에 이를 때까지 반복하며 탐색 방향을

손실함수가 가장 가파르게 작아지는 방향으로 선택하는 함수이다.

 

현재위치 벡터 𝑥 ⁽ᵏ⁾에서 함수가 가장 빨리 감소하는 방향 −∇𝑓(𝑥 ⁽ᵏ⁾) 으로 학습률(⍺)만큼 이동하여 그 다음 벡터인 𝑥 ⁽ᵏ⁺¹⁾로 이동

-> 그 다음 벡터 𝑥 ⁽ᵏ⁺¹⁾는 현재 벡터 𝑥 ⁽ᵏ⁾에서 그레디언트의 반대방향으로 ⍺ 만큼 움직이게 된다.

 

* 손실함수  𝑓(𝑥)가 볼록함수(Convex function)인 경우, 학습률 ⍺를 충분히 작게 잡아주면 항상 최솟값으로 수렴한다.

* 손실함수  𝑓(𝑥)가 볼록함수(Convex function)가 아닌 경우에는 국소 최솟값으로 수렴한다.

 

 

경사하강법이 인공지능 또는 딥러닝에 활용이 될 경우 경사하강법의 종류가 여러 개로 나뉜다.

 

경사하강법의 종류

배치 경사하강법 가장 기본적인 경사하강법
확률적 경사하강법 배치 사이즈가 1으로 설정된 경사하강법으로, 배치 경사하강법보다 빠른 학습 속도를 보인다.
미니 배치 경사하강법 배치 사이즈가 1과 전체 데이터 수가 아닌 데이터의 뭉치를 넣는 경사하강법으로
빠른 학습 속도, 확률적 경사하강법보다 안정적이기에 딥러닝에 주로 활용된다.

경사하강법은 어렵고 복잡한 함수의 최소가 되는 점을 찾을 때 필연적으로 사용되는 방법이다.

댓글