Mon ordinateur est un con

par Simon « Gee » Giraudot

Stupid DRM (CC-By-Sa deanwissing)Pour ce premier vrai article, j’ai décidé de vous parler de l’informatique en général, et surtout des fausses idées qui sont très à la mode en ce moment. À la base, cet article devait être un court aparté dans un autre article (très long) que je suis en train de rédiger. Au final l’aparté a grossi et a fini par devenir un article à part entière.

De quoi parlons-nous donc ? De votre ordinateur. Au sens large, c’est-à-dire que votre téléphone, votre lecteur multimédia ou votre GPS sont inclus dans ce que j’appellerai « ordinateurs ».

Un mot revient très souvent lorsque l’on parle des nouvelles technologies informatiques, c’est le mot « intelligent ». On nous vend des systèmes intelligents, Google vous propose un moteur de recherche intelligent (qui va deviner ce que vous voulez dire alors que vous ne l’avez même pas dit !) et votre téléphone est devenu un smartphone. Même vos jeux sont pleins d’intelligences artificielles. On n’arrête pas le progrès, tout le monde peut se payer un Albert Einstein personnel !

C’est pourtant un contresens absolu. Gardez toujours à l’esprit une chose : un ordinateur, c’est con, c’est même prodigieusement con. Il y a autant d’intelligence dans votre matériel informatique que dans un boulier d’il y a 4000 ans. Comparer le cerveau d’une personne qu’on trouve brillante à un ordinateur, ça relève de l’insulte pure et dure.

Bah alors, il est quoi, s’il est pas intelligent, mon téléphone ? Et quand il détecte les visages sur les photos, il est pas intelligent ? Hein hein hein ? Dis dis dis ?

Hé bien non. Il a juste été entrainé pour ça. Et je ne te parle pas de la galère pour l’entraîner ! Imagine, un enfant en bas-âge, tu lui montres quelques visages, et paf, il comprend que c’est la même chose quand il en voit un autre. Hé bien l’ordinateur, non ! Pour lui faire détecter un visage, il faut lui faire calculer un nombre inimaginable de trucs, extraire des caractéristiques sur les pixels de l’image, construire des soupes de vecteurs qui n’ont aucun sens pour toi et moi. Et en plus, après, il faut lui montrer des milliers voire des millions de visages, pour qu’il apprenne bien ce qu’il doit détecter ! Et ce n’est pas tout, il faut aussi essayer d’être exhaustif (imagine, tu oublies de mettre des barbus, et hop, il est incapable de détecter un visage avec de la barbe !). Non franchement, il exagère. Au prochain dîner de cons, tu peux inviter ton smartphone.

Ouais mais tu vois, t’as dit qu’il pouvait apprendre ! L’apprentissage, c’est le signe d’une intelligence, non ?

Ça aussi, c’est à la mode. L’ordinateur intelligent n’est pas figé, comme il est intelligent, il s’adapte, il apprend. Alors certes, ce qu’on appelle l’apprentissage automatique (machine learning en anglais), c’est quelque chose de très pratique et qui permet de régler efficacement de nombreux problèmes (parce que je vais quand même être sympa avec ton téléphone : la reconnaissance de visage, au final, il fait ça très bien). Mais on n’a rien révolutionné. Les programmes d’avant (qui n’apprenaient pas donc), on leur donnait une variable X, ils la multipliaient par une constante (bon ils pouvaient faire d’autre trucs, mais on peut schématiser comme ça). Les programmes qui apprennent, ils font quoi ? On leur donne une variable X, ils la multiplient par… une autre variable Y. Variable Y qui va donc s’adapter à ce qu’on va donner à l’ordinateur, qui va être le résultat d’un entraînement. Et comment on fait cet entraînement ? Hé bien en multipliant une variable Z par une constante !

Vous comprenez où je veux en venir ? L’apprentissage, ça veut juste dire qu’on rajoute une étape dans ce que fait l’ordinateur. Au lieu de lui donner des instructions figées, on lui donne des instructions qui dépendent de variables qu’on va régler (ça c’est l’apprentissage) par d’autres instructions figées. Là où ça devient très intéressant, c’est qu’on va aussi savoir faire de l’apprentissage in situ, c’est-à-dire que l’ordinateur va continuer à adapter son comportement lorsque l’utilisateur va s’en servir. C’est très probablement ce que fait Google : lorsque vous cliquez sur un lien, il va retenir « okay, ça c’est un résultat pertinent pour cet utilisateur, à l’avenir je mettrai les résultats similaires en premier ». Toute question de vie privée ou de pertinence de ce comportement mis à part, c’est quand même sacrément malin, non ?

Oui, c’est très malin. Mais celui qui est malin, c’est celui qui a inventé ce système. Les serveurs de Google, ils font ce que quelqu’un leur a dit de faire. Mais au final, ils ne font rien de plus qu’additionner et multiplier des variables et des constantes. Comme un boulier d’il y a 4000 ans.

Ouais bon d’accord, mais quand même, tu trolles à mort ! Un ordinateur, c’est quand même vachement plus évolué qu’un boulier, non ?

Bien sûr ! Évolué, mais pas intelligent. La grande différence entre un boulier et un ordinateur, c’est la vitesse. Parce qu’un ordinateur est prodigieusement con, oui, mais il est aussi prodigieusement rapide ! Si je vous donne un tableau de 1000 nombres à trier dans l’ordre croissant, vous allez mettre combien de temps ? Probablement des heures. Un ordinateur, 1000 nombres à trier ? Mouarf ! Le temps d’appuyer sur Entrée pour lancer le programme, et c’est déjà terminé (si on lui a bien expliqué comment faire). Un ordinateur, c’est une bête de course absolue (même ceux d’il y a 30 ans vous éclatent littéralement, question vitesse).

Tout l’enjeu de l’informatique, c’est d’arriver à retranscrire l’intelligence humaine dans un langage que l’ordinateur peut comprendre pour profiter à la fois de votre intelligence (si si, ne soyez pas modeste) et de la rapidité extraordinaire de votre ordinateur. Et c’est loin d’être simple, parce que l’ordinateur a besoin qu’on lui explique tout bien, très précisément, dans les détails, en n’omettant rien et en ne laissant rien au hasard (j’vous ai déjà dit qu’il était con ?). Toutes les merveilleuses choses que vos téléphones peuvent faire, ils les font parce que quelqu’un, quelque part, a eu l’idée de leur faire faire et leur a expliqué correctement comment ils pouvaient le faire en faisant 15 milliards d’opérations de type Y=aX+b.

Le contraire est vrai aussi d’ailleurs : distinguer l’erreur humaine de l’erreur informatique, ça n’a pas de sens. Un bug, c’est juste un programmeur qui s’est mal exprimé et qui n’a pas dit exactement ce qu’il pensait dire à l’ordinateur (ou, souvent, qui n’a pas envisagé tout ce qui pouvait arriver si l’ordinateur faisait exactement ce qu’il disait). Mais l’ordinateur fait toujours ce qu’on lui demande (problème matériel mis à part). D’ailleurs, il ne fait même que ça.

Parce que votre ordinateur, au final, ce n’est qu’un con qui court très vite. Votre ordinateur, ce n’est pas Albert Einstein. C’est Forrest Gump.

Crédit photo : Stupid DRM (CC-By-Sa deanwissing)
About these ads