unstructured pruning

En metode til at komprimere neurale netværk ved at fjerne individuelle vægte eller forbindelser uden hensyn til struktur.

Kort fortalt

Kort fortalt: man skærer enkeltvægte væk fra et neuralt netværk for at gøre det mindre og hurtigere, uden at fjerne hele kanaler eller lag.

Kategori
teknik
Niveau
øvet
Udtale
/ʌnˈstrʌktʃərd ˈpruːnɪŋ/

Betydninger

1
  1. 1

    Beskæring af individuelle vægte i et neuralt netværk uafhængigt af deres position, typisk baseret på vægtstørrelse eller andre kriterier.

    • Efter ustruktureret beskæring kan op til 90% af vægtene fjernes uden væsentligt præcisionstab.Han et al., 2015
    • Ustruktureret beskæring resulterer i en sparsom matrix, men kræver tilpassede sparse tensor-operationer for at opnå hastighedsforøgelse.

Hvornår bruges det

Ustruktureret beskæring anvendes typisk efter træning for at reducere modellens lagringsstørrelse og inferenstid. Den resulterende sparse vægtmatrix kræver speciel hardware eller software for at opnå acceleration.

Kodeeksempel

import torch
weights = torch.randn(10,10)
mask = torch.abs(weights) > 0.1  # threshold
pruned_weights = weights * mask

Eksempel på ustruktureret beskæring ved at nulstille vægte under en tærskel.

Oprindelse

Fra 'unstructured' (uden struktur) og 'pruning' (beskæring), som i havebrug. Betegnelsen opstod i maskinlæringslitteraturen omkring 2015-2016 for at skelne det fra struktureret beskæring.

Afledte ord

2

Kilder

2