Het verkleinen van de modelgrootte zonder prestatieverlies is een belangrijk gebied van onderzoek in machine learning en kunstmatige intelligentie. Er zijn verschillende technieken ontwikkeld om effectief de complexiteit en grootte van modellen te verminderen, terwijl ze prestaties en nauwkeurigheid behouden. Hier zijn enkele gangbare technieken, inclusief voorbeelden en bronnen.
Pruning houdt in dat overbodige neuronen en verbindingen uit een neurale netwerk worden verwijderd. Dit proces kan op verschillende manieren worden uitgevoerd, zoals magnitude-based pruning, waarbij verbindingen met gewichten onder een bepaalde drempel worden verwijderd.
Voorbeeld: In de praktijk zijn technieken zoals magnitude-based pruning gebruikt bij bekende netwerken. Een studie toonde aan dat het mogelijk was om de LeNet-5 architectuur met 90% te verkleinen zonder significante prestatievermindering (Han, Pool, Tran, & Dally, 2015).
Bron:
- Han, S., Pool, J., Tran, J., & Dally, W. (2015). “Learning both Weights and Connections for Efficient Neural Networks.” arXiv preprint arXiv:1506.02626. [Link naar bron](https://arxiv.org/abs/1506.02626)
Quantization vermindert de precisie van de getallen die worden gebruikt om de gewichten en activaties in een model weer te geven. Dit kan aanzienlijke verminderingen in modelgrootte en rekenkundige overhead opleveren zonder significant verlies aan nauwkeurigheid.
Voorbeeld: Google heeft kwantisatie gebruikt voor TensorFlow Lite, waarbij modellen zoals MobileNet zijn gekwantiseerd van 32-bit floating point naar 8-bit integer precisie, wat aanzienlijke grootte-en energie-efficiëntie voordelen oplevert.
Bron:
- Jacob, B., Kligys, S., Chen, B., Zhu, M., Tang, M., Howard, A., … & Adam, H. (2018). “Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference.” arXiv preprint arXiv:1712.05877. [Link naar bron](https://arxiv.org/abs/1712.05877)
Bij knowledge distillation wordt een groot, krachtig model (de “teacher”) gebruikt om een kleiner model (de “student”) te trainen. Het kleinere model leert de uitvoer van het grotere model na te bootsen, wat resulteert in een compact model met vergelijkbare prestaties.
Voorbeeld: Dit concept werd gepopulariseerd door Hinton et al. (2015), waar ze toonden dat een klein “student” model kan leren van de “zachte” outputs van een groot “teacher” model om vergelijkbare nauwkeurigheid te bereiken op dataset zoals MNIST.
Bron:
- Hinton, G., Vinyals, O., & Dean, J. (2015). “Distilling the Knowledge in a Neural Network.” arXiv preprint arXiv:1503.02531. [Link naar bron](https://arxiv.org/abs/1503.02531)
Bij low-rank factorization worden de gewichtsmatrices van een neuraal netwerk benaderd door producten van matrices met lagere rang. Dit reduceert de opslagbehoefte en rekenefficiëntie.
Voorbeeld: SVD (Singular Value Decomposition) is een bekende methode voor low-rank factorisatie die gebruikt werd door Denil et al. (2013) om de redundantie in grote neurale netwerken te exploiteren en de opslagvereisten te verlagen.
Bron:
- Denil, M., Shakibi, B., Ranzato, M., Freitas, N. D., & de Freitas, N. (2013). “Predicting Parameters in Deep Learning.” In Proceedings of the 26th International Conference on Neural Information Processing Systems – Volume 2 (NIPS’13), Lake Tahoe, Nevada. [Link naar bron](https://papers.nips.cc/paper/5025-predicting-parameters-in-deep-learning.pdf)
Weight sharing beperkt het aantal unieke gewichten in een model door bepaalde gewichten te delen tussen verschillende onderdelen van een netwerk. Dit reduceert zowel het aantal parameters als de opslagvereisten zonder significant prestatieverlies.
Voorbeeld: CNNs (Convolutional Neural Networks) maken vaak gebruik van gewichtsdeling in hun filters om het aantal parameters drastisch te verminderen, zoals beschreven in LeCun et al. (1998).
Bron:
- LeCun, Y., Bottou, L., Bengio, Y., & Haffner, P. (1998). “Gradient-based Learning Applied to Document Recognition.” In Proceedings of the IEEE, 86(11), 2278-2324. [Link naar bron](http://yann.lecun.com/exdb/publis/pdf/lecun-98.pdf)
Elke van deze technieken draagt bij aan de mogelijkheid om modellen te verkleinen en efficiënter te maken, zonder significante prestatiesverlies. De selectie van de techniek hangt vaak af van de specifieke eisen en beperkingen van de toepassing waaraan gewerkt wordt.