Die Studie analysiert den Speicherengpass beim Tiny Deep Learning auf Mikrocontrollern (MCUs) und schlägt eine patch-basierte Inferenz-Planung vor, um dieses Problem zu lösen.
Zunächst wird festgestellt, dass effiziente CNN-Designs eine sehr unausgewogene Speicherverteilung aufweisen, bei der die ersten Blöcke eine um eine Größenordnung höhere Speichernutzung haben als der Rest des Netzwerks. Dies schränkt die Modellkapazität und Eingabeauflösung ein, die auf MCUs ausführbar sind.
Um dieses Problem zu lösen, wird eine patch-basierte Inferenz-Planung vorgeschlagen, bei der nur ein kleiner räumlicher Bereich des Merkmalsmaps gleichzeitig verarbeitet wird. Dies reduziert den Spitzenspeicherverbrauch erheblich. Allerdings führt die reduzierte Spitzenleistung zu einem Berechnungsoverhead, da die Eingabepixel überlappen müssen, um die gleichen Ausgabewerte zu erhalten.
Um diesen Overhead zu reduzieren, wird eine Neuverteilung des Rezeptionsfelds vorgeschlagen, bei der das Rezeptionsfeld und die Rechenleistung in die späteren Stufen des Netzwerks verschoben werden. Dies verringert die Größe der Eingabepatchs und den Berechnungsoverhead, ohne die Leistung des Netzwerks zu beeinträchtigen.
Schließlich wird eine gemeinsame Suche nach der optimalen Netzwerkarchitektur und Inferenz-Planung vorgeschlagen, um den Speicherverbrauch und die Rechenleistung unter Berücksichtigung der Hardwarebeschränkungen zu optimieren.
Die Ergebnisse zeigen, dass MCUNetV2 den Spitzenspeicherverbrauch bestehender Netzwerke um das 4-8-Fache reduzieren kann, ohne die Genauigkeit zu beeinträchtigen. Auf ImageNet erreicht MCUNetV2 einen Rekord von 71,8% Genauigkeit auf MCUs und übertrifft den Stand der Technik bei der Objekterkennung auf Mikrocontrollern um 16,9% mAP.
Egy másik nyelvre
a forrásanyagból
arxiv.org
Mélyebb kérdések