Connectionist Temporal Classification (CTC) ist eine Technik, die in der maschinellen Lerntheorie eingesetzt wird, um die zeitliche Ausrichtung von Sequenzen zu modellieren. Sie wurde ursprünglich für die Spracherkennung entwickelt, findet aber auch in anderen Bereichen wie der Handschnifterechnung oder der Zeichenerkennung Anwendung. CTC ist besonders nützlich, wenn die zeitliche Ausrichtung zwischen Eingabe und Ausgabe nicht explizit bekannt ist.
Das Kernproblem, das CTC löst, ist die Schwierigkeit, sequenzielle Daten wie Audioaufnahmen oder Handschriften mit diskreten Symbolen wie Textzeichen zu verbinden. Traditionelle Methoden der sequenziellen Modellierung, wie z.B. rekurrente neuronale Netze (RNNs), produzieren in der Regel eine feste Anzahl von Ausgaben für eine feste Anzahl von Eingaben. CTC hingegen ermöglicht es, variable Längen von Eingabe- und Ausgabesequenzen zu handhaben.
CTC erreicht dies durch die Einführung eines sogenannten „Blank Tokens“, das als Platzhalter für zeitliche Lücken dient. Das Modell gibt an jedem Zeitpunkt die Wahrscheinlichkeit für jedes mögliche Symbol aus, einschließlich des Blank Tokens. Die CTC-Verlustfunktion berechnet dann die Wahrscheinlichkeit, dass eine Zieldatenfolge durch die Modellausgaben erzeugt wird, wobei sie alle möglichen Wege berücksichtigt, die Zieldatenfolge zu erreichen, einschließlich der Blank Tokens.
Während des Trainings wird das Modell so angepasst, dass es die höchste Wahrscheinlichkeit für die gewünschte Ausgabe produziert. Während der Inferenz werden die Blank Tokens entfernt, um die endgültige Ausgabe zu erhalten. CTC ist somit eine effektive Methode, um die zeitliche Unausrichtung in sequenziellen Daten zu bewältigen und hat maßgeblich zur Entwicklung moderner Sprach- und Texterkennungssysteme beigetragen.