topics gradient descent 경사 하강법(Gradient Descent)이란 무엇인가요?
watsonx.ai로 경사 하강법 적용 AI 주제 업데이트 구독
구름의 픽토그램, 파이 차트, 그래프 픽토그램의 콜라주가 있는 그림
경사 하강법(Gradient Descent)이란 무엇인가요?

경사하강법은 기계 학습 모델 및 신경망을 훈련하는 데 일반적으로 사용되는 최적화 알고리즘입니다. 예측 결과와 실제 결과 간의 오류를 최소화하여 기계 학습 모델을 학습합니다.

학습 데이터는 이러한 모델이 시간이 지남에 따라 학습하는 데 도움이 되며, 특히 경사도 하강 내의 비용 함수는 매개변수 업데이트가 반복될 때마다 정확도를 측정하는 바로미터 역할을 합니다. 함수가 0에 가까워지거나 같을 때까지 모델은 가능한 가장 작은 오차를 산출하기 위해 매개변수를 계속 조정합니다. 기계 학습 모델이 정확성을 위해 최적화되면 인공 지능 (AI) 및 컴퓨터 과학 애플리케이션을 위한 강력한 툴이 될 수 있습니다.

Gartner에서 선도 기업으로 선정된 IBM

IBM이 2023 Gartner® Magic Quadrant™ for Cloud AI Developer Services 보고서에서 선도 기업으로 선정된 이유를 알아보세요.

관련 내용

프레스토에서 e북에 등록하세요

경사 하강법은 어떻게 작동하나요?

경사하강법에 대해 알아보기 전에 선형 회귀의 몇 가지 개념을 검토하는 것이 도움이 될 수 있습니다. 선의 기울기에 대한 다음 공식인 y = mx + b를 기억할 수 있으며, 여기서 m 은 기울기를 나타내고 b 는 y축의 절편을 나타냅니다.

또한 통계에서 산점도를 플로팅하고 평균 제곱 오차 공식을 사용하여 실제 출력과 예측 출력(y-hat) 간의 오차를 계산해야 하는 최적선을 찾는 것을 기억할 수 있습니다. 경사하강법 알고리즘은 비슷하게 동작하지만 볼록 함수를 기반으로 합니다.

출발점은 우리가 성능을 평가하기 위한 임의의 지점일 뿐입니다. 그 시작점에서 우리는 도함수(또는 기울기)를 찾고 거기에서 접선을 사용하여 기울기의 가파른 정도를 관찰할 수 있습니다. 기울기는 매개변수, 즉 가중치와 편향에 대한 업데이트를 알려줍니다. 시작점의 기울기는 더 가파르지만 새로운 매개변수가 생성됨에 따라 수렴점으로 알려진 곡선의 가장 낮은 지점에 도달할 때까지 기울기가 점차 감소해야 합니다.   

선형 회귀에서 최적선을 찾는 것과 마찬가지로, 경사하강법의 목표는 비용 함수 또는 예측된 y와 실제 y 사이의 오차를 최소화하는 것입니다. 이를 위해서는 방향과 학습률이라는 두 가지 데이터 포인트가 필요합니다. 이러한 요인은 향후 반복의 편도함수 계산을 결정하여 점진적으로 국소 또는 전역 최소값(즉, 수렴 지점)에 도달할 수 있도록 합니다.

  • 학습 속도 (단계 크기 또는 알파라고도 함)는 최소 단계에 도달하기 위해 취하는 단계의 크기입니다. 이 값은 일반적으로 작은 값이며 비용 함수의 동작에 따라 평가 및 업데이트됩니다. 학습률이 높으면 더 큰 단계가 발생하지만 최소 단계를 초과할 위험이 있습니다. 반대로 학습률이 낮으면 단계 크기가 작아집니다. 정밀도가 더 높다는 장점이 있지만 반복 횟수는 최소값에 도달하는 데 더 많은 시간과 계산이 필요하기 때문에 전반적인 효율성을 떨어뜨립니다.
  • 비용(또는 손실) 함수는 현재 위치에서 실제 y와 예측된 y 간의 차이 또는 오차를 측정합니다. 이렇게 하면 모델에 피드백을 제공하여 기계 학습 모델의 효율성이 향상되어 매개 변수를 조정하여 오류를 최소화하고 로컬 또는 전역 최솟값을 찾을 수 있습니다. 비용 함수가 0에 가깝거나 0이 될 때까지 가장 가파른 하강법(또는 음의 기울기) 방향을 따라 계속 반복합니다. 이 시점에서 모델은 학습을 중지합니다. 또한 비용 함수와 손실 함수라는 용어는 동의어로 간주되지만 둘 사이에는 약간의 차이가 있습니다. 손실 함수는 한 학습 예제의 오류를 나타내는 반면, 비용 함수는 전체 학습 세트의 평균 오류를 계산한다는 점에 주목할 필요가 있습니다.
경사하강법 유형

경사하강법 학습 알고리즘에는 배치 경사하강법, 확률적 경사하강법, 미니 배치 경사하강법의 세 가지 유형이 있습니다.

일괄 경사 하강법
 

배치 경사하강법은 훈련 세트의 각 점에 대한 오차의 합을 구하며, 모든 훈련 예제가 평가된 후에만 모델을 업데이트합니다. 이 프로세스를 학습 에포크라고 합니다.

이 일괄 처리는 계산 효율성을 제공하지만 모든 데이터를 메모리에 저장해야 하므로 대규모 학습 데이터 세트의 경우 처리 시간이 여전히 길어질 수 있습니다. 배치 경사하강법은 일반적으로 안정적인 오차 기울기와 수렴을 생성하지만, 때로는 해당 수렴 지점이 가장 이상적이지 않아 국소 최소값과 전역 최소값을 찾습니다.

확률적 경사 하강법
 

SGD(Stochastic Gradient Descent)는 데이터 세트 내의 각 예제에 대해 학습 Epoch를 실행하고 각 학습 예제의 매개 변수를 한 번에 하나씩 업데이트합니다. 학습 예제를 하나만 보유하면 되므로 메모리에 저장하기가 더 쉽습니다. 이러한 잦은 업데이트는 더 많은 세부 정보와 속도를 제공할 수 있지만 배치 경사하강법과 비교할 때 계산 효율성이 저하될 수 있습니다. 잦은 업데이트로 인해 시끄러운 그라디언트가 발생할 수 있지만 이는 로컬 최소값을 벗어나고 글로벌 최소값을 찾는 데에도 도움이 될 수 있습니다.

미니 배치 경사 하강법
 

미니 배치 그라데이션 하강은 배치 그라데이션 하강과 확률적 그라데이션 하강의 개념을 결합한 것입니다. 학습 데이터 세트를 작은 배치 크기로 분할하고 각 배치에 대해 업데이트를 수행합니다. 이 접근 방식은 일괄 경사 하강의 계산 효율성과 확률적 경사 하강의 속도 간에 균형을 이룹니다.

경사하강법 문제

경사하강법은 최적화 문제에 대한 가장 일반적인 접근 방식이지만 자체적인 문제가 있습니다. 다음과 같은 문제점이 있습니다.

로컬 최소값 및 새들 포인트
 

볼록 문제의 경우 경사하강법은 전역 최소값을 쉽게 구할 수 있지만, 비볼록 문제가 발생하면 경사하강법은 모델이 최상의 결과를 얻을 수 있는 전역 최소값을 찾는 데 어려움을 겪을 수 있습니다.

비용 함수의 기울기가 0이거나 0에 가까우면 모형이 학습을 중지한다는 점을 기억하세요. 전역 최소값을 초과하는 몇 가지 시나리오에서도 이 기울기가 생성될 수 있으며, 이는 국소 최소값과 안장 점입니다. 국소 최소값은 전역 최소값의 모양을 모방하며, 여기서 비용 함수의 기울기는 현재 점의 양쪽에서 증가합니다. 그러나 안장 점의 경우 음의 그라데이션은 점의 한쪽에만 존재하며 한 쪽은 국소 최대값에 도달하고 다른 쪽은 국소 최소값에 도달합니다. 말의 안장에서 영감을 받은 이름입니다.

노이즈가 많은 그라디언트는 그래디언트가 로컬 최소값 및 새들 포인트를 벗어나는 데 도움이 될 수 있습니다.

그라디언트 소실 및 폭발
 

심층 신경망, 특히 순환 신경망에서는 모델이 경사하강법과 역전파로 훈련될 때 두 가지 다른 문제가 발생할 수도 있습니다.

  • Vanishing Gradients: 그라데이션이 너무 작을 때 발생합니다. 역전파 중에 뒤로 이동함에 따라 기울기는 계속 작아지므로 네트워크의 초기 계층이 이후 계층보다 더 느리게 학습합니다. 이 경우 가중치 매개변수는 중요하지 않게 될 때까지 업데이트됩니다. 0 - 더 이상 학습하지 않는 알고리즘이 생성됩니다.
  • 그라디언트 폭발: 이 문제는 그라데이션이 너무 커서 불안정한 모델을 만들 때 발생합니다. 이 경우 모델 가중치가 너무 커져 결국 NaN으로 표현됩니다. 이 문제에 대한 한 가지 해결책은 모델 내의 복잡성을 최소화하는 데 도움이 될 수 있는 차원 축소 기술을 활용하는 것입니다.
  •  
관련 솔루션
AI 기반 기술

비즈니스 워크플로부터 IT 운영까지 AI 기반 자동화를 지원합니다. 선도적인 기업들이 어떻게 혁신하고 있는지 알아보세요.

AI 기반 기술 살펴보기
리소스 딥러닝 응용 분야를 위한 효율적인 분산 확률적 경사하강법 알고리즘

IBM Research는 개별 학습자의 희소 그래디언트 집계를 허용하는 분산형 대량 동기 확률적 그래디언트 하강법 알고리즘을 제안합니다.

R에서 XGBoost 구현

분류 작업을 수행하기 위해 XGBoost 알고리즘을 사용하여 그래디언트 부스트 의사 결정 트리를 구현합니다.

다음 단계 안내

AI 빌더를 위한 차세대 엔터프라이즈 스튜디오인 IBM watsonx.ai로 생성형 AI, 파운데이션 모델 및 머신 러닝 기능을 학습, 검증, 조정 및 배포하세요. 적은 데이터로 짧은 시간 내에 AI 애플리케이션을 구축하세요.

watsonx.ai 살펴보기 라이브 데모 예약하기