Les réseaux de neurones récurrents (RNN) et les réseaux de neurones convolutifs (CNN) sont d'autres réseaux de neurones fréquemment utilisés dans les tâches de machine learning et de deep learning. Ce qui suit explore leurs relations avec les transformateurs.
Transformateurs vs. RNN
Les modèles de transformateurs et les RNN sont tous deux des architectures utilisées pour traiter des données séquentielles.
Les RNN traitent les séquences de données un élément à la fois par itérations cycliques. Le processus commence lorsque la couche d'entrée reçoit le premier élément de la séquence. Les informations sont ensuite transmises à une couche cachée, qui traite l'entrée et transmet la sortie à l'étape temporelle suivante. Cette sortie, combinée à l'élément suivant de la séquence, est renvoyée dans la couche cachée. Ce cycle se répète pour chaque élément de la séquence, le RNN conservant un vecteur d'état caché qui est mis à jour à chaque pas de temps. Ce processus permet au RNN de mémoriser efficacement les informations des entrées passées.
En revanche, les transformateurs traitent des séquences entières simultanément. Cette parallélisation permet des temps d'entraînement beaucoup plus rapides et la possibilité de gérer des séquences beaucoup plus longues que les RNN. Le mécanisme d'auto-attention des transformateurs permet également au modèle de prendre en compte simultanément l'ensemble de la séquence de données. Cela élimine le besoin de récurrence ou de vecteurs cachés. Au lieu de cela, le codage positionnel conserve des informations sur la position de chaque élément de la séquence.
Les transformateurs ont largement dépassé les RNN dans de nombreuses applications, en particulier dans les tâches NLP, car ils peuvent gérer plus efficacement les dépendances à longue distance. Ils ont également une évolutivité et une efficacité supérieures à celles des RNN. Les RNN sont toujours utiles dans certains contextes, en particulier lorsque la taille du modèle et l'efficacité informatique sont plus importantes que la capture d'interactions à longue distance.
Transformateurs vs. CNN
Les CNN sont conçus pour les données de type grille, telles que les images, où les hiérarchies spatiales et la localité sont essentielles. Ils utilisent des couches convolutives pour appliquer des filtres sur une entrée, capturant ainsi des modèles locaux grâce à ces vues filtrées. Par exemple, dans le traitement d'image, les couches initiales peuvent détecter des bords ou des textures, tandis que les couches plus profondes reconnaissent des structures plus complexes telles que des formes ou des objets.
Les transformateurs étaient principalement conçus pour traiter des données séquentielles et ne pouvaient pas traiter d'images. Les modèles de transformateurs de vision traitent désormais les images en les convertissant dans un format séquentiel. Cependant, les CNN restent un choix très efficace et efficient pour de nombreuses applications pratiques de vision par ordinateur.