La classification temporelle connexionniste (CTC) est une fonction de perte et une représentation de sortie utilisées pour entraîner des réseaux de neurones sur des tâches d'étiquetage de séquences où l'entrée et la sortie ne sont pas alignées dans le temps. Elle a été introduite en 2006 et est indépendante de la structure sous-jacente du réseau de neurones, ce qui signifie qu'elle peut être appliquée à diverses architectures. La CTC est couramment utilisée pour des tâches telles que la reconnaissance de l'écriture manuscrite en ligne et la reconnaissance vocale, où la séquence d'entrée (par exemple, des trames audio ou des traits de stylo) est beaucoup plus longue que la séquence d'étiquettes de sortie (par exemple, des phonèmes ou des caractères).
Le défi central que la CTC aborde est l'alignement inconnu entre les observations d'entrée et les étiquettes cibles. Par exemple, dans l'audio de la parole, plusieurs tranches de temps peuvent correspondre à un seul phonème, et les limites exactes ne sont pas connues pendant l'entraînement. La CTC résout ce problème en prédisant une distribution de probabilité sur les étiquettes à chaque pas de temps, y compris une sortie vide spéciale. Elle ne tente pas d'apprendre les limites ou les horodatages ; au lieu de cela, les séquences d'étiquettes sont considérées comme équivalentes si elles ne diffèrent que par l'alignement, en ignorant les vides. Cette équivalence conduit à de nombreux alignements possibles pour une séquence d'étiquettes donnée, ce qui rend le calcul du score non trivial, mais un algorithme efficace de propagation avant-arrière existe pour calculer la probabilité totale.
Entraînement et calcul du score
Les scores CTC sont calculés comme la somme des probabilités sur tous les alignements possibles qui correspondent à une séquence d'étiquettes cible. Ce score est différentiable, ce qui permet de l'utiliser avec l'algorithme de rétropropagation pour mettre à jour les poids du réseau de neurones. Le réseau a généralement une sortie continue, telle qu'une couche softmax, qui est ajustée par l'entraînement pour modéliser la probabilité de chaque étiquette à chaque pas de temps. L'algorithme de propagation avant-arrière, analogue à celui utilisé dans les modèles de Markov cachés (HMM), permet un calcul efficace de la perte et de ses gradients. Les approches alternatives à un réseau de neurones ajusté par CTC incluent l'utilisation d'un HMM, qui modélise explicitement les transitions d'état et les durées.
Applications et jalons
La CTC a été appliquée avec succès dans plusieurs systèmes notables. En 2009, un réseau à mémoire à long terme (LSTM) entraîné par CTC a été le premier réseau de neurones récurrent (RNN) à remporter des concours de reconnaissance de formes, remportant plusieurs compétitions de reconnaissance de l'écriture manuscrite connectée. En 2014, la société chinoise Baidu a utilisé un RNN bidirectionnel (non LSTM) entraîné sur la fonction de perte CTC pour battre le benchmark de reconnaissance vocale Switchboard Hub5'00 de 2S09 sans utiliser de méthodes traditionnelles de traitement de la parole. En 2015, la CTC a été utilisée dans la recherche vocale de Google et la dictée sur les appareils Android, démontrant son utilité pratique dans les produits de consommation.
Limites et extensions
La CTC est limitée à un alignement monotone, ce qui signifie que l'ordre des étiquettes de sortie doit correspondre à l'ordre des observations d'entrée. Cela ne pose pas de problème pour la reconnaissance vocale, où les phonèmes et les mots apparaissent dans un ordre fixe. Cependant, cela peut être problématique pour la traduction linguistique, car des mots ultérieurs dans une langue peuvent correspondre à des mots antérieurs dans une autre en raison d'ordres de mots différents. Cette limitation a motivé le développement de modèles alternatifs de séquence à séquence, tels que ceux basés sur des mécanismes d'attention, qui peuvent gérer des alignements non monotones. Malgré cela, la CTC reste une technique fondamentale dans l'étiquetage de séquences et est souvent utilisée dans des systèmes hybrides ou comme composant dans des architectures plus complexes.
Relation avec d'autres techniques
La CTC est étroitement liée à d'autres approches de modélisation de séquences. Elle est souvent comparée aux modèles de Markov cachés (HMM), qui gèrent également l'alignement de séquences mais utilisent un cadre probabiliste différent. En apprentissage profond, la CTC est fréquemment utilisée avec des réseaux de neurones récurrents, en particulier les LSTM et les RNN bidirectionnels, mais elle peut également être appliquée à d'autres architectures comme les transformeurs. La fonction de perte est un type de fonction de perte utilisée dans l'apprentissage supervisé, et elle est souvent combinée avec des techniques telles que la recherche par faisceau pour le décodage pendant l'inférence. L'accent mis par la CTC sur l'entraînement sans alignement a influencé les développements ultérieurs dans l'apprentissage de séquence à séquence, bien qu'elle reste distincte des méthodes basées sur l'attention.