KI-Hardware und Software-Stack
Warum wird die Faltung in Convolutional Neural Networks mitunter mit Verfahren wie im2col in ein Matrixprodukt umgewandelt?
- AWeil sich durch die Umwandlung die Zahl der Operationen auf ein Zehntel verringert
- BWeil sich hochoptimierte Matrixprodukt-Bibliotheken und Matrix-Recheneinheiten wie Tensor Cores nutzen lassen
- CWeil sich durch die Umwandlung der Speicherbedarf immer verringert
Antwort und Erläuterung anzeigen
Antwort: B. Weil sich hochoptimierte Matrixprodukt-Bibliotheken und Matrix-Recheneinheiten wie Tensor Cores nutzen lassen
Bei im2col werden die Eingabewerte jedes Faltungsfensters spaltenweise zu einer großen Matrix angeordnet, und die Faltung wird als Produkt mit der Matrix der Filter berechnet. Durch überlappende Fenster werden Eingabewerte dupliziert und der Speicherbedarf steigt; da jedoch über Jahrzehnte optimierte Matrixprodukt-Bibliotheken und Matrix-Recheneinheiten wie Tensor Cores unverändert genutzt werden können, ist das Ganze häufig schneller. Es gibt auch Implementierungen, die dasselbe ohne Duplikate erreichen.