Sobes.tech
Middle — Senior

Qaysi normalizatsiya turlari mavjud (Batch, Layer, Instance, Group, RMSNorm)?

sobes.tech AI

AIdan javob

Neyron tarmoqlardagi normalizatsiya faoliyatlarni barqarorlashtirish va tezlashtirishga yordam beradi, ichki taqsimotdagi siljishni kamaytiradi. Asosiy normalizatsiya turlari:

  • Partiya normalizatsiyasi (Batch Normalization, BatchNorm) — partiya bo'yicha normalizatsiya. Har bir xususiyat uchun mini-partiya bo'yicha o'rtacha va dispersiyani hisoblaydi, so'ngra qiymatlarni o'lchash va siljitadi. Samarali, lekin partiya hajmiga bog'liq.

  • Qavat normalizatsiyasi (Layer Normalization, LayerNorm) — qavat bo'yicha normalizatsiya. Har bir misol uchun qavatdagi barcha neyronlar uchun statistikalarni hisoblaydi, partiya hajmiga bog'liq emas. Ko'pincha RNN va transformatorlarda ishlatiladi.

  • Holat normalizatsiyasi (Instance Normalization, InstanceNorm) — misol va kanal bo'yicha normalizatsiya, odatda rasmni qayta ishlash vazifalarida, masalan, uslub o'tkazishda qo'llaniladi.

  • Guruh normalizatsiyasi (Group Normalization, GroupNorm) — kanallarni guruhlarga bo'lib, har bir guruh ichida normalizatsiya qiladi. Kichik partiya hajmlari bilan barqaror ishlaydi.

  • RMSNorm (Root Mean Square Normalization) — qiymatlarning kvadrat o'rtacha qiymatining ildizi bilan normalizatsiya, o'rtacha qiymatni chiqarmasdan. LayerNorm'ga soddalashtirilgan alternativ, ba'zan transformatorlarda yaxshiroq natija beradi.

PyTorchda BatchNorm misoli:

import torch
import torch.nn as nn

batch_norm = nn.BatchNorm1d(num_features=10)
x = torch.randn(32, 10)  # 32 misoldan iborat partiya
output = batch_norm(x)