Butinage juin 2018
Le mois de juin, c'est le mois de la sortie des tendances internet ([EN], attention, c'est long et fouillé).
Mais la vidéo du mois, c'est probablement la définition de la "pile logicielle 2.0" ([EN]), formalisant le bouleversement introduit par le machine learning : puisque les algorithmes sont aujourd'hui quasiment automatisés, "développer" revient désormais à libeller des données pour permettre ensuite leur utilisation par des algorithmes supervisés.
Machine Learning
Veille
Les rapprochements entre réseaux de neurones et comportements humains sont de plus en plus fréquents et sont même aujourd'hui un axe de recherche pour améliorer les réseaux. On trouve par exemple un très bon article sur une explication des réseaux de neurones convolutifs en se basant sur le système visuel humain ([EN]) :
On trouve aussi des tentatives de combiner des modèles pour mutualiser leurs avantages, comme ici avec le Random Multimodel Deep Learning ([EN]) :
Et on progresse également beaucoup sur la visualisation du fonctionnement des réseaux de neurones :
Realtime Interactive Visualization of Convolutional Neural Networks in Unity from Stefan Sietzen.
Pour faciliter l'inspiration et la réutilisation de ce qui existe, ModelZoo, un aggrégateur de modèles, est désormais en ligne. Polyaxon, une plateforme opensource pour lancer le déploiement de modèles a également fait son apparition.
Passer des tests du modèle à la production est d'ailleurs toujours une étape cruciale, et les retours d'expérience ([EN]) sur le sujets sont appréciés (ou "pourquoi le développement d'un modèle n'est pas comme du développement logiciel").
Enfin, un article fait le point sur les chabots ([EN]), pourquoi ça n'a pas explosé comme prévu, et pourquoi ça va se développer dorénavant.
Python
Twitter passe de LUA à Python (et TensorFlow, [EN]) et détaille sa migration.
JS
L'éco-système se développe en javascript également : il existe plusieurs bibliothèques de gestion de dataframes ([EN]).
Mais surtout, une bibliothèque ml5js, "friendly machine learning" pour le web et surcouche à Tensorflow.js, est désormais disponible, avec une API relativement simple.
Node.js intègre dans sa nouvelle version 10.5.0 un support expérimental des Worker Threads. Node.js est à la base mono-thread, et peut se retrouver bloqué dans des opérations lourdes en calcul CPU. Les Worker Threads visent à décaler ces opérations dans des threads séparés ([EN]).
Éthique
L'éthique, les risques et limites des algorithmes sont un enjeu majeur de la recherche : des chercheurs travaillent par exemple sur un filtre d'image qui empêche la reconnaissance faciale sur les photos ([EN]). Et sur les autres vecteurs de manipulation des résultats d'algorithme, un bon récapitulatif des différents types d'attaque possibles ([EN]) a été publié.
Un autre sujet d'inquiétude dans le domaine concerne le comportement des états, et certains craignent la naissance d'un nationalisme IA ([EN]).
Webmapping
Fin mai a eu lieu la conférence "Mapbox Locate" sur l'avenir de la cartographie. Vous en trouverez un compte-rendu dans cet article ([EN]). On trouve notamment l'annonce d'un certain nombre de produits, notamment une bibliothèque de réalité augmentée orientée sur les cartes.
Cette conférence a entrainé de nombreuses réflexions sur l'usage actuel de la cartographie, et notamment les 2 constatations suivantes : les cartes ont remplacé la barre de recherche ([EN]) et sont désormais au centre des applications orientées utilisateurs ([EN]) : cartes personnalisées, réalité augmentée sont des interactions qui vont se développer désormais :
Front-end
Le framework VueJS continue à développer son écosystème avec désormais la bibliothèque Vue Native ([EN]) pour construire des applications mobiles multi-plateformes, avec la particularité de… compiler en React Native, faisant ainsi le lien avec le framework "leader" actuellement. La CLI permettant de bootstraper les projets passe en 3.0 Release Candidate. En s'appuyant sur une dépendance npm (@vue/cli-service), elle garantit au projet de pouvoir bénéficier des évolutions du tooling VueJS (configuration webpack, bugfix, ...) au fur et à mesure de la vie du projet. La CLI ajoute deux nouveaux éléments : la gestion de plugins (par ex. pour un framework graphique, pour transformer l'app en PWA, ...) et une interface graphique permettant de configurer l'application (linter, plugins, analyse du bundle produit, ...).
CSS-Tricks fait le tour des possibilités de l'utilisation du SVG dans le web ([EN]), en particulier dans l'art graphique ou les diagrammes.
Divers
- Côté accessibilité, les WCAG 2.1 sont désormais une recommandation W3C ([EN]) ;
- Côté Drupal, la sortie d'un nouveau projet, Tome ([EN]), visant créer un générateur de site statique sur base Drupal. À suivre ! ;-)
- Côté SEO, un classement des facteurs de référencement ([EN]) basé sur leur impact, plutôt très bien présenté !
- Côté méthodes, une proposition de visualisation d'avancement de projet un peu originale, proposé par Basecamp : la colline ([EN]) :
- L'UNESCO et l'INRIA construisent la "Bibliothèque d'Alexandrie des codes sources" ;
- Python 3.7 est sorti ([EN]) ;
- Un peu de réflexion sur notre métier : "Avancer lentement, et ne rien casser" ([EN]).