AI-hardware en softwarestack
Waarom wordt bij convolutionele neurale netwerken de convolutie soms met methoden zoals im2col omgezet in een matrixproduct?
- AOmdat het aantal bewerkingen na omzetting tien keer kleiner wordt
- BOmdat sterk geoptimaliseerde matrixproductbibliotheken en matrixrekeneenheden zoals tensor cores kunnen worden gebruikt
- COmdat het geheugengebruik na omzetting altijd afneemt
Antwoord en toelichting tonen
Antwoord: B. Omdat sterk geoptimaliseerde matrixproductbibliotheken en matrixrekeneenheden zoals tensor cores kunnen worden gebruikt
im2col maakt een grote matrix waarin de ingangswaarden van elk convolutievenster in een kolom staan en berekent de convolutie als product met de matrix van gerangschikte filters. Doordat de vensters overlappen wordt de ingang gedupliceerd en neemt het geheugen toe, maar omdat matrixproductbibliotheken die al tientallen jaren zijn geoptimaliseerd en matrixrekeneenheden zoals tensor cores rechtstreeks kunnen worden gebruikt, wordt het over het geheel vaak sneller. Er bestaan ook implementaties die hetzelfde doen zonder duplicatie.