Quel futur pour le feature engineering ?

Dans deux chroniques précédentes, j'ai donné plusieurs exemples de feature engineering, le principal levier d’action du data scientist pour obtenir la qualité désirée.

Même s’il n’existe pas de standard en la matière, petit à petit les bonnes pratiques s’installent dans l’IA et la tentation est grande de vouloir les automatiser au maximum. Quelques frameworks relativement récents, comme la Data Science Machine[1] , se donnent cette ambition. L'algorithme de « deep feature synthetis » crée hiérarchiquement des features à partir des données d'une base relationnelle. La data science machine s'est comportée plus qu'honorablement dans certaines compétitions KAGGLE. Le deep feature synthesis et bien d'autres outils facilitateurs sont accessibles aujourd'hui dans le paquetage python « feature tools ».

Le framework H2O.ai, dont le slogan principal est « driverless AI » propose les outils permettant à monsieur 'presque' tout le monde de mettre en œuvre des modèles de machine learning avec feature engineering automatique.

Les data scientists dans la ligne de mire de l’IA

On peut ainsi se prendre à rêver d'avenir : brancher un mécanisme de feature engineering automatique et un algorithme d'apprentissage dans un procédé lui-même auto apprenant et déterminant automatiquement le modèle adéquat à partir des données brutes.

Dans une certaine mesure, même s’il n’est pas toujours appréhendé de cette manière, un modèle de ce type existe déjà : il s’agit des réseaux neuronaux profonds. En détachant la couche de sortie – qui est en général une simple transformation linéaire éventuellement suivie d’une fonction « de redressement » – des couches supérieures, on peut concevoir les réseaux neuronaux comme une simple régression linéaire, basée sur les features complexes construites automatiquement par les couches cachées.

En analysant les tenseurs circulant dans les différentes couches d'un réseau convolutionnel effectuant de la détection d'objets dans des images, on peut apercevoir au fur et à mesure que l'on progresse dans les couches, les « features » de plus en plus abstraites que le réseau construit afin de pouvoir finalement détecter la présence de l'objet par une simple régression logistique au niveau de la couche de sortie. Typiquement la première couche apprend des filtres qui détectent différents types d'arêtes dans l'image, la deuxième combine ces filtres pour détecter des parties d'un objet par assemblage des arêtes et une troisième couche détecte les objets en entier. A partir des taux d'activation de ces features de haut niveau, la classification devient aisée.

L'avènement probable d'un feature engineering automatisé et performant, d'ici quelques années, constitue un coup du sort ironique : alors que les data scientists sont parfois accusés, dans l’imaginaire populaire, de mettre en œuvre l'IA qui va « prendre le travail des petites gens », voici que cette même IA s'attaque elle-même au cœur de métier des data scientists. En réalité, comme dans beaucoup d’autres branches touchées par « le progrès », les data scientists verront leur métier évoluer : le gain d’automatisation leur permettra la mise en place de processus plus ambitieux, plus performants avec des aspects prédominants de contrôle qualité, de diagnostic et de fine tuning.

Les features, véritables potentiomètres de simulation

Une autre évolution majeure à attendre d'ici les prochaines années, en lien avec le feature engineering, est celle du métier de prévisionniste.

Aujourd'hui, le rôle principal du prévisionniste consiste à mettre en œuvre et garantir la qualité d'une prévision issue d'un système automatisé ou semi-automatisé. Pour cela, le prévisionniste possède deux principaux leviers d'action : le paramétrage du système et le pilotage de la prévision.

Le pilotage de la prévision consiste à modifier la prédiction finale, souvent en appliquant des facteurs correctifs pour venir dynamiser ou réduire les ventes prévues d'un article ou d'une famille d'articles.

Lorsque le prévisionniste décide d'écraser la décision de l'algorithme, il revient automatiquement à sa charge de maintenir une cohérence sur la prévision globale, en prenant en compte des effets croisés tels que la cannibalisation, c’est-à-dire les interactions entre articles répondant à un même besoin. Si le prévisionniste prend sur lui-même de gérer cette complexité, alors la collaboration entre l'homme et l'algorithme s'arrête et l'intérêt d'utiliser un algorithme devient relativement faible.

Le but d'un algorithme de machine learning est d'expliquer les ventes et de concevoir un modèle mathématique autour de celles-ci. Ce modèle, lorsqu’il est suffisamment complexe, n’est autre qu’une approximation de l'écosystème d'un magasin et garantit ainsi une cohérence globale des comportements de vente prévus. Il peut ainsi prendre en compte de manière parfois subtile les effets des promotions, des évènements exogènes, des articles d'appel et du cannibalisme.

Dans ce contexte, le prévisionniste pourrait interagir en amont en modifiant directement les données entrantes. En venant ainsi modifier le potentiel estimé d'une nouveauté, le prévisionniste peut interagir directement avec l'algorithme et influencer son résultat, tout en conservant une cohérence globale. En venant ajouter de l'information pour aider le système, l'interaction entre lui et l'algorithme ne se définit plus dans la rivalité, mais bien dans la collaboration.

Pour rendre ce mode interactif possible, deux caractéristiques essentielles doivent être présentes. D'abord, une réactivité quasi temps-réel entre une modification des features et l'obtention des prévisions ajustées. Celle-ci est aujourd'hui atteinte : un modèle pré-entrainé possède un temps de réponse adéquat. Ensuite et surtout, un travail de feature engineering doit être effectué de manière à proposer à l’utilisateur des grandeurs ayant un sens métier.

Vers une évolution du rôle du prévisionniste

Dans le design d'une opération promotionnelle, par exemple, le taux de décote est très probablement un paramètre que le prévisionniste souhaitera modifier. Lorsque ce dernier a connaissance d’un évènement particulier, par exemple la fermeture exceptionnelle d’un magasin concurrent ou un évènement festif ponctuel, il doit disposer de features qui lui permettent d’exprimer cette information de manière à la fois précise et suffisamment générique pour que le système puisse en tirer des analogies avec des comportements passés. Lorsqu’un nouvel article vient enrichir une gamme, le prévisionniste doit là aussi pouvoir décrire l’environnement concurrentiel ou associatif du produit. Suivant le type de modélisation effectué au sein du logiciel de prévision, cela peut induire la création de plusieurs features dédiées.

Il est anticipable que cette nouvelle forme d'interaction devienne centrale dans un futur proche, et les possibilités qui en dérivent vont plus loin que la simple correction d'anomalies au sein de la prévision. Lorsque l'algorithme prend le rôle de véritable "boule de cristal", modifier une feature revient à modifier la question qui est posée au système. Ainsi, ce système interrogeable devient un outil de travail irremplaçable.

Le rôle du prévisionniste évoluerait donc vers une mission plus proche du marketing, mission au sein de laquelle sa valeur ajoutée ne se mesure plus uniquement dans sa capacité à créer un système de prévision plus fiable, mais à créer un avenir plus rentable à travers ce dernier.

Dans nos trois tribunes dédiées à la réalité du feature engineering, nous avons défini et discuté, à travers quelques exemples, des enjeux forts autour de l'ingénierie de features, levier d'action principal du data scientist pour atteindre ses objectifs. Ce dernier saura se constituer un « bag of tricks » conséquent et dédié à son domaine d'application, résultat des nombreuses expériences accumulées. Même si cette activité fait probablement moins rêver le jeune data scientist tout droit sorti de la théorie de l'apprentissage, elle est essentielle et représente une partie importante de son travail horaire ainsi que sa plus grande valeur ajoutée. Il est d'autant plus étonnant de constater encore aujourd'hui l'absence d'ouvrages synthétiques sur le sujet. Il y a sans doute là un manque évident à combler.