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
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 * maskEksempel 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.