Sobes.tech
Middle — Senior

Kokie normalizacijos tipai egzistuoja (Batch, Layer, Instance, Group, RMSNorm)?

sobes.tech AI

Atsakymas iš AI

Neuroninių tinklų normalizacija padeda stabilizuoti ir pagreitinti mokymąsi, sumažindama vidinį aktyvacijų paslinkimą. Pagrindiniai normalizacijos tipai:

  • Batch Normalization (BatchNorm) — normalizacija pagal partiją. Apskaičiuoja vidurkį ir dispersiją kiekvienai savybei mini-partijoje, tada mastelį ir perkelia reikšmes. Efektyvi, bet priklauso nuo partijos dydžio.

  • Layer Normalization (LayerNorm) — sluoksnio normalizacija. Apskaičiuoja statistiką visiems sluoksnio neuronams kiekvienam atskiram pavyzdžiui, nepriklausomai nuo partijos dydžio. Dažnai naudojama RNN ir transformatoriuose.

  • Instance Normalization (InstanceNorm) — pavyzdžio ir kanalo normalizacija, dažnai taikoma vaizdų apdorojimo užduotyse, pvz., stiliaus perdavime.

  • Group Normalization (GroupNorm) — padalija kanalus į grupes ir normalizuoja kiekvienos grupės viduje. Stabiliai veikia su mažais partijos dydžiais.

  • RMSNorm (Root Mean Square Normalization) — normalizacija pagal reikšmių kvadratų vidurkio šaknį, be vidurkio atimties. Supaprastinta LayerNorm alternatyva, kartais duoda geresnius rezultatus transformatoriuose.

Pavyzdys su BatchNorm PyTorch:

import torch
import torch.nn as nn

batch_norm = nn.BatchNorm1d(num_features=10)
x = torch.randn(32, 10)  # 32 pavyzdžių partija
output = batch_norm(x)