Fresche à l’ère du cognitif et de l’intelligence artificielle

Fresche à l’ère du cognitif et de l’intelligence artificielle

14:05 26 février in Blogue, Développement web et mobile, Modernisation d'écran vert, Transformation de code et base de données
0 Comments

L’avènement du numérique a marqué la troisième révolution industrielle, portée par les progrès de l’Internet, des ordinateurs personnels et des TIC.

Nous entrons maintenant dans la quatrième révolution industrielle1, et pour reprendre les mots de la PDG d’IBM, Ginni Rometty, « le numérique d’aujourd’hui est le cognitif de demain2 ».

Gartner et McKinsey, comme bien d’autres, font état d’une explosion des investissements dans l’intelligence artificielle (IA) et les systèmes cognitifs, dont les retombées immédiates et à moyen terme seraient d’ores et déjà perceptibles.

Aucune industrie n’est à l’abri des bouleversements de l’IA; la question n’est plus de savoir quand se préparer, mais plutôt quoi faire et comment s’y prendre?

Que fait Fresche pour aider la communauté IBM i dans le domaine de l’IA et de l’informatique cognitive?

Chez Fresche, nous transformons et modernisons des applications IBM i. Autrement dit, nous faisons du numérique à partir du numérique.

Si la prédiction de Ginni Rometty s’avère juste, Fresche sera assurément bien placée pour aider les entreprises à mettre leur infrastructure de TI existante à profit pour bâtir des systèmes reposant sur l’intelligence artificielle.

Pour comprendre les fondements de cette quatrième révolution industrielle, il faut voir la ligne de conduite privilégiée pour aborder l’IA : cibler des domaines où l’IA peut créer de la valeur, poser des jalons et miser sur l’avantage concurrentiel.

En novembre dernier, j’ai participé à l’événement Driveway to Watson d’IBM, où j’ai montré comment Fresche s’y prend pour intégrer Watson. Aujourd’hui, nous mettons une de nos interfaces de programmation Watson au service de la traduction. D’après notre expérience, intégrer Watson à nos solutions est relativement aisé, et mon exposé avait une visée pédagogique : montrer au public à quel point l’IA est accessible, surtout quand on l’envisage comme une partie d’un tout.

Par exemple, dans l’article « The Growing Role of A.I. and Machine Learning in Marketing and Customer Engagement » paru dans Forbes, Logan Rosenstein explique comment NVIDIA allie mégadonnées et intelligence artificielle pour « écouter le flot constant des messages publiés sur Internet », et ainsi ne rien manquer de ce qui se dit sur l’organisation3. La société compile ensuite ces données et affine son analyse à l’aide d’un processus s’appuyant sur l’intelligence artificielle pour jauger le ton général du message et l’émotion qui s’en dégage. Voilà un parfait exemple d’utilisation de l’IA pour la collecte de données précieuses qui peuvent être utilisées de multiples façons.

Dans le contexte de Fresche, les applications potentielles de l’IA sont nombreuses – de la modernisation de bases de données à la conception d’interfaces utilisateur, en passant par la conversion d’applications et la prestation de services. Il en va de même pour l’informatique cognitive, qui présente aussi un potentiel d’utilisation infini.

L’analytique, la sécurité, les assistants virtuels et l’apprentissage automatique sont déjà des avenues de développement fort prometteuses pour l’intelligence artificielle chez Fresche. Mais comment tout cela fonctionne?

Apprentissage automatique

Prenons le jeu de Sudoku en exemple. Le but du jeu est de compléter une grille 9×9 partiellement remplie en inscrivant les bons chiffres dans les cases, de sorte que chacun des chiffres de 1 à 9 soit présent une seule fois dans chaque rangée, colonne et carré 3×3 de la grille.

J’ai moi-même créé deux versions d’un programme qui solutionne les grilles de Sudoku.

La première version remplit les cases vides en commençant systématiquement par le coin supérieur gauche de la grille, puis en se déplaçant vers la droite pour balayer toutes les lignes, jusqu’à atteindre la dernière case au bas à droite. Le programme tente toutes les combinaisons possibles des chiffres 1 à 9; il applique la règle et revient en arrière chaque fois qu’une tentative – ou une série de tentatives – échoue, jusqu’à ce que toutes les cases contiennent le bon chiffre.

Quand je lui soumets une grille de Sudoku « impossible », le programme doit s’exécuter pendant des heures pour la solutionner!

Si le processus est interminable, c’est parce que la démarche systématique consistant à résoudre la grille case par case, en commençant par celle tout en haut à gauche, n’est pas considérée comme la stratégie la plus « intelligente » au Sudoku.

Une autre technique, sans contredit plus efficace, est de commencer par le carré entouré du plus grand nombre de cases déjà remplies. Autrement dit, prendre le carré le plus « facile » comme point de départ. J’ai donc codé une deuxième version de mon programme qui, cette fois, repère systématiquement les carrés les plus « faciles », puis tente de les résoudre en premier. Ce processus a considérablement réduit le temps de résolution de ma grille « impossible », qui est passé de plusieurs heures à quelques minutes à peine.

À présent, imaginons que les deux versions du programme soient enrichies de données statistiques sur le nombre de tentatives « invalides ». La première version contient des millions de tentatives invalides en mémoire, et la deuxième, quelques centaines. Nous savons déjà que la deuxième version est plus intelligente, mais la mesure met ce principe en évidence : ce qui la rend plus intelligente, c’est le fait qu’elle contient moins de tentatives « non valides ».

Dans un processus d’apprentissage automatique, l’intelligence artificielle qui tenterait de résoudre une grille de Sudoku ne commencerait pas par le coin supérieur gauche, pas plus que par le carré entouré du plus grand nombre de cases déjà remplies, car elle ne sait pas a priori quelle case constitue le point de départ le plus facile. Elle commencerait simplement par une case choisie au hasard, puis compilerait des statistiques. Le principe de mesure de l’« apprentissage » est le suivant : moins il y a de tentatives non valides, mieux c’est. L’apprentissage automatique mettra ces statistiques en correspondance avec d’autres données contextuelles qu’il a en mémoire et, à terme, en arrivera à la conclusion que la technique la plus judicieuse pour résoudre la grille est de commencer par le carré entouré du plus grand nombre de cases déjà remplies.

Comme vous pouvez vous en douter, un traitement de données aussi intensif nécessite une grande puissance de calcul et beaucoup de mémoire; c’est là qu’entrent le jeu le processeur graphique (GPU) et le réseau neuronal. Une application logicielle contient bien plus de cases et de dimensions qu’une grille de Sudoku, et la puissance requise pour traiter toutes ces données, en tenant compte d’autant de variables, est précisément ce qui rend l’informatique cognitive aussi stupéfiante.

Chez Fresche, nous sommes emballés par les perspectives qu’offre le passage du numérique au cognitif. Je vous tiens au courant pour la suite des choses!

Termes utiles

Apprentissage automatique : Sous-domaine de l’informatique qui s’intéresse à la capacité des ordinateurs à apprendre quelque chose qu’ils n’ont pas explicitement été programmés pour faire.

Apprentissage profond : Sous-branche de l’apprentissage automatique qui s’intéresse aux méthodes d’apprentissage fondées sur des représentations abstraites des données plutôt que sur des algorithmes de commandes spécifiques.

Mégadonnées : Ensembles volumineux de données structurées (bases de données) ou non structurées (tout document ou support) dont l’exploration et l’analyse peuvent profiter à l’organisation.

Bot/assistant virtuel : Un assistant virtuel est un programme informatique pouvant entretenir une conversation, sous forme de messages vocaux ou textuels. Le traitement du langage naturel est d’ailleurs un champ fondamental de la recherche sur l’intelligence artificielle.

Processeur central (CPU) : L’unité centrale de traitement désigne les circuits électroniques de l’ordinateur qui exécutent les instructions d’un programme informatique en traitant les opérations arithmétiques, logiques, de contrôle et d’entrée-sortie de base qui lui sont spécifiées.

Processeur graphique (GPU) : L’unité de traitement graphique est un circuit électronique spécialisé conçu pour manipuler et modifier la mémoire avec rapidité afin d’accélérer la synthèse, dans une mémoire tampon, des images destinées à être affichées par un périphérique de sortie. La fonction première du processeur graphique est de rendre des graphiques en 3D formés de polygones, entre autres. Les technologies comme OpenCL et CUDA permettent aux développeurs d’utiliser la puissance des processeurs graphiques pour soulager le processeur central de certains calculs non graphiques, ce qui peut améliorer la performance globale d’un ordinateur ou de tout autre dispositif électronique. C’est cette fonction qui est indispensable aux processus d’intelligence artificielle.

Réseau neuronal : Système de nœuds interconnectés, utilisé pour l’apprentissage automatique et l’apprentissage profond.

Joignez-vous à moi pour notre série d’événements pour cadres en TI, dont le prochain qui aura lieu à Milan, en Italie. Nous présenterons des cas et exemples d’intelligence artificielle et d’informatique cognitive en affaires ce 8 mars 2018, et bien plus encore.

(1)  Fourth Industrial Revolution, Wikipedia.
(2) IBM CEO Ginni Rometty on AI “If its Digital it will become Cognitive”, YouTube.
(3)  Quora, 2017. ‘The Growing Role Of A.I. And Machine Learning In Marketing And Customer Engagement’, Forbes.

À propos de Pascal Polverini

Pascal Polverini has a strong experience in end-to-end software architectures, with expertise on DB, programming languages, communication protocols and GUI.
Co-author of the IBM i Modernization Redbook, he is an expert in cross technologies.
Active member of the IBM i ISV Advisory Council since 2005, he is also an individual associate of the OpenPOWER foundation since 2014, senior speaker on IT events (in english, french and italian) and occasionally writer on IBM Systems Magazine and others.
Pascal is deeply involved in solutions to merge or cross different technologies and innovations, involving as well AI technologies, focusing on their fundamental key principles with a particular attention to the added values in a business approach to the client need and market extensions.

No Comments

Post a Comment