Sobes.tech
Middle — Senior

Millised normaliseerimise tüübid on olemas (Batch, Layer, Instance, Group, RMSNorm)?

sobes.tech AI

Vastus AI-lt

Närvivõrkudes normaliseerimine aitab stabiliseerida ja kiirendada õppimist, vähendades sisemise aktiveerimise jaotuse nihkeid. Peamised normaliseerimise tüübid:

  • Partii normaliseerimine (Batch Normalization, BatchNorm) — normaliseerimine partii kohta. Arvutab iga omaduse jaoks mini-partii keskmise ja dispersiooni ning seejärel skaleerib ja nihutab väärtusi. Tõhus, kuid sõltub partii suurusest.

  • Kihinormeerimine (Layer Normalization, LayerNorm) — kihinormeerimine. Arvutab statistika kõigi kihi neuronite kohta iga üksiku näite jaoks, sõltumata partii suurusest. Kasutatakse sageli RNN-ides ja transformaatorses.

  • Näite normaliseerimine (Instance Normalization, InstanceNorm) — näite ja kanali põhine normaliseerimine, sageli kasutatav pilditöötlusülesannetes, näiteks stiili ülekandes.

  • Rühma normaliseerimine (Group Normalization, GroupNorm) — jagab kanalid gruppidesse ja normaliseerib iga grupi sees. Stabiilne väikeste partii suurustega.

  • RMSNorm (Root Mean Square Normalization) — normaliseerimine väärtuste ruutkeskmise ruutjuure järgi, ilma keskmist arvestamata. Lihtsustatud alternatiiv LayerNorm-ile, mõnikord annab paremaid tulemusi transformaatorses.

PyTorch näide BatchNorm-ist:

import torch
import torch.nn as nn

batch_norm = nn.BatchNorm1d(num_features=10)
x = torch.randn(32, 10)  # 32 näidet
output = batch_norm(x)