🤖

본 콘텐츠의 이미지 및 내용은 AI로 생성되었습니다.

⚠️

본 콘텐츠의 이미지 및 내용을 무단으로 복제, 배포, 수정하여 사용할 경우 저작권법에 의해 법적 제재를 받을 수 있습니다.

이미지 로딩 중...

미분과 기울기 완벽 가이드 - 슬라이드 1/7
A

AI Generated

2025. 11. 28. · 15 Views

미분과 기울기 완벽 가이드

머신러닝의 핵심 개념인 미분과 기울기를 초급 개발자도 이해할 수 있도록 쉽게 설명합니다. 수학 공식보다 직관적인 이해에 초점을 맞추어 손실 함수 최적화까지 연결합니다.


목차

  1. 미분의_정의와_의미
  2. 기울기란_무엇인가
  3. 기본_미분_공식
  4. 합성_함수의_미분
  5. 지수_로그_함수의_미분
  6. 손실_함수와_기울기

1. 미분의 정의와 의미

어느 날 김개발 씨가 머신러닝 강의를 듣다가 멈칫했습니다. 강사가 "손실 함수를 미분해서 기울기를 구합니다"라고 말하는데, 고등학교 때 배운 미분이 갑자기 떠오르지 않았습니다.

대체 미분이 왜 여기서 나오는 걸까요?

미분은 한마디로 "변화의 순간 속도"를 구하는 것입니다. 마치 자동차 계기판의 속도계가 매 순간의 속도를 보여주는 것처럼, 미분은 함수가 특정 지점에서 얼마나 빠르게 변하는지 알려줍니다.

이것을 이해하면 왜 딥러닝이 학습할 수 있는지 그 원리가 보이기 시작합니다.

다음 코드를 살펴봅시다.

# 미분의 정의: 극한을 이용한 순간 변화율
def derivative(f, x, h=1e-7):
    # f(x+h) - f(x)를 h로 나눈 값의 극한
    # h가 0에 가까워질수록 정확한 미분값
    return (f(x + h) - f(x)) / h

# 예시: f(x) = x^2의 미분
def f(x):
    return x ** 2

# x=3에서의 미분값 (기울기)
slope = derivative(f, 3)
print(f"x=3에서의 기울기: {slope}")  # 약 6.0

김개발 씨는 입사 6개월 차 주니어 개발자입니다. 요즘 회사에서 머신러닝 프로젝트를 시작하면서 수학 공부의 필요성을 절실히 느끼고 있습니다.

특히 "경사 하강법"이라는 말이 나올 때마다 미분 이야기가 빠지지 않아서 답답했습니다. 점심시간에 선배 개발자 박시니어 씨에게 조심스럽게 물었습니다.

"선배, 미분이 정확히 뭔가요? 고등학교 때 공식은 외웠는데 왜 쓰는지는 잘 모르겠어요." 박시니어 씨가 웃으며 대답했습니다.

"그거 쉽게 설명해줄게. 네가 서울에서 부산까지 차로 간다고 생각해봐." 서울에서 부산까지 400km를 4시간에 갔다면, 평균 속도는 시속 100km입니다.

하지만 이건 평균일 뿐입니다. 실제로 고속도로에서는 120km로 달리다가, 휴게소 근처에서는 80km로 줄였을 겁니다.

그렇다면 매 순간의 정확한 속도는 어떻게 알 수 있을까요? 바로 이것이 미분의 핵심입니다.

미분은 "아주 짧은 시간 동안의 변화"를 측정합니다. 시간 간격을 1시간에서 1분으로, 다시 1초로, 더 나아가 0에 가깝게 줄여나가면 결국 "그 순간"의 속도를 얻을 수 있습니다.

수학적으로 표현하면 이렇습니다. 시간 t에서 t+h까지 이동한 거리를 h로 나눕니다.

그리고 h를 점점 0에 가깝게 만듭니다. 이 극한값이 바로 순간 속도, 즉 미분값입니다.

위의 코드를 살펴보겠습니다. derivative 함수는 아주 작은 값 h(0.0000001)를 사용하여 미분을 근사합니다.

f(x+h)에서 f(x)를 빼고 h로 나누는 것이 미분의 정의 그 자체입니다. f(x) = x^2라는 함수에서 x=3일 때의 미분값을 구하면 약 6이 나옵니다.

이것은 "x가 3일 때, x값이 아주 조금 증가하면 함수값은 그 6배만큼 증가한다"는 의미입니다. 실제 머신러닝에서는 이 개념이 어떻게 쓰일까요?

모델의 손실 함수를 생각해보세요. 손실값이 높으면 모델이 틀리고 있다는 뜻입니다.

우리는 손실을 줄이고 싶습니다. 이때 미분을 사용하면 "가중치를 어떻게 바꿔야 손실이 줄어드는지" 알 수 있습니다.

박시니어 씨의 설명을 들은 김개발 씨가 고개를 끄덕였습니다. "아, 그러니까 미분은 변화의 방향과 크기를 알려주는 나침반 같은 거네요!" 정확한 비유였습니다.

실전 팁

💡 - 미분의 핵심은 "순간 변화율"입니다. 평균이 아닌 특정 지점에서의 변화를 측정합니다.

  • 프로그래밍에서는 극한 대신 아주 작은 h값으로 미분을 근사합니다.

2. 기울기란 무엇인가

김개발 씨가 미분의 개념을 이해하고 나니, 다음 의문이 생겼습니다. 강의에서 "기울기"라는 말이 자주 나오는데, 미분값과 기울기는 같은 건가요?

아니면 다른 건가요?

기울기는 직선이 얼마나 가파른지를 나타내는 숫자입니다. 미분값이 곧 그 지점에서의 접선의 기울기가 됩니다.

마치 산을 오를 때 경사가 급하면 힘들고, 완만하면 편한 것처럼, 기울기는 함수가 얼마나 가파르게 올라가거나 내려가는지를 알려줍니다.

다음 코드를 살펴봅시다.

import numpy as np

# 기울기: 두 점 사이의 변화량 비율
def slope_between_points(x1, y1, x2, y2):
    # 기울기 = (y변화량) / (x변화량)
    return (y2 - y1) / (x2 - x1)

# 함수 f(x) = x^2에서 접선의 기울기
def tangent_slope(f, x):
    h = 1e-7
    return (f(x + h) - f(x)) / h

# x=2에서 f(x)=x^2의 접선 기울기
f = lambda x: x ** 2
print(f"x=2에서 접선 기울기: {tangent_slope(f, 2)}")  # 약 4.0

박시니어 씨가 화이트보드에 그래프를 하나 그렸습니다. 간단한 직선 y = 2x + 1이었습니다.

"이 직선의 기울기가 뭔지 알아?" 박시니어 씨가 물었습니다. 김개발 씨가 대답했습니다.

"2요. x가 1 증가할 때 y가 2 증가하니까요." "맞아.

그게 기울기의 정의야. x의 변화량 대비 y의 변화량이지." 직선에서는 어디서 측정하든 기울기가 같습니다.

하지만 곡선은 다릅니다. y = x^2 같은 포물선을 생각해보세요.

왼쪽 아래에서는 완만하다가, 오른쪽으로 갈수록 점점 가팔라집니다. 즉, 위치에 따라 기울기가 달라집니다.

그렇다면 곡선에서 특정 지점의 기울기는 어떻게 구할까요? 바로 그 지점에서 곡선에 접하는 직선을 그리면 됩니다.

이 접선의 기울기가 곧 그 지점에서의 기울기입니다. 여기서 미분이 등장합니다.

어떤 함수를 미분하면, 그 함수의 모든 지점에서 접선의 기울기를 구할 수 있는 새로운 함수가 됩니다. f(x) = x^2를 미분하면 f'(x) = 2x가 됩니다.

x=2를 대입하면 기울기 4, x=3을 대입하면 기울기 6이 나옵니다. 기울기의 부호도 중요합니다.

양수 기울기는 함수가 증가하고 있다는 뜻입니다. 음수 기울기는 감소를 의미합니다.

기울기가 0인 지점은 특별합니다. 바로 함수의 최솟값이나 최댓값이 있는 곳입니다.

머신러닝에서 이것이 왜 중요할까요? 손실 함수의 기울기가 양수라면, 가중치를 줄여야 손실이 감소합니다.

반대로 기울기가 음수라면, 가중치를 높여야 합니다. 기울기가 0인 지점을 찾으면 손실이 최소가 되는 최적의 가중치를 찾은 겁니다.

김개발 씨가 무릎을 쳤습니다. "그래서 경사 하강법이 gradient descent인 거군요!

기울기를 따라 내려간다는 뜻이었어요." 박시니어 씨가 흐뭇하게 웃었습니다. "이제 감이 오지?"

실전 팁

💡 - 기울기 양수는 증가, 음수는 감소, 0은 극값(최대 또는 최소)을 의미합니다.

  • 머신러닝에서 기울기는 "어느 방향으로 가야 손실이 줄어드는가"를 알려주는 나침반입니다.

3. 기본 미분 공식

김개발 씨가 미분의 개념을 이해하고 나니, 매번 극한으로 계산하는 건 너무 번거로워 보였습니다. "혹시 자주 쓰는 함수들은 미리 공식이 정해져 있나요?" 박시니어 씨가 고개를 끄덕이며 종이를 꺼냈습니다.

미분에는 몇 가지 기본 공식이 있습니다. 상수의 미분은 0, x^n의 미분은 nx^(n-1), 그리고 상수배는 그대로 유지됩니다.

이 공식들만 알면 복잡한 함수도 쉽게 미분할 수 있습니다. 마치 구구단을 외우면 복잡한 곱셈을 빠르게 풀 수 있는 것과 같습니다.

다음 코드를 살펴봅시다.

# 기본 미분 공식 구현
def power_rule_derivative(coefficient, power, x):
    # x^n의 미분 = n * x^(n-1)
    # 예: 3x^4의 미분 = 12x^3
    new_coef = coefficient * power
    new_power = power - 1
    return new_coef * (x ** new_power)

# f(x) = 3x^4의 미분값 at x=2
result = power_rule_derivative(3, 4, 2)
print(f"f'(2) = {result}")  # 12 * 8 = 96

# 다항함수의 미분: f(x) = x^3 + 2x^2 + x
def polynomial_derivative(x):
    # f'(x) = 3x^2 + 4x + 1
    return 3*(x**2) + 4*x + 1

print(f"x=1에서 미분값: {polynomial_derivative(1)}")  # 8

박시니어 씨가 화이트보드에 공식을 적기 시작했습니다. "먼저 가장 쉬운 것부터 시작하자.

상수의 미분은 0이야." 왜 그럴까요? 상수는 변하지 않습니다.

f(x) = 5라는 함수는 x가 뭐든 항상 5입니다. 변화가 없으니 변화율도 0입니다.

직선으로 생각하면 완전히 수평인 선이라 기울기가 0인 거죠. "다음은 거듭제곱의 미분 공식이야.

x^n을 미분하면 nx^(n-1)이 돼." 이 공식은 정말 자주 쓰입니다. x^2를 미분하면 2x, x^3을 미분하면 3x^2, x^4를 미분하면 4x^3이 됩니다.

지수를 앞으로 내리고, 지수에서 1을 빼면 됩니다. 김개발 씨가 연습삼아 계산해봤습니다.

"f(x) = x^5라면, f'(x) = 5x^4가 되는 거네요?" "정확해. 이제 상수배의 법칙도 알아두자.

함수에 상수가 곱해져 있으면, 미분 후에도 그 상수는 그대로 남아." 예를 들어 3x^2를 미분하면 3 곱하기 2x, 즉 6x가 됩니다. 상수 3은 미분의 영향을 받지 않습니다.

마지막으로 합의 법칙이 있습니다. 여러 항이 더해진 함수는 각 항을 따로 미분해서 더하면 됩니다.

f(x) = x^3 + 2x^2 + x를 미분하면 f'(x) = 3x^2 + 4x + 1이 됩니다. 박시니어 씨가 덧붙였습니다.

"이 기본 공식들만 알면 웬만한 다항함수는 다 미분할 수 있어. 물론 나중에 지수함수나 로그함수도 배우겠지만, 일단 이것부터 익숙해지자." 김개발 씨는 위의 코드로 직접 확인해봤습니다.

3x^4를 x=2에서 미분하면 12 곱하기 2^3, 즉 96이 나왔습니다. 손으로 계산한 것과 정확히 일치했습니다.

실무에서는 물론 이런 계산을 직접 하지 않습니다. TensorFlow나 PyTorch 같은 프레임워크가 자동 미분을 해줍니다.

하지만 원리를 알면 디버깅할 때나 논문을 읽을 때 큰 도움이 됩니다.

실전 팁

💡 - 거듭제곱 공식: x^n의 미분은 nx^(n-1). 지수를 앞으로 내리고 1을 뺍니다.

  • 실무에서는 자동 미분을 사용하지만, 원리를 알면 문제 해결에 도움이 됩니다.

4. 합성 함수의 미분

김개발 씨가 기본 공식을 익히고 나서 자신감이 붙었습니다. 그런데 코드에서 흔히 보는 (2x + 1)^3 같은 함수는 어떻게 미분해야 할까요?

괄호 안에 또 함수가 있어서 단순히 공식을 적용하기가 애매했습니다.

합성 함수의 미분은 "겉미분 곱하기 속미분"이라는 **연쇄 법칙(Chain Rule)**을 따릅니다. 마치 양파 껍질을 벗기듯, 바깥 함수를 먼저 미분하고, 안쪽 함수의 미분값을 곱해주면 됩니다.

딥러닝의 역전파가 바로 이 연쇄 법칙의 반복입니다.

다음 코드를 살펴봅시다.

import numpy as np

# 연쇄 법칙 (Chain Rule) 구현
# f(g(x))의 미분 = f'(g(x)) * g'(x)

def chain_rule_example(x):
    # f(x) = (2x + 1)^3
    # g(x) = 2x + 1, f(u) = u^3
    # f'(u) = 3u^2, g'(x) = 2
    # 미분: 3*(2x+1)^2 * 2 = 6*(2x+1)^2
    return 6 * ((2*x + 1) ** 2)

# 수치 미분으로 검증
def f(x):
    return (2*x + 1) ** 3

def numerical_derivative(f, x, h=1e-7):
    return (f(x + h) - f(x)) / h

x = 1
print(f"공식: {chain_rule_example(x)}")  # 54
print(f"수치: {numerical_derivative(f, x)}")  # 약 54

박시니어 씨가 새로운 문제를 냈습니다. "f(x) = (2x + 1)^3을 미분해봐." 김개발 씨가 고민했습니다.

"u^3을 미분하면 3u^2니까... 3(2x + 1)^2?" "아쉽게도 틀렸어.

괄호 안의 2x + 1도 x의 함수잖아. 그것도 고려해야 해." 이것이 바로 합성 함수입니다.

함수 안에 또 다른 함수가 들어있는 구조입니다. f(g(x)) 형태로, g(x) = 2x + 1이 안쪽 함수, f(u) = u^3이 바깥 함수입니다.

합성 함수를 미분하려면 **연쇄 법칙(Chain Rule)**을 사용합니다. 공식은 이렇습니다.

f(g(x))의 미분 = f'(g(x)) 곱하기 g'(x). 말로 풀면 "겉미분 곱하기 속미분"입니다.

단계별로 풀어보겠습니다. 먼저 바깥 함수 u^3을 미분하면 3u^2입니다.

여기서 u 자리에 원래의 2x + 1을 넣으면 3(2x + 1)^2가 됩니다. 이것이 겉미분입니다.

다음으로 안쪽 함수 2x + 1을 미분합니다. 결과는 2입니다.

이것이 속미분입니다. 마지막으로 둘을 곱합니다.

3(2x + 1)^2 곱하기 2, 즉 6(2x + 1)^2가 최종 답입니다. 위 코드에서 이를 검증할 수 있습니다.

x=1을 대입하면 6 곱하기 (3)^2 = 6 곱하기 9 = 54가 나옵니다. 수치 미분 결과와 정확히 일치합니다.

왜 이 법칙이 중요할까요? **딥러닝의 핵심인 역전파(Backpropagation)**가 바로 연쇄 법칙의 연속적용입니다.

신경망은 여러 층으로 이루어져 있고, 각 층의 출력이 다음 층의 입력이 됩니다. 출력층에서 입력층까지 거슬러 올라가며 각 가중치의 기울기를 구할 때, 연쇄 법칙을 반복 적용합니다.

김개발 씨가 감탄했습니다. "그래서 역전파를 수식으로 쓰면 미분이 줄줄이 곱해지는 거군요!" 박시니어 씨가 고개를 끄덕였습니다.

"맞아. 딥러닝을 제대로 이해하려면 연쇄 법칙은 반드시 알아야 해."

실전 팁

💡 - 연쇄 법칙: f(g(x))의 미분 = f'(g(x)) * g'(x), 즉 "겉미분 곱하기 속미분"

  • 딥러닝의 역전파는 연쇄 법칙을 여러 층에 걸쳐 반복 적용하는 것입니다.

5. 지수 로그 함수의 미분

김개발 씨가 신경망 활성화 함수를 공부하다 보니, sigmoid와 softmax에 자연지수 e가 등장했습니다. "선배, e^x는 어떻게 미분해요?

거듭제곱 공식은 지수가 상수일 때만 되잖아요."

자연지수 함수 e^x의 미분은 놀랍게도 자기 자신입니다. 세상에서 가장 아름다운 미분 공식이라고도 불립니다.

자연로그 함수 ln(x)의 미분은 1/x입니다. 이 두 함수는 딥러닝의 활성화 함수와 손실 함수에서 핵심적인 역할을 합니다.

다음 코드를 살펴봅시다.

import numpy as np

# e^x의 미분은 e^x 자신
def exp_derivative(x):
    return np.exp(x)

# ln(x)의 미분은 1/x
def ln_derivative(x):
    return 1 / x

# 실제 활용: sigmoid 함수와 그 미분
def sigmoid(x):
    return 1 / (1 + np.exp(-x))

def sigmoid_derivative(x):
    # sigmoid의 미분 = sigmoid(x) * (1 - sigmoid(x))
    s = sigmoid(x)
    return s * (1 - s)

x = 0
print(f"sigmoid(0) = {sigmoid(x)}")  # 0.5
print(f"sigmoid'(0) = {sigmoid_derivative(x)}")  # 0.25

박시니어 씨가 화이트보드에 e를 크게 썼습니다. "자연상수 e는 약 2.71828...인 무리수야.

그런데 이 숫자가 왜 특별한지 알아?" 김개발 씨가 고개를 저었습니다. "e^x를 미분하면 다시 e^x가 돼.

변하지 않아. 세상에 이런 함수는 e^x뿐이야." 이것이 자연지수 함수가 특별한 이유입니다.

자기 자신의 변화율이 자기 자신인 유일한 함수입니다. 수학적으로 아름답다고 하는 이유가 여기에 있습니다.

만약 e^(2x)처럼 안에 다른 함수가 있다면? 연쇄 법칙을 적용합니다.

겉미분인 e^(2x)에 속미분인 2를 곱해서 2e^(2x)가 됩니다. 자연로그 함수 ln(x)의 미분은 1/x입니다.

이것도 중요한 공식입니다. 왜냐하면 딥러닝의 크로스 엔트로피 손실 함수가 로그를 사용하기 때문입니다.

실무에서 가장 자주 마주치는 것은 sigmoid 함수입니다. sigmoid(x) = 1 / (1 + e^(-x))로 정의됩니다.

이 함수는 어떤 값이든 0과 1 사이로 압축해주어서 확률을 표현할 때 유용합니다. sigmoid를 미분하면 놀라운 결과가 나옵니다.

sigmoid(x) 곱하기 (1 - sigmoid(x))입니다. 미분값이 원래 함수값으로 깔끔하게 표현됩니다.

덕분에 역전파 계산이 매우 효율적입니다. 위 코드에서 x=0일 때 sigmoid는 0.5, 미분값은 0.25가 나옵니다.

0.5 곱하기 0.5 = 0.25이니 공식이 맞습니다. 김개발 씨가 코드를 실행해보며 말했습니다.

"신기하네요. sigmoid의 미분이 이렇게 간단한 형태로 나오다니." 박시니어 씨가 대답했습니다.

"그래서 sigmoid가 오랫동안 인기 있었던 거야. 물론 요즘은 ReLU를 더 많이 쓰지만, 원리를 알아두면 도움이 돼."

실전 팁

💡 - e^x의 미분 = e^x (자기 자신). 이 성질 때문에 많은 수학/과학 분야에서 사용됩니다.

  • sigmoid 미분의 간결함 덕분에 역전파 계산이 효율적입니다.

6. 손실 함수와 기울기

이제 김개발 씨는 모든 퍼즐 조각을 맞출 준비가 됐습니다. "선배, 지금까지 배운 미분이 실제 머신러닝에서는 어떻게 쓰이는 건가요?" 박시니어 씨가 웃으며 노트북을 열었습니다.

손실 함수는 모델의 예측이 얼마나 틀렸는지를 숫자로 나타냅니다. 머신러닝의 목표는 이 손실을 최소화하는 것입니다.

손실 함수를 가중치에 대해 미분하면 **기울기(gradient)**를 얻고, 이 기울기의 반대 방향으로 가중치를 조금씩 업데이트하면 손실이 점점 줄어듭니다. 이것이 경사 하강법입니다.

다음 코드를 살펴봅시다.

import numpy as np

# 간단한 선형 회귀 예제
# 손실 함수: MSE (평균 제곱 오차)
def mse_loss(y_true, y_pred):
    return np.mean((y_true - y_pred) ** 2)

# 기울기 계산 (수동)
def compute_gradient(X, y_true, w):
    y_pred = X * w
    # MSE를 w에 대해 미분: -2/n * sum(X * (y - Xw))
    gradient = -2 * np.mean(X * (y_true - y_pred))
    return gradient

# 경사 하강법
X = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 6, 8, 10])  # y = 2x
w = 0.0  # 초기 가중치
learning_rate = 0.1

for i in range(10):
    grad = compute_gradient(X, y, w)
    w = w - learning_rate * grad  # 기울기 반대 방향으로 업데이트
    print(f"step {i}: w = {w:.4f}, loss = {mse_loss(y, X*w):.4f}")

박시니어 씨가 화이트보드에 골짜기 그림을 그렸습니다. "머신러닝을 산에서 골짜기 찾기라고 생각해봐.

손실 함수가 지형이고, 우리 위치가 현재 가중치야. 목표는 가장 낮은 골짜기, 즉 손실이 최소인 지점을 찾는 거야." 그런데 문제가 있습니다.

지형 전체를 볼 수 없습니다. 눈을 가린 채로 발밑의 경사만 느낄 수 있습니다.

이때 어떻게 해야 할까요? "발밑이 왼쪽으로 기울어져 있으면, 왼쪽이 내리막이라는 뜻이야.

그쪽으로 한 발자국 옮기면 더 낮은 곳으로 갈 수 있지." 이것이 **경사 하강법(Gradient Descent)**의 핵심 아이디어입니다. 기울기는 "어느 방향으로 가야 값이 커지는지" 알려줍니다.

그 반대 방향으로 가면 값이 작아집니다. 손실을 줄이고 싶으니, 기울기의 반대 방향으로 가중치를 업데이트합니다.

위 코드를 보겠습니다. y = 2x라는 관계를 모르는 척하고, 데이터로부터 가중치 w를 찾아갑니다.

초기 w는 0입니다. 매 단계에서 기울기를 계산합니다.

기울기가 양수면 w가 커질 때 손실도 커진다는 뜻이니, w를 줄여야 합니다. 반대로 기울기가 음수면 w를 키워야 합니다.

**학습률(learning rate)**은 한 번에 얼마나 움직일지를 결정합니다. 너무 크면 골짜기를 지나쳐버리고, 너무 작으면 학습이 느립니다.

0.1은 적당한 값입니다. 코드를 실행하면 w가 0에서 시작해 점점 2에 가까워지는 것을 볼 수 있습니다.

10번 만에 거의 정확한 값을 찾습니다. 손실도 함께 줄어듭니다.

김개발 씨가 감탄했습니다. "와, 정말 미분 하나로 이 모든 게 가능하네요!" 박시니어 씨가 정리해주었습니다.

"결국 딥러닝은 이 과정을 아주 복잡한 함수에, 아주 많은 가중치에 대해 반복하는 거야. 원리는 똑같아." 이것이 바로 미분과 기울기가 머신러닝의 핵심인 이유입니다.

손실 함수를 정의하고, 기울기를 계산하고, 그 방향으로 조금씩 이동하면 결국 최적의 모델을 찾을 수 있습니다. 김개발 씨는 오늘 배운 내용이 퍼즐처럼 딱 맞아떨어지는 느낌을 받았습니다.

미분은 변화율, 기울기는 방향, 경사 하강은 최적화. 모든 것이 연결되어 있었습니다.

실전 팁

💡 - 경사 하강법의 핵심: 손실 함수의 기울기 반대 방향으로 가중치를 업데이트합니다.

  • 학습률이 너무 크면 발산하고, 너무 작으면 학습이 느립니다. 적절한 값을 찾는 것이 중요합니다.

이상으로 학습을 마칩니다. 위 내용을 직접 코드로 작성해보면서 익혀보세요!

#Python#Calculus#Gradient#DeepLearning#Optimization#Math,Calculus

댓글 (0)

댓글을 작성하려면 로그인이 필요합니다.