[kakao x goorm] 생성 AI 응용 서비스 개발자 양성 과정/회고록

[kakao x goorm] 극한, 연속, 미분 수학

Hoonia 2025. 4. 1. 17:04

 

 

오늘 배운 극한(Limit), 연속(Continuity), 미분(Differentiation)은 모델 학습, 최적화, 수렴 판단 등 실전 개발 전반에 영향을 미치는 개념이다.

1. 극한(Limit): 함수의 경향을 파악하는 눈

1-1. 극한의 정의

극한은 변수 \( x \)가 어떤 값 \( a \)에 가까워질 때, 함수 \( f(x) \)가 가까워지는 값을 의미한다.

\[ \lim_{x \to a} f(x) = L \]

1-2. 수렴과 발산

  • 수렴 (Convergence): 극한값이 존재하고 유한
  • 발산 (Divergence): 극한값이 존재하지 않거나 무한

1-3. AI와의 연결: 손실 함수의 수렴

머신러닝 학습은 손실 함수가 반복 학습을 거치며 점차 0에 수렴하는 과정이다.

\[ \lim_{epoch \to \infty} Loss(epoch) = 0 \]

1-4. 좌극한과 우극한

좌극한과 우극한이 다르면 극한이 존재하지 않는다.

\[ \lim_{x \to a^-} f(x), \quad \lim_{x \to a^+} f(x) \]

Python 예제

from sympy import limit, Symbol

x = Symbol('x')
f = 1 / (x + 1)
lim_val = limit(f, x, -1)
print(lim_val)  # 출력: oo (무한대)

2. 함수의 연속(Continuity): 끊김 없이 매끄러운 함수

2-1. 연속의 정의

함수 \( f(x) \)가 \( x = a \)에서 연속이려면 다음을 만족해야 한다.

\[ \lim_{x \to a} f(x) = f(a) \]

2-2. 연속이 중요한 이유

딥러닝에서는 대부분의 함수가 연속이어야 기울기(미분)를 구할 수 있다. 예: ReLU 함수

\[ f(x) = \begin{cases} x & \text{if } x > 0 \\ 0 & \text{if } x \leq 0 \end{cases} \]

Python 예제

import sympy as sp

x = sp.Symbol('x')
relu = sp.Piecewise((x, x > 0), (0, True))
print("ReLU에서 x=0 연속성:", sp.limit(relu, x, 0, dir='-'), sp.limit(relu, x, 0, dir='+'))

3. 최대값과 최소값: 최적화 이론의 기초

3-1. 극값의 조건

극댓값이나 극솟값을 찾으려면 도함수가 0이 되는 지점을 찾고, 2차 도함수로 성질을 판단한다.

\[ f'(x) = 0, \quad f''(x) > 0 \Rightarrow 극솟값, \quad f''(x) < 0 \Rightarrow 극댓값 \]

3-2. AI와의 연결

머신러닝에서는 다음과 같이 손실 함수를 최소화하는 파라미터를 찾는다.

\[ \min_{\theta} L(\theta) \]

Python 예제

from sympy import diff, solve

x = Symbol('x')
f = x**2 - 4*x + 3
f_prime = diff(f, x)
crit_point = solve(f_prime, x)
print("극솟값 x:", crit_point)

4. 미분(Differentiation): 기울기를 통한 최적화

4-1. 미분의 정의

미분은 함수의 순간 변화율(기울기)을 의미한다.

\[ f'(x) = \lim_{h \to 0} \frac{f(x+h) - f(x)}{h} \]

4-2. 도함수 공식 요약

함수 도함수
\( x^n \) \( nx^{n-1} \)
\( \sin x \) \( \cos x \)
\( \cos x \) \( -\sin x \)
\( e^x \) \( e^x \)
\( \ln x \) \( \frac{1}{x} \)

4-3. 손실 함수 미분

예를 들어 \( L(w) = (wx - y)^2 \) 의 도함수는:

\[ \frac{dL}{dw} = 2(wx - y)x \]

이 도함수를 바탕으로 경사하강법을 적용한다:

\[ w := w - \eta \cdot \frac{dL}{dw} \]

Python 예제

w, x, y = sp.symbols('w x y')
L = (w*x - y)**2
grad = sp.diff(L, w)
print("기울기:", grad)

5. 연속성과 미분 가능성의 관계

  • 미분 가능하다 → 연속이다
  • 연속하다고 해서 반드시 미분 가능한 것은 아니다

ReLU 함수는 x = 0에서 연속이지만 미분은 정의되지 않음.
이 경우 프레임워크는 서브그레디언트(sub-gradient)나 근사치를 사용한다.

6. 다항함수 미분 실습

6-1. 기본 공식

\[ \frac{d}{dx}(ax^n + bx^{n-1} + \dots) = anx^{n-1} + b(n-1)x^{n-2} + \dots \]

6-2. 실습 예시

\[ f(x) = 4x^3 - 2x^2 + x - 7 \Rightarrow f'(x) = 12x^2 - 4x + 1 \]

Python 예제

f = 4*x**3 - 2*x**2 + x - 7
f_prime = sp.diff(f, x)
print("도함수:", f_prime)

오늘의 회고

오늘 배운 극한, 연속, 미분은 단순한 수학 지식을 넘어서, AI 모델이 실제로 어떻게 동작하는지 이해하는 핵심 도구라는 걸 다시금 깨달았다.

딥러닝 프레임워크는 자동으로 미분을 수행해주지만, 그 계산의 바탕이 되는 원리를 알고 있어야 손실 함수가 왜 수렴하는지, 어떤 파라미터가 최적값이 되는지, 왜 특정 함수는 학습에 적합한지를 명확히 설명하고 조정할 수 있다.

결국, 수학은 단순한 계산이 아니라AI 모델의 학습 메커니즘을 통제하고 설계할 수 있게 하는 도구라는 점을 느꼈다. 다음에는 이 흐름을 더 확장해, 편미분, 연쇄 법칙, 역전파를 통해 신경망이 어떻게 학습되는지를 수학적으로 정리해보려 한다.