미적분학으로 머신러닝을 이해할 수 있는 이유

미적분학은 다양한 머신러닝 알고리즘의 내부 작동을 이해할 수 있도록 하는 머신러닝의 핵심 수학적 개념 중 하나입니다. 

머신러닝에서 미적분학의 중요한 응용 프로그램 중 하나는 역전파와 함께 신경망 모델을 훈련할 수 있는 경사하강법 알고리즘입니다. 

이 자습서에서는 머신러닝에서 미적분학의 필수적인 역할을 알아봅니다. 

이 자습서를 완료하면 다음을 알 수 있습니다.

  • 미적분학은 오류 함수를 최소화하기 위한 경사하강법 알고리즘과 같은 머신러닝 알고리즘의 내부 작동을 이해하는 데 필수적인 역할을 합니다. 
  • 미적분학은 복잡한 목적 함수와 다양한 머신러닝 응용 프로그램을 대표하는 다차원 입력이 있는 함수를 최적화하는 데 필요한 도구를 제공합니다.

튜토리얼 개요

이 자습서는 다음과 같이 두 부분으로 나뉩니다.

  • 머신러닝의 미적분학
  • 머신러닝의 미적분학이 작동하는 이유  

머신러닝의 미적분학

신경망 모델은 얕은 모델이든 깊은 수준이든 입력 집합을 예상 출력에 매핑하는 함수를 구현합니다. 

신경망에 의해 구현된 함수는 신경망이 훈련 데이터의 변형을 모델링하는 데 가장 적합한 가중치 집합을 반복적으로 검색하는 훈련 프로세스를 통해 학습됩니다.

매우 간단한 유형의 함수는 단일 입력에서 단일 출력으로의 선형 매핑입니다.

페이지 187, 딥 러닝, 2019.

이러한 선형 함수는 기울기 m 및 y 절편 c를 갖는 선의 방정식으로 나타낼 수 있습니다.

y = mx + c

각 매개 변수 m과 c를 변경하면 서로 다른 입력-출력 매핑을 정의하는 서로 다른 선형 모델이 생성됩니다.

 

딥러닝에서 가져온 기울기와 절편
을 변화시켜 생성된 다양한 라인 모델의 라인 플롯

 

따라서 매핑 함수를 학습하는 과정에는 이러한 모델 파라미터 또는 가중치의 근사화가 포함되며, 이는 예측된 출력값과 목표 출력 사이의 최소 오차를 초래합니다. 이 오류는 종종 같은 의미로 사용되는 손실 함수, 비용 함수 또는 오류 함수를 통해 계산되며 손실을 최소화하는 프로세스를 함수 최적화라고 합니다. 

함수 최적화 과정에 미분 미적분학을 적용할 수 있습니다.  

미분 미적분학을 함수 최적화에 적용하는 방법을 더 잘 이해하기 위해 선형 매핑 함수를 갖는 구체적인 예로 돌아가 보겠습니다. 

단일 입력 기능 x와 해당 목표 출력 y의 데이터 세트가 있다고 가정해 보겠습니다. 데이터 세트의 오류를 측정하기 위해 예측 출력과 목표 출력 사이에서 계산된 제곱 오차의 합(SSE)을 손실 함수로 사용합니다. 

모델 가중치에 대한 서로 다른 값에 걸쳐 매개 변수 스윕을 수행하고, w0 = m 및 w1 = c는 모양이 볼록한 개별 오류 프로필을 생성합니다.

 

딥러닝에서 가져온 기울기와 절편
에 대한 값 범위를 스윕할 때 생성되는 오차 라인 플롯(SSE) 프로파일

 

개별 오류 프로파일을 결합하면 모양이 볼록한 3차원 오류 표면이 생성됩니다. 이 오류 표면은 가중치 공간 내에 포함되며, 가중치 공간은 모델 가중치와 w0 그리고 w1에 대한 값의 스윕 범위에 의해 정의됩니다.

 

딥러닝에서 기울기와 절편이 모두 변할
때 생성되는 오차(SSE) 곡면의 3차원 플롯

 

이 가중치 공간을 가로질러 이동하는 것은 서로 다른 선형 모델 사이를 이동하는 것과 같습니다. 우리의 목표는 가능한 모든 대안 중에서 데이터에 가장 적합한 모델을 식별하는 것입니다. 최상의 모델은 데이터 세트에서 가장 낮은 오류가 특징이며, 이는 오류 표면의 가장 낮은 지점에 해당합니다. 

볼록 또는 그릇 모양의 오차 표면은 학습 프로세스가 오류 표면에서 가장 낮은 점을 찾는 것으로 구성될 수 있음을 의미하기 때문에 데이터 세트를 모델링하는 선형 함수를 학습하는 데 매우 유용합니다. 이 가장 낮은 지점을 찾는 데 사용되는 표준 알고리즘을 경사하강법이라고 합니다.

페이지 194, 딥 러닝, 2019.

최적화 알고리즘인 경사하강법 알고리즘은 경사 내리막길을 따라 오차 표면의 가장 낮은 지점에 도달하려고 합니다. 이 하강은 오차 표면의 기울기 또는 기울기 계산을 기반으로 합니다.

이것은 미분 미적분학이 그림에 등장하는 곳입니다. 

미적분학, 특히 미분은 변화율을 다루는 수학 분야입니다. 

페이지 198, 딥 러닝, 2019.

보다 공식적으로 최적화하려는 기능을 다음과 같이 표시하겠습니다. 

오차 = f(가중치)

가중치에 대한 오차의 변화율 또는 기울기를 계산함으로써 경사하강법 알고리즘은 오차를 계속 줄이기 위해 가중치를 변경하는 방법을 결정할 수 있습니다. 


머신러닝의 미적분학이 작동하는 이유

최적화를 위해 고려한 오차 함수는 볼록하고 단일 전역 최소값으로 특성화되기 때문에 비교적 간단합니다. 

그럼에도 불구하고 머신러닝의 맥락에서 우리는 종종 최적화 작업을 매우 어렵게 만들 수 있는 더 복잡한 기능을 최적화해야 합니다. 최적화는 함수에 대한 입력이 다차원인 경우 훨씬 더 어려워질 수 있습니다. 

미적분학은 두 가지 문제를 해결하는 데 필요한 도구를 제공합니다. 

최소화하려는 보다 일반적인 함수가 있고 실제 출력 y를 생성하기 위해 실제 입력 x를 취한다고 가정합니다.

y = f(x)

x의 서로 다른 값에서 변화율을 계산하는 것은 y의 해당 변화를 얻기 위해 x에 적용해야 하는 변경 사항을 표시하기 때문에 유용합니다. 

함수를 최소화하기 때문에 우리의 목표는 변화율이 0인 f(x) 값을 가능한 한 낮추는 지점에 도달하는 것입니다. 따라서 글로벌 최소값입니다. 함수의 복잡성에 따라 최적화 알고리즘이 계속 포착 될 수있는 많은 로컬 최소값 또는 안장 지점(saddle point)이 있을 수 있으므로 반드시 가능하지는 않을 수 있습니다. 

딥 러닝의 맥락에서, 우리는 최적이 아닌 많은 국소 최소값과 매우 평평한 영역으로 둘러싸인 많은 안장 지점을 가질 수 있는 기능을 최적화합니다.

페이지 84, 딥 러닝, 2017.

따라서 딥 러닝의 맥락에서 우리는 종종 f(x)의 매우 낮은 값에 해당하는 한 전역 최소값과 반드시 일치하지 않을 수 있는 차선의 해를 받아들입니다.

 

딥러닝에서 가져온 로컬 및 글로벌 최소값
표시를 최소화하기 위한 비용 함수의 선 그림

  

우리가 작업하는 함수가 여러 입력을 취하는 경우 미적분학은 편미분의 개념도 제공합니다. 또는 더 간단한 용어로, 각 입력의 변화에 대한 y의 변화율을 계산하는 방법, xi, 나머지 입력을 일정하게 유지합니다. 

이것이 각 가중치가 경사하강법 알고리즘에서 독립적으로 업데이트되는 이유입니다: 가중치 업데이트 규칙은 각 가중치에 대한 SSE의 부분 도함수에 종속되며, 각 가중치에 대해 다른 부분 도함수가 있기 때문에 각 가중치에 대해 별도의 가중치 업데이트 규칙이 있습니다.

페이지 200, 딥 러닝, 2019.

따라서 오류 함수의 최소화를 다시 고려하면 각 특정 가중치에 대한 오류에 대한 편미분을 계산하면 각 가중치가 다른 가중치와 독립적으로 업데이트 될 수 있습니다. 

이는 또한 경사하강법 알고리즘이 오차 표면 아래의 직선 경로를 따르지 않을 수 있음을 의미합니다. 오히려 각 가중치는 오차 곡선의 로컬 기울기에 비례하여 업데이트됩니다. 따라서, 하나의 가중치는 경사하강법 알고리즘이 함수 최소값에 도달하는 데 필요한 만큼 다른 가중치보다 더 많이 업데이트될 수 있다.  



추가 정보

이 섹션에서는 더 자세히 알아보려는 경우 주제에 대한 더 많은 리소스를 제공합니다.


요약

이 자습서에서는 머신러닝에서 미적분학의 필수적인 역할을 발견했습니다.

특히 다음 내용을 배웠습니다.

  • 미적분학은 변화율 계산을 기반으로 오류 함수를 최소화하는 경사하강법 알고리즘과 같은 머신러닝 알고리즘의 내부 작동을 이해하는 데 필수적인 역할을 합니다. 
  • 미적분학의 변화율 개념은 모양이 반드시 볼록하지 않은 더 복잡한 목적 함수를 최소화하기 위해 이용될 수도 있습니다. 
  • 미적분학의 또 다른 중요한 개념 인 편미분의 계산을 통해 여러 입력을 사용하는 함수로 작업 할 수 있습니다.

네피리티
No Comments

Sorry, the comment form is closed at this time.