Sieć neuronowa z opóźnieniem czasowym - Time delay neural network

Diagram TDNN

Sieć neuronowa z opóźnieniem czasowym ( TDNN ) to wielowarstwowa sztuczna architektura sieci neuronowej, której celem jest 1) klasyfikacja wzorców z niezmienniczością przesunięcia oraz 2) kontekst modelowy w każdej warstwie sieci.

Klasyfikacja niezmienna z przesunięciem oznacza, że ​​klasyfikator nie wymaga wyraźnej segmentacji przed klasyfikacją. W celu klasyfikacji wzorca czasowego (takiego jak mowa), TDNN unika zatem konieczności określania punktów początkowych i końcowych dźwięków przed ich klasyfikacją.

W przypadku modelowania kontekstowego w TDNN, każda jednostka neuronowa w każdej warstwie otrzymuje dane wejściowe nie tylko z aktywacji / funkcji w warstwie poniżej, ale także z wzoru wyjściowego jednostki i jej kontekstu. W przypadku sygnałów czasowych każda jednostka otrzymuje na wejściu wzorce aktywacji w czasie z jednostek poniżej. Stosowany do klasyfikacji dwuwymiarowej (obrazy, wzory czasowo-częstotliwościowe), TDNN można trenować z niezmienniczością przesunięć w przestrzeni współrzędnych i unika się precyzyjnej segmentacji w przestrzeni współrzędnych.

Historia

TDNN został wprowadzony pod koniec lat 80. XX wieku i zastosowano do zadania klasyfikacji fonemów do automatycznego rozpoznawania mowy w sygnałach mowy, gdzie automatyczne określenie precyzyjnych segmentów lub granic cech było trudne lub niemożliwe. Ponieważ TDNN rozpoznaje fonemy i ich podstawowe cechy akustyczne / fonetyczne, niezależnie od położenia w czasie, poprawiło wydajność w porównaniu z klasyfikacją statyczną. Został również zastosowany do sygnałów dwuwymiarowych (wzorce czasowo-częstotliwościowe w mowie i układ współrzędnych przestrzennych w OCR).

Maksymalna liczba puli

W 1990 roku Yamaguchi i wsp. wprowadził koncepcję max poolingu. Zrobili to, łącząc TDNN z maksymalnym łączeniem, aby zrealizować niezależny od mówiącego system rozpoznawania słów izolowanych.

Przegląd

Sieć neuronowa z opóźnieniem czasowym, podobnie jak inne sieci neuronowe, działa z wieloma połączonymi ze sobą warstwami perceptronów i jest implementowana jako sieć neuronowa z wyprzedzeniem . Wszystkie neurony (w każdej warstwie) TDNN otrzymują dane wejściowe z wyjść neuronów w warstwie poniżej, ale z dwiema różnicami:

  1. W przeciwieństwie do zwykłych perceptronów wielowarstwowych , wszystkie jednostki w TDNN, na każdej warstwie, otrzymują dane wejściowe z kontekstowego okna danych wyjściowych z warstwy poniżej. W przypadku sygnałów zmieniających się w czasie (np. Mowy), każda jednostka ma połączenia z wyjściami z jednostek znajdujących się poniżej, ale także z opóźnionymi w czasie (przeszłymi) wyjściami z tych samych jednostek. To modeluje czasowy wzorzec / trajektorię jednostek. W przypadku sygnałów dwuwymiarowych (np. Wzorce czasowo-częstotliwościowe lub obrazy) w każdej warstwie obserwuje się 2-wymiarowe okno kontekstowe. Wyższe warstwy mają dane wejściowe z szerszych okien kontekstowych niż niższe warstwy, a zatem generalnie modelują bardziej zgrubne poziomy abstrakcji.
  2. Niezmienność przesunięcia osiąga się przez wyraźne usunięcie zależności pozycji podczas treningu wstecznej propagacji . Odbywa się to poprzez tworzenie przesuniętych w czasie kopii sieci w wymiarze niezmienności (tutaj: czas). Gradient błędu jest następnie obliczany przez propagację wsteczną przez wszystkie te sieci z ogólnego wektora docelowego, ale przed wykonaniem aktualizacji wagi, gradienty błędów związane z przesuniętymi kopiami są uśredniane, a tym samym współdzielone, a ograniczenie ma być równe. W ten sposób wszystkie zależności pozycji od uczenia propagacji wstecznej poprzez przesunięte kopie są usuwane, a skopiowane sieci uczą się najistotniejszych ukrytych funkcji niezmiennie, tj. Niezależnie od ich dokładnej pozycji w danych wejściowych. Niezmienniczość przesunięcia jest również łatwo rozszerzana na wiele wymiarów poprzez narzucenie podobnego podziału wagi w kopiach, które są przesuwane wzdłuż wielu wymiarów.

Przykład

W przypadku sygnału mowy, dane wejściowe to współczynniki widmowe w czasie.

Aby nauczyć się krytycznych cech akustyczno-fonetycznych (na przykład przejść formantowych, wybuchów, tarcia itp.) Bez konieczności wcześniejszej dokładnej lokalizacji, TDNN jest trenowany niezmiennie w czasie. Niezmienność przesunięcia w czasie uzyskuje się poprzez podział wagi w czasie podczas treningu: przesunięte w czasie kopie TDNN są wykonywane w zakresie wejściowym (od lewej do prawej na ryc. 1). Następnie wykonywana jest propagacja wsteczna z ogólnego wektora docelowego klasyfikacji (patrz diagram TDNN, trzy cele klas fonemów (/ b /, / d /, / g /) są pokazane w warstwie wyjściowej), co skutkuje gradientami, które na ogół będą się różnić dla każdego z przesunięte w czasie kopie sieciowe. Ponieważ jednak takie sieci z przesunięciem w czasie są tylko kopiami, zależność pozycji jest usuwana przez podział wagi. W tym przykładzie jest to wykonywane przez uśrednienie gradientów z każdej przesuniętej w czasie kopii przed wykonaniem aktualizacji wagi. W przypadku mowy wykazano, że niezmienny trening z przesunięciem w czasie uczy się macierzy wagi, które są niezależne od dokładnego pozycjonowania danych wejściowych. Można również wykazać, że macierze wag wykrywają ważne cechy akustyczno-fonetyczne, o których wiadomo, że są ważne dla percepcji ludzkiej mowy, takie jak przejścia formantowe, wybuchy itp. TDNN można również łączyć lub rozwijać w ramach treningu wstępnego.

Realizacja

Dokładna architektura sieci TDNN (opóźnienia czasowe, liczba warstw) jest w większości określana przez projektanta w zależności od problemu klasyfikacji i najbardziej użytecznych rozmiarów kontekstów. Opóźnienia lub okna kontekstowe są wybierane specyficznie dla każdej aplikacji. Podjęto również prace w celu stworzenia dostosowywalnych opóźnień czasowych TDNN, w których wyeliminowano ręczne strojenie.

Najnowocześniejszy

Rozpoznawanie fonemów oparte na TDNN wypadło korzystnie w porównaniu z wczesnymi porównaniami z modelami telefonów opartymi na HMM. Nowoczesne głębokie architektury TDNN obejmują znacznie więcej ukrytych warstw i połączeń podpróbek lub puli w szerszych kontekstach na wyższych warstwach. Osiągają do 50% redukcji błędów słów w porównaniu z modelami akustycznymi opartymi na GMM . Podczas gdy różne warstwy sieci TDNN są przeznaczone do uczenia się funkcji o rosnącej szerokości kontekstu, modelują konteksty lokalne. Gdy trzeba przetworzyć relacje na dłuższe odległości i sekwencje wzorców, ważne są stany uczenia się i sekwencje stanów, a TDNN można łączyć z innymi technikami modelowania.

Aplikacje

Rozpoznawanie mowy

Sieci TDNN używane do rozwiązywania problemów związanych z rozpoznawaniem mowy, które zostały wprowadzone w 1989 roku i początkowo koncentrowały się na rozpoznawaniu fonemów bez zmiany przesunięcia. Mowa dobrze nadaje się do TDNN, ponieważ mówione dźwięki rzadko mają jednakową długość, a precyzyjna segmentacja jest trudna lub niemożliwa. Skanując dźwięk w przeszłość i przyszłość, TDNN jest w stanie skonstruować model kluczowych elementów tego dźwięku w sposób niezmienny w czasie. Jest to szczególnie przydatne, gdy dźwięki są rozmazane przez pogłos. Duże fonetyczne sieci TDNN można konstruować modułowo poprzez wstępne szkolenie i łączenie mniejszych sieci.

Rozpoznawanie mowy o dużym słownictwie

Rozpoznawanie mowy o dużym słownictwie wymaga rozpoznawania sekwencji fonemów składających się na słowa podlegające ograniczeniom dużego słownictwa wymowy. Integracja TDNN z dużymi słownikami rozpoznawczymi mowy jest możliwa dzięki wprowadzeniu przejść stanów i przeszukiwać fonemów tworzących słowo. Powstała wielostanowa sieć neuronowa z opóźnieniem czasowym (MS-TDNN) może być trenowana w sposób rozróżniający od poziomu słowa, optymalizując w ten sposób cały układ w kierunku rozpoznawania słów zamiast klasyfikacji fonemów.

Niezależność głośnika

Aby zapewnić niezależność mówców, zaproponowano dwuwymiarowe warianty TDNN. Tutaj niezmienniczość przesunięcia jest stosowana zarówno do czasu, jak i do osi częstotliwości, aby nauczyć się ukrytych cech, które są niezależne od dokładnej lokalizacji w czasie i częstotliwości (ta ostatnia jest spowodowana zmiennością głośników).

Pogłos

Jednym z utrzymujących się problemów w rozpoznawaniu mowy jest rozpoznawanie mowy, gdy jest ona zakłócona przez echo i pogłos (jak ma to miejsce w dużych pomieszczeniach i odległych mikrofonach). Pogłos można postrzegać jako niszczącą mowę z opóźnionymi wersjami samego siebie. Ogólnie rzecz biorąc, trudno jest jednak usunąć pogłos sygnału, ponieważ funkcja odpowiedzi impulsowej (a tym samym szum splotowy odczuwany przez sygnał) nie jest znany w żadnej dowolnej przestrzeni. Wykazano, że TDNN skutecznie rozpoznaje mowę pomimo różnych poziomów pogłosu.

Czytanie z ust - mowa audiowizualna

TDNN były również z powodzeniem wykorzystywane we wczesnych demonstracjach mowy audiowizualnej, w których dźwięki mowy są uzupełniane wizualnym czytaniem ruchu warg. W tym przypadku urządzenia rozpoznające oparte na TDNN wykorzystywały łącznie cechy wizualne i akustyczne, aby uzyskać lepszą dokładność rozpoznawania, szczególnie w obecności szumu, gdzie informacje uzupełniające z alternatywnej modalności można było ładnie połączyć w sieci neuronowej.

Rozpoznawanie pisma odręcznego

TDNN są skutecznie wykorzystywane w kompaktowych i wydajnych systemach rozpoznawania pisma ręcznego . Niezmienność przesunięcia została również dostosowana do wzorców przestrzennych (osie x / y) w rozpoznawaniu pisma ręcznego w trybie offline.

Analiza wideo

Wideo ma wymiar czasowy, co sprawia, że ​​TDNN jest idealnym rozwiązaniem do analizy wzorców ruchu. Przykładem takiej analizy jest połączenie wykrywania pojazdów i rozpoznawania pieszych. Podczas badania wideo, kolejne obrazy są wprowadzane do TDNN jako dane wejściowe, gdzie każdy obraz jest następną klatką wideo. Siła TDNN pochodzi z jego zdolności do badania obiektów przesuniętych w czasie do przodu i do tyłu w celu zdefiniowania obiektu wykrywalnego w miarę zmiany czasu. Jeśli obiekt można rozpoznać w ten sposób, aplikacja może zaplanować znalezienie tego obiektu w przyszłości i wykonać optymalne działanie.

Rozpoznawanie obrazu

Dwuwymiarowe sieci TDNN zostały później zastosowane do innych zadań rozpoznawania obrazu pod nazwą „ Konwolucyjne sieci neuronowe ”, w których uczenie niezmiennicze przesunięcia jest stosowane do osi x / y obrazu.

Biblioteki wspólne

  • Sieci TDNN można zaimplementować w praktycznie wszystkich strukturach uczenia maszynowego przy użyciu jednowymiarowych konwolucyjnych sieci neuronowych ze względu na równoważność metod.
  • Matlab : zestaw narzędzi sieci neuronowych ma wyraźną funkcjonalność zaprojektowaną do tworzenia opóźnień czasowych, sieci neuronowe podają wielkość kroku opóźnień czasowych i opcjonalną funkcję szkoleniową. Domyślnym algorytmem uczącym jest algorytm propagacji wstecznej nadzorowanego uczenia się, który aktualizuje wagi filtrów w oparciu o optymalizacje Levenberga-Marquardta. Funkcja to timedelaynet (delays, hidden_layers, train_fnc) i zwraca architekturę sieci neuronowej z opóźnieniem czasowym, którą użytkownik może trenować i dostarczać dane wejściowe.
  • Kaldi ASR Toolkit posiada implementację TDNNs z kilkoma optymalizacje dla rozpoznawania mowy.

Zobacz też

  • Konwolucyjna sieć neuronowa  - konwolucyjna sieć neuronowa, w której splot odbywa się wzdłuż osi czasu danych, jest bardzo podobna do TDNN.
  • Rekurencyjne sieci neuronowe  - rekurencyjna sieć neuronowa również obsługuje dane czasowe, choć w inny sposób. Zamiast zmiennych w czasie danych wejściowych sieci RNN utrzymują wewnętrzne ukryte warstwy, aby śledzić przeszłe (aw przypadku dwukierunkowych sieci RNN, przyszłe) dane wejściowe.

Bibliografia