IA Lab

Existe-t-il des IA créatives ?

16 mars 2018




Résumé

Certains modèles de machine learning sont aujourd’hui capables de générer des images fictives d’un réalisme surprenant. Cet article est le premier d’une série de deux consacrés à ces modèles dit génératifs. Il décrit comment fonctionnent les deux principaux modèles utilisés pour créer ou modifier des images : les Variational Auto-Encoders (VAE) et les Generative Adversarial Networks (GAN). Plus largement, il aborde aussi la question de savoir en quoi consiste au juste leur « créativité ». Le second article sera consacré aux enjeux UX de ces modèles lorsqu’ils sont utilisés dans un contexte d’intelligence augmentée.

  1. IA – après l’apprentissage, la création ?
  2. Qu’est-ce qu’un modèle génératif ?
  3. Pas encore de e-Picasso, mais…

1. IA – après l’apprentissage, la création ?

Si l’IA désigne globalement les techniques qui visent à automatiser, un jour, l’ensemble des processus cognitifs humains, il faut bien se rendre à l’évidence que l’immense majorité des applications ne reposent aujourd’hui que sur quelques formes rudimentaires d’apprentissage. L’apprentissage supervisé, qui présuppose la disponibilité d’exemples de référence pour lesquels on connaît la réponse souhaitée, et l’apprentissage par renforcement, qui consiste à optimiser une stratégie par interaction avec un environnement en vue de maximiser une récompense, en sont les deux formes les plus courantes.

 

Figure 1 : (a) un Deep Dream (b) un Rembrandt synthétique (c) application d’un style Van Gogh à une photo quelconque.

 

Plus récemment, on a vu apparaître des applications du Deep Learning dans le domaine de la création artistique grâce aux modèles génératifs qui implémentent comme nous le verrons une forme simple d’apprentissage non-supervisé. Ainsi sait-on aujourd’hui visualiser avec Deep Dream les rêves (ou les cauchemars peut-être) d’un réseau de neurones, recréer un Rembrandt plus vrai que nature ou encore appliquer un style Van Gogh à n’importe quelle photo, comme l’illustre la figure 1. Le domaine « littéraire » n’est pas en reste puisque des réseaux de neurones récurrents sont désormais capables de rédiger des pastiches à la manière de Shakespeare. Enfin, sans parvenir pour l’instant à égaler Miles Davis, les réseaux de neurones se sont également essayés à l’improvisation jazz.

Bien que les réseaux génératifs profonds en soient à leurs premiers balbutiements, on pourrait dès à présent y consacrer un ouvrage entier. Notre objectif ici est simplement de répondre à la question figurant dans le titre de cet article. Sans spéculations grandiloquentes, sans envolées lyriques, mais de manière argumentée, en nous appuyant sur une compréhension approfondie des mécanismes à l’œuvre dans les deux principaux modèles génératifs utilisés pour créer des images synthétiques réalistes.

 

2. Qu’est-ce qu’un modèle génératif ?

Les modèles génératifs sont des modèles de machine learning capables de synthétiser des objets complexes, comme des textes, des images ou de sons, « similaires » à ceux d’une liste d’exemples. En termes un peu plus techniques, on peut dire que les modèles génératifs sont capables d’apprendre une distribution de probabilité sur des objets complexes, distribution que l’on pourra ensuite échantillonner pour produire des exemplaires inédits mais ressemblants aux exemples.

Les applications de ces modèles génératifs sont multiples :

  • La création, interactive ou non, d’images ou de vidéos dans un contexte artistique ou marketing [DMG]. C’est le sujet principal de cet article.
  • La simulation d’évolutions vraisemblables d’environnements physiques en vue de planifier de tâches en robotique ou dans un contexte d’apprentissage par renforcement [IGF].
  • La mise à l’épreuve de notre aptitude à comprendre la structure d’objets complexes du monde réel en essayant d’en générer des exemplaires crédibles.
  • La génération d’images en haute résolution réalistes à partir d’image en basse résolution.
  • L’enrichissement d’un jeu de données dans un contexte d’apprentissage semi-supervisé où l’on dispose de peu de données étiquetées.

Notre définition intuitive d’un modèle génératif manque hélas de rigueur puisque nous n’avons pas pris la peine de préciser le sens de l’adjectif « similaire ». Si on la prenait au pied de la lettre on pourrait construire par exemple un algorithme qui se contenterait de régurgiter dans le désordre les images fournies en entrée et arguer, avec un zeste de mauvaise foi, que les images ainsi produites sont bien similaires aux exemples ! On conçoit par conséquent que, pour être utile, un algorithme génératif se doit d’incorporer une notion de régularité qui lui permettra d’interpoler entre les exemples qu’il a vu pour en générer de nouveaux qui ne soient pas strictement identiques. La définition mathématique rigoureuse de cette notion de similarité reste à ce jour un problème ouvert pour les objets complexes du monde physique [MAL]. Par chance, les techniques de Deep Learning sont aujourd’hui en avance sur les développements théoriques. De fait, on sait construire des modèles génératifs qui font l’affaire en pratique, même si nous comprenons encore mal la nature de la régularité qu’ils exploitent implicitement.

Dès à présent nous limiterons notre discussion à la génération d’images.

Les auto-encodeurs (AE)

Les auto-encodeurs sont des modèles d’apprentissage non supervisé qui vont nous permettre de comprendre dans un premier temps une notion importante dans le cadre des modèles génératifs : la notion de variables latentes.

Considérons par exemple une collection d’images de visages humains d’une résolution de 1000 x 1000 pixels et posons-nous la question de savoir combien de paramètres sont nécessaires au minimum pour décrire correctement un visage en particulier. L’âge, le sexe, la coupe de cheveux, le teint, l’aspect souriant ou non, … sont probablement indispensables mais, de tout évidence, insuffisants. Peut-être quelques dizaines de paramètres suffiront-ils si à condition d’accepter qu’ils n’aient pas tous une interprétation directe évidente. On appelle ces paramètres des variables latentes. La figure 2 illustre la situation : parmi toutes les images carrées d’un million de pixels, seule une infime fraction correspondent effectivement à des visages humains.

 

Figure 2 : L’espace des images est de dimension 1000’000 (trois dans la figure). Les images de visages constituent une infime partie de cet espace qui correspond à une surface de dimension beaucoup plus faible, peut-être 50 (deux dans la figure). Les coordonnées sur cette surface de faible dimension sont les variables latentes.

 

Les 50 variables latentes(λ1λ2, …, λ50) peuvent être envisagées comme une forme compressée de l’information visuelle. A, chaque point dans l’espace des variables latentes correspond un visage, si bien que parcourir cet espace latent revient à parcourir l’ensemble des visages humains. Les auto-encodeurs sont des systèmes d’apprentissage non supervisé qui permettent :

  1. De construire un espace de variables latentes. Les différentes variables latentes que l’algorithme découvre n’ont cependant pas vocation à être directement interprétables, contrairement à celles de la figure 2.
  2. De reconstruire une image à partir d’un point dans l’espace latent.

Leur principe de fonctionnement est illustré dans la figure 3, il utilise un réseau de neurones.

 

Figure 3 : L’architecture d’un auto-encodeur constitué d’un encodeur et d’un décodeur symétriques. Seules les connexions entre les 3 premières couches sont représentées, les autres étant symétriques.

 

Un AE est un réseau de neurones constitué de plusieurs couches connectées de manière symétrique comme l’illustre la figure 3 [1]. Les couches d’entrée et de sortie sont identiques et sont celles qui possèdent le plus grand nombre de neurones, pour une image en noir et blanc chaque pixel correspond à un neurone. Le nombre de neurones de la couche centrale correspondant au nombre de variables latentes que l’on souhaite découvrir. Plus les nombres de couches et de neurones sont importants, plus l’auto-encodeur sera capable d’apprendre à encoder des images complexes. Ces nombres sont des hyperparamètres qu’il faudra ajuster par tâtonnements pour parvenir à une reconstruction optimale sans trop de ressources.

Durant l’entraînement de l’AE on lui présente une liste d’images en entrée et on lui demande d’apprendre à les reconstruire aussi précisément que possible sur la couche de sortie en minimisant une erreur de reconstruction qui évalue la différence entre l’image originale et l’image reconstruite [2]. Les couches comprises entre l’entrée et la couche de variables latentes sont alors à envisager comme un encodeur et les couches entre les variables latentes et la sortie comme un décodeur. En d’autres termes, on demande à l’encodeur de compresser l’information pour la faire tenir dans un petit nombre de variables latentes et au décodeur de reconstruire cette information du mieux qu’il peut. Sur les données qu’on lui fournit l’AE ne fait donc globalement… rien ! Cette opération en apparence triviale ne l’est pas en réalité car le faible nombre de neurones de la couche centrale constitue un goulet d’étranglement qui force l’AE à trouver une représentation parcimonieuse des données qu’on lui a présenté [3]. Il faut bien réaliser que ce mécanisme de compression ne fonctionnera correctement que pour des données de même nature que celles avec lesquelles on a entrainé l’AE. Si on présente une image de camion plutôt qu’un visage à l’AE, l’encodage n’aura aucun sens et la reconstruction sera impossible car l’AE cherchera désespérément à interpréter un camion comme un visage !

Utiliser un AE en mode génératif revient alors à échantillonner des vecteurs de variables latentes (λ1λ2, …, λ50) puis à reconstruire les images associées au moyen du décodeur. Ce processus est créatif, si l’on veut, dans la mesure où les visages générés de cette manière seront différents de ceux du jeu d’entraînement. Il n’y a aucune raison en effet pour que les vecteurs latents choisis au hasard coïncident avec à ceux des images du jeu d’entraînement.

Les auto-encodeurs variationnels (VAE)

Hélas les auto-encodeurs simples similaires à celui qui est représenté sur la figure 3 fonctionnent mal en pratique. Ils ne permettent pas de réaliser pleinement l’idée illustrée sur la figure 2, à savoir un encodage continu de représentations qui permettrait de se déplacer sur l’espace des visages pour faire du morphing sur des caractéristiques bien identifiées. La seule raison pour parler des AE simples était d’introduire la notion de variables latentes.

Les auto-encodeurs variationnels (VAE) rajoutent deux ingrédients supplémentaires par rapport aux AE simples qui leur permettent de réaliser la promesse de la figure 2.

  1. Le point de départ est l’idée intuitive qu’une image est toujours le résultat d’un processus aléatoire si bien que deux versions d’un même visage devraient être encodées par des points proches dans l’espace latent. Dit autrement, deux points dans l’espace latent dont la distance est inférieure à un certain seuil devaient être considérés comme indiscernables l’un de l’autre. Dès lors, plutôt que d’encoder chaque image de manière déterministe par un point λ dans l’espace latent, un VAE va choisir au hasard un point λ* proche de ce point λ. Plus précisément, l’encodeur d’un VAE calcule une distribution de probabilité centrée sur λ et d’écart-type σ, les deux étant appris par l’encodeur qui comporte en l’occurrence deux modules comme l’illustre la figure 4.
Figure 4 : Le générateur d’un VAE comporte deux parties dont l’une détermine la moyenne λ et l’autre la variance σ d’une distribution normale dont on échantillonne un point λ* au hasard dans l’espace latent.

 

En ce sens les VAE sont donc des modèles stochastiques, ils introduisent une part d’aléa dans le processus de génération. Ce processus de floutage délibéré incite le VAE à découvrir des encodages efficaces qui jouissent des propriétés de continuité souhaitées et remplace les conditions de parcimonie des AE simples.

  1. A chaque image en entrée correspond donc un point tiré au hasard selon le processus décrit précédemment. L’ensemble des points associés à toutes les images de l’ensemble d’entraînement forment donc un nuage de points dans l’espace latent. A priori, la forme de ce nuage est arbitraire. Si toutefois nous parvenions à faire en sorte que ce nuage ait une distribution simple et bien déterminée nous pourrions alors échantillonner des points selon cette même distribution pour créer, grâce au décodeur, des images aux propriétés statistiques identiques à celles de l’ensemble d’entraînement. Pour forcer le nuage de point à avoir une forme simple (une loi normale) les VAE introduise, en plus du coût de reconstruction, un terme supplémentaire dans la fonction de coût qui pénalise les nuages de points dont la distribution d’écarte trop d’une loi normale standard [4].

L’expérience a démontré qu’en plus propriétés de continuités déjà évoquées les VAE avait par ailleurs des propriétés arithmétiques qui les rendent très utiles pour la retouche d’image avancée. Ainsi peut-on identifier une direction « sourire » ou une direction « lunettes » dans l’espace latent qui permettent de moduler l’expression d’une photo (figure 5). C’est propriétés sont similaires aux propriétés arithmétiques des Word Embeddings dans le domaine linguistique.

 

Figure 5 : Application du vecteur « sourire » et du vecteur « lunette » à plusieurs exemples.

 

Pour trouver ces directions dans l’espace latent, rien de plus simple : pour construire un vecteur « sourire » il suffit de soustraire le vecteur représentatif d’un visage triste à celui d’un visage souriant (ou de faire une moyenne de telles différences).

Les Generative Adversarial Networks (GAN)

L’état de l’art en matière de génération d’images réalistes ne repose plus aujourd’hui sur les VAE mais sur une nouvelle classe de modèles génératifs inventée en 2014 par Ian Goodfellow et appelés Generative Adversarial Networks [GAN]. Les GAN sont intéressants pour leurs performances mais, plus encore peut-être pour l’innovation conceptuelle qu’ils représentent dans le domaine du Deep Learning. Yann LeCun, directeur de recherche du labo Facebook AI Research dit à ce propos : « Les GAN sont l’idée la plus intéressante (en AI) que j’ai vue depuis 10 ans ! » [YLC].

On a coutume de les introduire au moyen d’une analogie avec l’activité de contrefaçon d’un faux monnayeur et, faute d’une meilleure idée, nous ne dérogerons pas ici à cette tradition. A bien y réfléchir un faux monnayeur et un modèle génératif ont effectivement des objectifs similaires : le premier cherche à duper l’autorité en charge d’émettre la monnaie officielle en confectionnant des faux billets réalistes alors que le second doit produire des images crédibles capables de leurrer des humains.

Un système GAN est constitué de deux réseaux de neurones en compétition comme l’illustre la figure 6.

Figure 6 : Un système GAN composé d’un générateur chargé de créer des images réalistes de digits manuscrits par transformation d’un bruit aléatoire et d’un discriminateur chargé de distinguer les vraies images des images fictives. Le discriminateur est basé sur un réseau de convolution (CNN). Le générateur utilise une forme de CNN inversé.

 

Le premier, appelé le générateur, a pour objectif de créer des images fictives crédibles qui ressemblent à celles d’un ensemble d’entraînement. Ce générateur fonctionne sur le même principe que le décodeur d’un AE ou d’un VAE représenté sur la figure 3 : il apprend à convertir du bruit (un point tiré au hasard dans l’espace latent) en une image. Mais, alors qu’un AE ou un VAE apprenait son « métier » en minimisant une fonction de coût statique, les GAN exploitent un mécanisme d’évaluation dynamique beaucoup plus puissant. Ils délèguent le contrôle qualité à un second réseau de neurones, appelé le discriminateur, qui va progressivement apprendre à distinguer les vraies images des fausses sur la base d’exemples connus. Ce discriminateur est entraîné sur un mode supervisé de la manière suivante :

  1. On échantillonne quelques dizaines d’images réelles de l’ensemble d’entraînement auxquelles on attribue l’étiquette « vraie ».
  2. On échantillonne ensuite quelques dizaines d’images fictives confectionnées par le générateur à partir de points tirés au hasard dans l’espace et auxquelles on attribue l’étiquette « fausse ».
  3. On fusionne les deux échantillons et l’on entraîne le discriminateur à prédire correctement les étiquettes, « vraie » ou « fausse » de chaque image de cet ensemble. Le discriminateur apprend en fait une probabilité pour une image d’être vraie.

On fige ensuite le discriminateur dans cet état puis on entraîne le générateur à tromper le discriminateur aussi souvent que possible de la manière suivante :

  1. On fabrique de nouvelles images fictives grâce au générateur.
  2. On soumet ces nouvelles images au discriminateur.
  3. On optimise le générateur pour que le discriminateur attribue (à tort) l’étiquette « vraie » aux images fictives aussi souvent que possible.

On itère ce processus. A chaque étape le générateur produira, si tout se passe bien, des images un peu plus réalistes, ce qui contribuera à renforcer le discernement du discriminateur, ce qui obligera le générateur à se surpasser à l’étape suivante et ainsi de suite. L’objectif de cette compétition, ou de ce jeu si l’on préfère, est de parvenir à un équilibre où le générateur parvient à reproduire des images indiscernables des originaux tandis que le discriminateur attribue des étiquettes correctes une fois sur deux. La figure 7 montre 20 chambres à coucher synthétisées par un GAN.

 

Figure 7 : Des chambres à coucher fictives « imaginées » par un GAN. A vous de juger !

 

La recherche d’un équilibre stable [5], dans un jeu est un problème beaucoup plus délicat que l’optimisation d’une fonction de coût si bien que la description précédente n’est qu’une esquisse conceptuelle qui doit en réalité s’accompagner de nombreux trucs et astuces, d’expérimentations et de patience pour donner des résultats probants. Cette partie du Deep Learning reste à ce stade plus proche de la magie noire que de la science fondée sur des justifications robustes. Une partie de la difficulté de l’entraînement des GAN tient à l’inadaptation des outils existants du Deep Learning [6] conçus dès l’origine pour rechercher des minimas et non pas des situations d’équilibre.

En examinant les images de la figure 7 on peut être pris de doute et penser que le GAN s’est simplement contenté de copier des images de chambre à coucher existantes. Il faut cependant garder à l’esprit que le générateur, voir la figure 6, ne « voit » jamais une image directement ! C’est indirectement, par le biais des retours que lui fournit le discriminateur, qu’il apprend à construire ces simulacres. En ce sens, l’entraînement d’un GAN s’apparente à une forme d’apprentissage par renforcement où le discriminant fournirait une récompense au générateur mais où cette récompense deviendrait de plus en plus difficile à obtenir.

Bien qu’ils produisent des images très nettes, pour des raisons d’ailleurs encore mal comprises, les GAN n’ont pas un espace latent aussi bien structuré et continu que les VAE.

Figure 8 : une esquisse et l’image photo-réaliste générée par Pix2Pix qui utilise un cGAN

 

Notons enfin qu’il existe d’innombrables variantes des GAN pour différents usages. Ainsi les cGAN, ou Conditional GAN, sont-ils capables de générer des images de manière conditionnée. Plutôt que des générer des images aux hasard comme le font les GAN, ils gérèrent des images différentes selon une information qu’on leur fournit en entrée. Le système Pix2Pix capable de traduire une esquisse en une image photo-réaliste utilise un tel modèle cGAN, voir la figure 8 et [PIX].

3. Pas encore de e-Picasso mais…

Nous voilà bien équipé pour répondre à la question initiale : qu’en est-il de la créativité de systèmes génératifs comme les VAE ou les GAN ? Bien qu’ils fonctionnent sur des mécanismes différents, ces systèmes ont en commun l’objectif de base qui consiste, dans un premier temps, à apprendre une distribution de probabilité sur des objets complexes, comme des images, puis, dans un second temps, à générer des objets similaires par échantillonnage de le distribution apprise. Voilà donc à quoi se résume toute leur « créativité ». Faut-il préciser dans ces conditions qu’un e-Picasso n’est pas pour demain ? [FPI].

Pour aller un peu plus loin dans l’analyse, dressons un parallèle entre les limitations des modèles d’apprentissage supervisé et celles des modèles génératifs. Les capacités prédictives des modèles actuels reposent, on le sait, sur la possibilité de faire des prédictions par interpolation de la variable cible à partir d’exemples connus à condition de postuler une régularité suffisante dans les données [MAL, LEM]. En ce sens, les prédictions de ces modèles ne sont donc que des généralisations locales à partir d’observations similaires à celle pour laquelle une prédiction est souhaitée. On conçoit bien dès lors que les modèles prédictifs actuels sont incapables d’abstraire un apprentissage dans un domaine pour en tirer parti dans un autre domaine éloigné ou encore de planifier une stratégie à long terme dans le cadre d’un apprentissage par renforcement. Ces aptitudes seraient des formes de généralisation à grande échelle [DLP] aujourd’hui inaccessibles à l’IA. La situation est analogue pour les modèles génératifs. Eux aussi, présupposent une forme de régularité dans la distribution des exemples dans le sens où un nombre limité d’entre eux doit permettre d’imaginer de nouveaux exemplaires similaires.

Les capacité d’ « imagination créative » des modèles génératifs actuels sont aussi limitées que le sont les capacités de généralisation ou d’abstraction des modèles prédictifs et ceci pour les mêmes raisons.

Figure 9 : Les « montres molles » de Salvador Dali.

 

Sans vouloir nous lancer dans d’aventureuses spéculations sur la nature profonde de la création artistique, essayons malgré tout de la comparer aux balbutiements des modèles génératifs décrits précédemment. Au moins deux caractéristiques distinguent ici l’homme de la machine. La première est que la créativité artistique prend ses racines dans une expérience multi-sensorielle qui s’échelonne sur la vie d’un artiste et va donc bien au-delà d’un simple échantillonnage d’une seule catégorie de données (images, textures, sons, textes etc…). Le seconde est qu’un artiste est habité d’une intention, celle de communiquer un monde intérieur ou d’enrichir celui des destinataires de son œuvre avec qui il partage une communauté d’expériences qui font une vie humaine. Lorsque Salvador Dali peint « La persistance de la mémoire » illustrée dans la figure 9, il crée une œuvre qui présuppose que l’observateur sait, non seulement ce qu’est une montre, mais ce qu’est la gravitation et que les montres réelles ne sont pas molles et que de cette incongruité naîtra une allégorie qui tourne en dérision notre obsession du contrôle du temps.

Les affirmations comme quoi le prochain Rembrandt pourrait être un robot ne sont donc que des fantasmes (pour rester modéré) de journalistes en quête de sensationnalisme.

Les machines apprennent des lois statistiques mais n’ont pas accès, pour l’instant, à la sémantique des objets qu’elles manipulent. Si elles savent produire des images réalistes de chambres à coucher elles n’ont en revanche pas la moindre idée des usages possibles d’un lit ou d’un miroir.

Si l’on veut examiner sérieusement l’apport de modèles génératifs dans un contexte artistique ou créatif il faut vraisemblablement abandonner le paradigme d’une IA conçue en tant qu’externalisation d’un processus cognitif et envisager plutôt celui d’une Intelligence Augmentée. Dans ce cadre, il s’agit souvent pour une « IA » de dispenser le créateur d’un ensemble de tâches considérés comme fastidieuses ou peu créatives justement : coloriser une image, générer des détails ou encore écrire un accompagnement pour une mélodie. Libéré de ces contingences subalternes, celui-ci pourrait alors donner la pleine mesure de son talent créateur ! Est-il bien réaliste toutefois de vouloir dispenser un artiste de toute forme de technicité, qu’elle soit laborieuse à acquérir ou fastidieuse à exécuter ? Rien n’est moins sûr.

Cette question ainsi que tout le thème de l’intelligence augmentée seront abordées en détail par notre expert UX dans le prochain article de cette série.

Découvrez la deuxième partie de cet article : « Le Machine Learning décrypté », en cliquant ici

Notes

[1] En pratique le schéma d’interconnexion pour un AE d’image utilise les éléments d’un réseau de convolution (CNN), maie le principe reste le même.

[2] Comme la somme des carrées des différences (xi xi )2 par exemple.

[3] Il est possible d’exploiter d’autres contraintes que le goulet d’étranglement pour forcer un AE à découvrir un espace de variables latentes. L’ajout d’un signal de bruit aux données en entrée par exemple ou des contraintes de parcimonie qui limitent le nombre de neurones actifs dans la couche centrale sont deux possibilités [DLP].

[4] Pour les geeks : c’est la divergence de Kullback-Leibler entre la distribution empirique des points représentatifs dans l’espace latent et la loi normale standard en d dimension où d=dim(espace latent).

[5] Techniquement il s’agit d’un équilibre de Nash entre deux joueurs qui cherchent chacun à optimiser leur stratégie, ayant connaissance des règles du jeu qui s’appliquent aux deux.

[6] Comme la rétropropagation et descente de gradient stochastique.

Références

 

L'Intelligence Artificielle,
au-delà des clichés

Livre blanc
Comprendre pour décider
Découvrez l'Intelligence Artificielle pour l'intégrer dès maintenant à vos enjeux stratégiques !
Téléchargez gratuitement

Les informations recueillies sur ce formulaire sont enregistrées dans un fichier informatisé de gestion des Clients et Prospects (CRM).

Le Responsable de traitement est la société weave, 37 rue du rocher 75008 Paris RCS Paris 802 396 085.

Elles sont destinées à l’activité marketing du groupe weave ainsi quà celle de ses filiales, à l’exclusion de tout transfert hors de l’UE. Elles sont conservées pour une durée conforme aux dispositions légales (par exemple 3 ans pour les données prospects).

Ce traitement nécessite votre consentement que vous pourrez retirer à tout moment sans que cela ne remette en cause sa licéité.

Conformément à la loi « Informatique et Libertés » et au règlement européen n°2016/679, vous bénéficiez d’un droit d’accès, de rectification ou d’effacement, ainsi que d’un droit à la portabilité de vos données ou de limitation du traitement. Vous pouvez également pour des raisons tenant à votre situation particulière, vous opposer au traitement de vos données et donner des directives relatives à la conservation, à l’effacement et à la communication de vos données après votre décès. Vous disposez également du droit d’introduire une réclamation auprès de la Commission Nationale de l’Informatique et des Libertés (www.cnil.fr).

Vous pouvez exercer vos droits en nous contactant à l’adresse contact@weave.eu.

En poursuivant votre navigation sur ce site, vous acceptez l’utilisation de cookies pour mesurer notre audience, vous proposer des contenus et des offres personnalisées, ainsi que des fonctionnalités de partage sur les réseaux sociaux. En savoir plus sur notre politique de cookies et notre charte des données personnelles