# Time Delay Neural Network

Ein Time Delay Neural Network (TDNN, zu deutsch etwa Zeitverzögertes Neuronales Netz) ist ein mehrschichtiges künstliches neuronales Netz, das durch die Verwendung von Zeitfenstern über mehrere Eingaben in der Lage ist, zeitliche Abhängigkeiten von Eingaben zu verarbeiten. Die Benennung rührt aus der Verwendung von Verzögerungselementen (Delays) her, mit denen mehrere Zeitschritte parallel angelegt werden.
Ein künstliches neuronales Netz ist ein Modell aus der Neuroinformatik, das durch biologische neuronale Netze motiviert ist. Künstliche neuronale Netze können Aufgaben erlernen und werden häufig dort eingesetzt, wo eine explizite Modellierung eines Problems schwierig oder unmöglich ist. Beispiele sind die Gesichts- und Spracherkennung.

## Struktur

Um dem Netzwerk eine zeitlich invariante Verarbeitung zu erlauben, werden bei einem TDNN die Eingaben mehrerer Zeitpunkte zugleich angelegt. Die Verwendung mehrerer Schichten von Neuronen unterstützt die Erkennung unabhängig vom zeitlichen Auftreten im Eingabestrom.
Die Eingaben werden bei einem TDNN in einer Matrix angeordnet. Eine Spalte kann dabei mehrere Werte enthalten und entspricht einem Zeitschritt. Bei jeder neuen Eingabe werden die Spalten der vergangenen Eingaben um einen Schritt verschoben, wobei die älteste Eingabe herausfällt.
Die Eingabematrix wird dann an eine verdeckte Schicht gereicht, die aus einer Matrix von Neuronen besteht. Jede dortige Spalte von Neuronen erhält dabei nur eine Auswahl (Fenster) der Eingaben. Dieses Fenster wird für die nächsten Spalten der Neuronenmatrix um jeweils einen Schritt verschoben. Die Fensterbreite ist dabei frei wählbar, muss aber für die gewünschte Invarianz geeignet bestimmt werden. Es können mehrere, hintereinander angeordnete verdeckte Schichten existieren. Die Ausgabeschicht erhält schließlich das komplette Zeitfenster der vorhergehenden verdeckten Schicht.
Eingelernt werden können sie mit dem Backpropagation-Verfahren. Da die zur jeweiligen ersten Spalte, der verdeckten Schichten, zeitlich verschobenen Neuronen jeweils gleiche Eingaben aus vorherigen Zeitschritten erhalten und damit die gleiche Verarbeitung vornehmen, sollen auch die Gewichte mit den Neuronen der ersten Spalte übereinstimmen. Dazu wird das Lernverfahren so abgeändert, dass Neuronen verschiedener Zeitschritte die gleiche Änderung erfahren, welche über den Mittelwert der Gewichtsänderungen bestimmt wird. Bei der Berechnung der Neuronenaktivierungen kann dabei eine Neuberechnung der zeitlich verschobenen Neuronen entfallen und stattdessen auf die Aktivierungen vorheriger Zeitschritte zurückgegriffen werden.

## Eigenschaften

Durch diese schrittweise Verfeinerung wird sichergestellt, dass das TDNN komplexe, nicht lineare Eingaben verarbeitet und die Erkennung zeitlich invariant erfolgt. Zusätzlich wird durch die Verschachtelung gewährleistet, dass die Anzahl der Verbindungen gering bleibt.
Nachteile eines TDNN ist die verwendete feste Fensterbreite. Die konstante Zahl der dabei angelegten Eingaben ist eine starke Einschränkung für Signale unterschiedlicher Länge.

## Anwendung

Angewendet werden TDNNs vor allem in der Spracherkennung. Dort werden sie in verschiedenen Systemen entweder alleinstehend verwendet oder auch kombiniert mit alternativen Methoden wie den Hidden Markov Models und LSTM Netzwerken.