Kein Padding Bitte: Effiziente neurale Handschriftenerkennung

Die neurale Handschrifterkennung (NHR) ist die Erkennung von handschriftlichem Text mit tiefen Lernmodellen, wie mehrdimensionalen Long Short-Term Memory (MDLSTM) rekurrenten neuronalen Netzen. Modelle mit MDLSTM-Schichten haben bei Aufgaben der Handschrifterkennung standesüberragende Ergebnisse erzielt. Während mehrdimensionale MDLSTM-Schichten eine unübertroffene Fähigkeit haben, den vollständigen Kontext in alle Richtungen zu erfassen, begrenzt diese Stärke die Möglichkeiten zur Parallelisierung und führt daher zu hohen Rechenkosten. In dieser Arbeit entwickeln wir Methoden zur Erstellung effizienter MDLSTM-basierter Modelle für die NHR, insbesondere eine Methode, die darauf abzielt, Berechnungsverschwendung durch Padding zu eliminieren. Diese vorgeschlagene Methode, als Beispielverpackung (example-packing) bezeichnet, ersetzt ineffizientes Stapeln gepadderter Beispiele durch effizientes Pflasterstein-Layout in einem zweidimensionalen Gitter. Für wortbasierte NHR ergibt dies eine Geschwindigkeitsverbesserung um den Faktor 6,6 im Vergleich zu einer bereits effizienten Baseline mit minimalem Padding für jeden Batch separat. Bei zeilenbasierter NHR sind die Einsparungen bescheidener, aber immer noch bedeutend. Neben der Beispielverpackung schlagen wir folgende Ansätze vor: 1) eine Technik zur Optimierung der Parallelisierung für dynamische Graphdefinitionsfrahmen wie PyTorch unter Verwendung von Faltungen mit Gruppierung, 2) eine Methode zur Parallelisierung über mehrere GPUs für Batches variabler Länge. Alle unsere Techniken werden gründlich auf unserer eigenen PyTorch-Neuimplementierung von MDLSTM-basierten NHR-Modellen getestet. Eine detaillierte Auswertung am IAM-Datensatz zeigt, dass unsere Modelle vergleichbare Leistungen wie frühere Implementierungen standesüberragender Modelle erbringen. Unser effizientes NHR-Modell und einige der wiederverwendbaren Techniken bieten Wege, relativ effiziente Modelle für das allgegenwärtige Szenario variabler Eingaben im Bereich des Deep Learning zu realisieren.