용어집으로돌아가기경사하강법(梯度下降)은머신러닝과딥러닝알고리즘에서가장보편적으로쓰이는최적화방식입니다。머신러닝모델을트레이닝하는데쓰입니다。

경사하강법의유형

경사하강법의유형-배치경사하강법,확률적경사하강법및미니배치경사하강법최신머신러닝및딥러닝알고리즘에쓰이는경사하강법은크게세가지유형으로나눌수있습니다。

  • 배치경사하강법

배치경사하강법(批处理梯度下降)이그중가장간단한유형입니다。이것은트레이닝데이터세트의각예제를대상으로오류를계산하지만,트레이닝예제를모두평가한뒤에만모델을업데이트합니다。

  • 확률적경사하강법

확률적경사하강법(随机梯度下降法)은트레이닝데이터세트의각예제를대상으로오류를계산하여각각업데이트합니다。

  • 미니배치경사하강법

미니배치경사하강법(迷你批处理梯度下降)의경우모든예제를검사하는것이아니라배치크기를바탕으로숫자가작은예제를합친다음이러한배치에대하여각각업데이트를수행합니다。확률적경사하강법은보편적최적화방식입니다。개념상단순하고,효과적으로구현할수있는경우가많습니다。다만여기에는수동으로조율해야하는매개변수(단계크기)가포함되어있습니다。이조율작업을자동화할방으로그간여러가지선택지가제되었습니다。그중성공적방법으로AdaGrad라는것이있습니다。일반적인확률적아경도(次梯度)방식에서는주로사전에결정된절차적방식을따르는데,여기서는관측대상인데이터의특징을무시합니다。반대로AdaGrad의알고리즘은관측대상인데이터지오메트리의지식을초반반복작업때동적으로포함하여좀더유익한,경사도기반학습을수행합니다。AdaGrad는두개버전으로출시되었습니다。하나는对角AdaGrad(실제로쓰인것은이버전)로,이버전의주된특징은차원당한가지학습속도를유지하며변용하는것입니다。 두 번째 버전은 Full AdaGrad라고 하며 방향당 한 가지 학습 속도를 유지합니다(예: 전체 PSD 매트릭스). Adaptive Gradient Algorithm(Adagrad)은 경사도 기반 최적화에 쓰이는 알고리즘입니다. 학습 속도가 구성 요소 면에서 매개변수에 따라 조정되는데, 이를 위해 지난 관측 결과 지식을 포함합니다. 빈도가 낮은 기능과 관련된 매개변수의 경우 큰 규모의 업데이트(예: 학습 속도가 빠름), 빈도가 높은 것인 경우 작은 규모의 업데이트(즉 학습 속도가 느림)를 수행합니다. 작은 업데이트를 수행하므로, 희소(sparse) 데이터(NLP 또는 이미지 인식)를 다루는 데 적합합니다. 각각의 매개변수마다 자기 나름의 학습 속도가 있어 희소 경사도와 관련된 문제가 발생할 때 성능을 개선해줍니다.

AdaGrad를사용하여얻을수있는장점

  • 학습속도를수동으로조율할필가없어짐
  • 수렴이더빠르고정적-가중치배율이고르지않을때,단순한sgd에비해
  • 마스터단계의크기에크게좌우되지않음

额外的资源

回到术语表