머신러닝의 핵심: 코스트 함수와 그라디언트 디센트

by 송동훈 Hoon Song

머신러닝을 공부하다 보면 결국 마주치게 되는 두 가지 핵심 개념이 있다. 바로 '코스트(Cost) 함수'와 '그라디언트 디센트(Gradient Descent)'다. 이 두 개념은 모델이 데이터로부터 학습하는 방식의 근간이 되는 아이디어다.


코스트(Cost) 함수의 본질


코스트 함수(loss 함수, error 함수라고도 불림)는 결국 '모델이 얼마나 틀렸는지'를 수치화하는 방법이다. 모델의 예측값과 실제 정답 간의 차이를 측정하는 것인데, 이 차이가 크면 모델이 아직 부족하다는 의미다.


신경망에서는 파라미터(가중치와 바이어스)가 주어지면 입력 데이터를 통해 출력값을 계산할 수 있다. 이 출력값이 실제 정답과 얼마나 다른지가 코스트가 된다. 분류 문제에서는 원-핫 인코딩(One-Hot Encoding)을 사용해 출력값과 정답을 같은 형태로 만든 후 비교한다.

Screenshot 2025-04-14 at 12.10.37 AM.png


토탈 코스트(Total Cost)의 의미


하나의 데이터에 대한 코스트보다 중요한 것은 모든 데이터에 대한 '토탈 코스트'다. 데이터 하나로는 모델의 성능을 제대로 평가할 수 없기 때문에, 전체 데이터에 대한 평균적인 오차를 구해 모델의 성능을 판단한다.


토탈 코스트가 크다는 것은 모델의 파라미터가 아직 최적화되지 않았다는 의미다. 우리의 목표는 이 토탈 코스트를 최소화하는 파라미터 값을 찾는 것이다.


Screenshot 2025-04-14 at 12.15.23 AM.png


그라디언트 디센트(Gradient Descent)로 해답 찾기


그라디언트 디센트(경사 하강법)는 코스트 함수의 최소값을 찾아가는 과정이다. 한 번에 정답을 찾는 게 아니라, 조금씩 코스트가 낮아지는 방향으로 파라미터를 업데이트하며 접근한다.

Screenshot 2025-04-14 at 12.18.03 AM.png

이 방법의 핵심은 '그라디언트'다. 그라디언트는 현재 위치에서 코스트 함수의 값이 가장 빠르게 증가하는 방향을 가리키는 벡터다. 반대로 말하면, 그라디언트의 반대 방향으로 이동하면 코스트가 가장 빠르게 감소한다.

Screenshot 2025-04-14 at 12.20.53 AM.png


조금씩, 꾸준히 나아가기


그라디언트 디센트를 구현할 때는 학습률(Learning Rate)을 사용한다. 이는 그라디언트 방향으로 얼마나 이동할지를 결정하는 값이다. 한 번에 큰 폭으로 이동하는 것보다, 작은 학습률로 여러 번 반복하는 것이 최적값을 안정적으로 찾는 방법이다.

Screenshot 2025-04-14 at 12.21.38 AM.png

또한 전체 데이터를 한 번에 처리하기보다는, 작은 배치(mini-batch)로 나누어 계산하는 것이 컴퓨팅 효율성 측면에서 유리하다. 이렇게 반복적으로 파라미터를 업데이트하면서 점점 더 나은 모델로 발전시킨다.


실전에서의 적용


머신러닝 모델을 학습시킬 때, 초기에는 파라미터를 랜덤하게 설정한다. 그리고 그라디언트 디센트 알고리즘을 통해 수만, 수십만 번의 반복 과정을 거쳐 파라미터를 조금씩 개선해 나간다.

θt+1 = θt - η∇C(θt)


여기서 θt는 현재 파라미터, η(에타)는 학습률, ∇C(θt)는 코스트 함수의 그라디언트다. 이 간단한 업데이트 규칙이 딥러닝의 학습 과정 전체를 지배한다.


머신러닝의 본질은 결국 '시행착오를 통한 점진적 개선'이다. 완벽한 해답을 한 번에 찾는 것이 아니라, 조금씩 나아지는 방향으로 꾸준히 움직이는 것이 이 분야의 핵심 철학이다. 마치 우리의 삶과도 닮아있다.


keyword
일요일 연재
이전 03화딥러닝 네트워크의 기본 원리와 계산 과정