PRZEWODNIK AI audio

Koneksjonistyczna klasyfikacja czasowa

Koneksjonistyczna klasyfikacja czasowa (CTC) to funkcja straty i metoda dekodowania, która umożliwia sieciom neuronowym przekształcanie długiej sekwencji dźwiękowej w tekst bez konieczności ręcznego dopasowywania każdego dźwięku do każdej litery.

2 minuty czytaniaOstatnia aktualizacja

Przegląd

Dzięki temu kompleksowe rozpoznawanie mowy stało się praktyczne, rozwiązując brutalny problem wyrównania.

Głębokie nurkowanie

Mowa jest nieuporządkowana: słowo „cześć” może obejmować 40 klatek audio i nikt nie określa dokładnie, która klatka to „h”. CTC, wprowadzone przez Alexa Gravesa w 2006 roku, omija to. Sieć podaje prawdopodobieństwo po znakach (plus specjalny „pusty” token) dla każdej klatki. Następnie CTC definiuje prawidłowe wyrównanie jako dowolną ścieżkę klatka po klatce, która zwija się do tekstu docelowego po zastosowaniu dwóch zasad: scalania powtarzających się znaków, a następnie usuwania spacji. Ponieważ wiele ścieżek odwzorowuje ten sam tekst, CTC sumuje prawdopodobieństwo ich wszystkich za pomocą algorytmu programowania dynamicznego (algorytm programowania do przodu i do tyłu) i uczy sieć, aby maksymalizować tę sumę. Pusty token to sprytna sztuczka, która pozwala modelowi powiedzieć „tutaj nie ma nic nowego” i oddziela prawdziwe powtórzenia, takie jak podwójne L w „cześć”.

Wgląd techniczny

Podstawowym założeniem CTC jest warunkowa niezależność: biorąc pod uwagę dźwięk, wyjście każdej ramki jest przewidywane niezależnie, bez wbudowanego modelu językowego. Dzięki temu sumowanie do przodu i do tyłu jest wykonalne, ale oznacza, że ​​CTC ma tendencję do tworzenia kolczastych, szczytowych wyników (głównie pustych, z ostrymi skokami znaków) i korzysta z zewnętrznego modelu języka w czasie dekodowania. Wyszukiwanie wiązek za pomocą skondensowanego LM, często zwane dekodowaniem wiązki przedrostkowej, radykalnie poprawia dokładność w porównaniu z zachłannym dekodowaniem argmax.

Wpływ strategiczny

Dostęp i zasięg

Poprawia dostępność poprzez transkrypcję, narrację i interfejsy głosowe.

Koszt i budżet

Zespoły medialne mogą szybciej dostarczać dopracowany dźwięk przy mniejszych budżetach.

Szybkość i skala

Systemy skierowane do klienta mogą przetwarzać interakcje mówione na większą skalę.

Przyszłość koneksjonistycznej klasyfikacji czasowej

CTC pozostaje koniem pociągowym, szczególnie tam, gdzie liczy się przesyłanie strumieniowe i małe opóźnienia, i jest coraz częściej wykorzystywany jako pomocnicza strata obok celów uwagi lub przetwornika w hybrydowych modelach „CTC/uwaga”. Oczekuj, że CTC pozostanie szybką i prostą gałęzią dekodera w większych, wielozadaniowych systemach mowy oraz jako silnik dopasowujący stojący za narzędziami do wymuszonego dopasowywania, które oznaczają słowa znacznikiem czasu. Kodery samonadzorowane, takie jak wav2vec 2.0, są zwykle dostrajane za pomocą głowicy CTC.

Implementacja w świecie rzeczywistym

Dostrajanie wav2vec 2.0 z głowicą CTC w celu zbudowania modelu zamiany mowy na tekst o otwartym kodzie źródłowym w języku o niskich zasobach

Generowanie znaczników czasu na poziomie słów i fonemów dla napisów i karaoke poprzez wymuszone wyrównanie CTC

Napisy w czasie rzeczywistym na urządzeniu, gdzie model strumieniowego CTC dokonuje transkrypcji z minimalnym opóźnieniem

Rozpoznawanie pisma ręcznego, gdzie CTC odczytuje linię kursywy bez wstępnej segmentacji poszczególnych liter

Zagrożenia i poręcze

W przypadku braku zgody zwiększa się ryzyko niewłaściwego użycia głosu i podszywania się pod inne osoby.

Dokładność może spaść w przypadku akcentów, dialektów lub hałaśliwego otoczenia.

Bez wyraźnego oznakowania dźwięk syntetyczny można pomylić z autentyczną mową.

Plan wdrożenia

1

Uzyskaj wyraźną zgodę na przechwytywanie, klonowanie i ponowne wykorzystanie głosu.

2

Testuj jakość na różnych głośnikach i w różnych warunkach otoczenia.

3

Zdefiniuj, kiedy człowiek musi przejrzeć lub zatwierdzić wyniki.

4

Oznacz dźwięk syntetyczny i prowadź dokumentację pochodzenia w celu zapewnienia odpowiedzialności.

Odkrywaj dalej

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Connectionist Temporal Classification quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Rozpocznij quiz

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Następny poradnik

Klasyfikacja gatunków muzycznych

Często zadawane pytania

Co to jest koneksjonistyczna klasyfikacja temporalna?

Koneksjonistyczna klasyfikacja czasowa (CTC) to funkcja straty i metoda dekodowania, która umożliwia sieciom neuronowym przekształcanie długiej sekwencji dźwiękowej w tekst bez konieczności ręcznego dopasowywania każdego dźwięku do każdej litery. Dzięki temu kompleksowe rozpoznawanie mowy stało się praktyczne, rozwiązując brutalny problem wyrównania.

Jaki podstawowy problem miał rozwiązać CTC w zakresie rozpoznawania mowy?

CTC pozwala sieci trenować pary (audio, tekst) bez konieczności oznaczania, która ramka odpowiada jakiemu znakowi, co rozwiązuje problem wyrównania.

Do czego służy specjalny „pusty” token w CTC?

Pusty token pozwala modelowi emitować „nic nowego” w ramce i, co najważniejsze, oddziela prawdziwe powtórzenia, takie jak podwójne L w „cześć”, od zwiniętych powtórzeń.

W jaki sposób CTC oblicza stratę dla docelowej transkrypcji?

CTC wykorzystuje algorytm programowania dynamicznego do przodu i do tyłu, aby zsumować prawdopodobieństwo dla każdego dopasowania, które odwzorowuje cel po połączeniu powtórzeń i usunięciu spacji.

Jakie dwie zasady zwijania stosuje CTC, aby zamienić ścieżkę ramki w tekst końcowy?

Surowa ścieżka na klatkę jest dekodowana poprzez połączenie sąsiadujących zduplikowanych znaków, a następnie usunięcie wszystkich pustych tokenów.

Jakie upraszczające założenie przyjmuje standardowy CTC na temat wyników?

CTC zakłada warunkową niezależność każdej klatki, co sprawia, że ​​sumowanie jest wykonalne, ale oznacza, że ​​nie ma wbudowanego modelu językowego.