[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가 그래디언트를 어떻게 계산하는지 자세히 알아볼 예정이다.