최적화 알고리즘
신경망 훈련부터 의료 및 농업 분야의 실제 애플리케이션에 이르기까지 최적화 알고리즘이 AI 및 ML 성능을 향상시키는 방법을 알아보세요.
최적화 알고리즘은 머신러닝(ML) 과 딥러닝에서 학습 프로세스를 구동하는 엔진입니다. 최적화 알고리즘의 주요 역할은 손실 함수를 최소화하기 위해 가중치 및 편향과 같은 모델의 내부 파라미터를 반복적으로 조정하는 것입니다. 모델의 예측을 가장 정확하게 하는 최상의 파라미터 세트를 찾는 체계적인 방법이라고 생각하면 됩니다. 이 프로세스는 일반 모델을 물체 감지나 이미지 분할과 같은 특정 작업을 해결할 수 있는 특수 도구로 변환하기 때문에 모델 훈련의 기본이 됩니다.
최적화 알고리즘의 작동 방식
최적화 알고리즘의 핵심은 각 점이 모델 매개변수 집합을 나타내고 점의 높이가 모델의 오차에 해당하는 고차원 공간인 '손실 풍경'을 탐색하는 것입니다. 목표는 이 풍경에서 가장 낮은 지점, 즉 '최소값'을 찾는 것입니다. 알고리즘은 초기 임의의 매개변수 집합으로 시작하여 각 단계(또는 에포크)에서 손실 함수의 기울기를 계산합니다. 이 기울기는 가장 가파른 상승 방향을 가리키므로 알고리즘은 풍경을 하강하기 위해 반대 방향으로 한 걸음씩 내딛습니다.
이 단계의 크기는 학습 속도라는 중요한 하이퍼파라미터에 의해 제어됩니다. 학습 속도를 잘 선택하면 모델이 최소값을 초과하거나 멈추지 않고 효율적으로 학습할 수 있습니다. 기울기를 계산하고 매개변수를 업데이트하는 이 반복적인 프로세스를 역전파라고 하며, 검증 데이터 세트에서 모델의 성능이 더 이상 개선되지 않고 수렴을 나타낼 때까지 계속됩니다.
일반적인 최적화 알고리즘 유형
각기 다른 특성을 가진 여러 최적화 알고리즘이 개발되었습니다. 딥 러닝에서 가장 널리 사용되는 몇 가지 알고리즘은 다음과 같습니다:
- 확률적 경사 하강(SGD): 학습 데이터의 작은 하위 집합(배치)에서 기울기를 사용하여 파라미터를 업데이트하는 고전적이고 널리 사용되는 최적화 기법입니다. 효과적이기는 하지만 학습 속도 선택에 따라 성능이 민감하게 달라질 수 있습니다. 모멘텀이 있는 SGD와 같은 변형은 컨버전스를 가속화하는 데 도움이 됩니다.
- 아담 옵티마이저: 적응형 모멘트 추정(Adam) 최적화 도구는 SGD의 다른 두 가지 확장 기능인 AdaGrad와 RMSProp의 장점을 결합하여 매우 인기가 높습니다. 각 매개변수에 대한 적응형 학습률을 계산하므로 강력하고 많은 문제에 대해 기본으로 선택하는 경우가 많습니다. 확장 기능인 AdamW는 최신 트랜스포머 모델에서 일반적으로 사용됩니다. PyTorch 및 TensorFlow와 같은 프레임워크는 이러한 인기 있는 최적화 도구의 구현을 제공합니다.
최적화 도구의 선택은 학습 속도와 모델의 최종 성능 모두에 큰 영향을 미칠 수 있습니다. Ultralytics 에코시스템에서는 사용자가 훈련 설정 중에 옵티마이저를 쉽게 구성할 수 있습니다.
실제 애플리케이션
수많은 AI 애플리케이션의 이면에는 최적화 알고리즘이 작동하고 있습니다.
- 의료 이미지 분석: 뇌 스캔에서 종양을 감지하기 위해 컨볼루션 신경망(CNN) 을 훈련할 때, Adam과 같은 최적화 알고리즘은 네트워크의 필터를 체계적으로 조정합니다. 이 알고리즘은 모델의 예측된 종양 위치와 영상의학과 전문의가 제공하는 실측 주석 간의 차이를 최소화하여 모델의 진단 정확도를 향상시킵니다. 이는 의료 솔루션에서 효과적인 AI를 구축하는 데 있어 핵심적인 요소입니다.
- 자율주행 차량: 자율주행차의 물체 감지 모델(예: Ultralytics YOLO 모델)은 보행자, 다른 차량, 교통 표지판 등을 안정적으로 식별해야 합니다. 학습 중에 옵티마이저는 수백만 개의 이미지에서 모델의 파라미터를 미세 조정하여 감지 오류(예: 놓친 물체 또는 잘못된 분류)를 줄이며, 이는 자동차 시스템에서 AI의 안전을 보장하는 데 매우 중요합니다.
최적화 알고리즘과 관련 개념 비교
최적화 알고리즘을 관련 ML 개념과 구별하는 것이 중요합니다:
- 최적화 알고리즘과 하이퍼파라미터 튜닝 비교: 최적화 알고리즘은 내부 매개변수 (가중치 및 편향)을 설정합니다. 동안 훈련. 이와 대조적으로 하이퍼파라미터 튜닝은 최상의 외부 구성 설정 (학습 속도, 배치 크기 또는 최적화 도구 자체의 선택 등) 전에 교육이 시작됩니다. 교육이 시작됩니다. 울트라 애널리틱스
Tuner
클래스 는 다음과 같은 방법을 사용하여 이 프로세스를 자동화합니다. 진화 알고리즘. - 최적화 알고리즘과 손실 함수 비교: 손실 함수는 모델의 오류를 정량화합니다. 최적화 알고리즘은 이 오차를 최소화하는 데 사용되는 메커니즘입니다. 손실 함수는 목표를 제공하고 최적화 알고리즘은 목표에 도달하기 위한 전략을 제공합니다.
- 최적화 알고리즘 대 모델 아키텍처: 모델 아키텍처는 신경망의 구조(예: 레이어 및 연결)를 정의합니다. 최적화 알고리즘은 이 사전 정의된 구조 내에서 작동하여 학습 가능한 파라미터를 훈련합니다. 신경망 아키텍처 검색(NAS) 은 아키텍처 자체의 설계를 자동화하는 관련 분야입니다.