Sobes.tech
Middle — Senior

Č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é.