O que é a perda CTC e onde ela é aplicada em ASR?
sobes.tech IA
Resposta da IA
A perda CTC (Connectionist Temporal Classification) é uma função de perda usada para treinar modelos que prevêem sequências com dados de entrada e saída não alinhados, por exemplo, em tarefas de reconhecimento de voz (ASR).
O principal problema no ASR é que o comprimento do sinal de áudio de entrada e a transcrição de texto não coincidem, e o alinhamento entre eles é desconhecido. A CTC permite que o modelo aprenda sem um alinhamento explícito, considerando automaticamente todas as possíveis correspondências entre os quadros de entrada e os símbolos de saída.
Como funciona a CTC:
- O modelo prevê em cada passo temporal uma distribuição de probabilidades sobre os símbolos (incluindo um símbolo especial "blank" — vazio).
- A CTC calcula a probabilidade da sequência correta somando todas as rotas possíveis que podem ser reduzidas à sequência alvo após remover os símbolos vazios e repetições.
- A função de perda é o logaritmo negativo dessa probabilidade.
Aplicação em ASR:
- Treinamento de modelos como RNN, LSTM, Transformer, para converter áudio em texto.
- Permite não requerer uma alinhamento preciso entre áudio e texto.
Exemplo: se o modelo prevê uma sequência de símbolos com símbolos vazios e repetições, a CTC agrega todas as rotas que correspondem à transcrição alvo.
Dessa forma, a perda CTC é um componente chave para treinar sistemas de reconhecimento de fala automática, especialmente quando o alinhamento entre áudio e texto é desconhecido ou difícil de obter.