Cours gratuit de Harvard : introduction à l'IA avec Python
Vous recherchez un excellent cours pour apprendre l’intelligence artificielle avec Python ? Découvrez ce cours gratuit de l’Université Harvard.
L’un des plus gros problèmes auxquels sont confrontés les débutants lorsqu’ils tentent d’apprendre l’intelligence artificielle est de choisir la meilleure ressource. Parce qu’il existe des milliards de ressources. L'introduction à l'intelligence artificielle avec Python du CS50 enseignée à l'Université Harvard est une excellente ressource pour apprendre l'IA.
Au cours de 7 semaines, vous apprendrez d’abord les concepts fondamentaux de la logique mathématique et des algorithmes de recherche de graphiques. Ensuite, vous pourrez également explorer l’apprentissage automatique, les réseaux de neurones et les modèles de langage. Plus important encore, vous construirez également plusieurs projets intéressants au cours de ce cours.
Si vous souhaitez actualiser vos bases de programmation avant de suivre ce cours, consultez CS50x Introduction à l'informatique, qui est également gratuit, pour vous familiariser avec les bases de la programmation et de l'informatique.
Passons ensuite en revue le contenu du cours.
Lien du cours : Introduction à l'intelligence artificielle du CS50 avec Python
1. Rechercher
Étant donné deux points A et B, les algorithmes de recherche visent à trouver le chemin entre A et B. Et la solution optimale est souvent le chemin le plus court entre A et B. Les exemples incluent les applications de navigation qui trouvent l'itinéraire le plus court entre deux endroits.
Ce premier module sur la recherche couvre les sujets suivants :
Recherche en profondeur d'abord (DFS)
- Recherche Broadth First (BFS)
- Recherche gourmande du meilleur premier
- Une* recherche
- Minimax
- Élagage alpha-bêta
Voici les projets que vous construirez pour ce module :
Degrés de séparation entre deux acteurs (inspiré du jeu Six Degrees de Kevin Bacon)
- Une IA pour jouer au morpion
Lien : Recherche
2. Connaissance
Le deuxième module se concentre sur les agents basés sur la connaissance qui utilisent les connaissances existantes pour tirer des conclusions.
Ainsi la recherche (premier module) et les modules de connaissances sont basés sur des algorithmes graphiques et une logique mathématique. Vous découvrirez l’apprentissage automatique et l’optimisation dans les modules suivants.
Ce deuxième module sur les connaissances couvre les éléments suivants :
-
Logique propositionnelle
- Implication
- Inférence
- Vérification du modèle
- Résolution
- Logique du premier ordre
Et les projets que vous construirez sont :
Knights : un programme pour résoudre des énigmes logiques, un balayeur d'esprit et une IA pour jouer à la construction d'un
- Créer une IA pour jouer au dragueur de mines
Lien : Connaissance
3. Incertitude
La probabilité est l’un des concepts les plus importants lors de l’apprentissage du machine learning. Ce module vous enseigne les concepts essentiels en probabilité et en variables aléatoires. Vous aurez l'occasion de construire deux projets intéressants pour conclure ce module.
Ce module couvre :
Probabilité
- Probabilité conditionnelle
- Variables aléatoires
- Indépendance
- Réseaux bayésiens
- Échantillonnage
- Modèles Markoviens
- Modèles de Markov cachés
Les projets que vous construirez sont :
Une IA qui classe les pages Web par importance
- Une IA qui évalue la probabilité qu'une personne possède un trait génétique
Lien : Incertitude
4. Optimisation
L'optimisation est un outil mathématique important qui vous permet de résoudre un large éventail de problèmes. Essentiellement, l'optimisation vous permet de trouver la solution la plus optimale parmi un ensemble de solutions.
Ce module couvre les algorithmes d'optimisation suivants :
Recherche locale
- Escalade
- Recuit simulé
- Programmation linéaire
- Satisfaction des contraintes
- Recherche en arrière
Pour ce module, vous construirez une IA qui génère des mots croisés.
Lien : Optimisation
5. Apprentissage
Il s'agit du module dans lequel vous pourrez explorer l'apprentissage automatique et les détails de divers algorithmes d'apprentissage automatique. Vous apprendrez les paradigmes d’apprentissage supervisé, non supervisé et par renforcement.
Les sujets abordés comprennent :
Classification du voisin le plus proche
- Apprentissage Perceptron
- Machine à vecteurs de support
- Régression
- Fonctions de perte
- Régularisation
- Processus décisionnel de Markov
- Apprentissage Q
- Clustering K-Means
Voici les projets de ce module :
Prédire si un client effectuera une demande en ligne
- Une IA qui apprend à jouer à Nim grâce à l'apprentissage par renforcement
Lien : Apprentissage
6. Réseaux de neurones
Ce module se concentre sur les principes fondamentaux du deep learning. En plus d'apprendre les bases du deep learning, vous apprendrez également à créer et entraîner des réseaux de neurones avec TensorFlow.
Voici un aperçu des sujets couverts par le module Réseaux de neurones :
Réseaux de neurones artificiels
- Fonctions d'activation
- Descente de pente
- Rétropropagation
- Surapprentissage
- Tensorflow
- Convolution d'image
- Réseaux de neurones convolutifs
- Réseaux de neurones récurrents
Pour conclure votre apprentissage, vous travaillerez sur un projet de reconnaissance des panneaux de signalisation.
Lien : Réseaux de neurones
7. Langue
Ce dernier module se concentre sur le travail avec le langage naturel. Des bases du traitement du langage aux transformateurs et à l'attention, voici la liste des sujets abordés par ce module :
Syntaxe
- Sémantique
- grammaire sans contexte
- N-grammes
- Un sac de mots
- Attention
- Transformateurs
Voici les projets pour ce module :
Un analyseur qui analyse les phrases et extrait les expressions nominales
- Prédiction de mots masqués
Lien : Langue
Conclusion
Des algorithmes graphiques à l'apprentissage automatique, à l'apprentissage profond et aux modèles de langage, ce cours couvre plusieurs sujets fondamentaux de l'IA.
Je suis sûr que suivre les cours, réviser les notes de cours et travailler sur des projets chaque semaine sera une excellente expérience d'apprentissage. Bon apprentissage !