Affichage des articles dont le libellé est machine learning. Afficher tous les articles
Affichage des articles dont le libellé est machine learning. Afficher tous les articles

03/08/2016

Integration en entreprise du Bigdata, iot, ia, machine learning, robotique

L'intégration de nouvelles technologies telles que Bigdata, objets, robotique, machine learning ou intelligence artificielle dans une entreprise soulève de nombreuses questions.

Les nouvelles technologies nous attirent, donnent envie, proposent dans l'absolu de nouvelles possibilités d'optimisation, une meilleure gestion des ressources, une amélioration des conditions de travail...

Mais quelles sont les technologies dont vous avez réellement besoin ?
Quelles sont les priorités ?
L'investissement en vaut-il la chandelle ?
Et si oui, par quel bout les aborder ?

Ces nouveaux outils sont à considérer comme de nouvelles ressources que peut utiliser l'entreprise, au même titre qu'un véhicule ou qu'un employé.
De part la prise de décision que ces outils proposent, ils sont même plus proche d'un employé, que d'un véhicule ( le déploiement massif des véhicules autonomes n'étant pas encore opérationnel ;-) )

La grosse question est de déterminer le degré d'autonomie que l'on va vouloir attribuer à ces nouveaux outils...

En effet, selon les cas, on souhaitera que tel outil soit une simple aide à la manipulation, ou à la décision, soit une autonomie complète, avec entre les deux tous les degrés possibles d'autonomie...

Parfois, selon le contexte, selon les circonstances, ce degré d'autonomie devra même être modifié.

Le degré d'autonomie d'un outil dépend en grande partie du degré d'intelligence qu'il lui a été attribué, de sa capacité à obtenir des informations de son environnement ( votre entreprise ) , de sa manière de les exploiter, de sa façon de les communiquer...

Un simple capteur thermique ( iot de base ) possède sa propre intelligence, et le choix du matériel à utiliser et son l'intégration dépendront de ses capacités, ses limites...

L'intégration de systèmes plus évolués tels que le machine learning ou l'intelligence artificielle pose de nouvelles questions et se rapproche plus de l'apprentissage comme on pourrait le rencontrer lors des jeunes années d'un enfant.  Ces systèmes ont besoin d'informations au sujet de l'entreprise, selon les cas, il s'agira d'un catalogue de produits, de la structure de l'entreprise ou des compétences des autres ressources disponibles ( compétences d'un employé, disponibilité d'un véhicule... )

La majeur partie de l'intégration consiste donc à élaborer des interfaces permettant l'échange de données structurées entre les ressources, qu'elles soient humaines ( les employés ) ou issues des nouvelles technologies, en prenant bien en considération le rôle de chacun...

Par exemple, un employé de la compta n'aura pas les mêmes besoins d'informations qu'un commercial... L'un souhaitera connaître le kilométrage parcouru par un véhicule, alors que l'autre souhaitera connaître sa disponibilité...

L'intégration de ses nouveaux outils commence par une description des ressources existantes, de leurs capacités, de leur besoins, de leurs rôles, et des autres ressources qu'elles utilisent.

Le format de données RDF (principalement utilisé pour le web-semantique ou les énormes bases de connaissance médicales ) et ses extension est une approche simple, open-source, facile à mettre en oeuvre et peut constituer soit une première marche, soit un complément non negligeable dans l'intégration de ces outils.

Le développement récent de l'interface Dreamcatcher de Smag0 permet déjà d'élaborer de manière simple, collaborative, évolutive, ( et parfois même ludique) des bases de connaissance exploitables par ces nouveaux outils.

De nouvelles interfaces (mobiles, tactiles, basées sur la voix, les mouvements... ) peuvent également être développés en fonction des besoins spécifiques de vos collaborateurs de leur rôle et de leur besoins.

Pour une étude des possibilités applicables à votre entreprise en matière d'intégration et d'exploitation des nouvelles technologies n'hésitez à prendre contact avec nos spécialistes DataScientists :

Service commercial : smag0@outlook.fr
Nous suivre sur twitter, rester informé : @dfaveris
Support : 0671578914

06/12/2015

Concours Developpeur Sphero Js java Mathematique Machine Learning

[Article en cours de rédaction]
Pour être informé de la date officielle d'ouverture du concours, devenir partenaire du concours, proposer un prochain concours ou toute autre suggestion, envoyer nous un mail , ou un twit @DFaveris .
<bouton inscription concours >(prochainement)
Smag0 organise prochainement un concours ouvert aux développeurs, mathématiciens, adeptes du machine learning, bidouilleurs, hackers, inventeurs, makers... dans l'objectif de dénicher ses futurs talents.
Le premier concours Smag0 a pour objectif d'améliorer et de finaliser le code existant d'un projet. Vous pouvez former des équipes ou développer en solo.
Historique :
Smag0 est un système complexe dont la finalité et de construire " un robot qui range ma chambre", ou au moins de faire avancer la recherche dans ce sens.
Dans ce contexte et avec tous les gadgets et objets connectés qui arrivent sur le marché, il parait judicieux pour plusieurs raisons, de décomposer l'objectif : ne pas developper "un robot qui range ma chambre", mais plusieurs modules, robots, objets connectés, qui collaboreraient, échangeraient des informations, et contribueraient à faciliter le rangement d'une chambre ou toute autre tâche domestique.
Smag0 est donc conçu en ce sens, comme un système multi-agents. Ces agents autonomes partagent des informations sur leur environnement, ou sur les habitudes des utilisateurs, et agissant sur cet environnement.
Le Projet :
Ces robots, objets connectés, modules robotiques, agents, doivent pour pouvoir agir au mieux sur leur environnement, posséder un minimum de connaissance sur celui-ci.
Sphero-Carto est un sous-projet de Smag0, un module dont le but est d'établir la cartographie d'un environnement, d'une maison, d'une pièce et de rendre cette cartographie accessible aux autres robots et objets connectés.
Le Principe :
Pour établir la cartographie, le principe qui a été choisi est de faire évoluer un robot dans l'environnement, de récupérer ses coordonnées et les points de collision.
Outils & Matériel :
Pour sa simplicité d'utilisation (un jeu d'enfant), la facilité avec laquelle on peut se le procurer <lien vers comment se procurer Sphero>, nous avons pris l'option d'utiliser le robot Sphero d'Orbotix.
Mais il ne faut pas oublier que les principes essentiels du projet Smag0 sont la modularité et l'evolutivité. Vous pouvez donc très bien utiliser un autre robot, objet connecté du marché, ou que vous fabriquerez.
Objectif :
Établir la cartographie d'une pièce comme celle-ci <exemple de carte>
En faisant évoluer un/des robot(s) dans notre pièce, on récupère ses coordonnées et les points de collision dessinant ainsi les meubles ou obstacles rencontrés.
En enregistrant la carte d'une pièce "rangée" comme référence, on peut comparer la carte actuelle et déduire l'emplacement des objets qu'il faut ranger et envoyer d'autres modules / robots pour les ranger.
Le Code Existant :
Pour le moment, le projet Sphero-Carto à suivi deux pistes, mais d'autres possibilités s'offrent à vous <lien vers les différentes API orbotix> :
Une interface Android < lien vers le code> et une interface web (nodejs, Sphero.js, p5js, socket).
Le code actuel est très "pourri" c'est un premier jet, un code pour tester le concept, mais il remplit les fonctionnalités suivantes (que vous pourrez certainement ameliorer ) :
- proposer une interface pour calibrer, contrôler le robot en manuel et le faire passer en mode automatique pour qu'il parcours l'environnement tout seul.
- proposer une interface pour visualiser le parcours, définir des zones repérées (meubles, obstacles, portes...)
- récupérer le parcours du robot et détecter les points de collision, l'alignement des points de collision dessinant un obstacle.
Vous pouvez proposer :
- des améliorations du code existant ( optimisation, correction... )
- un algorithme de correction d'erreurs, des paramétrages (vitesse, seuil...), des fonctions qui permettront d'optimiser le résultat ---> c'est notre GROS PROBLEME À RESOUDRE (voir le paragraphe "gros problème à résoudre", plus bas dans cet article).
- d'autres solutions avec d'autres robots, d'autres interfaces, comme une arduino avec des capteurs infrarouges ou un drone avec une caméra...
- toute amélioration sur la procédure de cartographie comme par exemple : poser Sphero dans un angle, déterminer manuellement dans un premier temps les limites de l'environnement, calculer la rotation induite par une collision, proposer une autre idée pour le stockage du parcours, et le partagé des informations ( rdf, rdfstream, BigData, cloud...XML,JSON), utiliser plusieurs Sphero, surveillance par un autre robot muni d'un caméra...
Technique :
Sphero se connecté en bluetooth
Les Api Sphero proposent des fonctions ( datastream, locator, collision) pour récupérer, après calibrage, les coordonnées du robot. Ces coordonnées sont calculées en fonction de la distance parcourue dans une direction, et peuvent être definies dans un repère orthonormé < image du repère >.
Sphero détecté les collisions et peut également envoyer leur position dans ce repère.
Grâce à ses fonctionnalités, on peut récupérer les informations primordiales des positions (x,y,collision), sous forme de liste indiquant pour chaque point(x,y) si le robot à rencontré un obstacle ou non.
(0,0,false)
(5,0,false)
(10,3,false)
(15,9,true)
(15,5,false)...
En récupérant les informations du Sphero, on peut même détecter de quel côté de la boule était la collision, avec quelle force cette collision a eu lieu, et qu'elle était la vitesse de Sphero à ce moment  --> API sphero àofficielle
Pour l'instant, nous utilisons l'API officielle mais il existe d'autres possibilités spheron.js, cyclon.js...
LE GROS PROBLEME À RESOUDRE :
Lors de l'utilisation de Sphero-Carto avec le code présenté ci dessus ( Android et web), un problème se pose.
Lors des collisions, la boule Sphero semble affectée par le choc et l'on peut noter deux sources d'erreurs pour le résultat final :
- la boule perd le nord et subit une déviation
- la boule qui rencontre un mur continue d'envoyer des positions différentes, comme si elle traversait l'obstacle.
<insérer des screenshoots>
Votre boulot, si vous l'acceptez est de corriger les coordonnées envoyées par Sphero par tout moyen (évaluation d'erreurs, machine learning, parcours optimisé...)
Le Gagnant :
Le gagnant sera celui/celle (équipe ou solo) qui pourra proposer un code offrant la cartographie partageable la plus proche de la réalité.
Votre application, interface, service devrait être d'une utilisation simple, pour un coût faible.
Votre solution devra fournir code et indications (en français ou en anglais) pour se procurer les outils nécessaires, pré-requis, materiel,... devra être open,  accessible au plus grand nombre, et permettre à chacun de reproduire votre solution.
[Article en cours de rédaction]

19/05/2014

Re: livre-rdf-introduction


Pas facile d'ecrire un livre en CHOUET.

Le CHOUET cette nouvelle langue que le gouvernement veux nous imposer, par traduction primitive du langage OWL, une extension du langage RDF(Resource Deqcription Framework) afin d'être compris par les machines .

C'est certainement plus facile pour les jeunes, ceux de la génération Y et après, ceux qui ont l'habitude de communiquer par sms, par phrases courtes ou même par abréviations.

Ce langage sms qui généralement provoque chez leurs parents l'incrédulité et l'incompréhension la plus totale...

On croyait que ça s'arreterait rapidement... On avait passé le cap des premiers LOL et autres MDR. On croyait que c'était juste une mode entre "d'jeuns" comme le verlan que l'on avait infligé nous même à nos parents... On avait même accepté à l'époque de passer pour des "boulos" puisque les "has-been" étaient démodés depuis belle lurette . On était surpris par les dernieres tendances "hypster", qui d'après ce que j'en comprenais à l'époque ne se voulait d'aucune mode mais ressemblait un peu à toutes les autres sans accepter d'en avoir l'air...
Mais là... on atteignait les sommets :  le "français" était en phase de réécriture. Exit la grammaire et la conjugaison comme nous les avions apprises à l'école primaire...

Faute à qui ? au différents mooc sensés fournir gratuitement des cours à chacun permettant ainsi de se spécialiser dans un domaine précis sans aucune nécessité de maitriser les " matières généralistes" ...

On aurait dû s'en douter depuis longtemps... déjà quand Microsoft, Google et les autres se sont mis d'accord  pour adhérer aux normes du schemas.org. Deux dinosaures comme ça qui s'intéressent à une techno... ce n'est pas sans signification... Et le W3C en première ligne... ce n'est pas rien non plus !

Comment ça marche le CHOUET ?

Le pire c'est qu'il n'y a rien de plus simple et que l'on peut TOUT décrire, puisque RDF est un métalangage, on peut même s'appuyer sur les description faites par les autres pour éclaircir et préciser nos intentions. Par exemple, si je veux décrire une personne, je pourrais m'appuyer sur l'URI : https://schema.org/Person qui définit déjà un certain nombre de propriétés afférentes à une personne, comme par exemple "birthDate" qui correspondra à la date de naissance de cette personne et sera défini à cette adresse : https://schema.org/birthDate.

Ces URI (ou adresses uniques) peuvent être utilisées pour donner plus d'informations sur le contenu des pages web comme le préconise schemas.org, mais également pour décrire, partager, fusionner, et inférer sur des données disparates ou venant d'horizon ou de points de vue différents. Ces données peuvent être regroupées sous forme d'ontologies ( une ontologie représentant le vocabulaire d'un domaine et les relations entre ses concepts)

D'autres ont également senti le vent tourner et s'y sont mis à l'époque GoodRelations, par exemple pour le e-commerce s'appuyant eux -mêmes sur d'autres ontologies comme ou vocabulaires comme FOAF.

Comment utiliser le CHOUET ?

Comment je m'y suis mis ? tout bêtement... un enfant qui peut prononcer trois mots l'utilise déjà...