Ecriture inclusive et académie

La sortie de l’Académie française contre l’écriture inclusive était sexiste et pathétique, profondément irritante de par son archaïsme.

Un article de Langue sauce piquante raconte assez bien avec des références utiles, et dit :

L’Académie est un astre mort, elle n’a heureusement plus de pouvoir de nuisance. Rappelons que la Révolution l’avait dissoute à juste titre, et que Napoléon l’a ressuscitée, comme beaucoup d’oripeaux de l’Ancien Régime. Rappelons aussi que son rôle prescrit par la monarchie était de publier une grammaire, ce qu’elle n’a jamais été capable de faire, et de renouveler son dictionnaire périodiquement, ce dont elle se montre incapable. La « Compagnie », c’est surtout celle des bras cassés.

A titre personnel, je ne suis pas un grand fan de l’écriture inclusive que je trouve un peu lourde. (C’est peut-être juste une question d’habitude ; on s’y fait). Mais il existe plein d’autres pistes que l’Académie française se garde bien de considérer comme la féminisation des noms de métiers. J’aime  ce qui commence à se faire dans le monde anglo-saxon. Par exemple, quand vous parlez d’un.e utilisateur.rice, un coup vous le conjuguez au masculin, un coup au féminin. Et j’adore la règle de proximité que l’académie a remplacée par la règle absurde « le masculin l’emporte sur le féminin » : Sarah et Jean sont des étudiants mais Jean et Sarah sont des étudiantes.

L’académie des Sciences, dont je fais partie, mérite aussi son lot de critiques :

  • peu de femmes, et incapacité à affronter ce problème. Êtes-vous sexistes messieurs les académicien.ne.s ?
  • peu de scientifiques des nouvelles sciences, comme l’informatique, les différentes disciplines défendant leur pré-carré.
  • peu de jeunes scientifiques à cause de la règle absurde que vous devenez académicien.ne à vie.

Serge Abiteboul, Inria et ENS, Paris

Le monde numérique a vraiment besoin d’être inclusif à plusieurs titres (voir https://cnnumerique.fr/inclusion toujours d’actualité), y compris de permettre à chacune et chacun de s’y sentir bien, avec fraternité, à égalité, en liberté.

L’équipe de binaire


Chiffre, sécurité et liberté

Serge Abiteboul et Pierre Paradinas interviewent le Général Desvignes, spécialiste de sécurité et ancien Directeur du Service Central de la Sécurité des Systèmes d’Information (SCSSI) devenu aujourd’hui l’Agence Nationale de la Sécurité des Systèmes d’Information (ANSSI) et aussi appelé à l’époque les services du Chiffre. La sécurité informatique est un sujet de plus en plus essentiel quand l’informatique prend de plus en plus de place dans nos vies. Nous abordons ici avec Jean-Louis Desvignes un aspect essentiel, celui de la libération du chiffrement.

Quand des voix au plus haut niveau parlent d’interdire le chiffrement, il nous parait important d’ouvrir la question. Les propos relayés ici ne reflètent pas nécessairement l’opinion de l’équipe du blog Binaire. Parlons-en !

Photo : La Myosotis, Archives de l’ARCSI

B : Jean-Louis, comment devient-on Directeur du Chiffre ?

JLD : j’étais simple lieutenant dans les transmissions et le chef de corps m’a trouvé en train de changer un fusible d’une machine à chiffrer en panne (c’était une Myosotis). Personne ne s’intéressait au chiffre, en tous cas pas moi. Je me suis retrouvé dans un stage de chiffrement et j’ai aimé le coté matheux. Plus tard, j’ai découvert l’histoire du chiffre pendant la première guerre mondiale. Tout le monde a entendu parler de Turing mais beaucoup moins de Painvin. Et je me suis passionné pour le sujet.

Le lieutenant Georges Painvin

Photo : Annales des Mines

Pendant la guerre de 14-18, la maîtrise cryptographique de l’armée française l’aide considérablement à décrypter les messages ennemis, lui procurant un avantage très important sur l’ennemi. En 1914, le premier décryptage est fait par le commandant Louis Thévenin qui donne aux alliés un avantage important dès le début du conflit. Le décryptage d’un radio télégramme allemand par le lieutenant Georges Painvin s’est ainsi révélé déterminant pour contrer une des dernières offensives allemandes. Évoquant ce lieutenant, Georges Clemenceau aurait prétendu qu’à lui tout seul il valait un corps d’armée. [Wikipedia 2017]

J’ai fait une école d’ingénieur, Supelec et je me suis retrouvé responsable de réseau de communications. Je me suis pris au jeu de protéger le réseau. C’est comme cela que je suis arrivé au chiffre. Je suis devenu chef de projet pour réaliser le réseau de transmissions de données de l’armée de terre. J’ai alors mis la sécurité du réseau au centre de mes préoccupations allant jusqu’à imposer le chiffrement de tous les échanges entre le centre de gestion et les commutateurs. J’avais au demeurant choisi le protocole X25 utilisé par le réseau public Transpac ; à l’époque, c’était le réseau le plus développé au niveau mondial et il me paraissait plus sérieux que celui du balbutiant Internet dont les paquets se perdaient ou tournaient en rond.

Internet n’est ni fait ni à faire

B : Tu as vu les débuts d’Internet.

JLD : Effectivement. J’ai d’ailleurs hésité à le prendre pour modèle car il était censé résister à la destruction de nœuds suite à un bombardement nucléaire ! J’ai considéré qu’il valait mieux se prémunir d’un dysfonctionnement probable que d’une vitrification non certaine…   15 à 20 ans après mon choix pour X25, l’IP l’a malheureusement emporté, et  c’est la source des nombreux déboires aujourd’hui.  Il nous faut vivre avec, bien qu’il soit structurellement peu sécurisé.

Un autre point me semble important. Le réseau tactique Rita, en matière de sécurité, fut pour moi un exemple à éviter. Il avait été conçu comme une forteresse, un réseau fermé.  D’abord le chiffrement d’artère retenu laissait en clair les communications dans les nœuds et dans les extensions. Et puis fatalement il fallut l’ouvrir pour accéder à d’autres ressources et alors : plus de protection ! Je reste  convaincu  qu’il vaut mieux concevoir des réseaux ouverts d’emblée, que l’on sécurise de différentes façons, que des réseaux fermés vulnérables dès lors que vous êtes arrivés à les pénétrer.

B : Que peut-on faire maintenant avec Internet ?

JLD : On ne peut évidemment pas faire table rase de l’existant. On peut par exemple ajouter des couches de protection pour obtenir une sécurité de bout en bout. J’ai d’ailleurs à l’époque milité pour des systèmes de chiffrement  protégeant les « tuyaux » en créant ces fameux tunnels à travers ce dangereux no mans land. Mais pour ce qui est d’une refonte radicale ce n’est pas pour demain.

Photo : J-L Desvignes, La une de Le Monde Informatique

B : Nous arrivons à la question principale que nous voulions te poser. Tu penses qu’il ne fallait pas libérer le chiffrement comme Lionel Jospin l’a fait en 1999 ?

JLD : Tel que cela a été fait, je pense que c’était une grave erreur. Nous avons bradé un avantage que beaucoup d’autres États nous enviaient : une législation qui avait pris en compte très tôt que le recours aux techniques cryptographiques allait poser un problème de sécurité intérieure et non plus seulement un problème de sécurité extérieure traité par des services de renseignement richement dotés et équipés pour y faire face. Nous étions dans cette situation confortable où nous pouvions nous permettre d’assouplir notre position pour répondre au besoin de protection lié au développement des NTIC tandis que les autres pays devaient au contraire durcir la leur. Or notre police s’était mise en tête de maintenir le régime de quasi prohibition du chiffre utilisant déjà le funeste  slogan : « ceux qui n’ont rien à cacher n’ont pas besoin de chiffrer ! »

Pour tenter de concilier les deux objectifs éternellement contradictoires – liberté versus sécurité – j’ai proposé d’étudier la mise en œuvre du concept du « séquestre des clefs » parfois appelé des « tierces parties de confiance ». Une bataille de décrets s’en suivit, avec des manœuvres visant à limiter la viabilité  des tiers de confiance qui ne réussirent pas à décourager les candidats. Cette nouvelle législation française était examinée avec la plus grande attention  par la communauté internationale : l’OCDE, l’UE, nos Alliés mais aussi des pays asiatiques et même la Russie…

Hélas! Un changement politique vint mettre un terme à cette tentative d’instituer un contrôle démocratique et transparent des moyens cryptologiques. La libéralisation « du 128  bits » en janvier 1999 tua dans l’œuf l’initiative et conduisit naturellement les services de renseignement à recourir à la connivence avec les firmes informatiques.  Le patron de la NSA vit certainement dans ce renoncement français le prétexte qu’il attendait pour lancer sa maison dans la plus incroyable opération d’espionnage technologique qui sera révélée par Snowden. Le gouvernement français qui croyait par son audace « booster » son industrie cryptologique ne fit que favoriser l’industrie et l’édition de logiciels américaines.

On a libéré le chiffrement. Avec notamment la montée du terrorisme, les voix se sont élevées pour dire alors que les terroristes utilisaient le chiffrement. Ils le faisaient probablement. Comme tout le monde peut le faire… Avec le terrorisme, l’opinion publique a changé : la sécurité est devenue plus importante que la liberté. Alors, aujourd’hui, le climat sécuritaire ambiant amène encore certains responsables politiques notamment en France, à prôner le recours à ces logiciels affaiblis voire l’interdiction du chiffrement comme au bon vieux temps où le chiffre était considéré comme une arme de guerre de deuxième catégorie.

B : Aujourd’hui la plupart des outils avec du chiffrement que nous utilisons sont américains. N’est-ce pas ?

JLD : oui et ils contiennent probablement des « backdoors (*) » qui sont au service du gouvernement américain, tout comme les matériels chinois ont probablement des « backdoors » au service de leur gouvernement. On ne peut plus faire confiance ni à l’un ni à l’autre. Tout cela était terriblement prévisible. Si on autorise le chiffrement pour tous, les états qui le peuvent vont essayer de garder une longueur d’avance en installant des « backdoors ». Le système encourage les arrangements occultes entre industriels et services de renseignement. Au siècle dernier, les « backdoors » existaient. Elles sont passées au mode industriel.

B : Les systèmes d’information en France sont-ils bien sécurisés ?

JLD : on a en gros deux types de méthodes. Les méthodes préventives qui essaient d’empêcher les attaques, et comme on sait qu’on en laissera sans doute quand même passer, des méthodes curatives qui permettent de réagir quand on est attaqué, de gérer la crise. On est peut-être allé trop loin dans le curatif. Il faut plus de prévention.

Quand on conçoit des systèmes informatiques, on se doit de les sécuriser. Évidemment, le même niveau de sécurité n’est pas nécessaire pour un produit grand public et un logiciel utilisé, par exemple, par la défense nationale. On peut obtenir des « certificats » de sécurité. (Voir encadré : La certification de produit informatique.) Malheureusement, on a baissé les exigences sur ces certificats.

Avec la carte à puce, la France est devenue un des champions de la vérification de la sécurité. Au début, par exemple dans des cartes comme Moneo, le niveau de sécurité était assez bas. De vraies compétences se sont développées pour aboutir à d’excellents laboratoires d’évaluation agréés par l’ANSSI (+).

Serge Abiteboul et Pierre Paradinas

(*) Une backdoor (littéralement porte de derrière) d’un logiciel, ou « porte dérobée » en français, est une partie d’un logiciel, un trou de sécurité, qui n’est pas connue de son utilisateur et qui permet à d’autres de surveiller secrètement ce que fait le programme, voire d’avoir accès à ses données.

(+) L’ « Agence nationale de la sécurité des systèmes d’information » (ou ANSSI) est un service français rattaché au Secrétaire général de la défense et de la sécurité nationale, qui assiste le Premier ministre en matière de défense et de sécurité nationale. Cette agence, en plus de la sécurité des systèmes d’informations de l’État, a une mission de conseil et de soutien aux administrations et aux opérateurs d’importance vitale, ainsi que celle de contribuer à la sécurité de la société de l’information, notamment en participant à la recherche et au développement des technologies de sécurité et à leur promotion.

La certification de produit informatique

La certification permet d’attester qu’un produit atteint un niveau de sécurité parce qu’il peut résister à un niveau d’attaque donné. Cette certification repose sur la vérification de la conformité du produit et sur des tests d’intrusion.

L’ANSSI propose deux types de certifications.

Le premier appelé Certification de Sécurité de Premier niveau est réalisé à partir de tests d’intrusion, il requiert un investissement limité en terme de coût du développement du produit.

Le second appelé Critères Communs permet de certifier un produit selon 7 sept niveaux d’assurance de sécurité (Evaluation Assurance Level). Le niveau 1 ou EAL1 correspond à un niveau d’attaque faible. À partir du niveau 4-5, la sécurité du développement lui même est pris en compte, enfin au niveau EAL7, niveau d’attaque le plus élevé, le développement doit faire appel à des techniques formelles pour réaliser le produit.

Les évaluations des produits sont faites vis-à-vis d’un objectif de sécurité. Les évaluations sont réalisées par des CESTI qui sont des entreprises indépendantes des développeurs des produits et des commanditaires des évaluations. Ces évaluations conduisent à l’émission d’un certificat.

La reconnaissance internationale de ces certificats est à l’origine des Critères Communs, dont l’objectif est de structurer cette reconnaissance croisée à travers un accord de entre 25 pays. Cet accord permet la reconnaissance jusqu’au niveau 2. Il y a un accord plus restreint en terme de nombre de pays qui reconnait des certificats jusqu’à EAL4, et même pour certains domaines techniques particuliers jusqu’à EAL7.

L’intérêt de ces reconnaissances mutuelles, si vous êtes un industriel est que vous pouvez faire un produit dans un pays et obtenir un certificat qui sera valide dans plusieurs pays sans devoir refaire d’évaluations. De même pour un client d’un produit vous pouvez avoir une meilleure confiance dans le produit que vous achetez.

Photo : J-L Desvignes

Rendons à César ce qui lui appartient

Des codes pas si secrets … par Marie Duflot-Kremer 4’07

Parmi les méthodes de chiffrement pour transmettre un message secret, il en existe une qui date de Jules César ! Elle est assez simple à mettre en œuvre… mais également à attaquer par cryptanalyse, bien que certaines armées l’utilisaient encore jusqu’au 19ème siècle. Mais comment craquer ce code ? Trêve de suspense…

En savoir plus :

Class´Code est une formation complète pour initier les jeunes à la pensée informatique.  Mais, vous voulez peut-être juste avoir un aperçu de cette formation ? Simplement  connaître l’histoire de cette histoire ? Installer vous confortablement. En quelques minutes, ces vidéos vont vous donner quelques grains de culture scientifique et technique sur ces sujets.

Note: les vidéos des cours d’OpenClassrooms comme toutes les ressources de Class´Code sont librement accessibles, sous licence Creative-Commons, comme on le voit ici.

Jouez avec les neurones de la machine

Le canard artificiel de Vaucanson (1738), qui « boit, mange, cancane, barbote et digère comme un vrai canard »

« L’intelligence artificielle est la science de faire faire à des machines des choses qui demanderaient de l’intelligence si elles étaient faites par des humains». Tout est dit par le fondateur de l’intelligence artificielleMarvin Minsky. Exit les fantasmes du genre* de celui d’une «servante-robot, qui sert [le] café [au lit] le matin ».  Et comme le mentionne Cédric Villani au lancement de sa mission de réflexion sur ces sujets, notre meilleure arme est «une grande qualité de formation» sur ce sujet qui est «l’affaire de [toutes et] tous». Soit. Et si on commençait, là, maintenant ? Ça vous dirait de soulever le capot de l’intelligence artificielle ? Thierry Viéville.

Un réseau de neurones est un mécanisme générique composé de petites unités (des pseudo-neurones) connectées les unes aux autres. Chaque unité fait une opération très simple : elle prend des valeurs en entrée, les combine très simplement (un simple calcul de moyenne avec des coefficients comme les notes du bac) et applique une transformation sur le résultat (par exemple ne garde que les valeurs positives). Les coefficients utilisés pour pondérer la moyenne sont les paramètres de cet algorithme. C’est la combinaison d’un très, très grand nombre de ces unités qui permet de réaliser des opérations très complexes. Un réseau de telles « neurones » s’obtient en accumulant plusieurs couches de telles unités. En entrée il y a les données que l’on veut traiter. Elles se transforment à travers toutes les couches et la dernière couche donne en sortie une prédiction sur ces données, par exemple détecter s’il y a un visage dans une image. Le réseau de neurone constitue ainsi une fonction paramétrée par ces nombreux coefficients (on parle de « poids ») et c’est le choix de ces poids qui définit le traitement effectué.

Chaque « neurone » mélange les entrées X de manière proportionnelle à ses poids W et rectifie le résultat pour donner la sortie y. C’est la combinaison de miriades de tels calculs élémentaires qui genère un système complexe. Issu de Interstices.

Sur l’interface web de TensorFlow, on constitue facilement un réseau d’une douzaine de neurones possédant chacun entre 3 et 10 paramètres. La sortie calculée dépend donc d’une centaines de paramètres en plus des deux coordonnées (x,y) du point d’entrée. Sur l’interface, chaque carré représente un neurone et la couleur du pixel de coordonnées (x,y) dans le carré représente la sortie du neurone quand on met (x,y) en entrée du réseau. Il y a un seul neurone en sortie, il est représenté avec un carré plus grand sur la droite du réseau. Les paramètres du réseau sont initialisés au départ avec des valeurs aléatoires.

Mais comment apprendre ces poids ? L’apprentissage supervisé consiste à fournir des exemples de données accompagnés de la solution à trouver, pour entrainer le réseau à ajuster ces poids comme il faut. Ici, il s’agit d’une série de points dans un carré avec pour chacun une couleur attendue (bleu ou orange), avec comme but de prédire la couleur du point à un endroit donné. C’est un algorithme classique d’ajustement progressif des poids (on parle de « descente de gradient ») qui permet de trouver les paramètres en question. Le bouton « play » en haut à gauche de l’interface permet de lancer cet algorithme, on voit alors la sortie du réseau de neurones évoluer au cours de l’ « apprentissage » : la couleur du fond du neurone de sortie tend à prendre la couleur des points d’entrainement qui sont dessinés par-dessus. Une autre partie du jeu de données est ensuite utilisée pour tester la qualité de la fonction obtenue par le réseau. Une courbe en haut à droite affiche le taux d’erreurs liées aux données utilisées pour apprendre (pour vérifier que les poids se sont bien ajustés) et le taux d’erreurs liées aux autres données de test (pour vérifier que ce qui a été appris se généralise bien à de nouvelles données). Des boutons sur la gauche permettent de régler la répartition des données entre le jeu d’apprentissage et celui de test et aussi  d’ajouter des erreurs aux données (les bruiter) pour voir si le mécanisme est robuste face à ces erreurs.

© Casterman

En pratique, on arrive à trouver des paramètres satisfaisants, mais il n’y a pas vraiment de cadre théorique pour formaliser tout cela, c’est affaire d’expérience : choisir le bon nombre de neurones, le bon nombre de couches de neurones, quels calculs préliminaires ajouter en entrée (par exemple multiplier les entrées pour augmenter les degrés de liberté permettant de faire le calcul). Ce genre de techniques permet d’obtenir des résultats impressionnants en pratique, comme en reconnaissance de la voix ou d’objets dans une image (voir les vidéos du cours de Yann Le Cun au Collège de France). Cependant, comprendre pourquoi (et comment) on obtient de si bons résultats reste une question scientifique encore assez ouverte. En attendant voulez-vous essayer une application réelle sur des données réelles ? C’est par ici https://www.clarifai.com/demo (il suffit de jouer avec les options).

A vous de tester votre petite cuisine neuronale ! Arriverez-vous à mettre les bonnes couleurs sur le jeu de données en spirale ?


Quelques exemples

Si on choisit de simplement classer deux populations, ici orange et bleue, qui sont déjà groupées en deux blocs facilement séparés par un ligne, alors c’est très facile : il suffit de trois neurones. En cliquant sur l’image on peut lancer la solution et observer l’ajustement des paramètres de chaque unités de calcul, ces pseudo neurones.
Les deux premiers neurones de la couche d’entrée calculent pour la position horizontale et verticale et le neurone de sortie combine ses informations pour faire une sortie oblique.
On parle de problème linéaire pour décrire un tel problème de classification dont la solution est une simple séparation par une surface plate.
Mais si les données sont complètement intermélées comme dans le cas de ces données en spirale alors il faut beaucoup plus de couches de calcul avec plus de neurones.
On voit alors comment au fil du calcul dans les couches de l’architecture, chaque neurone code pour un aspect de la forme à trouver, basique dans les couches basses, plus sophistiqué dans les couches plus hautes. Beaucoup de calculs pour une simple paire de spirales ! Mais ce qui est remarquable c’est que cette foule de calculs élémentaires a pu coder approximativement un objet non trivial, en s’adaptant aux données, sans avoir eu à donner des informations à priori sur ces formes spiralées.
Faut-il tous ces neurones pour résoudre ce problème de classification de données ? Pas forcément : lors d’un atelier lycéen où des jeunes expérimentaient ce logiciel à travers l’interface Web, en expérimentant numériquement les solution possibles, deux d’entre eux Akmal et Amandine ont obtenu une solution plus longue à obtenir et moins stable qu’une solution gourmande en nombre de neurones, mais qui marche plutôt bien.
Et vous avez vous une solution encore plus astucieuse à proposer ?

 


Thalita Firmo-Drumond à partir d’une proposition de Laurent Viennot éditée par Valérie François et publiée conjointement sur pixees.fr.

(*) On trouve hélas cette métaphore sexiste et anti-pédagogique au possible (sans aucune explicitation du propos qui serait au deuxième degré), en introduction du livre blanc sur l’intelligence artificielle produit par un institut de recherche de référence sur ces sujets.

En savoir plus :

 

Donnez moi des données ordonnées

L’histoire des bases de données, ou presque.. … par Marie Duflot-Kremer 5’25

Il a fallu attendre les années 1960 pour voir l’apparition des bases de données informatiques (et surtout des programmes qui permettaient de les gérer !) et même les années 1970 pour que les bases de données relationnelles, fournissent cet outil super puissant qui permet de gérer toutes nos données aujourd’hui…

En savoir plus :

Class´Code est une formation complète pour initier les jeunes à la pensée informatique.  Mais, vous voulez peut-être juste avoir un aperçu de cette formation ? Simplement  connaître l’histoire de cette histoire ? Installer vous confortablement. En quelques minutes, ces vidéos vont vous donner quelques grains de culture scientifique et technique sur ces sujets.

Note: les vidéos des cours d’OpenClassrooms comme toutes les ressources de Class´Code sont librement accessibles, sous licence Creative-Commons, comme on le voit ici.

Vision artificielle, Saison 1 : la reconnaissance visuelle

On reconnait automatiquement nos visages sur le Web, on comprend sans intervention humaine le contenu d’une image, on reconstruit une partie occultée d’une scène, on … Mais qui « on´´ ? Des algorithmes de vision artificielle. Et comment ça marche ? Nous avons posé la question à  Jean Ponce chercheur chez Inria et au Département d’informatique de l’ENS, et spécialiste de la reconnaissance de formes dans des photos et de la vidéo.  Il nous emmène à la découverte de ce demi-siècle d’histoire de la vision artificielle. Voici le 1er épisode. Thierry Viéville, Serge Abiteboul.

Vision et intelligences artificielles

© Inria / Photo Kaksonen

L’intelligence artificielle (IA) est un domaine de recherche interdisciplinaire, ancré dans la science informatique, mais avec des liens forts avec la robotique, les sciences cognitives et les mathématiques par exemple. Son but est de construire des machines capables de reproduire des activités  dites « intelligentes », telles que le raisonnement logique ou la compréhension de l’écriture et de la parole.

Dans ce cadre, la vision artificielle a pour objectif de doter ces machines d’un sens de la vue, en inventant des algorithmes et des logiciels capables d’interpréter le contenu de photographies ou de vidéos numériques. C’est une composante fondamentale de l’IA : comme la plupart des animaux, un robot (de l’aspirateur automatique à l’androïde de la science-fiction) interagira plus facilement avec les objets inertes et les agents actifs qui l’entourent s’il peut les voir. La vision artificielle est également un des vrais succès de l’IA. Par exemple, quand je prends une photo de mon neveu et de ma nièce avec mon téléphone portable, le logiciel de celui-ci calcule la position de leurs visages (affichée sous la forme de petits carrés par le téléphone), permettant d’en obtenir une image nette. La vision artificielle est aussi un élément clé des effets spéciaux numériques qui font (presque) des mondes imaginaires du cinéma moderne et de ses habitants une réalité. De même, c’est une technologie incontournable pour les systèmes d’aide à la conduite déjà disponibles aujourd’hui, comme pour les voitures autonomes de demain.

On attribue en général les débuts de l’intelligence artificielle au fameux « Workshop de Darmouth » organisé par McCarthy, Minsky, Rochester et Shannon en 1956. La vision artificielle a vu le jour un peu plus tard, avec la thèse de Larry Roberts au Massachussetts Institute of Technology (MIT) en 1963. Cet article est le premier d’une série racontant une partie de cette histoire. Il s’appuie sur une conférence que j’ai donnée aux journées scientifiques d’Inria en juin 2017, à l’occasion des 50 ans de l’institut national de recherche français consacré au numérique sous toutes ses formes, et dont les scientifiques sont depuis le début des années 80 des acteurs incontournables de la vision artificielle sur la scène mondiale.

Épisode 1 : La reconnaissance visuelle

Considérons par exemple cette photographie prise par mes collègues de l’Université de Berkeley et du MIT, Alyosha Efros et Antonio Torralba.

Le but d’un logiciel de vision artificielle est de construire une description du contenu de l’image, qui pourrait être ici une liste de caractéristiques générales, « Paris, scène d’extérieur, café », d’objets ou de personnes spécifiques,« ma montre, Donald Trump », même si je ne pense pas que l’un ou l’autre soit présent dans cette image, après tout un logiciel de vision artificielle, ou plus généralement d’IA, peut faire des erreurs, ou de types d’objets plus généraux « arbres, chaises, personnes ». A ces descriptions « symboliques » d’une image peut se substituer un modèle « physique » stockant par exemple la distance entre le point de la scène associé à chaque pixel et la personne qui a pris la photo, ou encore la « véritable » couleur de chaque objet. (Tout capteur, y compris l’œil humain, mélange allègrement celle-ci avec la couleur des sources lumineuses, soleil, ciel,  ou lampes diverses ; le cerveau humain a la capacité remarquable d’éliminer en grande partie cet effet, mais ceci est une autre histoire).

Je me concentrerai dans cette série d’articles sur le côté « symbolique » de la vision artificielle, connu sous le nom général de reconnaissance visuelle.

Il vous paraît sans doute évident, cher lecteur et chère lectrice, que notre photo montre une scène d’extérieur, un bar en terrasse, avec des gens prenant leur café, des arbres, des chaises, etc. Mais  vous n’êtes pas une machine. Reconnaître un objet, c’est entre autres faire abstraction de nombreuses variables : deux images de la même personne prises de face ou de profil, sont, pixel par pixel, très différentes. De même, une moitié d’un visage photographié en plein soleil est souvent beaucoup plus sombre que l’autre. La partie du visage dans l’ombre change de surcroît avec la position du soleil. Pire,  je « vois » bien (et vous aussi, j’imagine) qu’une chaise, un banc, un fauteuil ou un tabouret sont des objets sur lesquels on peut s’asseoir, mais leurs images, en tant que motifs de couleurs sur le canevas d’une photographie ou d’une peinture, sont encore une fois très différentes. Il est donc naturel que la plupart des recherches en reconnaissance visuelle se concentrent aujourd’hui sur les difficultés liées à la variabilité intrinsèque de l’apparence du contenu d’une image.

Il faut aussi garder en tête des difficultés encore plus grandes : la première distingue la vision artificielle de l’interprétation automatique du langage écrit et de la parole : même si on peut en général décrire une photographie en termes familiers, nous n’avons aujourd’hui aucune idée de ce que pourrait être un « vocabulaire visuel » naturel, et ne disposons pas dans ce contexte d’alphabet, mots, phrases, syntaxe ou sémantique comparables à ceux établis par les linguistes dans le domaine du langage écrit ou parlé. Comme l’écrivait beaucoup mieux que moi Léonard de Vinci dans son traité sur la perspective, où il rangeait la peinture au dessus de la poésie, un texte n’admet (essentiellement, pas  littéralement évidemment) qu’une seule interprétation, alors qu’une image en admet une infinité, car on peut y pénétrer à de multiples niveaux. Le cendrier au premier plan de notre photo, qui n’occupe que quelques pixels, est-il moins important que les arbres ? Ces problèmes de vocabulaire et de granularité restent aujourd’hui des défis majeurs, encore peu abordés par les chercheurs en vision artificielle. Les questions liées à la variabilité de l’apparence se sont déjà montrées assez difficiles pour nous occuper depuis presque 50 ans. Nous suivrons dans le prochain article plusieurs pistes pour y faire face.

 Jean Ponce, Inria et École normale supérieure, CNRS, PSL Research University

Référence :

The Book
Computer Vision, a modern approach

Comment distinguer l’utile et le futile ?

L’histoire de Claude Shanon, ou presque… … par Marie Duflot-Kremer 6’37

Est-ce que l’information est une quantité qui se mesure ?  C’est au milieu du XXème siècle que Claude Shannon se rend compte que la première étape est de déterminer ce qui est utile dans les données que l’on stocke, permettant ainsi de mesurer précisément combien d’information est contenue dans un message…

En savoir plus :

Class´Code est une formation complète pour initier les jeunes à la pensée informatique.  Mais, vous voulez peut-être juste avoir un aperçu de cette formation ? Simplement  connaître l’histoire de cette histoire ? Installer vous confortablement. En quelques minutes, ces vidéos vont vous donner quelques grains de culture scientifique et technique sur ces sujets.

Note: les vidéos des cours d’OpenClassrooms comme toutes les ressources de Class´Code sont librement accessibles, sous licence Creative-Commons, comme on le voit ici.

Adieu Maurice

Le père de l’informatique française, Maurice Nivat, vient de nous quitter et nous trouvons progessivement les mots pour raconter Maurice, pour partager tout ce qu’il a pu nous apporter. C’est ici au tour de Serge Abiteboul de témoigner.

Deux géants de l’informatique : Maurice Nivat (à droite) et David Harel, lors d’un interview de David pour le blog Binaire, CC S. Abiteboul

J’étais doctorant aux Etats-Unis quand j’ai rencontré Maurice Nivat pour la première fois. C’était à Santa Barbara, en 1979 je crois, pour un séminaire sur la théorie des langages, alors la branche peut-être la plus active de l’informatique théorique. Il y avait quelque chose de surréaliste à croiser dans les couloirs des Euler,  des Newton, des Poincaré des temps présents : Jeff Ullman, Sheila Greibach et… Maurice Nivat, les pionniers de la théorie des langages et des automates. Assis au fond de la salle, ses questions pointues pouvaient terroriser certains conférenciers. Fumer une cigarette en discutant avec lui dans un des salons de l’hôtel a été pour moi un grand moment.

Maurice a participé à la construction de la communauté de recherche européenne en informatique. Il est le père du domaine en France, en particulier, pour ce qui est de la théorie. On a parfois reproché à l’informatique théorique française d’avoir été trop tournée sur elle même, sur ses sujets phares. Ce n’est pas la faute de Maurice. Quand je suis rentré des US dans les années 80, je travaillais sur la théorie des bases de données. Le sujet l’intéressait et nous avons organisé avec lui et Georges Gardarin un séminaire essentiellement pour attirer certains de ses anciens étudiants vers ce nouveau domaine. Il ne se contentait pas de labourer son territoire de confort.

J’ai plus tard côtoyé le Maurice « militant de l’enseignement de l’informatique ». Je suis tombé sur le sujet par hasard, parce qu’il fallait un académicien dans un comité. Maurice m’a rapidement contaminé – il savait être terriblement convaincant. Nous avons travaillé d’arrache-pied avec d’autres comme Gilles Dowek et Gérard Berry, sur des textes, dans des groupes comme le K12. Que de discussions acharnées, de moments de découragement, d’engueulades parfois, et le bonheur de voir émerger une pensée collective, de voir ces idées progresser dans la société.

Plus récemment, j’ai la chance de pouvoir dire qu’il était devenu un ami. Je n’oublierai jamais par exemple cette discussion devant une bière, dans un café près de la Gare du Nord, où nous avons parlé de tout, de son travail associatif pour la sauvegarde du patrimoine rural, de la vie, de la religion… Et comment oublier les moments dans sa maison d’Attainville, parfois avec son épouse, Paule, autour de thés ? La maladie commençait son travail de sape.

Ce que je retiens surtout de Maurice : l’intensité dans la recherche, dans la vie, dans son humanisme intransigeant, en tout.

Adieu Maurice. Tu vas manquer.

Serge Abiteboul, initialement paru sur le slow blog de Serge.

Maurice Nivat : une vision à long terme de la recherche en informatique

Sur Interstices, la revue scientifique sur les sciences du numérique, Maurice Nivat, ce père de l’informatique théorique qui vient de nous quitter, partageait il y a presque dix ans son émerveillement pour la révolution conceptuelle à laquelle il a grandement participé. Un grand merci de nous permettre de reprendre ce billet ici. Thierry Viéville.

En 1970, Maurice Nivat, jeune mathématicien, et Marcel-Paul Schützenberger, son père spirituel, nommé depuis peu au directoire de l’IRIA (ancêtre de l’INRIA) avec Henri Boucher, André Lichnerowicz et Jacques-Louis Lions, préparent un événement pour le moins inédit : une conférence de presse pour annoncer la naissance officielle de ce qu’ils baptisent « l’informatique théorique » ! « Je ne sais pas ce qui nous a pris ce jour-là, reconnaît Maurice Nivat. Toujours est-il que près de 40 ans plus tard, la discipline existe bel et bien et que le nombre de chercheurs concerné a été multiplié par cinquante si ce n’est cent. »

De même, les trois grands chapitres qu’ils énoncent à l’époque, devant une quinzaine de journalistes spécialisés, ont perduré : la théorie des automates et des langages, l’algorithmique et, la théorie de la programmation. Maurice Nivat rappelle ce passé avec une pointe d’étonnement et d’amusement rétrospectif : « On ne s’est finalement pas trompés ». Il faut dire qu’ils n’étaient pas tout à fait novices : leur passion commune pour cette discipline émergente n’était pas nouvelle : « Il nous a fallu environ dix ans, entre 1960 et 1970, pour comprendre ce qu’étaient les langages de programmation, apprendre à les compiler, les traduire, rappelle Maurice Nivat. Cela peut paraître long mais il faut se replacer dans le contexte de l’époque, des machines à calculer programmées en langage machine – on ne parlait pas encore d’ordinateurs mais de machines (ou « bécanes »), ni d’informatique mais de calcul automatique – , des cartes perforées, où toute erreur de poinçonnage se payait au prix de la vérification de la totalité des cartes. »

Pionnier de la théorie des automates

C’est à l’Institut Blaise Pascal (le centre de calcul du CNRS qui avait très récemment acquis son premier ordinateur pour remplacer les anciennes machines à manivelle) que dirigeait alors René De Possel, que Maurice Nivat découvre l’informatique, en 1959, à un moment où la discipline n’existait pas encore (le mot apparaît vers le milieu des années 1960). Les chercheurs tentent alors de commander, de « programmer » la toute nouvelle machine de l’Institut : une Bull Gamma AET, une incroyable machine, parmi les premières en France, installée dans la cave, « qui devient rapidement notre temple de la mathématique ». Normalien, théoricien dans l’âme, Maurice Nivat est d’emblée attiré par les langages de programmation de ces machines à calculer, des langages « auxquels pas grand monde ne comprenait grand chose ». On en compte trois en gestation à l’époque : Fortran (le langage des machines d’IBM), Algol 60 développé par un groupe international et Lisp, le langage conçu par John McCarthy.

« Une seule personne était vraiment capable de faire marcher cette machine : Louis Nolin ! », aime t-il à rappeler, évoquant ainsi son autre maître à penser. Logicien autodidacte, Louis Nolin a commencé par une formation en philosophie avant de s’intéresser à l’informatique. Il a très tôt imaginé qu’on pouvait raisonner sur les programmes comme sur n’importe quel objet mathématique, qu’il devait y avoir une théorie à construire, sur des bases mathématiques, pour faire faire des calculs à ces machines.

Pourtant, rappelle t-il, « le décalage entre les espoirs que faisait naître l’informatique et les possibilités de ces machines était énorme. On pensait pouvoir tout calculer… mais il fallait pas moins d’une seconde pour aller chercher une seule information sur le tambour de la machine, qui comptait 64 registres en tout et pour tout ! C’était tout simplement un exploit d’inverser une matrice de 15 par 15, un problème mathématique relativement simple que l’on résout aujourd’hui par ordinateur sur des matrices de 450 000 x 450 000 ! ». Ainsi, avec Louis Nolin, il lui a fallu presque deux ans pour concevoir un compilateur d’environ 3 000 lignes de code.

Une révolution conceptuelle

Marcel-Paul Schützenberger lors du colloque ICALP en 1972.
© INRIA

Maurice Nivat rencontre Marcel-Paul Schützenberger, « Schütz » comme il dit, en 1963 : une révélation. Ce mathématicien autodidacte, psychiatre et médecin de formation, « s’était mis aux mathématiques pendant une de ses campagnes de vaccination pour l’OMS (Organisation mondiale de la santé) en Indonésie… parce qu’il s’ennuyait ». Libertaire, anarchiste, élitiste, maniant avec plaisir le paradoxe, intéressé par tous les problèmes scientifiques, curieux de tout, c’était aussi une des figures de Saint-Germain des Prés aux côtés de Juliette Greco et Boris Vian, qui l’a décrit sous les traits de « l’abominable Docteur Schütz » dans un de ses livres. C’était surtout un génie mathématique.

Sous sa direction, il prépare sa thèse d’Etat en mathématiques, présentée en 1967, sur « les transductions des langages de Chomsky », des objets mathématiques entièrement développés par des informaticiens. Une première ! « À l’époque, considérer l’informatique comme une discipline mathématique était une véritable révolution conceptuelle, ajoute t-il. La Faculté des sciences de Paris ne comptait pas plus de 15 à 20 professeurs de mathématiques, c’était un cercle fermé, très élitiste et Schütz était très tendu quand j’ai présenté ma thèse, quelque peu exotique mais finalement bien acceptée. »

Il se souvient « d’une période miraculeuse : on rencontrait des gens de toute espèce. Toutes les opinions étaient bonnes, équiprobables, c’était une période passionnante où tout était à faire, notre champ d’action était pratiquement illimité. Pas besoin de réflexion prospective. » Pendant ces années de gestation de l’informatique, Maurice Nivat met aussi sur pied les premiers programmes d’enseignement de l’informatique dans des universités françaises, à Grenoble et Rennes où il est chargé de conférences pendant sa thèse : « on écrivait les programmes de licence sur un coin de table, dans un bar ! Il m’arrivait d’enseigner le mercredi ce que j’avais appris le mardi soir ! »

Des langages dotés d’une sémantique

Cet enthousiasme est encore accru lorsqu’en septembre 1969, il découvre la « théorie de la programmation », en participant à une réunion à Colchester (Grande-Bretagne) qui réunit les fondateurs de la discipline, Dana Scott, Robin Milner, Christopher Strachey, Peter Landin, David Park… Il découvre que les programmes eux-mêmes, ces objets étranges sans véritable statut, peuvent être considérés comme des objets mathématiques, susceptibles de théorèmes. Ces théories prendront beaucoup d’importance par la suite pour la vérification de programmes, pour la production et la manipulation de logiciels de plus en plus gros et complexes.

Convaincu de l’importance de cette voie de recherche, il n’hésite pas, quelques mois plus tard, en 1970, à placer la théorie de la programmation comme un des trois chapitres fondamentaux de l’informatique théorique, aux côtés de la théorie des automates et des langages sur lesquels il travaille depuis dix ans et l’algorithmique, qui s’est finalement assez peu développé en France bien que les problèmes qu’elle soulève soient innombrables, comme les problèmes dits NP-durs. Aujourd’hui encore, ce professeur émérite à l’Université Denis-Diderot (Paris VII) milite pour sensibiliser les théoriciens aux applications et réciproquement : un débat qui battait son plein dans « ce fabuleux lieu de création qu’était le bâtiment 8 » partagé avec Gérard Berry, Gérard Huet, Philippe Flajolet, Gilles Kahn, Jean Vuillemin, Jean-Marie Cadiou, Jean-Jacques Lévy, Bruno Courcelle, entre l’école française très théoricienne des langages formels, parfois sectaire autour de Schützenberger et des chercheurs inspirés du modèle américain de la programmation.

Maurice Nivat lors du colloque ICALP, ici avec Maurice Gross.
© INRIA

L’émulation s’étend à l’échelle européenne quand, avec Marcel-Paul Schützenberger, ils créent l’Association européenne d’informatique théorique (EATCS European Association for Theoretical Computer Science), dont le premier colloque baptisé ICALP (International Colloquium on Automata, Languages and Programming) a lieu en 1972 à l’IRIA. Les grands noms de la discipline sont au rendez-vous : Michael Rabin, Michael Paterson, Dana Scott, Albert Meyer, Samuel Eilenberg, Corrado Boehm. L’EATCS compte aujourd’hui 2 000 personnes. En 1975, Maurice Nivat lance aussi une revue scientifique, qui fait toujours référence : TCS (Theoretical Computer Science), dont il est rédacteur en chef pendant 25 ans. La revue a publié pas moins de 100 000 pages en 25 ans.

Le regard du chercheur sur l’informatique

Loin de rester cantonné dans le bâtiment 8 et son monde aussi ouvert soit-il de chercheurs et d’étudiants en langages algébriques, en sémantique, en parallélisme, Maurice Nivat accepte en 1982 la lourde tache de réfléchir pour les ministères de l’éducation nationale et de la recherche, à la filière électronique. À la suite de son rapport (Savoir et savoir-faire en informatique), il lance une dizaine de « programmes de recherche coordonnés » financés par le programme mobilisateur de la filière électronique qui réunit chercheurs et industriels, dont il préside le conseil scientifique de 1982 à 1992. Intelligence artificielle, architecture machine, parallélisme, programmation… sont autant de sujets qui ont pu bénéficier de ces fonds : « cela a joué un grand rôle dans la recherche en informatique en France » reconnaît-il.

Pourtant son regard sur l’état actuel de la science informatique est amer : « On nous commente avec emphase les succès d’Ariane ou du TGV… mais les princes qui nous gouvernent ont abandonné l’informatique, pourtant clé de ces succès. Je ne comprends toujours pas pourquoi. Aux États-Unis, l’informatique est l’enjeu du moment, le bouillonnement d’idées y est relayé, financé par les agences fédérales, par les banques… Cette émulation n’existe pas en France : le logiciel n’est pas pris au sérieux, les financements ne sont pas octroyés au bon moment, on finance la création de start-up prometteuses mais ensuite, on ne leur donne pas les moyens de leur développement. » « Les chercheurs en informatique font les frais de l’absence de champ d’application de leurs recherches en France et en Europe, toutes deux dénuées d’industrie informatique, ajoute t-il. C’était criant, en octobre 2007, lors de la première demi-journée consacrée à l’informatique à l’Académie des sciences : nous y avons entendu des exposés brillants mais tellement éloignés de l’informatique réelle, de ce que font les machines. » Selon lui, une révolution totale est nécessaire. La priorité est de décider l’éducation nationale à prévoir un enseignement informatique dans les collèges et les lycées, que l’informatique soit enfin considérée, en France, comme une discipline à part entière. Construire l’avenir suppose de former les jeunes. C’est seulement à ce prix que l’informatique fondamentale restera inventive, ouverte sur les autres disciplines, que ce soit la biologie, la linguistique… et toutes sortes d’applications.

Contrepoint

Maurice Nivat a contribué à la formation de nombreux acteurs de la recherche en informatique. L’un d’entre eux, Max Dauchet, Directeur du centre de recherche INRIA Lille – Nord Europe, nous apporte son témoignage :
« Maurice Nivat a été mon maître, comme il l’a été pour nombre d’entre nous, tant par sa science que par sa personnalité. Et il demeure mon maître. Ses intuitions sont toujours vivantes dans mon esprit – ses indignations aussi. Dans un monde informatique naissant et hésitant, il fut pour nous un repère, tant sur le plan de la science que de son rôle dans la société. Et il le demeure. Comme beaucoup de précurseurs, Maurice n’a jamais été vraiment à la mode. Avoir raison trop tôt est un combat difficile, d’où un certain pessimisme – qui n’a jamais altéré sa combativité. De ce fait, Maurice sous-estime l’influence déterminante qu’il a eue sur la recherche française et européenne en informatique. Ceci mériterait un travail d’érudition. Si l’on mettait bout à bout le devenir de tous ceux et celles qu’il a formés et marqués à vie, l’impact de ses initiatives (EATC, TCS, ICALP, les PRC…), on mesurerait sans doute mieux tout ce que la société lui doit. Merci Maurice. »

  Isabelle Bellin Version originale : https://interstices.info/maurice-nivat-une-vision-a-long-terme-de-la-recherche-en-informatique, publié le 17/03/2008

Qui a inventé la logique avec des 0 et des 1 ?

L’histoire de Georges Boole, ou presque… par Marie Duflot-Kremer 4’46

D’où vient cette idée de tout coder avec des 0 et des 1 ? Qui fait que toutes les informations humaines se mémorisent, transmettent, traitent de manière numérique ? Un certain George Boole, au milieu du XIXème siècle, a eu l’idée d’utiliser deux valeurs pour rendre plus formel le raisonnement logique…

En savoir plus :

Class´Code est une formation complète pour initier les jeunes à la pensée informatique.  Mais, vous voulez peut-être juste avoir un aperçu de cette formation ? Simplement  connaître l’histoire de cette histoire ? Installer vous confortablement. En quelques minutes, ces vidéos vont vous donner quelques grains de culture scientifique et technique sur ces sujets.

Note: les vidéos des cours d’OpenClassrooms comme toutes les ressources de Class´Code sont librement accessibles, sous licence Creative-Commons, comme on le voit ici.