Ce cours introduit à l'intelligence artificielle. La première partie du cours présente et définit ce qu'est l'intelligence et décrit les notions d'agent rationnel et d'environnement et leurs propriétés. Ces deux concepts permettent d'offrir un cadre de réflexion sur l'intelligence. La fin de la première partie présente les neufs formes d'intelligence selon Howard Gardner. La seconde partie du cours présente et définit l'intelligence artificielle, initiée par Marvin Minsky et John McCarthy au MIT. Elle présente également le test de Turing, test permettant de déterminer si une machine peut penser. Cette partie se termine en présentant les six grands domaines de l'intelligence artificielle.
Machine Learning et Intelligence ArtificielleSoft Computing
Machine Learning (ML) et Intelligence Artificielle (AI) sont au cœur des stratégies des géants du net : reconnaissance de textes, de visages, de sentiments, analyse de signaux issus notamment d’objets connectés. Comment capitaliser sur ces méthodologies pour des applications Marketing ? Avec quels outils, méthodes et compétences ?
Google, Facebook, Apple et autres Microsoft se livrent une bataille de Titan sur le terrain de l’Intelligence Artificielle. Cette débauche de moyens en recherche et développement génère la diffusion en Open Source de nombreux algorithmes ou le foisonnement de fonctions et d’API de Machine Learning et Deep Learning et d’AI « as a service ». Avec des efforts minimes, tout-un-chacun peut aujourd’hui accéder simplement et pour un coût modique à des fonctionnalités puissantes pour reconnaître un visage, une voix, des sentiments …
En outre, la démocratisation des technologies Big Data donne accès à des puissances de traitement considérables qui permettent d’appliquer ces algorithmes de Machine Learning sur des centaines de milliers de points, des milliards d’enregistrements et des volumes de plusieurs péta-octets.
Le Marketing et la connaissance client capitalisent sur toutes ces nouvelles possibilités : conseiller le bon produit – en mode recommandation ou substitution, anticiper des changements dans les comportements, s’adresser au client de façon complètement personnalisée, surveiller en temps réel des indicateurs de bon ou mauvais fonctionnement – objets connectés, fluidifier et optimiser l’expérience client en identifiant des axes d’amélioration des parcours ou process.
Ce séminaire vise à démystifier le Machine Learning, à en dessiner des applications potentielles pour le Marketing. Les modalités de mise en œuvre – outils, procédures et techniques, forces et faiblesses – seront détaillées à travers la présentation de cas d’usage.
L’intelligence artificielle est l’un des sujets de bouleversements majeurs qui affectent notre époque. Rarement une évolution technologique n’aura engendré autant d’opportunités de résolutions de problèmes, autant de changements dans les usages, autant de peurs.
Pourtant, il ne s’agit absolument pas d’une rupture technologique. L’intelligence artificielle s’inscrit dans la continuité de l’informatique dont la puissance de calcul ne cesse de croître, augmentée par la disponibilité de grandes masses de données que le monde Internet sait agréger.
L’intelligence artificielle permet maintenant aux voitures de rouler sans conducteurs, aux robots de devenir de plus en plus autonomes, aux médecins de faire des diagnostics plus fins, aux avocats de faire des contrats plus précis
Conférence à l'Ecole Multimédia du 9 décembre 2016 : "L’intelligence artificielle aujourd’hui - Machine learning et réseaux de neurones" dans le cadre des Labdays.
Machine Learning et Intelligence ArtificielleSoft Computing
Machine Learning (ML) et Intelligence Artificielle (AI) sont au cœur des stratégies des géants du net : reconnaissance de textes, de visages, de sentiments, analyse de signaux issus notamment d’objets connectés. Comment capitaliser sur ces méthodologies pour des applications Marketing ? Avec quels outils, méthodes et compétences ?
Google, Facebook, Apple et autres Microsoft se livrent une bataille de Titan sur le terrain de l’Intelligence Artificielle. Cette débauche de moyens en recherche et développement génère la diffusion en Open Source de nombreux algorithmes ou le foisonnement de fonctions et d’API de Machine Learning et Deep Learning et d’AI « as a service ». Avec des efforts minimes, tout-un-chacun peut aujourd’hui accéder simplement et pour un coût modique à des fonctionnalités puissantes pour reconnaître un visage, une voix, des sentiments …
En outre, la démocratisation des technologies Big Data donne accès à des puissances de traitement considérables qui permettent d’appliquer ces algorithmes de Machine Learning sur des centaines de milliers de points, des milliards d’enregistrements et des volumes de plusieurs péta-octets.
Le Marketing et la connaissance client capitalisent sur toutes ces nouvelles possibilités : conseiller le bon produit – en mode recommandation ou substitution, anticiper des changements dans les comportements, s’adresser au client de façon complètement personnalisée, surveiller en temps réel des indicateurs de bon ou mauvais fonctionnement – objets connectés, fluidifier et optimiser l’expérience client en identifiant des axes d’amélioration des parcours ou process.
Ce séminaire vise à démystifier le Machine Learning, à en dessiner des applications potentielles pour le Marketing. Les modalités de mise en œuvre – outils, procédures et techniques, forces et faiblesses – seront détaillées à travers la présentation de cas d’usage.
L’intelligence artificielle est l’un des sujets de bouleversements majeurs qui affectent notre époque. Rarement une évolution technologique n’aura engendré autant d’opportunités de résolutions de problèmes, autant de changements dans les usages, autant de peurs.
Pourtant, il ne s’agit absolument pas d’une rupture technologique. L’intelligence artificielle s’inscrit dans la continuité de l’informatique dont la puissance de calcul ne cesse de croître, augmentée par la disponibilité de grandes masses de données que le monde Internet sait agréger.
L’intelligence artificielle permet maintenant aux voitures de rouler sans conducteurs, aux robots de devenir de plus en plus autonomes, aux médecins de faire des diagnostics plus fins, aux avocats de faire des contrats plus précis
Conférence à l'Ecole Multimédia du 9 décembre 2016 : "L’intelligence artificielle aujourd’hui - Machine learning et réseaux de neurones" dans le cadre des Labdays.
1 hour to browse the algos stars of machine learning. No code, big concepts with a little math. Linear regression, classification (logistic regression / svm / tree), neural network, deep learning...
Introduction to AI: This covers the history of AI and its development, as well as the definition and scope of AI and its various subfields.
Machine Learning: This covers the basics of machine learning, including supervised and unsupervised learning, regression and classification algorithms, and decision trees.
Neural Networks: This covers the basics of neural networks, including feedforward and recurrent neural networks, activation functions, and backpropagation.
Natural Language Processing: This covers the basics of natural language processing, including text classification, sentiment analysis, and named entity recognition.
Computer Vision: This covers the basics of computer vision, including image classification, object detection, and image segmentation.
Robotics: This covers the basics of robotics, including robot kinematics and dynamics, motion planning, and control.
Ethics and Social Implications of AI: This covers the ethical and social implications of AI, including issues related to privacy, bias, and accountability.
Rapport (Mémoire de Master) de stage PFE pour l’obtention du Diplôme Nationa...Mohamed Amine Mahmoudi
Mon rapport de stage PFE pour l’obtention du Diplôme National de Master
MÉMOIRE DE MASTER
Présenté en vue de l’obtention du
Diplôme National de Master Professionnel en Sciences et Technologies
Mention : Informatique
Spécialité : Sécurité des Systèmes Informatiques Communicants et Embarqués
Conception et Réalisation d’une Application
Sécurisée de Gestion des Ressources Humaines
L’intelligence artificielle conduira à des transformations profondes du travail. Pour s’y préparer, le rapport passe au crible trois secteurs – transports, bancaire et santé, élabore des scénarios d’évolution et propose des pistes d’action.
En savoir plus :
http://strategie.gouv.fr/publications/intelligence-artificielle-travail
L’optimisation par essaims de particuleschagra bassem
L’optimisation par essaim de particules est une méthode d’optimisation
stochastique, pour des fonctions non-linéaires, basée sur la reproduction d’un comportement social.
Support visuel de la communication au Sommet du numérique en éducation, 2019. Après avoir brièvement traité de l'IA en général, la question de l'IA en éducation est surtout discutée.
1 hour to browse the algos stars of machine learning. No code, big concepts with a little math. Linear regression, classification (logistic regression / svm / tree), neural network, deep learning...
Introduction to AI: This covers the history of AI and its development, as well as the definition and scope of AI and its various subfields.
Machine Learning: This covers the basics of machine learning, including supervised and unsupervised learning, regression and classification algorithms, and decision trees.
Neural Networks: This covers the basics of neural networks, including feedforward and recurrent neural networks, activation functions, and backpropagation.
Natural Language Processing: This covers the basics of natural language processing, including text classification, sentiment analysis, and named entity recognition.
Computer Vision: This covers the basics of computer vision, including image classification, object detection, and image segmentation.
Robotics: This covers the basics of robotics, including robot kinematics and dynamics, motion planning, and control.
Ethics and Social Implications of AI: This covers the ethical and social implications of AI, including issues related to privacy, bias, and accountability.
Rapport (Mémoire de Master) de stage PFE pour l’obtention du Diplôme Nationa...Mohamed Amine Mahmoudi
Mon rapport de stage PFE pour l’obtention du Diplôme National de Master
MÉMOIRE DE MASTER
Présenté en vue de l’obtention du
Diplôme National de Master Professionnel en Sciences et Technologies
Mention : Informatique
Spécialité : Sécurité des Systèmes Informatiques Communicants et Embarqués
Conception et Réalisation d’une Application
Sécurisée de Gestion des Ressources Humaines
L’intelligence artificielle conduira à des transformations profondes du travail. Pour s’y préparer, le rapport passe au crible trois secteurs – transports, bancaire et santé, élabore des scénarios d’évolution et propose des pistes d’action.
En savoir plus :
http://strategie.gouv.fr/publications/intelligence-artificielle-travail
L’optimisation par essaims de particuleschagra bassem
L’optimisation par essaim de particules est une méthode d’optimisation
stochastique, pour des fonctions non-linéaires, basée sur la reproduction d’un comportement social.
Support visuel de la communication au Sommet du numérique en éducation, 2019. Après avoir brièvement traité de l'IA en général, la question de l'IA en éducation est surtout discutée.
Support de ma présentation à l'Artificial Intelligence MeetUp SOPRA STERIA du 21 juin 2016.
Cette présentation a pour objectif de présenter notre vision des opportunités
de la transformation digitale en général et de l’arrivée de l’intelligence
artificielle en particulier.
Elle aborde également l’importance du changement de paradigme, les
impacts profonds sur nos modes de vie et la nécessaires transformation de
nos modèles et des cadres normatifs et légaux.
Elle expose les grands principes, les perspectives technologiques et les
orientations que nous devons prendre en compte dans nos réflexions
d’évolution et dans nos travaux de recherche.
Ce deuxième cours concerne les tuples, séquences non modifiables d'éléments. On peut les étendre en tuples nommés en ajoutant un nom à chacune des entrées du tuple, appelées alors champs. Enfin, on peut aller plus loin et définir des objets en associant des fonctions à des données. Cette seconde partie introduit à la programmation orientée objet.
Cette présentation concerne le développement piloté par les tests (TDD, Test-Driven Development). Cette méthodologie se base sur des tests unitaires qui testent de manière indépendante des unités de code (module, procédure/fonction, classe...). En particulier, cette présentation utilise la librairie CUnit utilisée pour le langage C.
Ce cours présente la programmation fonctionnelle et montre comment il est possible de programmer avec ce paradigme en utilisant Python. La première partie présente la notion d'objet de type fonction, les fonctions lambda, le type callable et les closures. La deuxième partie présente les décorateur et montre comment ajouter du comportement à une fonction à l'aide d'un décorateur. La troisième partie présente les itérateurs et les générateurs qui, grâce à l'instruction yield, génère les données à la demande.
Ce premier cours introduit la notion de système embarqué en commençant par en donner une définition. Il les caractérise ensuite sur base de plusieurs critères : type d'application, de fonction visé, taille, fiabilité, efficacité. Il présente ensuite plusieurs aspects hardware (unité de calcul, architecture matérielle, composants clés) et software (niveau de programmation, processus de développement). Enfin, il conclut en discutant sur ce qu'est un ingénieur en systèmes embarqués.
Slides du cours "JAVA1001 : Introduction à la programmation Java" de la formation "Apprendre Java et la Programmation Orientée-Objets" du learning center de http://www.ukonline.be
Ce premier cours présente les notions d'objet et de classe, et le lien entre elles. Il présente aussi le premier concept clé de la programmation orientée objet, à savoir l'encapsulation des données. Les exemples sont fournis dans plusieurs langages (Python, C#, Java, C++ et PHP).
Ce cours concerne les arbres, structure de données organisant les données de manière hiérarchique dans de nœuds reliés entre eux par une relation parent-enfant. Le cours présente les arbres généraux et ensuite les arbres binaires, où chaque nœud possède 0 ou 2 enfants. Enfin, le cours termine en présentant des algorithmes de recherche et en particulier l'arbre binaire de recherche.
Ce premier cours introduit à plusieurs aspects liés au développement informatique. Le cours présente comment versioner son code avec le système Git et comment le déployer avec Heroku. Il présente ensuite comment débugguer avec le module pdb et comment profiler son code avec les modules timeit et profile. Enfin, le cours termine en présentant le concept de tests unitaires que l'on peut construire avec les modules doctest et unittest.
Ce cours concerne la manipulation des chaines de caractères et les expressions régulières. La première partie présente la classe str Python ainsi que les opérations qu'il est possible de faire sur des objets str. La seconde partie concerne les expressions regulières qui permettent de valider des chaines de caractères ou d'en extraire des sous-chaines qui satisfont un motif donné. On y voit finalement comment utiliser le module re Python.
Ce cours aborde la gestion d'erreurs en programmation, c'est-à-dire comment gérer les situations où une erreur se produit. Après avoir présenté le principe des spécifications et de la programmation défensive avec l'instruction assert, ce cours présente l'instruction try/except qui permet de capturer des erreurs. Enfin, le cours termine en présentant comment définir ses propres erreurs et les générer avec l'instruction raise.
Ce premier cours avancé sur Python concerne les deux structures de données avancées que sont les ensembles et les dictionnaires. Ces derniers sont notamment utilisés pour construire des bases de données orientées document.
Ce deuxième cours aborde la programmation réseau, c'est-à-dire le développement d'applications avec plusieurs composants qui communiquent entre eux via la réseau. Après une rapide présentation des protocoles UDP et TCP, le cours aborde la notion de socket et présente le module Python de même nom. Le cours présente deux applications concrètes : une application de chat (basé sur UDP) et une application echo (basé sur TCP). Le cours se termine par la découverte de la notion de protocole de communication et de la définition du format des messages échangés.
Présentation du projet de transmission numérique dans lequel les étudiants sont amenés, en équipes mixtes électroniciens - informaticiens, à développer une application qui, sur base de données collectées par des senseurs, propose une analyse de ces dernières pour fournir un service.
Ce cours présente les principaux moyens de communications que l'on peut déployer au sein d'un système embarqué. Après un rappel sur les différents types de communication (série/parallèle, synchrone/asynchrone, half-duplex/full-duplex), le cours présente le port série ainsi que l'implémentation UART. Vient ensuite le bus USB et les deux modes en hôte ou périphérique. Après cela, le cours présente les protocoles I2C et puis SPI. Enfin, il termine avec le simple bus 1-Wire. Tous ces différents moyens de communication sont disponibles sur la BeagleBone Black et le cours illustre comment les manipuler à l'aide du Linux embarqué.
Cette conférence présente LaTeX, un outil permettant de réaliser des documents de haute qualité typographique et professionnelle. Après avoir présenté quelques règles de typographie de la langue française, la présentation fait découvrir les bases de LaTeX et montre comment réaliser son premier document. Elle présente ensuite plusieurs constructions de base comme les listes, l'inclusion d'images et de tableaux, les mathématiques, les listings de code source. Enfin, elle termine avec des constructions plus avancées, comme la notion de figure et références croisées.
Cours Conférence INHESJ - IA et cybersécuritéOPcyberland
Cours conférence de l'INHESJ dans le cadre de la session 2017 "Sécurité numérique", organisée à l'Ecole Militaire, le 19 juin 2017. Titre du cours : Les apports de l'intelligence artificielle en cybersécurité - cyberdéfense.
Durée : 3 heures
Conférence Sécurité et Intelligence Artificielle - INHESJ 2018OPcyberland
Cours-Conférence - INHESJ - Session Sécurité Numérique 2018.
Les apports de l'intelligence artificielle à la cybersécurité et la sécurité de l'IA. Conférence du 02 mai 2018
Lorsque l'intelligence artificielle uberise la cybersécurité...OPcyberland
Colloque "Economie de la cybersécurité" - 14 novembres 2016
Musée de l'Armée - Hôtel des Invalides - Paris
Organisé par la Chaire de Cyberdéfense & Cybersécurité Saint-Cyr
Le progrès de l'intelligence artificielle et ses conséquencesFernando Alcoforado
Les experts estiment que l'intelligence des machines correspondra à celle des humains d'ici 2050, grâce à l'intelligence artificielle. La conséquence immédiate des progrès de l'intelligence artificielle est la progression du chômage qui est inévitable parce qu'elle résulte de forces économiques hors de contrôle. L'intelligence artificielle est positive pour le capitaliste qui en fait usage car il affronterait ses concurrents
de forme plus compétitif et serait aussi extrêmement négatif pour le capitaliste parce qu'il tend à réduire les revenus disponibles pour la masse des travailleurs exclus de la production pour contribuer, de cette façon, à la baisse de la demande de produits et services. La plus grande menace de l'intelligence artificielle est que cela pourrait conduire à l'extinction de la race humaine, selon le scientifique Stephen Hawking, qui deviendra incontrôlable au point de mettre en danger l'humanité.
Ces dernières décennies nous assistons de plus en plus à l'utilisation de l'expression des systèmes Intelligents dans les domaines qui s'appuient sur la technologie informatique. Elle devient courante au fur et à mesure que les techniques informatiques s'intéressent aux activités humaines. Les systèmes intelligents font maintenant partis de notre quotidien comme en témoigne l'existence de nombreuses applications qui s'adossent sur les paradigmes de l'intelligence artificielle.
Intervention effectuée lors du 8e Forum des Usages Coopératifs, Brest, 6 juillet 2018. Invitation à réfléchir sur la coopération et non pas la compétition (ou la guerre) des intelligences, vivantes ou non, humaines ou non.
Introduction à la partie technique de la formation Digitalent mise en place par l'équipe ECAM. Cette formation couvre l'impression 3D, la programmation et l'électronique embarquée.
Ce cours présente ce qu'est l'internet des objets (IoT), un réseau parallèle au web connectant entre eux des dispositifs physiques. Les différences majeures entre l'IoT et le web sont mises en avant, ainsi que les grands défis auxquels le monde de l'IoT est confronté. Le cours présente ensuite brièvement comment on peut gérer un système embarqué à distance, notamment pour la maintenance, le monitoring, le disaster recovery, notamment à l'aide d'un watchdog. Enfin, pour conclure, plusieurs architectures réseaux possibles sont présentées, pour inter-connecter des systèmes embarqués et les relier au web.
Ce cours présente la notion de système embarqué temps-réel et comment il est possible de gérer cela au niveau software avec un Linux embarqué. Plusieurs solutions sont présentées : OS temps-réel, linux préemptif et support hardware. Enfin, le cours présente le PRU-ICSS, dont est dotée la BeagleBone Black, une unité de calcul spécialisée pour les applications temps réel. Le cours présente comment programmer le PRU et notamment comment compiler un code à sa destination à l'aide d'un langage d'assemblage.
Ce cours présente la notion de système d'exploitation et en particulier les Linux embarqués qui sont spécialement conçus pour des systèmes embarqués de haut niveau avec des processeurs à usage général (GPP) comme unité de calcul principale. Il explique ensuite comment Linux embarqué démarre, quelles sont les différentes phases et modalités de stockage du système d'exploitation. Enfin, il présente la BeagleBone Black, ses caractéristiques et comment la programmer. Le cours conclut en expliquant la notion de driver de périphérique et comment ils sont conçus sous Linux à l'aide de fichiers.
Cette conférence présente le framework Johnny-Five qui permet de programmer des cartes embarquées à l'aide d'un module Node.js. Après un tour rapide du JavaScript et de son fonctionnement, en particulier la programmation fonctionnelle et l'exécution pilotée par les évènements, la présentation décrit Node.js et aborde rapidement son fonctionnement. La troisième partie présente Johnny-Five et plusieurs exemples simples de contrôle d'une LED et de l'utilisation des entrées/sorties numériques et analogiques.
Cette présentation montre plusieurs outils gratuits qui peuvent être utilisés pour gérer plusieurs aspects de la gestion de projets, en particulier informatique, de manière collaborative. On y voit comment versioner son code avec Git, déployer son code avec Heroku, tester son code avec Travis, gérer et planifier son temps et ses tâches avec Trello, FreedCamp et Tom'splanner, comment communiquer avec Slack et comment rédiger sa documentation avec Read the Docs.
Ce cours présente comment réaliser des interfaces graphiques avec Python en utilisant la librairie Kivy. La première partie rappelle les principes de la programmation évènementielle puis présente la séparation interface/comportement à l'aide de fichiers KV et Python. La deuxième partie présente comment réaliser des dessins avec les composants Canvas. On y voit comment dessiner des formes, appliquer des transformations et on termine avec un exemple de composants déplaçables.
Ce second cours d'algorithmique présente des techniques utilisées en intelligence artificielle pour trouver une solution à un problème de recherche. La première partie définit un problème de recherche : état, action, arbre d'exécution, espace d'états, cout, objectif et formalisation. La deuxième partie présente plusieurs algorithmes de recherche : non informé (BFS, UCS, DFS, DLS, ID-DFS, BS), informé (BFS, A*) et avec adversaire (Minimax, Alpha-Beta Pruning). Enfin, la troisième partie présente deux librairies Python qui implémentent des algorithmes de recherche.
Ce cours présente les techniques que l'on peut utiliser pour effectuer des calculs parallèles avec une machine. La première partie introduit à la notion de parallélisme et de processus. Elle présente ensuite comment lancer et manipuler des processus avec les modules subprocess et multiprocessing. On y voit également comment communiquer entre processus avec des Queue et des Pipe. La deuxième partie présente les threads et leur utilisation avec le module threading. On y voit également comment créer un pool de workers/executors pour exécuter des jobs. Enfin, la dernière partie présente le framework dispy qui permet de facilement faire du calcul distribué et exploiter le parallélisme de données.
Ce cours est le premier en lien avec l'algorithmique présente les algorithmes et fonctions récursives ainsi que le type abstrait de données arbre. La première partie revient sur les notions de problème, algorithhme et spécification. La deuxième partie présente la récursion et de nombreux exemples. Enfin, la troisième partie présente le type abstrait de données arbre qui permet d'organiser des données de manière hiérarchique. Le cours se termine avec une introduction aux notions de backtracking et lookahead.
Ce cours présente le notion de qualité de code et quels sont les critères et pratiques à adopter pour produire du code de qualité. Il présente les erreurs de programmation les plus fréquentes auprès des apprentis programmeurs. La deuxième partie du cours présente la notion de convention de codage et en particulier le PEP 0008 qui décrit des conventions à adopter lorsqu'on programme en Python.
Ce cours présente la notion de qualité de code et comment il est possible de l'évaluer grâce à des métriques mesurables. Après avoir présenté plusieurs métriques standards, il se concentrer sur des aspects de qualité de code spécifique à l'orienté objet et présente les cinq concepts de l'orienté objet. La deuxième partie du cours présente plusieurs bonnes pratiques à avoir en programmation orientée objet, sur base d'exemples concrets.
Ce cours présente ce qu'est Internet et son fonctionnement. En partant de l'ordinateur personnel ou smartphone connectés en un réseau local, le cours remonte petit à petit vers le fournisseur d'accès et l'Internet complet. Le cours présente ensuite plusieurs protocoles qui assurent le bon fonctionnement d'Internet et des services qu'il permet d'offrir. Enfin, la dernière partie concerne l'internet des objets.
Ce cours introduit aux trois langages de programmation du Web que sont l'HTML, le CSS et le Javascript. L'HTML est un langage de balisage qui permet de décrire un document et sa structure. Le CSS est un langage qui permet de définir des règles de style à appliquer à un document. Enfin, Javascript est un langage permettant d'ajouter un aspect dynamique à une page web.
Ce cours introduit à la notion de type abstrait de données (TAD). On commence par y découvrir les principes de complexité temporelle et spatiale permettant d'analyser les performances d'une structure de données et d'algorithmes. Ensuite, le cours présente plusieurs TAD : la pile, la file, le deque et le vecteur. Enfin, il présente comment implémenter des TAD avec des structures chainées.
Ce cours présente le langage UML qui permet notamment de modéliser des logiciels programmés en orienté objet. Ce cours présente les diagrammes de classes qui permettent de décrire la structure d'un logiciel et les diagrammes d'activité qui permettent de décrire les aspects dynamiques de l'exécution.
Dans ce cours, on découvre comment lire et écrire des fichiers à l'aide de Python. Il est possible de créer des fichiers texte ou des fichiers binaires. Pour manipuler un fichier, il faut d'abord l'ouvrir, puis on peut faire les opérations et enfin on doit le refermer.
Ce cours concerne le polymorphisme, c'est-à-dire la capacité pour une variable de prendre plusieurs types de donnée durant le temps de sa vie. Le cours présente aussi la notion de classe abstraite et d'interface qui est une classe abstraite pure.
Dans ce cours, on découvre comment construire une interface graphique en Python en utilisant la librairie Tk. Après avoir vu les différents composants de base, ce cours présente la programmation évènementielle qui permet d'écrire du code qui réagit à des évènements comme le clic sur un bouton, par exemple.
Ce cours présente la notion d'héritage entre classes qui permet de construire une relation de type "is-a". On crée une sous-classe à partir d'une super-classe, pour en hériter une partie de ses membres. On peut ensuite y ajouter des membres spécifiques. Ce cours présente également la redéfinition de méthodes, et comment utiliser les modificateurs de visibilité des membres.
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Laurent Speyser
(Conférence dessinée)
Vous êtes certainement à l’origine, ou impliqué, dans un changement au sein de votre organisation. Et peut être que cela ne se passe pas aussi bien qu’attendu…
Depuis plusieurs années, je fais régulièrement le constat de l’échec de l’adoption de l’Agilité, et plus globalement de grands changements, dans les organisations. Je vais tenter de vous expliquer pourquoi ils suscitent peu d'adhésion, peu d’engagement, et ils ne tiennent pas dans le temps.
Heureusement, il existe un autre chemin. Pour l'emprunter il s'agira de cultiver l'invitation, l'intelligence collective , la mécanique des jeux, les rites de passages, .... afin que l'agilité prenne racine.
Vous repartirez de cette conférence en ayant pris du recul sur le changement tel qu‘il est généralement opéré aujourd’hui, et en ayant découvert (ou redécouvert) le seul guide valable à suivre, à mon sens, pour un changement authentique, durable, et respectueux des individus! Et en bonus, 2 ou 3 trucs pratiques!
L'IA connaît une croissance rapide et son intégration dans le domaine éducatif soulève de nombreuses questions. Aujourd'hui, nous explorerons comment les étudiants utilisent l'IA, les perceptions des enseignants à ce sujet, et les mesures possibles pour encadrer ces usages.
Constat Actuel
L'IA est de plus en plus présente dans notre quotidien, y compris dans l'éducation. Certaines universités, comme Science Po en janvier 2023, ont interdit l'utilisation de l'IA, tandis que d'autres, comme l'Université de Prague, la considèrent comme du plagiat. Cette diversité de positions souligne la nécessité urgente d'une réponse institutionnelle pour encadrer ces usages et prévenir les risques de triche et de plagiat.
Enquête Nationale
Pour mieux comprendre ces dynamiques, une enquête nationale intitulée "L'IA dans l'enseignement" a été réalisée. Les auteurs de cette enquête sont Le Sphynx (sondage) et Compilatio (fraude académique). Elle a été diffusée dans les universités de Lyon et d'Aix-Marseille entre le 21 juin et le 15 août 2023, touchant 1242 enseignants et 4443 étudiants. Les questionnaires, conçus pour étudier les usages de l'IA et les représentations de ces usages, abordaient des thèmes comme les craintes, les opportunités et l'acceptabilité.
Résultats de l'Enquête
Les résultats montrent que 55 % des étudiants utilisent l'IA de manière occasionnelle ou fréquente, contre 34 % des enseignants. Cependant, 88 % des enseignants pensent que leurs étudiants utilisent l'IA, ce qui pourrait indiquer une surestimation des usages. Les usages identifiés incluent la recherche d'informations et la rédaction de textes, bien que ces réponses ne puissent pas être cumulées dans les choix proposés.
Analyse Critique
Une analyse plus approfondie révèle que les enseignants peinent à percevoir les bénéfices de l'IA pour l'apprentissage, contrairement aux étudiants. La question de savoir si l'IA améliore les notes sans développer les compétences reste débattue. Est-ce un dopage académique ou une opportunité pour un apprentissage plus efficace ?
Acceptabilité et Éthique
L'enquête révèle que beaucoup d'étudiants jugent acceptable d'utiliser l'IA pour rédiger leurs devoirs, et même un quart des enseignants partagent cet avis. Cela pose des questions éthiques cruciales : copier-coller est-il tricher ? Utiliser l'IA sous supervision ou pour des traductions est-il acceptable ? La réponse n'est pas simple et nécessite un débat ouvert.
Propositions et Solutions
Pour encadrer ces usages, plusieurs solutions sont proposées. Plutôt que d'interdire l'IA, il est suggéré de fixer des règles pour une utilisation responsable. Des innovations pédagogiques peuvent également être explorées, comme la création de situations de concurrence professionnelle ou l'utilisation de détecteurs d'IA.
Conclusion
En conclusion, bien que l'étude présente des limites, elle souligne un besoin urgent de régulation. Une charte institutionnelle pourrait fournir un cadre pour une utilisation éthique.
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...OCTO Technology
Par Nicolas Bordier (Consultant numérique responsable @OCTO Technology) et Alaric Rougnon-Glasson (Sustainable Tech Consultant @OCTO Technology)
Sur un exemple très concret d’audit d’éco-conception de l’outil de bilan carbone C’Bilan développé par ICDC (Caisse des dépôts et consignations) nous allons expliquer en quoi l’ACV (analyse de cycle de vie) a été déterminante pour identifier les pistes d’actions pour réduire jusqu'à 82% de l’empreinte environnementale du service.
Vidéo Youtube : https://www.youtube.com/watch?v=7R8oL2P_DkU
Compte-rendu :
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...Horgix
This is the slide deck of a talk by Alexis "Horgix" Chotard and Laurentiu Capatina presented at the MongoDB Paris User Group in June 2024 about the feedback on how PayFit move away from a monolithic hell of a self-hosted MongoDB cluster to managed alternatives. Pitch below.
March 15, 2023, 6:59 AM: a MongoDB cluster collapses. Tough luck, this cluster contains 95% of user data and is absolutely vital for even minimal operation of our application. To worsen matters, this cluster is 7 years behind on versions, is not scalable, and barely observable. Furthermore, even the data model would quickly raise eyebrows: applications communicating with each other by reading/writing in the same MongoDB documents, documents reaching the maximum limit of 16MiB with hundreds of levels of nesting, and so forth. The incident will last several days and result in the loss of many users. We've seen better scenarios.
Let's explore how PayFit found itself in this hellish situation and, more importantly, how we managed to overcome it!
On the agenda: technical stabilization, untangling data models, breaking apart a Single Point of Failure (SPOF) into several elements with a more restricted blast radius, transitioning to managed services, improving internal accesses, regaining control over risky operations, and ultimately, approaching a technical migration when it impacts all development teams.
2. Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons
Attribution – Pas d’Utilisation Commerciale – Pas de Modification 4.0 International.
3. Informations générales
IA5T Intelligence artificielle (30 heures)
5 cours de 1h30 (7,5 heures)
Travail à faire
Évaluation du cours (2 ECTS)
Présentation orale du travail à faire (40%)
Examen écrit (+ film à préparer) (60%)
3
4. Travail
Délivrables et échéances
Slides (font office de rapport)
Présentation orale (11 mai 2015)
Un code source ou un fichier modèle utilisable avec l’outil
Contraintes
Utilisation d’un outil open-source
15 minutes de présentation
5 minutes Q/R
4
5. Liste de sujets
Constraint programming (Gecode, Choco, Comet...)
Logic programming (Prolog...)
Automated reasoning (Coq, Isabelle...)
Planning et scheduling (STRIPS...)
Machine learning (Weka, Shogun, Torch...)
Data mining (RapidMiner...)
Natural language processing (CoreNLP, OpenNLP...)
Perception, computer vision (Open CV, OpenBR...)
Affective computing (Synesketch...)
Computational biology (Raptor, Abalone, )
...
5
6. Film
Avoir regardé un des quatre films proposés
Faire des liens entre les concepts vus au cours et le film
Discuter et argumenter sur une question d’IA liée au film
Évaluation
Une question à ce propos dans l’examen écrit
Avoir envoyé pour le 11 mai le film choisi
6
7. Transcendence
Transcendence (2014)
Johnny Depp, Rebecca Hall,
Morgan Freeman
Drama, Mystery, Romance
A scientist’s drive for artificial
intelligence, takes on
dangerous implications when
his consciousness is uploaded
into one such program.
7
8. The Imitation Game
The Imitation Game (2014)
Benedict Cumberbatch, Keira
Knightley, Matthew Goode
Biography, Drama, Thriller
During World War II,
mathematician Alan Turing
tries to crack the enigma code
with help from fellow
mathematicians.
8
9. Chappie
Chappie (2015)
Sharito Copley, Dev Patel,
Hugh Jackman
Action, Crime, Sci-Fi
In the near future, crime is
patrolled by a mechanized
police force. When one police
droid, Chappie, is stolen and
given new programming, he
becomes the first robot with
the ability to think and feel
for himself.
9
10. Ex Machina
Ex Machina (2015)
Alicia Vikander, Domhnall
Gleeson, Oscar Isaac
Drama, Mystery, Sci-Fi
A young programmer is
selected to participate in a
ground-breaking experiment
in synthetic intelligence by
evaluating the human
qualities of a breath-taking
humanoid A.I.
10
12. Intelligence
Pas de définition unique et reconnue de l’intelligence
Pas une seule intelligence unique et globale
Identification de plusieurs capacités
logique
abstraction
compréhension
conscience de soi
communication
apprentissage résolution de problème
intelligence émotionnelle
mémoire
planification
créativité
12
13. Agent
Percevoir de l’information, la conserver comme connaissance
Les appliquer pour comportement adaptatif selon l’environnement
Comportement décrit par une fonction mathématique
Élément(s) perçu(s) comme input, action(s) comme output
Agent Environnement
senseurs
perçoit
actuateurs
agit
?
13
14. Agent rationnel (1)
Un agent rationnel fait la bonne chose
Faire en sorte que le comportement de l’agent soit fructueux
Mesure de la performance de l’agent dans l’environnement
Séquence d’actions selon inputs, état de l’environnement change
Quatre éléments à prendre en compte
La mesure de performance qui définit le critère de succès
Les connaissances préalables de l’agent sur l’environnement
Les actions que l’agent peut effectuer
Historique des éléments perçus
14
15. Agent rationnel (2)
Pour chaque séquence possible d’éléments perçus,
un agent rationnel doit choisir une action
dont on espère qu’elle maximise sa mesure de performance
étant donné les informations apportées par la séquence
d’éléments perçus
et tout connaissance préalable dont dispose l’agent.
Permet de comparer différents agents
Réagissent-il tous de manière rationnelle aux mêmes conditions ?
15
16. Omniscience et perfection
Un agent rationnel n’est pas omniscient
L’omniscient connait le résultat effectif de ses actions
Deux situations différentes
La rationnalité maximise les performances attendues
La perfection maximise les performances réelles
Exemple du piéton qui traverse la rue...
...et qui se fait écraser par une porte d’avion
16
17. Environnement des tâches
Problème pour lequel l’agent rationnel est une solution
Description PEAS (performance, environment, actuators, sensors)
Deux situations différentes
La rationnalité maximise les performances attendues
La perfection maximise les performances réelles
17
18. Propriétés (1)
Observabilité : complète ou partielle
Accès à tout l’état de l’environnement via les senseurs ou non
Déterminisme : déterministe ou stochastique
État suivant de l’environnement complètement déterminé par
l’état actuel et l’action de l’agent ou non
Impact futur : épisodique ou séquentiel
Expérience de l’agent découpée en épisodes indépendants ou les
décisions actuelles influencent les choix futurs
18
19. Propriétés (2)
Changement : statique ou dynamique
L’environnement change pendant que l’agent prend sa décision
ou non
Temps : discret ou continu
Le temps, les éléments perçus et les actions sont discrets ou
continus
Intervenants : simple ou multi-agents
Un seul ou plusieurs agents (compétitifs ou coopératifs) se
trouvent dans l’environnement
19
20. Exemple : Taxi automatique
Type d’agent : chauffeur de taxi
Description PEAS de l’environnement de tâche
Mesure de la performance : sûr, rapide, légal, confortable,
maximisation des profits
Environnement : route, trafic, piéton, client
Actuateurs : pilotage, accélérateur, frein, signaux, klaxon,
affichage
Senseurs : caméras, sonar, compteur de vitesse, GPS,
odomètre, accéléromètre, senseurs moteur, clavier
Environnement partiellement observable, stochastique,
séquentiel, dynamique, continu et multi-agents
20
21. Comprendre l’intelligence
Comprendre comment l’être humain pense
Percevoir, comprendre, prédire, manipuler le monde
Deux manières de procéder
Comprendre notre propre manière de penser par introspection
Étudier la manière de penser par expérience psychologique
Science cognitive étudie les mécanismes de la pensée humaine
Psychologie, intelligence artificielle, philosophie, linguistique,
anthropologie et neuroscience
21
22. Penser rationnellement
Que veut dire « penser bien » (right thinking) ?
Syllogisme, raisonnement en logique aristotélicienne
Deux propositions (prémisses) menant à une conclusion
Lancement du domaine et de l’étude de la logique
Résolution automatique difficile lorsqu’on dépasse 12 faits
“Tous les hommes sont mortels, or Socrate est un homme,
donc Socrate est mortel.”
22
23. Agir rationnellement
Un agent est une entité qui agit, par une entité qui agit
Agent humain, agent logiciel...
Distinction d’un programme classique car :
Perception de l’environnement
Persistance durant une longue durée de temps
Adaptation au changement
Capacité à suivre les buts d’un autre agent
L’agent rationnel vise le meilleur résultat
Ou le meilleur résultat attendu en cas d’incertitude)
23
24. Neuf formes d’intelligence
Neuf formes d’intelligence proposées par Howard Gardner
1 Naturaliste
2 Musicale
3 Logico-mathématique
4 Existentielle (ou spirituelle)
5 Interpersonnelle
6 Corporelle/kinesthésique
7 Verbo-linguistique
8 Intrapersonnelle
9 Visuo-spatiale
24
25. Intelligence naturaliste
Capacité à trier, organiser et hiérarchiser les objets
Définir des espèces, sous-espèces, classification
Provient de notre passé de chasseur, cueilleur et fermier
Aussi utilisé aujourd’hui pour différencier voitures, chaussures...
Biologiste, paléontologue, botaniste...
25
26. Intelligence musicale
Capacité à reconnaitre les mélodies, notes, harmonies
Et également à les créer
Connection affective entre musique et émotion
Processus de pensée commune avec les mathématique
Compositeur, chanteur....
26
27. Intelligence logico-mathématique
Capacité à travailler à l’aide de chiffres
Analyser des situations et mettre au point des raisonnements
“Number/reasoning smart”
Percevoir des relations et connections
Utiliser la pensée abstraite et symbolique
Compétence en raisonnement séquentiel
Motifs de pensée inductive et déductive
Physicien, mathématicien, scientifique, détective...
27
28. Intelligence existentielle
Capacité à se poser des questions sur le sens de la vie
Quel est le but de la vie, de l’existence ?
Pourquoi on meurt ?
Comment on est apparu ?
28
29. Intelligence interpersonnelle
Capacité à comprendre les autres et à réagir adéquatement
Liée à l’empathie, la tolérance, la sociabiblité...
“People smart”
Communication verbale et non verbale efficace
Remarquer des distinctions parmi les autres
Sensibilité aux humeurs et tempéraments des autres
Accueillir favorablement plusieurs perspectives
Enseignant, acteurs, politiciens, leader de secte...
29
30. Intelligence corporelle/kinesthésique
Capacité à avoir une représentation mentale de son corps
Représentation dans l’espace et mener mouvement particulier
“Body smart”
Manipulation d’objets, utilisation de compétences physiques
Chirurgien, danseur, ahtlète...
30
31. Intelligence verbo-linguistique
Capacité de comprendre et énoncer des idées par le langage
Maitrise du vocabulaire, syntaxe, figures de style
“Word smart”
Compétence méta pour réfléchir sur l’utilisation du langage
Avocat, politicien, auteur, poète, journaliste...
31
32. Intelligence intrapersonnelle
Capacité à avoir une image fidèle de soi
Déterminer son état émotionnel, ses envies, forces et faiblesses
“Self smart”
Appréciation de soi-même, et de la condition humaine
Psychologue, leader spirituel, philosophe...
32
33. Intelligence visuo-spatiale
Capacité à se représenter un objet ou environnement en 3D
Suivre une carte, se rappeler un chemin
“Picture smart”
Imagerie mentale, raisonnement spatial, manipulation d’image,
compétence graphique et artistique, imagination active
Marin, artiste, architecte, sculpteur, chauffeur de taxi...
33
34. Intelligence du vivant
L’intelligence est la capacité à s’adapter
Trop souvent limitée à celle de l’humain, le reste étant “bête”
Trois types d’intelligence
Du vivant (grands singes apprenant langage des signes)
Collective (fourmis avec chacune un rôle)
Linguistique (communication chez les abeilles)
Intelligence présente pour toutes les formes vivantes
Espèces végétales adaptées pour attirer proies...
34
36. Intelligence artificielle
Comprendre comment construire des entités intelligentes
On ne se limite plus à comprendre l’intelligence
Intelligence artificielle fondée en 1956
Nouvelle discipline académique, création cerveau artificiel
Biologie moléculaire née en 1953 (découverte structure ADN)
Génétique, biochimie et physique
36
37. Marvin Lee Minsky (1927–2016)
Co-fonde le groupe d’IA au MIT avec John McCarthy
Travaillait en sciences cognitives et intelligence artificielle
Co-auteur de plusieurs ouvrages de référence
Perceptrons, The Society of Mind et The Emotion Machine
“The building of computer programs which perform tasks
which are, for the moment, performed in a more satisfac-
tory way by humans because they require high level mental
processes such as : perception learning, memory organization
and critical reasoning.” — Marvin Lee Minsky, 1956
37
45. Définition (1)
Étude de l’intelligence des machines et logiciels
Méthodes de création ou de simulation de l’intelligence
Comparaison au concept idéal de l’intelligence (rationnalité)
Un système rationnel fait la « bonne chose »
Plusieurs définitions possibles, triées sur deux axes
Pensée et raisonnement versus comportement
Comparaison avec performances humaines versus rationalité
39
46. Définition (2)
Penser comme les humains Penser rationnellement
“The exciting new effort to make computers
think... machines with minds, in the full and
literal sense.” (Haugeland, 1985)
“[The automation of] activities that we as-
sociate with human thinking, activities such
as decision-making, problem solving, lear-
ning...” (Bellman, 1978)
“The study of mental faculties through the
use of computational models.” (Charniak
and McDermott, 1985)
“The study of the computations that make
it possible to perceive, reason, and act.”
(Winston, 1992)
Agir comme les humains Agir rationnellement
“The art of creating machines that perform
functions that require intelligence when per-
formed by people.” (Kurzweil, 1990)
“The study of how to make computers do
things at which, at the moment, people are
better.” (Rich and Knight, 1991)
“Computational Intelligence is the study of
the design of intelligent agents.” (Poole et
al., 1998)
“AI... is concerned with intelligent behavior
in artifacts.” (Nilsson, 1998)
40
47. Alan Turing
Alan Turing (1912–1954), informaticien anglais
Et mathématicien, logicien, cryptanalyste et biologiste théoricien
Craque la machine Enigma pour aider les Alliers
Décrypte les messages échangés par les Nazis
Mort 16 jours avant son 42e anniversaire
Pardon accordée en 2013 par la Reine Elisabeth II
41
48. Test de Turing (1)
Définition opérationnelle de l’intelligence artificielle
« Une machine peut-elle penser ? » (Alan Turing)
Confrontation entre un
humain et un autre humain
et un ordinateur caché dans
une autre pièce
Questions écrites posées
à l’autre humain et à
l’ordinateur
Test passé avec succès si
l’humain ne sait pas
distinguer les deux
42
50. Domaines de l’IA
Compétences nécessaires pour passer le test de Turing
Ensemble des principales disciplines couvertes par l’IA
Traitement automatique du langage naturel (NLP)
Représentation des connaissances (KR)
Raisonnement automatisé (AR)
Apprentissage automatique (ML)
Deux disciplines complémentaires dans le test complet
Vision par ordinateur (CV)
Robotique (R)
44
51. Traitement automatique du langage
Natural Language Processing (NLP)
Interaction entre des machines et les langages humains (naturel)
Challenges dans ce domaine
Comprendre le langage naturel
Générer le langage naturel
Plusieurs tâches concrètes
Reconnaissance vocale, reconnaissance optique de caractères,
traduction, génération de résumés, analyse sentimentale...
45
52. Représentation des connaissances
Knowledge Representation (KR)
Représentation de l’information à propos du monde pour qu’une
machine puisse résoudre des tâches complexes
Utilisation de résultats de la psychologie et de la logique
Résolution de problèmes et automatisation des raisonnements
Plusieurs formalismes
Réseau sémantique, architecture de système, cadre, ontologie...
46
53. Raisonnement automatisé
Automated Reasoning (AR)
Compréhension de différents aspects du raisonnement
Deux principaux sous-domaines
Preuve automatisée de théorèmes
Vérification automatique de preuves
Principaux outils utilisés
Logique et calcul, logique floue, inférence Bayésienne...
47
54. Apprentissage automatique
Machine Learning (ML)
Apprendre sans avoir été explicitement programmé pour
Deux grandes activités
Analyse et apprentissage à partir de données (training)
Prédiction sur des données (prediction)
Exemples d’applications
Filtre anti-spam, reconnaissance optique de caractères, moteur de
recherche, vision par ordinateur
48
55. Vision par ordinateur
Computer Vision (CV)
Acquisition, traitement, analyse et compréhension d’images
Résultat comme informations numériques et symboliques
Par exemple fournis sous la forme de décisions
Plusieurs sous-domaines
Reconstruction de scènes, video/motion tracking, reconnaissance
d’objets, restauration d’images...
49
56. Robotique
Robotics (R)
Design, construction, opération et applications de robots
Trois aspects en robotique
Constructions mécaniques
Aspects électriques pour l’énergie et le contrôle de la machine
Aspects de programmation
50
58. Crédits
Photos des livres depuis Amazon
Photos des affiches de films depuis IMDB
https://www.flickr.com/photos/maryleehahn/7331139058
https://www.flickr.com/photos/seandavis/7609234618
https://en.wikipedia.org/wiki/File:Marvin_Minsky_at_OLPCb.jpg
https://en.wikipedia.org/wiki/File:Alan_Turing_Aged_16.jpg
52