Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

Normalization

정규화는 특성이나 활성화를 공통 범위로 재조정해 특정 값 범위가 우세해지지 않도록 합니다. 최소-최대, z-점수, L2, 정규화 레이어를 다룹니다.

정규화는 어떤 특징도 단위 때문에 모델을 지배하지 않도록 숫자 값을 공통 척도로 재조정하는 과정입니다. 데이터 전처리에서는 일반적으로 학습 전에 각 입력 특징을 [0, 1]과 같은 고정 범위 또는 평균 0, 분산 1로 변환하는 것을 의미합니다. 신경망 내부에서는 배치 정규화와 같은 정규화 레이어가 중간 활성화값에 동일한 개념을 적용합니다. 정규화하지 않으면 소득처럼 수천 단위로 측정되는 특징이 가구원 수처럼 한 자릿수로 측정되는 특징보다 모든 거리 계산과 그래디언트 단계에서 더 큰 영향을 줍니다.

일반적인 정규화 기법#

  • 최솟값-최댓값 스케일링: (x − min) / (max − min)을 사용해 각 특징을 [0, 1] 범위로 변환합니다. 극단값 하나가 나머지 값을 좁은 범위에 압축하므로, 255로 나눈 8비트 픽셀값처럼 범위가 고정되어 알려진 특징에 적합합니다.
  • Z-점수 표준화: 특징의 평균을 빼고 표준편차로 나누어 평균을 0, 표준편차를 1로 만듭니다. 범위가 고정되지 않은 특징에 일반적으로 기본 적용되는 방식입니다.
  • 강건 스케일링: 중앙값을 빼고 사분위 범위로 나누므로, 몇 개의 이상값이 나머지 값의 스케일링 방식에 거의 영향을 미치지 않습니다.
  • 로그 스케일링: 가격, 인구, 조회수처럼 꼬리가 두꺼운 특징을 다른 방식으로 스케일링하기 전에 로그, 주로 log(1 + x)를 적용해 값을 압축합니다.
  • 단위 벡터 (L2) 정규화: 각 샘플의 벡터를 길이로 나누어 모든 벡터의 노름을 1로 만듭니다. 임베딩에 적용하면 코사인 유사도를 단순한 내적으로 바꿉니다. scikit-learn의 Normalizer는 샘플별로 이 연산을 수행합니다. 따라서 각 특징을 MinMaxScaler처럼 스케일링할 것으로 기대하는 사용자에게는 다소 의외일 수 있습니다.

적합한 기법은 어떤 값을 스케일링하는지와 값의 분포에 따라 달라집니다.

정규화가 중요한 이유#

k-최근접 이웃 (k-NN), k-평균 군집화, RBF 커널 서포트 벡터 머신과 같은 거리 기반 방법은 유클리드 거리를 그대로 비교하므로, 범위가 가장 넓은 특징이 어떤 점을 가깝다고 볼지 결정합니다. 그래디언트 기반 모델은 입력을 정규화하면 더 빠르게 학습됩니다. 서로 다른 척도의 특징은 손실 표면을 좁고 깊은 골짜기 형태로 만들며, 이 경우 경사 하강법은 작은 단계를 밟아야 하기 때문입니다. 랜덤 포레스트와 같은 트리 앙상블은 한 번에 하나의 특징 임계값으로 분기하며, 단조롭게 재조정해도 동일한 분기 결과를 냅니다. Wine 데이터셋을 k-NN에 적용하고 스케일링하면 그 효과를 확인할 수 있습니다.

from sklearn.datasets import load_wine
from sklearn.model_selection import cross_val_score
from sklearn.neighbors import KNeighborsClassifier
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import MinMaxScaler, StandardScaler

# 13 chemical features on very different scales, from hue (about 0.5-1.7) to proline (about 280-1,680)
X, y = load_wine(return_X_y=True)

# k-NN compares raw distances, so unscaled proline dominates every distance
for name, scaler in [("none", "passthrough"), ("min-max", MinMaxScaler()), ("z-score", StandardScaler())]:
    # The pipeline fits the scaler on each training fold only, so no test statistics leak in
    model = make_pipeline(scaler, KNeighborsClassifier())
    accuracy = cross_val_score(model, X, y, cv=5).mean()
    print(f"scaling {name:8s} 5-fold accuracy: {accuracy:.3f}")

스케일링하지 않으면 약 1,400 단위 범위의 프롤린이 다른 12개 특징보다 거리 계산에 더 큰 영향을 미치므로 k-NN의 정확도는 0.691입니다. 최솟값-최댓값 스케일링을 적용하면 정확도는 0.950으로, Z-점수 표준화를 적용하면 0.949로 올라갑니다. 스케일러를 파이프라인 안에서 학습하는 것도 중요합니다. 분할 전에 전체 데이터셋에서 최솟값, 최댓값, 평균 또는 표준편차를 계산하면 테스트 세트 정보가 학습 과정에 유출되며, 이를 데이터 누수라고 합니다.

컴퓨터 비전에서의 정규화#

이미지는 채널별로 정규화됩니다. 8비트 픽셀 값을 255로 나누면 [0, 1] 범위에 매핑됩니다. 그런 다음 많은 분류 백본은 채널별 평균을 빼고 표준 편차로 나눕니다. ImageNet으로 사전 학습된 torchvision ResNet-50은 평균 (0.485, 0.456, 0.406)과 표준 편차 (0.229, 0.224, 0.225)를 사용합니다. 사전 학습 모델에 학습 데이터와 다른 방식으로 정규화한 입력을 넣으면 모든 활성화 값이 달라져 정확도가 낮아집니다. Ultralytics YOLO 전처리는 학습 및 예측 시 픽셀 값을 255로 나누며 평균 또는 표준 편차를 이용한 변환은 적용하지 않습니다. 따라서 YOLO26은 항상 [0, 1] 범위의 입력을 받습니다.

의료 이미지에는 모달리티별 규칙이 필요합니다. CT 스캔은 하운스필드 단위로 강도를 저장합니다. 이는 공기가 −1000이고 물이 0인 물리적 척도이므로, 여러 스캔에 동일한 통계를 적용할 수 있습니다. 널리 사용되는 nnU-Net 분할 프레임워크는 모든 학습 사례의 전경값 전체에서 CT 강도를 0.5 및 99.5 백분위수로 제한한 다음, 데이터셋 전체의 평균과 표준편차를 이용해 Z-점수로 표준화합니다. MRI 강도는 고정된 물리적 척도가 없고 스캐너마다 달라지므로, nnU-Net은 각 MRI 스캔을 개별적으로 Z-점수 표준화합니다.

  • 표준화: 일반적으로 Z-점수 스케일링을 가리키는 용어입니다. 일부 자료에서는 최솟값-최댓값 및 Z-점수 스케일링을 모두 "정규화"라고 부르는 반면, 다른 자료에서는 "정규화"를 최솟값-최댓값 스케일링에만 사용합니다.
  • 데이터 증강: 뒤집기, 크롭, 색상 이동과 같이 이미지의 콘텐츠나 기하 구조를 변경하여 다양성을 더합니다. 정규화는 값의 척도만 변경합니다.
  • 정규화 레이어: 배치 정규화는 현재 미니배치의 통계를 사용해 각 채널을 표준화합니다. 레이어 정규화는 배치 크기와 관계없이 각 샘플의 특징 전체를 표준화하며 트랜스포머 전반에서 사용됩니다. 이러한 레이어는 정규화 후 학습 가능한 스케일과 이동값을 적용합니다.
  • RMSNorm: 평균을 빼는 단계를 생략하고 제곱평균제곱근으로만 나누는 간소화된 레이어 정규화입니다. Meta의 Llama 및 여러 대규모 언어 모델에서 사용하는 정규화 레이어입니다.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 보전, 지리 공간 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO를 활용해 항공기 검사, 활주로 FOD 감지, 공항 지상 운영, 복합재 결함 감지 등 항공우주 분야에 컴퓨터 비전을 적용하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요