PROJET AUTOBLOG


Zythom

source: Zythom

⇐ retour index

Mise à jour

Mise à jour de la base de données, veuillez patienter...

La sécurité sous toutes ses formes

vendredi 15 mars 2013 à 19:07
Je viens de finir mon recyclage de conduite des chariots élévateurs. Il s'agit du CACES (Certificat d'Aptitude à la Conduite En Sécurité) cariste catégorie 3. Pendant deux jours, j'ai réappris à conduire un chariot que je ne conduis qu'une fois ou deux par an, voire qu'une fois tous les deux ans.

Mais j'ai fait cela pour être avec mes collaborateurs techniques, qui eux utilisent régulièrement le chariot élévateur de l'entreprise. Je serai un chef moins nul que d'habitude (enfin j'essaye).

C'est un moment curieux que de s'écarter des ordinateurs où je me sens à l'aise et de se (re)mettre à conduire un engin bizarre, de soulever des charges de plus d'une tonne, de faire des slaloms avec et de les poser sur des paletiers...

Le hasard fait que cette année, je dois faire plusieurs formations de recyclage en quelques semaines: CACES chariot élévateur, CACES nacelle, manipulation des extincteurs, habilitation électrique et Sauveteurs Secouriste du Travail.

L'informatique mène à tout...
Et il y a encore beaucoup d'efforts à faire sur la sécurité ;-)


Trois tranches de mort

mardi 5 mars 2013 à 22:09
1ère tranche.

Je marche tranquillement vers mon petit restaurant de midi, quand tout à coup, j'entends un bruit métallique assez fort, assorti d'un cri du genre "haaaaaaaaaa".

Je me retourne et assiste à la fin de glissade d'un motard précédé de sa moto. Je reste immobile de surprise, puis fait demi tour pour m'approcher de l'homme allongé sur la chaussée, en plein carrefour. Heureusement, il y a peu de véhicules qui circulent à ce moment là.

Son pantalon est déchiré, il saigne un peu à la jambe, son blouson est sérieusement rappé dans le dos. Il regarde sa moto couchée sur le flanc, et alors que je m'inquiète de ses blessures, toute son attention est tournée vers sa moto vers laquelle il rampe en disant: "Oh putain, ma bécane".

J'arrive à l'aider à se relever et à aller s'assoir sur le trottoir. Je lui pose quelques questions pour voir s'il est en état de raisonner un peu, mais lui me demande si je peux m'occuper de sa moto. Je retourne alors près de sa superbe Kawasaki de 240 kg que j'arrive péniblement à relever. Le carter du moteur est percé et une partie de l'huile est répandue sur le sol. Quelques protections sont rappées et un cale-pied est brisé, mais dans l'ensemble la moto semble réparable. Je la pousse difficilement jusqu'au trottoir.

Je garderai une douleur au dos pendant quelques jours et dans le poignet pendant deux mois.

Je discute un peu avec le motard, je lui conseille d'appeler son assurance : il appelle sa copine. Après quelques appels infructueux, il raccroche rageur : "Putain, ça sert à quoi qu'elle ait un portable si c'est pour pas répondre !". J'essaye de sauver son couple en suggérant qu'elle n'est peut-être pas joignable...

Je m'assure qu'il va bien, qu'il n'a plus besoin de moi et le laisse appeler une dépanneuse. La mort l'a raté de peu, mais toutes ses pensées sont pour sa "bécane".

2ème tranche.

Je sors de l'école par une petite porte. Je jette un bref regard à droite pour ne bousculer personne et me dirige vers la gauche. Je marche quelques pas et m'arrête interloqué. Dans ma mémoire courte se trouve stockée l'image d'un homme allongé sur le sol. Je me retourne et aperçois une forme sur le sol : un homme gît par terre, ce n'est pas normal...

Je m'approche de lui et constate qu'il baigne dans une flaque d'eau. Il respire et est conscient mais ne répond pas à mes questions. Il sent fortement l'alcool.

Il fait froid, à peine quelques degrés. S'il reste immobile dans cette flaque d'eau, affaibli par l'alcool, il risque d'y passer vite fait. Je suis rejoins par une dame de l'immeuble d'en face qui a vu la scène : l'homme titubait, ce qui a attiré son attention depuis la fenêtre de sa cuisine. Elle l'a vu s'appuyer sur la balustrade près de l'école et basculer par dessus.

J'appelle le 112 sur mon téléphone portable et je décris la situation. Je réponds aux questions du régulateur et il me rassure rapidement : les secours sont en route. Effectivement, quelques minutes plus tard, l'ambulance des pompiers chante dans le lointain. Je les guide depuis le bord de la route à grand renfort de gestes.

Je les laisse faire leur travail : résultat, suspicion de fracture de la jambe. L'homme est embarqué avec précaution. Il aurait pu mourir seul dans cette flaque à l'abri des regards. Si cette femme ne l'avait pas vu. Si je ne l'avais pas vu. Détresse humaine.

3e tranche.

Ce soir, en rentrant du travail à vélo, je manque de tomber sur un scooter renversé dans un virage. Je m'arrête. Un homme a la jambe coincée sous le scooter. Je gare rapidement mon vélo et soulève le scooter pour dégager l'individu. Celui-ci reste allongé, le regard un peu vide. Je mets le scooter sur sa béquille et me penche sur l'homme pour lui parler. Il me regarde et tente de se relever. Je l'aide tout en me demandant s'il est en état de se lever. Je ne sais pas s'il est blessé. Une fois debout, il titube et retombe de tout son long sur le sol. Heureusement, son casque l'empêche de se faire mal.

Il est complètement ivre.

Je l'aide une deuxième fois à se relever et il arrive tout juste à tenir debout. Il veut remonter sur son scooter... Je lui conseille de ne pas essayer de conduire, mais il veut à tout prix rentrer chez lui en scooter. Quelques personnes s'arrêtent à notre hauteur et observent la scène. Je ne sais pas trop quoi faire.

Je décide d'enlever les clefs du scooter et de m'écarter un peu.

L'homme est un peu énervé, mais n'arrive pas à monter sur le scooter. Il a vu que j'avais enlevé les clefs et je continue à lui parler pour le dissuader de rouler dans cet état. "Je suis le diable", me dit-il. "J'ai fait de la prison", ajoute-t-il.

Qui suis-je pour juger une personne ? Ai-je le droit d'empêcher quelqu'un de faire ce qu'il lui plait ? Mon cerveau un peu fatigué réagit quand même correctement : il n'est pas question que cet homme mette sa vie en danger sur un scooter dans cet état, ni d'ailleurs celle des autres.

Un instant, je pense appeler la police pour qu'elle gère ce problème. Je réalise qu'il finira au poste en cellule de dégrisement et qu'il sera probablement verbalisé pour conduite en état d'ivresse. Je n'arrive pas à me résoudre à cette solution de facilité. Je dois pouvoir l'aider sans me défausser.

Je lui rends le trousseau de clefs après avoir ponctionné la clef du scooter et lui propose de le raccompagner à pied chez lui. Curieusement, il accepte aussitôt. Je gare mon vélo près de son scooter pendant qu'il range son casque et récupère ses papiers. Nous voilà parti tous les deux : lui titubant d'un bord à l'autre du trottoir, et moi avec mon casque de vélo sur la tête et mon gilet jaune bien voyant, à ses côtés. J'essaye de l'empêcher de traverser n'importe où, et de l'amener sain et sauf jusque chez lui. Nous marchons ainsi 1/2 heure...

D'un seul coup, il me regarde et me demande qui je suis, où est son scooter et pourquoi je l'accompagne... Il se met en colère, crie et me demande de le laisser. Je lui propose de s'assoir sur un banc, mais il continue de m'insulter et s'éloigne en zigzagant.

Je le regarde s'éloigner sur le trottoir.

Je me rends compte à ce moment que j'ai laissé dans les sacoches de mon vélo tous mes papiers et mon portefeuille. Je jette un dernier coup d’œil à mon diable titubant. Il marche sur l'herbe vers un immeuble. Il ne court a priori aucun danger. Je cours jusqu'à mon vélo et vérifie que rien ne manque. Je range le scooter dans un coin en espérant que personne ne le vole et qu'il le retrouve plus tard. J'enfourche mon vélo et retourne surveiller mon gars.

Je ne l'ai pas retrouvé.
J'espère qu'il est rentré correctement chez lui.
J'espère qu'il ne lui est rien arrivé.
Je me fais un sang d'encre et je trouve le monde injuste.
J'ai cette réponse en tête : "Il n'y a pas de justice, il n'y a que moi."

-------------------------------------------------------------------------------------------
Source image boumbang (dessin de Jean-Jacques Sempé)
La dernière phrase du billet est une citation de Terry Pratchett (La Mort dans Les Annales du Disque-Monde).

Réseaux de neurones 1

dimanche 3 mars 2013 à 22:46
Depuis que je me suis mis en tête de reprendre mes travaux de recherches sur les réseaux de neurones (lire le billet "désir de vieux quadra"), j'essaye de voir comment aborder cette question sur ce blog.

Je crois que je vais le faire de la manière la plus simple du monde: en mélangeant les billets avec les autres thèmes abordés ici, dans un joyeux chaos qui me correspond tellement bien.

Les lecteurs qui ne sont pas intéressés pourront rapidement zapper les billets qui seront intitulés "réseaux de neurones N", et ceux éventuellement intéressés pourront s'abonner au flux Rss (ou Atom) de la rubrique "Réseaux de neurones".

Mais je vous préviens tout de suite, je n'ai aucune idée de où cela va mener, ni du temps que je pourrai y consacrer, ni même si j'arriverai à quelque chose. Ce que j'appelle ici "recherche" est un travail personnel que je souhaite partager sur ce blog. Vous y verrez certainement des défauts, des failles et des maladresses que je vous encourage à signaler.

Je rappelle enfin aux nouveaux lecteurs que ce blog est un blog personnel sans prétention mais pour lequel j'ai des principes d'indépendance.

Je suis allé regarder la page Wikipédia consacrée aux réseaux de neurones, et je la trouve très bien faite. Elle constitue une très bonne introduction à ce billet et je vous invite à aller l'étudier.

Les neurones biologiques peuvent être modélisés d'une manière très très simplifiée de la façon suivante:
- un neurone reçoit de l'information de la part d'un certain nombre d'autres neurones. Ces informations seront supposées être de nature principalement électrique. Je noterai ces informations Xi où i sera le numéro du neurone dans le réseau.
- toutes les liaisons entre neurones ne sont pas équivalentes en importance, il est donc judicieux de pondérer l'information électrique avec un coefficient associé à la liaison concernée. Ce coefficient sera noté Cij où i et j sont les numéros respectifs de deux neurones reliés l'un à l'autre dans le réseau.
- le neurone reçoit toutes les informations pondérées et en fait la somme (comme pour un potentiel électrique). Cette somme sera appelée "potentiel du neurone". On le notera Vi.
- un neurone ne peut pas avoir une sortie Xi trop importante, sinon il va "griller". Il faut donc limiter la valeur de Xi par le haut.
- inversement, un neurone ne génèrera un signal d'information Xi que si son potentiel Vi est suffisamment élevé. Il faut donc fixer un seuil d'activation (au dessous duquel le neurone restera inactif).

Toutes ces constations, issues plus ou moins d'observations sur les neurones biologiques, amènent à établir les relations suivantes:

Le potentiel Vi du neurone i = somme des produits ( Cij Xj ) où j parcourt l'ensemble des indices des neurones qui sont reliés au neurone numéro i, où Cij est le poids de la synapse reliant le neurone j au neurone i (on dit également coefficient synaptique) et où Xj est la sortie du neurone j.

La sortie Xi du neurone i = f ( Vi ) où f est une fonction de transformation du potentiel limitant la valeur de la sortie quand Vi est grand et permettant d'avoir une sortie Xi nulle si Vi est trop faible. Cette fonction est appelée fonction d'activation.

Soit, grace à la concision du langage mathématique, pour chaque neurone d'indice i :








où Pi est l'ensemble des indices des neurones envoyant leurs valeurs au neurone i

La fonction d'activation :

Comme indiqué précédemment, cette fonction a pour rôle d'introduire une non linéarité dans le réseau. Elle limite la valeur maximum de la sortie d'un neurone et reste nulle pour des potentiels trop faibles.

La fonction d'activation souvent utilisée est la fonction sigmoïde ou la tangente hyperbolique. Pour ma part, je choisie cette dernière car elle est centrée sur zéro, ce qui permettra d'amorcer plus facilement l'algorithme d'apprentissage, comme nous le verrons plus tard.




Fonction tangente hyperbolique - Image source Wikipédia


En préparant ce billet, je me suis demandé s'il n'était pas plus simple d'utiliser une fonction sinus pour les potentiels compris entre -pi/2 et +pi/2 et deux demie-droites horizontales à -1 et +1 pour le reste. Je n'ai jamais testé, mais cela me semble une idée intéressante pour abréger l'apprentissage (qui dépend des fonctions dérivées). On verra.

Pour simplifier le comportement du futur ensemble de neurones que l'on appellera "réseau de neurones", je fais l'hypothèse que tous les neurones utilisent la même fonction d'activation, ce qui me permet de retirer l'indice "i" sur le "f" des formules précédentes.

J'ai volontairement omis des formules précédentes le fait que les potentiels (et donc les sorties) des neurones vont varier au cours du temps. Vi et Xi sont donc des fonctions du temps. J'aurais du écrire Vi(t) et Xi(t). Mais comme je vais travailler dans un univers discrétisé, je préfère écrire Vi(n) et Xi(n).

Nous aurons donc comme modèle pour un neurone i à un instant n :







où Pi est l'ensemble des indices des neurones envoyant leurs valeurs au neurone i.

Un schéma est peut-être plus explicite :

Modèle de neurone



La mise en réseau :

Un réseau de neurones de ce type est un ensemble de neurones reliés les uns aux autres de façon à ce que l'information puisse circuler sans boucle pour que tous les potentiels soient calculables à un instant n.

En outre, afin de relier le réseau au monde extérieur, le réseau dispose de capteurs d'entrée qui seront considérés comme des sorties de neurones imposées par le monde extérieur.

Voici un exemple de réseau de 3 neurones avec deux entrées :



Le monde extérieur impose le comportement des neurones d'entrée E1 et E2.
J'ai choisi de mesurer les sorties des deux neurones X4 et X5.
La sortie du neurone numéro 3 est interne au réseau.
Tous les choix faits ici sont pour l'instant arbitraires (nombre d'entrées, nombre de neurones, architecture des connexions, sorties sélectionnées...).

Il est important de comprendre que les six coefficients Cij de ce réseau sont les inconnues à calculer si l'on souhaite que le réseau ait un comportement particulier pour un ensemble de stimuli imposés.

Nous verrons tous cela dans un autre billet.

Pour l'instant, j'ai beaucoup de choses à apprendre sur le langage Go que Stéphane Bortzmeyer m'a fait découvrir sur Twitter, et cela va me prendre beaucoup de temps... Ça parle de parallélisme, de passage de messages sur des canaux, toutes choses prometteuses pour mes futures simulations. Mais je ne dois pas oublier qu'il va aussi me falloir mettre en place mes routines d'optimisation favorites...

Je me sens l'âme d'un étudiant (et j'aime ça ;-).

----------------------------------------------
Source image Megaportail
 

Désir de vieux quadra

mardi 19 février 2013 à 19:29
J'ai écrit sur ce blog deux billets consacrés à une période de ma vie où j'espérais beaucoup faire progresser la science dans le domaine de l'intelligence artificielle. Le premier, intitulé "Intelligence artificielle", et le second, intitulé "Minimisation", portaient en eux une certaine nostalgie de cette époque.

Aujourd'hui, je partage mon existence entre ma famille, mon travail comme responsable informatique et technique dans une école privée d'ingénieurs, mon activité de conseiller municipal dans une ville de 5000 habitants (c'est d'ailleurs bientôt les élections !), mon activité d'expert judiciaire en informatique, et des loisirs comme l'aviron, la lecture de SF, le suivi de l'exploration spatiale, la tenue de ce blog ou la lecture de mon fil Twitter.

J'aime beaucoup cette existence et je me considère comme un homme heureux, très heureux même. Bien sur, j'ai quelques petits coups de blues comme tout le monde, et il m'arrive de me demander ce que je serais devenu si j'avais fait tel ou tel choix différemment.

Parmi les milliers de choix que j'ai pu faire dans mon existence (je ne crois pas au destin), l'un m'a particulièrement marqué: j'ai quitté un poste de Maître de conférences à Paris où je menais des recherches passionnantes. J'ai fait ce choix pour des raisons parfaitement justifiées, et si c'était à refaire aujourd'hui, je ferai le même choix sans hésiter. L'Amour emporte tout sur son passage... et je ne me voyais pas fonder une famille en région parisienne.

Cela ne m'empêche pas, à quelques mois de mes 50 ans, tout en profitant pleinement de la vie et du temps d'apprentissage que j'espère encore long devant moi, de regarder un peu derrière moi et faire un petit bilan.

Et tout à coup, je me suis dit: et si je reprenais mes recherches sur les réseaux de neurones, en douce, en solo, sur mon temps libre, par petits bouts... Est-ce une tâche possible et surmontable? Saurai-je trouver l'énergie et le temps nécessaires? Je ne sais pas. Mais qui peut répondre à l'avance à ce genre de question?

Il me faut reprendre le fil de mes travaux, arrêtés en 1993. Pour cela, je peux relire mes articles de l'époque, retravailler ma thèse de doctorat pour me rafraîchir la mémoire. Il me faut re-développer de zéro tous les outils logiciels qui me servaient à l'époque pour faire mes simulations. Ce serait l'occasion pour moi d'apprendre un nouveau langage de programmation (Prolog, OCCAM et C ont le charme désuet des langages d'antan) et d'exploiter les possibilités des mémoires et calculs des machines d'aujourd'hui. Il me faut ré-apprendre tous les outils mathématiques dont je vais avoir besoin et que le temps a effacé de ma mémoire: dérivées partielles, distances, représentation d'états, fonctions de Lyapunov... Aurai-je la patience de tout ré-apprendre? Il me faut ré-accepter de me prendre les pieds dans le tapis, d'explorer des voies sans issues, de passer pour un imbécile aux yeux de ceux qui les ont déjà explorées, de faire des bourdes de débutant, de redevenir un débutant...

Je pourrais tenir une chronique de cette activité sur ce blog, qui mélange déjà toutes mes autres activités. Cela m'obligerait à avoir les idées suffisamment claires pour pouvoir les exposer pédagogiquement, même si mon billet sur la minimisation n'a pas brillé sur ce point. Cela m'obligera aussi à afficher plus d'humilité. Cela donnera de l'eau au moulin de mes (dé)tracteurs.

Je me demande toutefois si je ne suis pas en train de courir après une chimère.
Je me demande si ce n'est pas un désir vain de vieux quadra...

On verra bien.
Je tente le coup.

------------------------------------------

Image: Charlie Chaplin et Albert Einstein, lors d'une projection privée du film "Les Lumières de la Ville" (1931).

Léo 7 ans

jeudi 14 février 2013 à 13:46
Léo a sept ans. C'est un petit garçon volontaire. Il me dévisage sans peur, mais avec une lueur d'incompréhension dans le regard.

Il est 6h30 du matin.
J'accompagne un huissier de justice, avec un serrurier et deux policiers. Cinq hommes étrangers viennent d'entrer dans l'univers familier de Léo. Et de le réveiller.

Léo vit avec sa maman et son petit frère. Son papa est parti peu après la naissance du dernier. Sa mère a, paraît-il, commis un délit qui nous amènent à cette perquisition matinale. Mais Léo n'en sait rien. Il s'interroge sur le bruit de la sonnette à 6h du matin. Il a entendu sa maman ouvrir la porte, puis des grosses voix dans l'entrée de la maison. Inquiet, il s'est levé et a appelé sa mère. Elle a tardé à venir le rassurer. Il est donc sorti courageusement de sa chambre.

Il est là devant moi, dans le couloir.

Je mets un genou à terre pour que mon regard soit au même niveau que le sien. Je suis un peu paniqué car mon domaine d'intervention à moi, ce sont les ordinateurs. Mon rôle dans cette perquisition consiste à suivre l'ordonnance du magistrat qui recherche des données précises "sur tout support informatique présent dans la maison".

Je n'avais pas prévu de me retrouver face à un petit garçon affrontant un danger inconnu de lui.

Mon cerveau tourne à plein régime. Il ne me connaît pas, donc je ne peux pas me montrer familier en lui prenant la main. Je me demande ce que j'aurais aimer que quelqu'un dise à mes enfants en pareille situation.

Je lui fais un grand sourire. Je force mon visage à se détendre: "Ta maman a un petit problème avec son ordinateur. Nous sommes venus pour voir si on peut le réparer."

C'est la seule chose qui m'est venue à l'esprit.

La mère de Léo est derrière moi et m'a entendu. Malgré son stress intense et la violence de l'intrusion dans son espace privé, elle comprend mon intention. Elle s'approche de Léo en souriant et lui confirme que nous sommes là pour résoudre un problème informatique.

Léo, sept ans, est rassuré mais continue de me regarder un peu inquiet: "J'espère que ce n'est pas mon nouveau jeu qui a abimé l'ordinateur de maman?"

Mon cœur se brise, mais aucun muscle de mon visage ne bouge. Je lui réponds qu'il y a peu de chance et que je suis sur que c'est autre chose. C'est si compliqué les ordinateurs.

La dernière image que j'aurai de Léo est son départ pour l'école accompagné par une voisine et tenant son petit frère par la main. Je lui ai fait un petit signe de la main avec le pouce levé.

J'ai aussi fait en sorte que l'ordinateur soit toujours en état de fonctionner normalement avant le soir.

Mais que c'est dur une perquisition.