딥러닝에서 자주 사용되는 최적화 알고리즘은 확률적 경사 하강법과 그 변형들입니다. 이 방법은 미니배치에서 추출한 보기들의 평균 기울기를 이용하여 훈련 집합의 기울기를 추정합니다.
학습 속도의 결정과 중요성
학습 속도는 시행 오차를 통해 결정할 수 있지만 보통 목적함수의 곡선을 관찰하여 결정하는 것이 더 효과적입니다. 이는 예술적인 요소가 크므로 회의적으로 접근해야 합니다. 초기 학습 속도가 너무 났으면 학습이 느리고, 너무 높으면 학습이 불안정해질 위험이 있습니다. 일반적으로 최적의 초기 학습 속도는 약 100회 반복 후의 성과보다 높습니다. 따라서 알고리즘을 여러 번 반복하여 최적의 학습 속도를 찾아야 하며, 학습이 심각하게 불안정해지지 않도록 주의해야 합니다.
확률적 경사 하강법의 중요한 속성
확률적 경사 하강법과 관련된 미니배치 또는 온라인 기울기 기반 최적화 알고리즘이 가져야 할 중요한 속성은 갱신당 계산 시간이 훈련 보기의 수에 비례하지 않은 것입니다. 이런 알고리즘은 많은 양의 훈련 데이터에도 수렴할 수 있습니다. 최종 시험 집합 오차가 특정 허용치 이하가 되면 훈련 집합 전체를 완전히 순회하지 않아도 알고리즘을 종료하도록 설정하면, 확률적 경사 하강법은 큰 데이터 세트에 대해도 충분히 수렴할 수 있습니다.
운동량 방법과 학습 속도 극복
확률적 경사 하강법은 인기 있는 최적화 전략이지만, 종종 학습 속도가 느릴 수 있는 단점이 있습니다. 이를 극복하려는 방법의 하나로 운동량 방법이 고안되었습니다. 특히 높은 곡률이나 작지만 일관된 기울기 잡음이 있는 상황에서 학습을 빠르게 진행해 줍니다. 운동량 알고리즘은 이전 단계 기울기들의 지수적으로 감소하는 이동 평균을 누적하여 그 방향으로 계속 이동합니다.
운동량 알고리즘의 작동 원리
운동량 알고리즘은 속도 역할을 하는 변수를 도입하여 매개변수가 매개변수 공간에서 어떻게 움직 일지와 그 속도를 결정합니다. 각 반복에서 알고리즘은 속도를 음의 기울기의 지수 감소 평균으로 업데이트합니다. 이 알고리즘의 이름은 물리학에서 가져온 것으로, 음의 기울기는 뉴턴의 운동 법칙에 따라 매개변수 공간에서의 이동을 주도하는 힘으로 작용합니다. 물리학에서 운동량은 질량에 속도를 곱한 것으로 정의되므로, 운동량 학습 알고리즘에서는 질량을 1로 가정하여 속도 벡터 자체를 입자의 운동량으로 간주할 수 있습니다. 초매개변수는 이전 단계의 기울기가 얼마나 빠르게 지수적으로 감소하는지를 조절하는 역할을 합니다.
운동량 알고리즘과 뉴턴 동역학의 관계
이전에는 단계 크기를 단순히 기울기 노름에 학습 속도를 곱한 값으로 설정했습니다. 그러나 이제는 단계 크기가 기울기들의 순차열이 얼마나 크고 어떻게 정렬되는지에 따라 결정됩니다. 단계 크기는 같은 방향을 가리키는 인접한 기울기들이 많을 때 최대가 됩니다. 운동량 알고리즘이 항상 기울기를 관측한다면, 훈련은 기울기의 방향으로 가속되다가 결국에는 종단 속도에 도달하게 됩니다.
운동량 알고리즘의 물리학적 비유
운동량 알고리즘은 연속 시간 뉴턴 동역학에서의 입자 운동을 모방하는 것으로 볼 수 있습니다. 이러한 물리학적 비유는 운동량과 경사 하강법 알고리즘의 작동 방식을 직관적으로 이해하는 데 도움이 됩니다.
운동량 알고리즘과 수치 시뮬레이션
임의의 한 시점에서 입자의 위치는 현재 점 함수로 주어지며, 입자에 작용하는 모든 힘의 합, 즉 알짜힘에 의해 입자는 가속됩니다. 이를 위치의 2차 미분방정식으로 보는 대신, 시간에 따른 입자의 속도를 나타내는 변수를 도입하여 뉴턴 동역학 방정식을 1차 미분방정식으로 표현할 수 있습니다. 이 관점에서 운동량 알고리즘은 수치 시뮬레이션을 통해 미분방정식을 푸는 과정에 해당합니다. 미분방정식을 푸는 간단한 수치적 방법으로는 오일러 방법이 있습니다. 이 방법은 방정식이 정의하는 동역학을 각 기울기 방향으로 작고 유한한 단계만큼 진행하여 시뮬레이션하는 것입니다.
운동량 알고리즘의 기본적인 갱신 방법
이상이 운동량 알고리즘의 기본적인 갱신 방법입니다. 입자에 작용하는 힘 중 하나는 비용함수 음의 기울기에 비례하는 힘입니다. 이 힘은 입자를 비용함수 표면을 따라 아래쪽으로 밀어냅니다. 경사 하강법 알고리즘은 각 기울기에 기반한 단순한 단계를 밟지만, 뉴턴 동역학의 비유를 사용하는 운동량 알고리즘은 이 힘을 이용하여 입자의 속도를 조절합니다. 이를 굴곡진 얼음 표면 위를 미끄러져 내려가는 하키 퍽처럼 움직인다고 생각하면 됩니다. 표면의 가파른 부분을 따라 내려가는 하키 퍽은 점점 속도가 붙어서 위로 올라가는 부분에서도 멈추지 않고 어느 정도까지는 위로 올라가게 됩니다.
추가 힘과 점성 항력
비용함수의 기울기에 비례하는 힘만으로는 입자가 정지 상태에 도달하지 못하므로 추가적인 힘이 필요합니다. 얼음 표면에 마찰이 전혀 없다고 가정한다면, 하키 퍽은 계곡의 한쪽 면을 따라 내려가다가 반대편 면으로 올라가고 다시 원래의 면으로 돌아가는 왕복 운동을 무한히 반복할 것입니다. 이 문제를 해결하기 위해 음의 속도에 비례하는 추가 힘, 즉 점성 항력을 도입해야 합니다. 이 힘은 입자가 완벽하게 매끄러운 얼음이 아닌 시럽처럼 끈적끈적한 표면을 통해 움직인다고 볼 수 있습니다. 이 점성 항력 덕분에 입자는 시간이 지남에 따라 점차 에너지를 잃어 결국 하나의 극소점으로 수렴하게 됩니다.
결론
딥러닝에서 자주 사용되는 최적화 알고리즘인 확률적 경사 하강법과 그 변형들은 학습 속도의 결정과 중요성, 중요한 속성, 그리고 운동량 방법과의 관계를 고려해야 합니다. 특히 운동량 알고리즘은 뉴턴 동역학의 물리학적 개념을 활용하여 기울기의 방향과 속도를 조절하여 효율적인 학습을 가능하게 합니다. 추가적인 힘인 점성 항력을 고려하여 입자가 정지 상태에 도달하도록 보완하는 것이 중요합니다.