Sobes.tech
Middle — Senior

Кайсы нормализация түрлөрү бар (Batch, Layer, Instance, Group, RMSNorm)?

sobes.tech AI

AIден жооп

Нейрондук тармактарда нормализация үйрөнүүнү турукташтырып, ылдамдатууга жардам берет, активдүүлүктөрдүн ички таралышын азайтат. Негизги нормализация түрлөрү:

  • Батч Нормализациясы (Batch Normalization, BatchNorm) — батч боюнча нормализация. Ар бир өзгөчөлүк үчүн мини-батч боюнча орточо жана дисперсияны эсептейт, андан кийин маанилерди масштабдайт жана жылдырат. Натыйжалуу, бирок батчтин өлчөмүнө көз каранды.

  • Катмар нормализациясы (Layer Normalization, LayerNorm) — катмар боюнча нормализация. Ар бир мисал үчүн катмардын бардык нейрондору үчүн статистикаларды эсептейт, батчтын өлчөмүнө көз каранды эмес. Жиі колдонулат RNN жана трансформерлерде.

  • Инстанс нормализациясы (Instance Normalization, InstanceNorm) — мисал жана канал боюнча нормализация, көбүнчө сүрөт иштетүү тапшырмаларында колдонулат, мисалы, стили өткөрүүдө.

  • Группалык нормализация (Group Normalization, GroupNorm) — каналдарды топторго бөлүп, ар бир топтун ичинде нормализация жасайт. Кичинекей батч өлчөмдөрүндө туруктуу иштейт.

  • RMSNorm (Root Mean Square Normalization) — маанилердин квадратынын орточо маанисинин тамырын колдонуу менен нормализация, орточонун чыгарбастан. LayerNormтун жөнөкөйлөштүрүлгөн версиясы, кээде трансформерлерде жакшы натыйжалар берет.

PyTorchтогу BatchNorm мисалы:

import torch
import torch.nn as nn

batch_norm = nn.BatchNorm1d(num_features=10)
x = torch.randn(32, 10)  # 32 мисалдан турган батч
output = batch_norm(x)