티스토리 뷰

AI

AI - 경사하강법(Gradient Descent)

DevDiana 2026. 8. 3. 10:43

안녕하세요 Diana 입니다.

오늘은 경사하강법(Gradient Descent)에 대해 알아보려고 합니다.

이 글은 역시나 3Blue1Brown의 AI가 궁금하다면 봐야할 기초영상 경사하강법을 기반으로 하고 있으며깊은 내용이 아닌 기초적인 내용을 다루고 있습니다.

영상을 기반으로 학습 후 작성하는 내용이므로 틀린 부분이 있을 수 있음을 미리 알려드립니다.

 

그럼 시작하겠습니다.

 

 


 

 

우리는 이전 영상에서 인공신경망에 대해 알아봤습니다.

 

인공신경망인간의 신경망을 본따 만들어진 것으로 인간의 학습방식을 고려하여 제공된 Input 데이터가 무엇인지를 알아내기 위한 과정을 의미합니다.

 

우리는 하나의 이미지, 즉 784개의 픽셀을 Input 데이터로 활용하며 각각의 Layer에서 Activation 값에 Weight를 곱하고 여기에 Bias 값을 추가한 뒤 시그모이드 함수를 활용하여 결과 값을 구해내고자 했습니다.

 

오늘은 이 과정에서 사용되는 훈련방법에 대해 알아보려고 합니다.

우선 훈련을 시작하기 위해서는 훈련 데이터(손글씨 숫자)를 필요로 하며 이 데이터는 이미 친절하게도 MNIST 데이터베이스라는 데이터 셋이 제공되고 있습니다.

 

훈련은 결국 최적의 Weight와 Bias 값을 찾고 실제 값과 예측 값의 차이인 Cost 함수를 최소화 하는 것을 목표로 하고 있습니다.

여기서 각각의 개념을 다시 살펴보면 Weight는 각 연결의 세기를 의미하며 Bias는 해당 연결이 얼마나 활동적인지를 가리키는 지표이고 마지막으로 Cost는 정답과 결과 사이의 차이를 나타냅니다.

Cost 함수는 Lose 값이라고도 하며 (결과값 - 정답)의 제곱 값을 전부 더해준 값을 의미합니다.

실제 결과 값과 정답이 큰 차이가 없다면 Cost 함수는 0에 수렴할 것이고 반대로 차이가 크다면 Cost 함수 또한 기하급수적으로 늘어날 것입니다.

 

현재 우리가 다루고 있는 데이터의 함수는 약 13000개의 Weight와 Bias로 이루어져 있습니다.

그럼 이 13000개의 Weight와 Bias가 Cost의 Input이고 Output은 하나의 값이 됩니다.

 

우리가 아는 AI라고 함은 컴퓨터가 이거 별로야 라고 할때 해당 Weight와 Bias를 고치는 것이라고 합니다.

 

이때 Gradient 계산을 어떻게 효과적으로 하는지는 매우 중요한 요소이며 이걸 우리는 Back Propagation(역전파)라고 합니다.

역전파에 대해서는 다음 영상을 학습한 뒤 설명해보도록 하겠습니다.

 

아무튼 우리는 Cost 함수의 최솟값을 찾는 것을 목표로 해야합니다.

그럼 이 최솟값은 어떻게 찾을 수 있을까요?

 

Cost 함수가 단순 2차 함수라면 최솟값을 찾는건 어렵지 않을겁니다. 기울기가 0이 되는 부분을 찾으면 끝이니까요.

하지만 실제 함수는 이렇게 단순하지 않습니다. 많게는 수십만, 수백만 차원이 되기도 하죠.

따라서 우리는 전역 최솟값을 찾는건 어려우니 Local Minimum(지역 최솟값)을 찾는 것을 목표로 하며 이는 기울기를 통해 찾아냅니다.

 

기울기가 음이면 오른쪽으로, 양이면 왼쪽으로 이동하는 것을 반복하다보면 지역 최솟값에 닿을 수 있으며 여기에는 다변수 미적분학이라는 것이 사용되는데 이 부분은 대학교때 배운 내용인데 잘 기억이 나지 않아 다음에 정리하며 설명해보려고 합니다.

 

 

아무튼 계속 진행해보면, 함수의 Gradient는 가장 가파른 상승방향을 알려줍니다.


위의 Cost function 값을 보면 x가 y보다 더 큰 가중치를 가지고 있는 것을 알 수 있는 것이죠.

이렇게 내리막의 방향과 이동거리를 알아내는 과정을 반복하면 Cost function 값을 줄일 수 있습니다.

 

실제로 모델을 훈련할 때 Weight(가중치)와 Bias(역치)를 알아내는건 대학원에서 배우는 내용이며 굉장히 복잡하다고 합니다.

신경망 학습은 Cost를 최소화 하는 것이며 Cost 함수 형태를 예쁘게 만들어 공이 흘러내려가듯 깔끔하게 만드는 것을 목표라고 합니다.


추가로 찾아본 내용에 따르면 이런 경사하강법에도 다양한 종류가 있다고 합니다.

 

결국 어떻게 최솟값을 찾아내느냐 에 대한 문제이므로 확률적 경사하강법과 배치 경사하강법, 미니배치 경사하강법 등이 있습니다.

 

저는 아직 이런 복잡한 부분까지는 다루지 않았지만 계속 학습을 이어나가며 관련 부분을 이해하고자 합니다.

 

해당 영상에서는 추가 학습을 위해 Michael Nielsen의 사이트A Closer Look at memorization in deep networks 논문을 추천했습니다.

 

이렇게 오늘은 경사하강법(Gradient Descent)에 대해 알아봤으며 신경망, Cost 함수 그리고 Gradient라는 개념의 기초에 대해 학습하였습니다.

 

감사합니다.

 

출처

https://www.youtube.com/watch?v=8861RzFOFs8

https://namu.wiki/w/%EA%B2%BD%EC%82%AC%ED%95%98%EA%B0%95%EB%B2%95

https://twojun-space.tistory.com/124#google_vignette

https://www.ibm.com/kr-ko/think/topics/gradient-descent

 

'AI' 카테고리의 다른 글

AI - Neural Network(인공신경망)  (0) 2026.07.30
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/08   »
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
30 31
글 보관함