정규화
L1, L2, 드롭아웃, 조기 종료와 같은 정규화 기술을 사용하여 과적합을 방지하고 모델 일반화 성능을 향상시키세요. 자세히 알아보기!
정규화는 머신러닝(ML)에서 중요한 전략 세트입니다.
머신 러닝(ML)의 중요한 전략입니다.
일반화할 수 있는 모델의 능력을 향상시키기 위해 고안된 중요한 전략입니다. 정규화의 주요 목표는 다음과 같습니다.
모델이 학습하는 일반적인 현상인 과적합을 방지하는 것입니다.
노이즈와 특정 세부 사항을
훈련 데이터의 노이즈와 특정 세부 사항을 학습하여
과적합을 방지하는 것입니다. 추가 정보나 제약 조건을 도입함으로써(종종 손실 함수에 추가되는 페널티 용어의 형태로)
손실 함수에 추가되는페널티 용어의 형태로 추가 정보나 제약 조건을 도입함으로써 모델
지나치게 복잡해지는 것을 방지합니다. 그 결과 훈련과 학습 모두에서 높은
훈련 및 검증 데이터 모두에서
높은 정확도를 유지하는 더욱 강력한 시스템이 됩니다.
일반적인 정규화 기법
정규화를 적용하는 몇 가지 확립된 방법이 있으며, 각각 모델 복잡성의 다양한 측면을 대상으로 합니다.
및 훈련 역학의 여러 측면을 대상으로 합니다:
-
L1 및 L2 정규화: 가장 전통적인 형태입니다. L1 정규화(올가미)는 계수의 절대값과 동일한 페널티를 추가하여
계수의 절대값에 해당하는 페널티를 추가하여 일부 가중치를 0으로 만들어 특징 선택을 효과적으로 수행할 수 있습니다. L2 정규화
(Ridge)는 딥 러닝(DL)에 널리 사용되며, 다음과 같은 페널티를 추가합니다.
계수 크기의 제곱에 해당하는 페널티를 추가하여 더 작고 더 확산된
모델 가중치.
-
드롭아웃 레이어: 특별히 설계된
신경망(NN), 무작위 드롭아웃
은 각 훈련 단계에서 뉴런의 일부를 비활성화합니다. 이렇게 하면 네트워크가 중복된 표현을 학습하게 되고
표현을 학습하고 특정 뉴런 경로에 의존하는 것을 방지하며, 이 개념은
드롭아웃 연구 논문에 자세히 설명되어 있습니다.
-
데이터 증강: 이 기술은 모델 아키텍처를 수정하는 대신 기존 이미지 또는 데이터 포인트의 수정된 버전을 생성하여
버전을 생성하여 학습 세트를 확장합니다. 회전, 크기 조정, 뒤집기 등의 변환을 통해 모델이 이러한 변화에 대해
모델이 이러한 변화에 변하지 않도록 도와줍니다. 다음을 살펴볼 수 있습니다.
YOLO 데이터 증강 기법을 살펴보고
실제로 어떻게 적용되는지 살펴볼 수 있습니다.
-
조기 정차: 이 실용적인 접근 방식에는 훈련 중에 유효성 검사 세트에서 모델의 성능을 모니터링하는 것이 포함됩니다. 만약
유효성 검사 손실이 개선되지 않거나 증가하기 시작하면
훈련 프로세스가 즉시 중단됩니다. 이렇게 하면
모델이 학습의 후반 단계에서 노이즈를 계속 학습하는 것을 방지합니다.
-
라벨 스무딩: 이 기술은 학습 중에 목표 레이블을 조정하여 모델이 100%의 확률로 예측하도록 강요하지 않도록 합니다.
신뢰도(예: 1.0 확률)로 예측하지 않도록 훈련 중에 목표 레이블을 조정합니다. 라벨 평활화는 목표를 부드럽게(예: 0.9로) 조정함으로써 네트워크가 지나치게 자신감을 갖는 것을 방지하여
이 지나치게 과신하는 것을 방지하여 다음과 같은 작업에 유용합니다.
이미지 분류.
Python 정규화 구현하기
Ultralytics 같은 최신 라이브러리를 사용하면 훈련 인수를 통해 이러한 기술을 쉽게 적용할 수 있습니다. 다음
다음 예제에서는 YOLO11 모델
L2 정규화( weight_decay) 및 드롭아웃을 통해 강력한 모델을 보장합니다.
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Train the model with specific regularization parameters
# 'weight_decay' applies L2 regularization
# 'dropout' applies a dropout layer with a 10% probability
results = model.train(data="coco8.yaml", epochs=50, weight_decay=0.0005, dropout=0.1)
실제 애플리케이션
정규화는 다양한 산업 분야에 걸쳐 신뢰할 수 있는 AI 시스템을 배포하는 데 필수적인 요소입니다.
-
자율 주행: In
오토모티브 솔루션용 AI, 컴퓨터 비전
모델은 다양한 기상 조건에서 보행자와 교통 표지판을 detect 합니다. 정규화가 없으면 모델이
은 학습 세트의 특정 조명 조건을 암기하여 실제 환경에서 실패할 수 있습니다. 다음과 같은 기술은
가중치 감쇠와 같은 기술을 사용하면 감지 시스템이 다음과 같은 상황에서도 잘 일반화됩니다.
비, 안개, 눈부심.
-
의료 영상: 의료 이미지 분석을 수행할 때
의료 이미지 분석을 수행할 때 데이터 세트는 종종
크기가 제한적입니다. 여기서 과적합은 심각한 위험입니다. 정규화 방법, 특히
데이터 증강 및 조기 중지, 도움
엑스레이나 MRI에서 이상 징후를 detect 훈련된 모델이 새로운 환자 데이터에서도 정확성을 유지하여 더 나은
더 나은 진단 결과를 지원합니다.
정규화 대 관련 개념
정규화를 다른 최적화 및 전처리 용어와 구별하는 것이 도움이 됩니다:
-
정규화 대 정규화: 정규화에는 입력 데이터를 표준 범위로 확장하여 수렴 속도를 높이는 것이 포함됩니다. 다음과 같은 기술은
배치 정규화는 약간의
정규화 효과가 있을 수 있지만, 정규화의 주된 목적은 학습 역학을 안정화시키는 것이지만, 정규화는 명시적으로
복잡성에 불이익을 줍니다.
-
정규화 대
하이퍼파라미터 튜닝: 정규화 매개변수(예: 탈락률 또는 L2 페널티)는 그 자체로 하이퍼파라미터입니다. 하이퍼파라미터
튜닝은 이러한 설정에 대한 최적의 값을 찾는 보다 광범위한 프로세스로, 주로
Ultralytics 튜너.
-
정규화 대 앙상블 학습: 앙상블 방법은 여러 모델의 예측을 결합하여 분산을 줄이고 일반화를 개선합니다. 반면
정규화와 비슷한 목표를 달성하지만, 단일 모델의 학습을 제한하는 대신 다양한 모델을 통합하여
단일 모델의 학습을 제한하지 않습니다.