Co je to CTC ztráta a kde se používá v ASR?
sobes.tech AI
Odpověď od AI
Ztráta CTC (Connectionist Temporal Classification) je funkce ztráty používaná k tréninku modelů, které předpovídají sekvence s nevyrovnanými vstupními a výstupními daty, například v úlohách rozpoznávání řeči (ASR).
Hlavním problémem v ASR je, že délka vstupního zvukového signálu a délka textové transkripce se neshodují, a jejich zarovnání je neznámé. CTC umožňuje modelu učit se bez explicitního zarovnání, automaticky zohledňujíc všechny možné odpovídající cesty mezi vstupními snímky a výstupními symboly.
Jak CTC funguje:
- Model předpovídá v každém časovém kroku rozdělení pravděpodobností nad symboly (včetně speciálního symbolu "blank" — prázdný).
- CTC vypočítává pravděpodobnost správné sekvence sčítáním všech možných cest, které lze zredukovat na cílovou sekvenci po odstranění prázdných symbolů a opakování.
- Funkce ztráty je záporný logaritmus této pravděpodobnosti.
Použití v ASR:
- Trénink modelů jako RNN, LSTM, Transformer, pro převod audia na text.
- Umožňuje nevyžadovat přesné zarovnání mezi audem a textem.
Příklad: pokud model předpovídá sekvenci symbolů s prázdnými symboly a opakováními, CTC agreguje všechny cesty odpovídající cílové transkripci.
Tímto způsobem je ztráta CTC klíčovou součástí pro trénink systémů automatického rozpoznávání řeči, zejména když je zarovnání mezi audem a textem neznámé nebo obtížné získat.