Post

[AI Day 08] Gradient Descent(경사하강법), AI는 어떻게 학습할까?

[AI Day 08] Gradient Descent(경사하강법), AI는 어떻게 학습할까?

[AI 수학] Day 8 - Gradient Descent(경사하강법), AI는 어떻게 학습할까?

들어가며

지난 시간에는 그래디언트(Gradient)를 공부했다.

그래디언트는 여러 변수에 대한 편미분을 하나로 모은 벡터이며,

함수가 가장 빠르게 증가하는 방향

을 알려주는 역할을 한다.

그렇다면 AI는 그래디언트를 구한 뒤 무엇을 할까?

오늘은 AI가 실제로 학습하는 핵심 원리인 Gradient Descent(경사하강법)에 대해 공부했다.


AI의 목표

AI의 가장 큰 목표는 하나이다.

손실(Loss)을 최소화하는 것

손실(Loss)은 AI가 얼마나 틀렸는지를 나타내는 값이다.

예를 들어

1
2
정답 : 고양이
예측 : 강아지

처럼 잘못 예측했다면 손실은 커진다.

반대로

1
2
정답 : 고양이
예측 : 고양이

라면 손실은 작아진다.

즉,

1
2
3
4
Loss가 작다
↓

예측을 잘한다.

AI는 계속해서 손실을 줄이는 방향으로 학습한다.


Gradient를 왜 사용할까?

지난 시간에 배운 것처럼

그래디언트는

함수가 가장 빠르게 증가하는 방향

을 알려준다.

예를 들어

1
Gradient → →

라고 한다면

이 방향으로 갈수록 손실이 커진다는 의미이다.

하지만 AI의 목표는 손실을 줄이는 것이다.

그렇다면 정답은 하나다.

그래디언트의 반대 방향으로 이동한다.

즉,

1
2
3
4
5
6
7
Gradient

→ →

AI 이동

← ←

이 되는 것이다.


Gradient Descent란?

Gradient Descent는 우리말로 경사하강법이라고 한다.

산을 예로 들어 생각해보자.

산 정상에 서 있다고 가정하면

가장 빨리 내려가는 방법은

가장 가파른 내리막길을 따라가는 것이다.

그래디언트는

가장 가파른 오르막길

을 알려준다.

따라서 AI는

그 반대 방향으로 이동하여

손실이 가장 빠르게 감소하도록 만든다.

이 과정을 Gradient Descent라고 한다.


Gradient Descent 공식

경사하강법에서 가장 중요한 공식은 하나이다.

1
2
3
4
5
6
7
8
9
새로운 가중치

=

기존 가중치

-

Learning Rate × Gradient

보통 다음과 같이 표현한다.

1
2
3
4
5
6
7
8
9
W(new)

=

W(old)

-

Learning Rate × Gradient

이 공식 하나가 딥러닝 학습의 핵심이라고 해도 과언이 아니다.


Learning Rate란?

Learning Rate(학습률)는

한 번에 얼마나 이동할 것인가

를 의미한다.

예를 들어

Gradient가

1
10

이라고 하자.

Learning Rate가

1
0.1

이면

1
10 × 0.1 = 1

즉,

1만큼 이동한다.

반대로

Learning Rate가

1
0.001

이면

1
10 × 0.001 = 0.01

조금만 이동하게 된다.


Learning Rate가 너무 크면?

Learning Rate가 너무 크면

목표 지점을 지나쳐 버릴 수 있다.

예를 들어

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
현재 위치

↓

최솟값

↓

휙 지나감

↓

다시 반대로 이동

↓

또 지나감

이 과정을 반복하게 된다.

즉,

손실이 줄어들지 않고

계속 왔다 갔다 하는 현상이 발생한다.


Learning Rate가 너무 작으면?

반대로

Learning Rate가 너무 작으면

한 번에 아주 조금씩만 이동한다.

1
2
3
4
5
6
7
8
9
조금 이동

↓

또 조금 이동

↓

또 조금 이동

결국 학습 속도가 매우 느려진다.

그래서 적절한 Learning Rate를 선택하는 것이 매우 중요하다.


예제

현재 가중치가

1
W = 10

Gradient가

1
4

Learning Rate가

1
0.5

라고 하자.

공식에 대입하면

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
W(new)

=

10

-

0.5 × 4

=

10 - 2

=

8

즉,

가중치는

1
2
3
4
5
10

↓

8

로 수정된다.

이번에는 Gradient가 음수라고 가정해보자.

1
Gradient = -3

공식에 넣으면

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
W(new)

=

10

-

0.5 × (-3)

=

10 + 1.5

=

11.5

즉,

Gradient가 음수라면

가중치는 오히려 증가한다.


AI는 한 번만 학습할까?

아니다.

AI는 다음 과정을 반복한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
예측

↓

Loss 계산

↓

Gradient 계산

↓

가중치 수정

↓

다시 예측

↓

Loss 계산

↓

Gradient 계산

↓

가중치 수정

이 과정을 수천 번, 수만 번 반복하면서

점점 더 정확한 모델이 된다.


오늘 배운 내용 정리

  • Loss는 AI가 얼마나 틀렸는지를 나타내는 값이다.
  • Gradient는 손실이 가장 빠르게 증가하는 방향을 알려준다.
  • AI는 Gradient의 반대 방향으로 이동한다.
  • 이를 Gradient Descent(경사하강법)라고 한다.
  • Learning Rate는 한 번에 얼마나 이동할지를 결정한다.
  • Learning Rate가 너무 크면 최솟값을 지나치고, 너무 작으면 학습 속도가 매우 느려진다.
  • AI는 이 과정을 반복하면서 손실을 줄이고 성능을 향상시킨다.

마무리

오늘은 AI가 실제로 학습하는 첫 번째 원리를 배웠다.

그래디언트는 단순히 방향을 알려주는 것이 아니라,

AI가 손실을 줄이기 위해 어떤 방향으로 움직여야 하는지를 알려주는 중요한 정보였다.

또한 Learning Rate의 크기에 따라 학습 속도와 안정성이 크게 달라진다는 것도 알 수 있었다.

다음 시간에는 Backpropagation(역전파)를 공부하며,

AI가 그래디언트를 어떻게 계산하는지 자세히 알아볼 예정이다.

This post is licensed under CC BY 4.0 by the author.