Yolo 비전 선전
선전
지금 참여하기
용어집

정규화

정규화가 머신러닝에서 과적합을 방지하는 방식을 살펴보세요. Ultralytics 활용하여 드롭아웃과 가중치 감쇠를 구현하는 방법을 배우고 모델의 일반화 성능을 향상시키세요.

정규화는 기계 학습에서 모델이 지나치게 복잡해지는 것을 방지하고 새로운 미확인 데이터에 대한 일반화 능력을 향상시키기 위해 사용되는 일련의 기법입니다. 훈련 과정에서 모델은 종종 훈련 데이터 내의 복잡한 패턴을 학습함으로써 오류를 최소화하려고 노력합니다. 그러나 제약 조건이 없다면 모델은 잡음과 이상값을 암기하기 시작할 수 있으며, 이는 과적합으로 알려진 문제입니다. 정규화는 모델의 손실 함수에 페널티를 추가함으로써 이 문제를 해결합니다. 이는 극단적인 매개변수 값을 효과적으로 억제하고 알고리즘이 더 부드럽고 견고한 패턴을 학습하도록 강제합니다.

핵심 개념과 기법

정규화의 원칙은 종종 오컴의 면도날과 비교되며, 가장 단순한 해결책이 일반적으로 올바른 해결책임을 시사한다. 모델을 제약함으로써 개발자는 모델이 우연한 상관관계보다는 데이터의 가장 중요한 특징에 집중하도록 보장한다.

현대 딥러닝 프레임워크에서 정규화를 구현하기 위해 사용되는 몇 가지 일반적인 방법은 다음과 같습니다:

  • L1 및 L2 정규화: 이 기법들은 모델 가중치의 크기에 기반한 페널티 항을 추가합니다. L2 정규화( 리지 회귀또는 가중치 감쇠라고도 함)는 큰 가중치에 대해 가중치를 크게 페널티화하여 가중치가 작고 확산되도록 유도합니다. L1 정규화( 라소 회귀)는 일부 가중치를 0으로 만들 수 있어 효과적으로 특징 선택을 수행합니다.
  • 드롭아웃: 신경망에서 특화된 기법으로, 드롭아웃 레이어는 훈련 과정에서 일정 비율의 뉴런을 무작위로 비활성화합니다. 이를 통해 네트워크는 특징 식별을 위한 중복 경로를 개발하도록 유도되며, 특정 예측에 있어 단일 뉴런이 병목 현상이 되는 것을 방지합니다.
  • 데이터 증강: 주로 전처리 단계이지만, 데이터 증강은 강력한 정규화 역할을 수행합니다. 이미지의 변형 버전(회전, 반전, 색상 이동)으로 데이터셋을 인위적으로 확장함으로써, 모델은 더 많은 변동성에 노출되어 원본 정적 예제를 암기하는 것을 방지합니다.
  • 조기 종료: 이는 훈련 중 검증 데이터에 대한 모델 성능을 모니터링하는 것을 포함합니다. 훈련 오류가 감소하는 동안 검증 오류가 증가하기 시작하면, 모델이 잡음을 학습하는 것을 방지하기 위해 프로세스가 중단됩니다.

실제 애플리케이션

데이터 변동성이 높은 다양한 산업 분야에서 신뢰할 수 있는 AI 시스템을 구축하는 데 정규화는 필수적이다.

  1. 자율 주행: 자동차 솔루션용 인공지능에서 컴퓨터 비전 모델은 다양한 기상 조건 하에서 detect 교통 표지판을 detect 합니다. 정규화 없이 모델은 훈련 세트의 특정 조명 조건을 암기하여 실제 환경에서 실패할 수 있습니다. 가중치 감쇠와 같은 기법은 감지 시스템이 비, 안개 또는 눈부심에 잘 일반화되도록 보장하며, 이는 자율 주행 차량의 안전에 매우 중요합니다.
  2. 의료 영상: 의료 영상 분석을 수행할 때 개인정보 보호 문제나 질환의 희귀성으로 인해 데이터셋 규모가 제한되는 경우가 많습니다. 이 경우 과적합이 주요 위험 요소입니다. 정규화 기법은 X선이나 MRI에서 detect 훈련된 모델이 새로운 환자 데이터에서도 정확성을 유지하도록 지원하여 의료 AI의 진단 결과를 개선합니다.

Python 구현

현대 라이브러리는 하이퍼파라미터를 통해 정규화 적용을 간편하게 만듭니다. 다음 예시는 정규화를 적용하는 방법을 보여줍니다. dropoutweight_decay 훈련할 때 YOLO26 모델입니다.

from ultralytics import YOLO

# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")

# Train with regularization hyperparameters
# 'dropout' adds randomness, 'weight_decay' penalizes large weights to prevent overfitting
model.train(data="coco8.yaml", epochs=100, dropout=0.5, weight_decay=0.0005)

이러한 실험을 관리하고 다양한 정규화 값이 성능에 미치는 영향을 추적하는 작업은 Ultralytics 통해 원활하게 처리할 수 있습니다. 해당 플랫폼은 훈련 실행을 기록하고 비교할 수 있는 도구를 제공합니다.

정규화 대 관련 개념

정규화를 다른 최적화 및 전처리 용어와 구별하는 것이 도움이 됩니다:

  • 정규화 대 정규화: 정규화에는 입력 데이터를 표준 범위로 확장하여 수렴 속도를 높이는 것이 포함됩니다. 다음과 같은 기술은 배치 정규화는 약간의 정규화 효과가 있을 수 있지만, 정규화의 주된 목적은 학습 역학을 안정화시키는 것이지만, 정규화는 명시적으로 복잡성에 불이익을 줍니다.
  • 정규화 대 하이퍼파라미터 튜닝: 정규화 파라미터(드롭아웃률이나 L2 페널티 등) 자체가 하이퍼파라미터입니다. 하이퍼파라미터 튜닝은 이러한 설정값의 최적값을 찾는 광범위한 과정으로, 종종 편향-분산 상충관계를 균형 잡기 위한 것입니다.
  • 정규화 대 앙상블 학습: 앙상블 방법은 여러 모델의 예측을 결합하여 분산을 줄이고 일반화를 개선합니다. 반면 정규화와 비슷한 목표를 달성하지만, 단일 모델의 학습을 제한하는 대신 다양한 모델을 통합하여 단일 모델의 학습을 제한하지 않습니다.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기