Čo je to CTC strata a kde sa používa v ASR?
sobes.tech AI
Odpoveď od AI
Strata CTC (Connectionist Temporal Classification) je funkcia straty používaná na tréning modelov, ktoré predpovedajú sekvencie s nevyrovnanými vstupnými a výstupnými dátami, napríklad v úlohách rozpoznávania reči (ASR).
Hlavný problém v ASR je, že dĺžka vstupného zvukového signálu a dĺžka textovej transkripcie sa nezhodujú, a ich zarovnanie je neznáme. CTC umožňuje modelu učiť sa bez explicitného zarovnania, automaticky zohľadňujúc všetky možné zodpovedajúce cesty medzi vstupnými rámcami a výstupnými symbolmi.
Ako CTC funguje:
- Model predpovedá v každom časovom kroku rozdelenie pravdepodobností nad symbolmi (vrátane špeciálneho symbolu "blank" — prázdny).
- CTC vypočíta pravdepodobnosť správnej sekvencie sčítaním všetkých možných ciest, ktoré môžu byť zredukované na cieľovú sekvenciu po odstránení prázdnych symbolov a opakovania.
- Funkcia straty je záporný logaritmus tejto pravdepodobnosti.
Použitie v ASR:
- Tréning modelov ako RNN, LSTM, Transformer, na prevod audia na text.
- Umožňuje nevyžadovať presné zarovnanie medzi audom a textom.
Príklad: ak model predpovedá sekvenciu symbolov s prázdnymi symbolmi a opakovaniami, CTC agreguje všetky cesty, ktoré zodpovedajú cieľovej transkripcii.
Týmto spôsobom je strata CTC kľúčovou súčasťou na tréning systémov automatického rozpoznávania reči, najmä keď je zarovnanie medzi audom a textom neznáme alebo ťažko dostupné.