Blog Zenika

#CodeTheWorld

Événements

Salon de la Data – Nantes 2018 partie 1

Le 12 septembre 2018 a eu lieu la deuxième édition du salon de la Data à Nantes. 
Ce salon est organisé sous forme de conférences ou de tables rondes. Il s’agit donc d’un lieu d’échange et de partage d’expérience.
C’est dans ce contexte que Zenika s’est rendu pour pouvoir assister, présenter et échanger (https://twitter.com/SalonData/status/1039873005839630339). D’ailleurs, la team @ZenikaNantes présentait à son stand “notre DashBoard” et note pôle #ZnkIA

Cet article sera découpé en 2 parties :

  • 1ère partie : retour sur les conférences auxquelles nous avons assisté sur le domaine de l’IA, du Deep Learning et de la sécurité des données
  • 2ème partie : retour sur des sujets variés tels que le journalisme de données, l’API Management ou encore les travaux de l’IGN pour la numérisation du réel

Voyage dans le monde du Deep Learning par Alexia Audevart

https://salondata.fr/2018/06/28/9h30-10h30-voyages-deep-learning/
https://twitter.com/SalonData/status/1039785260131774464
D’entrée de jeu, Alexia nous met dans le bain par la question suivante : “Pourquoi parle-t-on autant d’IA en ce moment ?”
Le premier constat est que nous évoluons dans un monde où nous sommes entourés d’intelligence artificielle (les smartphones, les sites de e-commerce, …).
De plus, nous continuons à innover et à repousser les limites. Le cas de Sophia, robot humanoïde, en est la preuve. Elle est dotée de la reconnaissance vocale, faciale, ce qui lui permet de tenir une vraie conversation et de simuler des émotions telles que la joie, la colère ou la tristesse.
Cette présentation retrace à travers un axe temporel les différentes phases de l’intelligence artificielle ainsi que les différents enjeux. Cet axe temporel peut être découpé en deux phases :

  • de 1950 à 1997 : on est au tout début, on prédit déjà que les machines seront plus intelligentes que l’Être humain dans les vingt prochaines années. Durant cette période, des gros investissements sont mis en oeuvre, notamment par l’armée américaine  (avec le DARPA). Cependant en 1970, un constat s’établit : tant que les machines ne seront pas plus puissantes, il n’y aura pas de grosses évolutions.
  • de 2009 à 2015 : les choses s’accélèrent.
    • On voit apparaître les premières applications de reconnaissance vocale grand public, comme Siri.
    • IBM met en oeuvre Watson, son premier logiciel d’intelligence artificielle qui repose sur le deep learning.
    • mise en oeuvre des applications de traduction en temps réel.
    • le programme AlphaGo, qui repose sur un apprentissage automatique avec le Deep Learning, bat le champion du monde au jeu de GO.

Le fonctionnement du cerveau est très complexe, c’est en essayant de le reproduire que nous avons autant progressé. La mémorisation, l’apprentissage, ainsi que l’établissement du choix sont des facultés propres à l’homme que l’on tente de reproduire sur les machines. On est maintenant dans une approche d’apprentissage probabiliste plutôt que formelle.
Cet apprentissage se fait par l’utilisation des réseaux de neurones.
Tout d’abord, un neurone peut être vu comme une fonctionnalité qui prend en entrée un ensemble de données, qui vont subir un ensemble de traitement, pour avoir une sortie en résultat.  C’est ce que l’on appelle un neurone formel.

(https://upload.wikimedia.org/wikipedia/commons/f/f0/Computer.Science.AI.Neuron.svg)
Malheureusement ce système a des limites, car on est dans une représentation de logique binaire. C’est-à-dire si mon entrée est X et que je pondère d’un poids W1 en appliquant les fonctions j’aurai toujours Y. Par contre, je ne peux pas traiter ma donnée X1 et la pondérer avec un poids W2.
Pour couvrir plus de périmètres et de cas, il faut complexifier le modèle. Pour cela nous allons passer d’un modèle à une seule couche vers un modèle à plusieurs couches : les réseaux de neurones.
Il y a cinq grandes familles dans les types de réseaux de neurones:

  • full connected
  • convolution
  • récurrents
  • LSTM (Long Short Term Memory)
  • génératifs

Conceptuellement le Deep Learning s’appuie sur les couches de réseaux, c’est-à-dire qu’une donnée entrante va traverser un ensemble de couches pour avoir un (ou plusieurs) rendu, afin qu’il puisse apprendre de lui-même.
L’apprentissage est une phase très critique, car il est important de minimiser les erreurs. L’une des techniques utilisée est la Back Propagation. Elle consiste à entraîner le réseau de neurones pour qu’elle puisse se corriger d’elles-mêmes.
J’ai trouvé cette présentation très intéressante, car les concepts ont été abordés de manière simple et les exemples présentés permettaient de bien cristalliser le concept.
Liens :

IA : comment traiter ces nouveaux risques par Gérôme Billois et Laurent Guillé

https://salondata.fr/2018/06/28/10h45-11h45-intelligence-artificielle-comment-traiter-ces-nouveaux-risques/
https://twitter.com/wavestoneFR/status/1039811638407450624
L’intelligence artificielle est un sujet qui est en plein essor. Les entreprises n’hésitent pas à investir et à expérimenter, car elles sentent qu’elles peuvent en tirer profit. Différents “Use Case” se concrétisent : lutte contre la fraude, prédiction de prix, de taux…
Mais ils ne sont pas les seuls à surfer sur la vague, les hackers utilisent aussi l’intelligence artificielle.
Par conséquent, il est important de comprendre les différentes menaces qui existent, afin de mettre en place des règles de sécurité.
L’apprentissage dans une IA est une phase importante, elle peut être faite de manière supervisée ou non supervisée. Un hacker va essayer de comprendre son mode d’apprentissage pour tenter de le détourner de son objectif.
Dans le machine learning, le moteur reçoit des données en entrée, les traite et donne un (ou des) résultat(s). Un attaquant va donc essayer de s’attaquer à l’algorithme du moteur pour que la sortie corresponde à ses attentes ou bien il va injecter des données erronées afin de polluer sa base de référence.
(https://de.wikipedia.org/wiki/Deep_Learning#/media/File:MultiLayerNeuralNetworkBigger_english.png)
Le meilleur exemple que l’on peut donner est le chatbot Tay de Microsoft. Le rôle de base de Tay était d’interagir avec des adolescents sur un réseau social et d’adapter sa réponse en fonction de la conversation. Malheureusement une journée après son lancement, Microsoft a arrêté son programme, car des utilisateurs malveillants ont volontairement détourné son mode d’apprentissage en lui apprenant des propos racistes, sexistes ….
Les risques de détournement peuvent être catalogués de trois parties:

  • l’empoisonnement
  • l’inférence
  • l’évasion

L’empoisonnement consiste à changer la manière de fonctionner de la machine en lui fournissant en jeu de données non approprié à ses tâches premières. C’est ce qui s’est passé dans le cas de Tay
https://thehackernews.com/2016/03/tay-artificial-intelligence.html
L’inférence consiste à comprendre le fonctionnement de la machine pour pouvoir s’en servir. C’est ce qui s’est passé avec le service d’authentification faciale de l’iPhone. Une entreprise vietnamienne a réussi à débloquer le service de reconnaissance faciale, tout simplement en lui présentant un masque de visage humain (il leur a fallu quand même plusieurs heures de tentatives pour comprendre son fonctionnement).
https://www.wired.com/story/hackers-say-broke-face-id-security/
Le modèle d’apprentissage du machine learning repose sur différents algorithmes, un exemple est le modèle de classification. Dans le cas du modèle de classification, un attaquant va tenter d’altérer la fonctionnalité existante en lui faisant réapprendre. Par exemple, une IA qui saurait reconnaître un panneau-stop pourrait à la fin nous dire qu’il s’agit d’un panneau prioritaire (par simple ajout de scotch pour lui donner la forme). C’est ce que l’on appelle l’évasion.
https://www.20min.ch/ro/multimedia/stories/story/Quand-Google-prend-une-tortue-pour-une-arme-22893050?httpredirect.
Maintenant que l’on connaît les différentes attaques possibles, le but est de savoir comment s’en préserver ? Pour cela, il faut agir sur toutes les couches : input, le moteur, et l’output.
Sur la partie Input, il faut filtrer les données entrantes pour éviter que les données soient polluées. Il faut fournir uniquement les bons cas au système.
Sur le moteur, il faut éviter les divergences, faire en sorte qu’il soit moins bavard (Gradient making), ou bien avoir un moteur de machine learning qui repose sur plusieurs algorithmes pour renforcer le produit.
Et enfin, sur la sortie il est préférable de mettre des modérateurs ou des DenyList.
Lors de la mise en place d’un produit qui utilise de l’intelligence artificielle, il est également important de définir une matrice de risque. Dans le contexte actuel, la protection des données est très importante, et donner accès à des données privées peut faire peur. La matrice va nous permettre de définir le niveau d’interaction entre la machine et nos données. Et donc on pourrait mettre en place des règles de gestion et de sécurité.
Prenons l’exemple d’un chatbot sur la gestion d’un compte:
Q: “Quel est le meilleur placement sécurisé ?”
R: “… par exemple”
Le risque est faible, car il n’accède qu’à des données publiques.
Q: “Combien d’argent me reste-t-il? ”
R: “Il vous reste …”
Le niveau de risque est différent, car le chatbot se connecte en votre nom et accède à vos données. Dans ce cas précis, il est nécessaire de sécuriser l’accès, de chiffrer les données.
Q: “Peux-tu effectuer le virement suivant?”
R: “Très bien …”
Le chabot a accès à nos données et en plus il effectue une transaction. Il faudrait mettre en place les règles de sécurité nécessaires, faire du suivi de transaction, mais aussi sur le choix effectué par l’IA.
À travers cette matrice, on voit les différentes interactions, les risques, mais aussi les actions que l’on peut mettre en place.
On est clairement dans une démarche de renforcement de l’algorithme. Nous avons trouvé cette conférence très intéressante, car elle était claire et elle donnait des bons rappels.

Les 10 mauvaises façons de faire de l’intelligence artificielle par Andreea Dumitrascu

https://salondata.fr/2018/06/28/16h30-17h-les-10-mauvaises-facons-de-faire-de-lintelligence-artificielle/
https://twitter.com/RGuillome/status/1039994789670920192
Cette présentation était intéressante, car de mon point de vue il s’agit à la fois d’une mise en garde pour éviter de se tromper, mais aussi d’une invitation.
Pourquoi cette mise en garde.
Tout d’abord, il faut faire attention à l’effet buzz, ce n’est pas parce que d’autres le font qu’il faut y aller. Il faut prendre du recul, se poser les bonnes questions. Avons-nous un réel intérêt ? Qu’est-ce que cela va nous apporter ? Elle a utilisé le terme “La technique du magicien d’Oz”. Je trouve que ce terme est plutôt bien adapté dans certains cas. En effet certaines entreprises promettent la mise en place de produits, comme les bots, qui reposent entièrement sur de l’intelligence artificielle. Sauf que dans la réalité, ce sont des humains qui font le travail.
Plutôt que de mettre en place des structures auxquelles les machines vont apprendre des humains, on préfère mettre des Hommes qui vont se comporter comme des machines. Car l’investissement est différent, un Homme coûte moins cher. En plus, si ce sont des humains qui sont derrière, comment gère-t-on la protection des données ?
Malgré tout, l’intelligence artificielle reste quand même un domaine intéressant.
En fait pour que l’expérience soit totalement réussie, il faut la vivre comme une opportunité.
Tout d’abord pour l’entreprise cela va apporter de la valeur, elle sera innovante et compétitive. Pour les personnes, il s’agit tout simplement de monter en compétences. L’intelligence artificielle est un domaine complexe, on ne peut pas travailler dans ce domaine tout en restant curieux, il faut devenir des sachants.
Il faut aussi connaître ses forces et ses faiblesses, l’intelligence artificielle est une technologie et non un objectif. C’est peut-être grâce à cette technologie que l’on peut combler les faiblesses, pour faire avancer les produits.
Pour que la mise en place d’une intelligence artificielle soit totalement réussie, il faut mettre en place une démarche. La pyramide, ci-dessous, montre les différentes étapes qu’il faut respecter.

https://hackernoon.com/the-ai-hierarchy-of-needs-18f111fcc007
La phase de collecte est très importante, pour qu’en sortie nous ayons des bons résultats il faut que les données en entrée soient de bonne qualité. C’est le principe du “Garbage In, garbage out”.
Ce qui est intéressant avec cette pyramide, c’est qu’on imagine qu’une fois au sommet on a l’impression que c’est tout fini. En fait pas du tout, une fois que le produit est une production il faut continuer à le ré-entraîner. Il faut toujours l’alimenter avec des nouveaux cas pour que les résultats restent toujours pertinents.
En conclusion une présentation intéressante qui nous donne au final des conseils pour réussir et des pièges à éviter.

RGPD & Cybersécurité par Jean-Sylvain Chavanne

https://salondata.fr/2018/06/27/17h45-18h15-anssi/
L’ ANSSI (Agence nationale de la sécurité des systèmes d’information) est en charge de la sécurité numérique en France. C’est une autorité de sécurité et de défense.
Jean-Sylvain Chavanne a mis en avant un des principes de la RGPD :
Article 32 : mesures organisationnelles et techniques à la mesure des risques
= Il faut anticiper le risque, le comprendre et s’en protéger
Il existe 2 types d’attaques :

  • Attaque indifférenciée (ex : ransomware)
  • Attaque ciblée (ex : TV5 Monde)

Se protéger passe entre autres par une sensibilisation des collaborateurs, car c’est bien souvent une source de vulnérabilité des systèmes informatiques.
Un MOOC est mis à disposition sur le site de l’ANSSI (https://secnumacademie.gouv.fr/).
 

Une réflexion sur “Salon de la Data – Nantes 2018 partie 1

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

En savoir plus sur Blog Zenika

Abonnez-vous pour poursuivre la lecture et avoir accès à l’ensemble des archives.

Continue reading