Google a créé un algorithme qui peut lire des entrées à partir de modalités multiples, et générer des sorties dans des modalités multiples.
À l'heure actuelle, de nombreuses applications d'apprentissage machine se concentrent sur un domaine unique. La traduction automatique construit des modèles pour un couple de langues et les algorithmes de reconnaissance d'image n'effectuent qu'une seule tâche (par exemple, décrire une image, dire à quelle catégorie appartient une image ou rechercher des objets dans l'image). Cependant, notre cerveau fonctionne très bien sur des tâches multiples et transfère les connaissances d'un domaine à l'autre. Le cerveau peut même transférer ce que nous avons appris en écoutant d'autres domaines : des choses que nous voyons ou lisons.
Google a construit un modèle qui effectue 8 tâches dans plusieurs domaines : reconnaissance de la parole, classification et sous-titrage d'images, analyse des phrases et traduction de l'anglais vers allemand, de l'anglais vers français et vice versa. Il se compose d'un codeur, d'un décodeur et d'un "mélangeur entrée-sortie" qui alimente le décodeur avec l'entrée et la sortie précédente. Dans l'image ci-dessous, chaque "pétale" indique une modalité (soit le son, le texte, ou une image). Le réseau peut apprendre chaque tâche avec l'une de ces modalités d'entrée et de sortie.
En novembre 2016, Google a publié une traduction zéro-tir. Cet algorithme mappe toutes les phrases à l'"interlingua": une représentation de la phrase, identique pour chaque langue de saisie et de sortie. En ne formant que des paires de langue anglaise-coréenne et anglais-japonaise, leur réseau neuronal a pu traduire le japonais-coréen sans jamais avoir vu une telle phrase.
Google rapporte que les tâches avec de petits échantillons de données d'apprentissage fonctionnent mieux lorsqu'elles utilisent MultiModel. Les modèles d'apprentissage machine fonctionnent en général mieux avec plus de données. En utilisant MultiModel, vous pouvez obtenir des données supplémentaires à partir de plusieurs domaines. Notez qu'en utilisant cette approche, ils n'ont pas brisé d'enregistrements existants sur des tâches standard.
MultiModel est open-source dans la bibliothèque Tensor2Tensor sur GitHub. Un article détaillant les méthodes et les résultats peut être trouvé sur arxiv.com.