Quand Google met le machine learning au service de l’art…
Google a présenté le 26 octobre 2016 un système appelé Style transfer qui permet de créer des illustrations artistiques ressemblant aux plus grands courants artistiques des derniers siècles grâce aux réseaux de neurones profonds et au machine learning. Un article scientifique du même jour explique en détails comment fonctionne l'application Style transfer.
Style transfer peut à première vue être comparée à un filtre Snapchat ou Instagram par exemple (voir vidéo ci-dessous), mais ce n'est en rien équivalent. Ou tout du moins, c'est bien plus "intelligent" que ça. Il ne s'agit pas d'une simple surcouche ajoutée au-dessus d'une illustration mais bien de mélange de données qui permettent de faire des représentations artistiques abouties ressemblant aux principaux courants de l'art contemporains notamment (cubisme, impressionnisme, expressionnisme, fauvisme...). L'objectif de Google est de permettre aux utilisateurs de faire ressembler n'importe quelle photo à un style d'une oeuvre d'art que l'on aime, tout ça à l'aide du machine learning, rien que ça ! ;-)
Google ne veut s'arrêter au simple fait de représenter une forme d'art comme le montre la capture ci-dessus, la technologie doit permettre de combiner plusieurs styles intelligemment en même temps pour créer des représentations uniques et innovantes, bien plus approfondies que les filtres classiques. L'idée est bien entendu d'intégrer ce genre de fonctionnalité dans des applications de la firme (Google Photos par exemple ?). Nous pourrions donc imaginer que les réseaux de neurones permettent de créer un mélange de cubisme, d'impressionnisme et de la photo initiale pour créer une "oeuvre" nouvelle. Cette idée est bien représentée dans l'article scientifique présenté plus haut dans cet article, on y voit une vidéo avec un chien et plusieurs styles artistiques mélangés (capture ci-dessous). Et c'est d'ailleurs ce qui est fort avec cette technologie, c'est que le Style transfer fonctionne également en direct avec les vidéos, et pas uniquement avec des images statiques.
Google s'appuie sur des recherches autour d'un réseau de neurones convolutif profond (CNN en anglais). Ces recherches abouties expliquent comment un algorithme rapproche une image existante avec des images des couches inférieurs du CNN. Ainsi, par affinage, et en se basant sur les couches des images, l'algorithme arrive à faire un mélange intelligent pour parfaire le rendu final. Cela fonctionne avec l'art mais pourrait également s'activer dans bien d'autres contextes.
Google révèle que ce système était très lourd dans l'application et qu'il fallait plusieurs minutes pour que l'algorithme traite l'image. Après de nombreuses évolutions, le Style transfer a été créé pour accélérer nettement le processus, mais cela ne fonctionne que pour une seule couche à la fois (il ne combine pas plusieurs styles d'un seul tenant comme l'algorithme originel). Toutefois, le traitement arrive à se faire en temps réel désormais.
Google ne souhaitant pas s'arrêter en si bon chemin a contribué à ces recherches et a pensé à une astuce pour combiner des styles sans pour autant perdre trop de temps et de performances. Pour ce faire, les chercheurs ont remarqué que certains artistes ou certains styles artistiques reprennent des codes plusieurs fois dans les oeuvres, Google a donc décidé de créer des réseaux de transfert de style (Style transfer network) qui combinent ces styles ou oeuvres approchantes. En procédant ainsi, l'algorithme peut effectuer le même travail en temps réel tout en mélangeant plusieurs styles d'un même réseau. Google précise que ce système permet de combiner les styles sans être gourmand en mémoire. Bingo ! ;-)
Google invite les passionnés à suivre le blog Magenta et la technologie TensorFlow (intelligence artificielle déjà présentée sur ce blog) afin de connaître l'évolution de l'algorithme Style transfer, qui semble déjà bien abouti et en avance sur les anciens usages de l'algorithme.