Programme d'apprentissage automatique
L'apprentissage automatique est une branche de l'intelligence artificielle dédiée à faire en sorte que les machines apprennent des données d'observation sans être explicitement programmée.
L'apprentissage automatique et l'IA ne sont pas les mêmes. L'apprentissage automatique est un instrument dans la symphonie AI - un composant de l'IA. Alors, qu'est-ce que l'apprentissage automatique - ou ML - exactement? C'est la capacité d'un algorithme d'apprendre des données antérieures afin de produire un comportement. ML enseigne aux machines à prendre des décisions dans des situations qu'ils n'ont jamais vues.
Ce programme est conçu pour vous guider pour apprendre l'apprentissage automatique, recommander des outils et vous aider à adopter le mode de vie ML en suggérant des médias à suivre. Je le met à jour régulièrement pour maintenir la fraîcheur et me débarrasser du contenu obsolète et des outils obsolètes.
Apprentissage automatique en général
Étudiez cette section pour comprendre les concepts fondamentaux et développer des intuitions avant d'aller plus profondément.
On dit qu'un programme informatique apprendrait l'expérience E en ce qui concerne certaines classes de tâches T et la mesure de la performance P Si ses performances aux tâches en T , mesurées par P , s'améliorent avec l'expérience E .
- Éléments de l'IA Un tas de cours faciles enseignant l'IA et l'apprentissage automatique
- Coms W4995 Applied Machine Learning Spring 2020 Videos et diapositives d'un cours ML appliqué de l'Université Columbia.
- Cours d'apprentissage automatique d'opinion par Fast.ai
- Machine Learning Crash Course avec TensorFlow APIS APIS et rapide à rythmer et pratique à l'apprentissage automatique
- Intro à l'apprentissage automatique - Udacity pratique sur Scikit-Learn (Python) Programmation Apprentissage sur les concepts Core ML
- Apprentissage automatique: supervisé, sans surveillance et renforcement - udacity Les 2 instructeurs sont hilarants
- La maîtrise de l'apprentissage automatique a soigneusement présenté le guide étape par étape de certains algorithmes particuliers
- La spécialisation d'Andrew Ng sur Coursera a recommandé pour les personnes qui veulent connaître les détails des algorithmes ML sous le capot, comprendre suffisamment de mathématiques pour être dangereux et faire des affectations de codage à Python
- Recettes ML - Liste de lecture YouTube Un contenu concrète réalisable vraiment bien conçu pour l'introduction ML
- L'apprentissage automatique est amusant Partie 1 Approche simple de l'apprentissage automatique pour les personnes non-Maths
- Apprentissage automatique avec Python - Liste de lecture YouTube
- Machine Learning Aspice par Andrew Ng
- Ordre un emploi de données: le cours est une directive d'opinion et pratique pour les personnes qui souhaitent se concentrer sur l'atterrissage d'un emploi. Par exemple, ils suggèrent que savoir comment fonctionne l'arbre de décision est déjà assez bon, vous n'avez pas besoin de savoir comment tous les modèles fonctionnent, ce qui est vrai! Mais ce conseil est principalement destiné aux données tabulaires.
- Apprentissage automatique sans serveur Créez votre propre service de prédiction de serveur d'apprentissage automatique
- MOPLOP efficace: Développement du modèle Un cours gratuit par poids et biais avec certification
- Mathematics for Machine Learning and Data Science Specialization Math Course by Coursera
Livres
- Apprentissage automatique avec Pytorch et Scikit-Learn par Sebastian Raschka
- Apprentissage automatique avec Scikit-Learn, Keras et Tensorflow, 2e édition d'Aurélien Géron est le livre le plus vendu car c'est super.
- https://github.com/fastai/fastBook The Fastai Book, publié sous le nom de cahier Jupyter
- https://www.deeplearningbook.org/ Math Heavy Book par Ian Goodfellow et Yoshua Bengio et Aaron Courville
- https://christophm.github.io/interpretable-ml-book/ Un guide pour rendre les modèles Black Box explicables
- https://themlbook.com/ Le livre d'apprentissage automatique de cent pages par Andriy Burkov
Apprentissage du renforcement
Construire une machine qui détecte l'environnement, puis choisit la meilleure politique (action) à faire à un état donné pour maximiser sa récompense scalaire à long terme attendue est l'objectif de l'apprentissage du renforcement.
- Openai Spinning Up C'est une ressource éducative produite par OpenAI qui facilite l'apprentissage de l'apprentissage en renforcement profond (RL profond).
- Apprentissage de renforcement de base Une série d'introduction à l'apprentissage du renforcement (RL) avec des tutoriels complets étape par étape.
- Sujets avancés: RL 2015 (compm050 / compgi13) par David Silver (le gars derrière Alphago)
- Un livre d'introduction de Richard S. Sutton et Andrew G. Barto
- Apprentissage en renforcement profond: pong des pixels
- Conférence 10: Apprentissage du renforcement - YouTube
- Un document d'enquête
- Apprentissage en renforcement profond: un tutoriel - Openai
- CS 294: Deep Reinforcement Learning, printemps 2017
Apprentissage en profondeur
L'apprentissage en profondeur est une branche de l'apprentissage automatique où des réseaux de neurones artificiels profonds (DNN) - des algorithmes inspirés de la façon dont les neurones fonctionnent dans le cerveau - trouvent des modèles dans des données brutes en combinant plusieurs couches de neurones artificiels. À mesure que les couches augmentent, la capacité du réseau neuronal à apprendre les concepts de plus en plus abstraits.
Le type de DNN le plus simple est un perceptron multicouche (MLP).

- Le Little Book of Deep Learning Ce livre est une courte introduction à l'apprentissage en profondeur pour les lecteurs avec un fond STEM, à l'origine conçu pour être lu sur un écran de téléphone. Il est distribué sous une licence Creative Commons non commerciale et a été téléchargé près de 250' 000 fois dans le mois suivant sa sortie publique.
- Full Stack Deep Learning Learn Learning Learning Learning de niveau des principaux praticiens
- Deeplearning.ai un tas de cours enseignés par Andrew Ng à Coursera; C'est la suite du cours d'apprentissage automatique de Coursera.
- Intro à l'apprentissage en profondeur avec Pytorch un cours de Facebook Ai sur Udacity
- Une introduction amicale à l'apprentissage en profondeur et aux réseaux de neurones
- Un réseau de jeux de réseaux de neural Tinker avec un simple réseau neuronal conçu pour vous aider à visualiser le processus d'apprentissage
- Deep Learning Demystified - YouTube explique l'inspiration de l'apprentissage en profondeur des vrais neurones aux réseaux de neurones artificiels
- Apprenez TensorFlow et Deep Learning, sans doctorat. Ce cours de 3 heures (vidéo + diapositives) offre aux développeurs une introduction rapide aux principes fondamentaux d'apprentissage en profondeur, avec du TensorFlow jeté dans le marché.
- Un guide de l'apprentissage en profondeur par yn ^ 2 un guide mathématique de l'apprentissage en profondeur
- Practical Deep Learning for Coders Course à Fast.ai enseigné par Jeremy Howard (concurrent n ° 1 de Kaggle 2 ans de course et fondateur d'Elitic)
- Deep Learning - Udacity Recommandé pour l'apprenant visuel qui connaît un ML, ce cours fournit des idées de haut niveau d'apprentissage en profondeur et de détails intuitifs denses dans un court laps de temps, vous utiliserez TensorFlow à l'intérieur du cours
- École d'été en profondeur, Montréal 2015
- Classe de réseaux neuronaux - Liste de lecture YouTube
- http://neuralnetworksanddeeplearning.com/index.html Un livre en ligne pratique pour l'intuition des mathématiques en profondeur, je peux dire qu'après avoir terminé ceci, vous pourrez expliquer l'apprentissage en profondeur dans un bon détail.
- Le zoo du réseau neural un tas de modèles de réseau neuronal que vous devez connaître (je connais la moitié d'entre eux, alors ne vous inquiétez pas que vous n'en connaissiez pas beaucoup parce que la plupart d'entre eux ne sont pas populaires ou utiles dans le présent)
- Intro à Tensorflow pour l'apprentissage en profondeur enseigné à Udacity
- Primers • AI Voici une sélection d'articles sélectionnés sur les fondamentaux / concepts de l'IA qui couvrent l'ensemble du processus de construction de réseaux neuronaux pour les former à l'évaluation des résultats. Il existe également une explication d'architecture de transformateur très détaillée.
- Les modèles de diffusion de visage étreintes apprennent la théorie, former le modèle à partir de zéro et l'utiliser pour générer des images et de l'audio.
- Fondamentaux d'apprentissage en profondeur par Lightning.ai avec Sebastian Raschka
Réseaux de neurones convolutionnels
Les DNN qui fonctionnent avec des données de grille comme les formes d'onde sonore, les images et les vidéos mieux que les DNN ordinaires. Ils sont basés sur les hypothèses selon lesquelles les unités d'entrée à proximité sont plus liées que les unités éloignées. Ils utilisent également l'invariance de la traduction. Par exemple, étant donné une image, il peut être utile de détecter le même type de bords partout sur l'image. Ils sont parfois appelés convaints ou CNN .
- Comment fonctionnent les réseaux de neurones convolutionnels - Explication technique YouTube, y compris les opérations de mise en commun, relu, couche entièrement connectée, optimisation à l'aide de la descente de gradient
- Réseau neuronal qui change tout - ComputerPhile
- Un guide pour débutant pour comprendre les réseaux de neurones convolutionnels
- Deep Learning for Computer Vision (Andrej Karparthy, Openai) C'est ma vidéo préférée de Convolutionnel Net. Andrej explique en détail Convnet en répondant à toutes les questions curieuses que l'on pourrait avoir. Par exemple, la plupart des articles ne parlent que de convolution dans l'image en niveaux de gris, mais il décrit également la convolution dans les images avec des canaux couleur. Il parle également des préoccupations et des hypothèses que font les convaintes. C'est une grande conférence!
- Comprendre les réseaux de neurones grâce à une visualisation profonde explique comment visualiser un convnet en utilisant diverses techniques
Réseaux de neurones récurrents
DNNS qui ont des États. Ils comprennent également des séquences qui varient en longueur. Ils sont parfois appelés RNN .
- http://karpathy.github.io/2015/05/21/rnn-effectivité/
- http://colah.github.io/posts/2015-08-understanding-lstms/
- http://www.wildml.com/2015/09/recurrent-neural-networks-tutorial-start-1-introduction-to-rnns/
Meilleures pratiques
- Règles de l'apprentissage automatique: meilleures pratiques pour l'ingénierie ML C'est un document de Martin Zinkevich sur les meilleures pratiques de Google en apprentissage automatique.
- Une recette pour la formation de réseaux de neurones Andrej, le blog d'Andrej sur la façon de vous entraîner à devenir ingénieur d'apprentissage paranoïaque.
- Comment déboguer les réseaux de neurones. Manuel.
- Un aperçu des algorithmes d'optimisation de descente de gradient
- Deep Learning Tuning Playbook a Playbook pour maximiser systématiquement les performances des modèles d'apprentissage en profondeur.
Outils
Bibliothèques et cadres utiles pour l'apprentissage automatique
Frameworks
Blocs de construction de l'apprentissage automatique
- Scikit-Learn Bibliothèque générale d'apprentissage automatique, abstraction de haut niveau, destinée aux débutants
- TensorFlow; Tensorflow génial; Framework Graph de calcul construit par Google, a une belle carte de visualisation, probablement le cadre le plus populaire de nos jours pour faire l'apprentissage en profondeur
- Keras: Deep Learning for Humans Keras est une API d'apprentissage en profondeur écrite en Python, coulant au-dessus de Tensorflow. C'est toujours le roi de l'abstraction de haut niveau pour l'apprentissage en profondeur. Mise à jour: Keras est maintenant disponible pour Tensorflow, Jax et Pytorch!
- Tenseurs de pytorch et réseaux de neurones dynamiques en Python avec une forte accélération du GPU. Il est couramment utilisé par les chercheurs de pointe, y compris OpenAI.
- Lightnning the Deep Learning Framework pour former, déployer et expédier des produits AI Lightning rapidement. (Utilisé pour être appelé Pytorch Lightning)
- Jax est Autograd et XLA, réunis pour une recherche sur l'apprentissage automatique à haute performance.
- OneFlow est un cadre d'apprentissage en profondeur conçu pour être convivial, évolutif et efficace.
- Apache Mxnet (incubation) pour l'apprentissage en profondeur Apache MXNET est un cadre d'apprentissage en profondeur conçu à la fois pour l'efficacité et la flexibilité. Il vous permet de mélanger la programmation symbolique et impérative pour maximiser l'efficacité et la productivité.
- Chainer un cadre flexible des réseaux de neurones pour l'apprentissage en profondeur
- Vowpal Wabbit est un système d'apprentissage automatique qui pousse la frontière de l'apprentissage automatique avec des techniques telles que en ligne, hachage, allreduce, réductions, apprentissage2-recherche, apprentissage actif et interactif. L'accent est mis sur l'apprentissage du renforcement avec plusieurs algorithmes de bandit contextuel mis en œuvre et la nature en ligne des prêts au problème.
- H2O est une plate-forme en mémoire pour l'apprentissage automatique distribué et évolutif.
- Spektral Graph Neural Networks with Keras et TensorFlow 2.
- Ivy est à la fois un transpiler ML et un cadre, prenant actuellement en charge Jax, Tensorflow, Pytorch et Numpy. Ivy unifie tous les cadres ML? Vous permettant non seulement d'écrire du code qui peut être utilisé avec l'un de ces frameworks comme backend, mais aussi de convertir n'importe quelle fonction, modèle ou bibliothèque écrit dans l'un d'eux dans votre cadre préféré!
Pas de codage
- Ludwig Ludwig est une boîte à outils qui permet aux utilisateurs de former et de tester des modèles d'apprentissage en profondeur sans avoir besoin d'écrire de code. Il est construit au-dessus de TensorFlow.
Boîtement de gradient
Des modèles qui sont fortement utilisés dans les compétitions en raison de leurs performances de généralisation exceptionnelles.
- https://github.com/dmlc/xgboost Extreme Gradient Boosting
- https://github.com/microsoft/lightgbm alternative légère par rapport à xgboost
- https://github.com/catboost/catboost Une bibliothèque rapide, évolutive et de haut niveau de la bibliothèque des arbres de décision, utilisée pour le classement, la classification, la régression et d'autres tâches d'apprentissage automatique pour Python, R, Java, C ++. Prend en charge le calcul sur CPU et GPU.
- https://github.com/tensorflow/decision-Forests Tensorflow Decision Forests (TF-DF) est une collection d'algorithmes ultramodernes pour la formation, le service et l'interprétation des modèles de forêt de décision.
- Implémentation de Pytorch / Tensorflow du papier Tabnet. Lire plus loin: Tabnet équilibre l'explication et les performances du modèle sur les données tabulaires, mais peut-elle détrôner les modèles d'arbres boostés?
Inférence de la série chronologique
Les données sur les séries chronologiques nécessitent un processus d'extraction de fonctionnalités unique pour qu'ils soient utilisables dans la plupart des modèles d'apprentissage automatique, car la plupart des modèles nécessitent que les données soient dans un format tabulaire. Ou vous pouvez utiliser des architectures de modèle spéciales qui ciblent les séries chronologiques, par exemple LSTM, TCN, etc.
- https://github.com/timeseriesai/tsai série timeseries Deep Learning Pytorch Fastai - State-of-the-Art Learning With Time Series and Sequences in Pytorch / Fastai. Lire plus loin: TSAI - Apprentissage de la machine à la pointe de la série pour la série chronologique, partie 1.
- https://github.com/alan-turing-institute/sktime Un framework unifié pour l'apprentissage automatique avec séries chronologiques
- https://github.com/sktime/sktime-dl Un package d'extension pour l'apprentissage en profondeur avec Tensorflow / Keras pour SKTime
- https://github.com/tslearn-team/tslearn/ Une boîte à outils d'apprentissage automatique dédiée aux données de séries temporelles
- https://github.com/blue-yonder/tsfresh Extraction automatique des fonctionnalités pertinentes de la série chronologique
- https://github.com/johannfaouzi/pyts un package Python pour la classification des séries chronologiques
- https://github.com/facebook/prophet Tool pour produire des prévisions de haute qualité pour des données de séries chronologiques qui ont une saisonnalité multiple avec une croissance linéaire ou non linéaire.
- https://github.com/philippermy/keras-tcn keras temporal convolutionnel réseau
- Rocket: Classification des séries chronologiques exceptionnellement rapide et précise à l'aide de grains de convolution aléatoire; MINIROCKING: une transformée déterministe très rapide (presque) pour la classification des séries chronologiques; Ces 2 techniques sont destinées à extraire les caractéristiques des séries chronologiques. Lire plus loin: Rocket: Classification des séries chronologiques rapides et précises
Cycle de vie
Bibliothèques qui vous aident à développer / déboguer / déployer le modèle de production (MLOPS). Il y a plus à ML que de former le modèle.
- https://huggingface.co/ Tout comme GitHub, mais pour stocker des modèles ML, des ensembles de données et des applications (ils appellent les applications comme espaces). Ils ont des bibliothèques pour que vous puissiez facilement utiliser leurs modèles / ensembles de données dans votre code. Le stockage est gratuit et illimité pour les projets publics et privés.
- https://wandb.ai/ construire de meilleurs modèles plus rapidement avec le suivi des expériences, le versioning de l'ensemble de données et la gestion des modèles
- https://github.com/flyteorg/flyte flyte facilite la création de workflows simultanés, évolutifs et maintenables pour l'apprentissage automatique et le traitement des données.
- https://github.com/allegroai/clearml Auto-Magical Suite d'outils pour rationaliser votre flux de travail ML. Expérience Manager, ML-OPS et gestion des données
- https://github.com/quantumblacklabs/kedro un framework Python pour créer un code de science des données reproductible, maintenable et modulaire.
- https://github.com/deterned-ai/deternined déterminé est une plate-forme de formation en profondeur à source ouverte qui rend les modèles de construction rapidement et faciles. Je l'utilise principalement pour régler les hyperparamètres.
- https://github.com/iterative/cml L'apprentissage automatique continu (CML) est une bibliothèque open-source pour implémenter l'intégration et la livraison continues (CI / CD) dans des projets d'apprentissage automatique. Utilisez-le pour automatiser certaines parties de votre flux de travail de développement, y compris la formation et l'évaluation du modèle, la comparaison des expériences ML à travers l'historique de votre projet et la surveillance des ensembles de données changeants.
- https://github.com/creme-ml/creme python bibliothèque pour l'apprentissage automatique en ligne . Tous les outils de la bibliothèque peuvent être mis à jour avec une seule observation à la fois et peuvent donc être utilisés pour apprendre à partir des données de streaming.
- https://github.com/aimhubio/aim une façon super-easy d'enregistrer, de rechercher et de comparer les milliers de courses de ml
- https://github.com/netflix/metaflow Metaflow est une bibliothèque Python respectueuse de l'homme qui aide les scientifiques et les ingénieurs à créer et à gérer des projets de science des données réelles. Metaflow a été initialement développé chez Netflix.
- MLFlow MLFlow (actuellement en version bêta) est une plate-forme open source pour gérer le cycle de vie ML, y compris l'expérimentation, la reproductibilité et le déploiement. Il propose actuellement trois composants: le suivi MLFlow, les projets MLFlow, les modèles MLFlow.
- Floydhub a Heroku pour l'apprentissage en profondeur (vous vous concentrez sur le modèle, ils se déployeront)
- Comet.ML Comet permet aux scientifiques et aux équipes de données de suivre, comparer, expliquer et optimiser les expériences et les modèles tout au long du cycle de vie du modèle. De la formation à la production
- https://neptune.ai/ Gérez toutes vos métadonnées de construction de modèles en un seul endroit
- https://github.com/fastai/nbdev Créer de délicieux projets Python à l'aide de cahiers Jupyter
- https://rapids.ai/ science des données sur les GPU
- https://github.com/datarevenue-berlin/openmlops
- https://github.com/jacopotagliabue/you-dont-need-a-bigger-boat pas vraiment un outil, mais un guide sur la façon de composer de nombreux outils ensemble dans une entreprise à l'échelle raisonnable du monde réel.
- https://www.modular.com/ Une entreprise avec un objectif ambitieux de repenser les infrastructures d'IA à partir de zéro. Ils introduisent une nouvelle langue appelée Mojo qui est un superset de Python.
Cloud GPU
N'oubliez pas qu'il s'agit d'une liste d'opinion. Il existe des milliards de fournisseurs de cloud. Je ne vais pas tous les énumérer. Je vais juste énumérer ceux que je connais et je pense que c'est bien.
- https://lightning.ai/ Lightning Studio vous permet d'abandonner votre ordinateur portable haut de gamme pour développer des modèles d'apprentissage automatique. Écrivez simplement du code dans le cloud à l'aide de VScode et utilisez leurs GPU pour la formation ou l'inférence. Lightning Studio est similaire aux codes GitHub mais avec GPU.
- https://modal.com/ modal vous permet d'exécuter ou de déployer des modèles d'apprentissage automatique, de calculs massivement parallèles, des files d'attente de tâches, des applications Web et bien plus encore, sans votre propre infrastructure.
- https://www.runpod.io/ Économisez plus de 80% sur les GPU. La location de GPU s'est rendue facile avec Jupyter pour Pytorch, TensorFlow ou tout autre cadre d'IA. Je l'ai déjà utilisé. Assez facile à utiliser.
- https://replicate.com/ Run and Fine-Tune Open-source Models. Déployez des modèles personnalisés à grande échelle à l'aide de COG. Tout avec une ligne de code.
- https://bentoml.com/ bentoml est la plate-forme des ingénieurs logiciels pour créer des produits d'IA. Déploiement à l'aide du package Bentoml.
- https://www.baseten.co/ Inférence du modèle rapide et évolutif dans le nuage à l'aide de la fermeture
- https://lambdalabs.com/ cloud GPU construit pour l'apprentissage en profondeur. Accès instantané aux meilleurs prix pour les GPU cloud sur le marché. Aucun engagement ou négociation requis. Économisez plus de 73% vs AWS, Azure et GCP. Configuré pour l'apprentissage en profondeur avec Pytorch, Tensorflow, Jupyter
- https://www.beam.cloud/ Calcul du GPU on-Demand: Train et déploiement des applications AI et LLM en toute sécurité sur des GPU sans serveur, sans gérer l'infrastructure
Stockage de données
- https://github.com/huggingface/datasets/ Un package pour le chargement, le prétraitement et le partage de données de données.
- https://github.com/activeloopai/deeplake data Lake pour l'apprentissage en profondeur. Créer, gérer, requérir, version et visualiser les ensembles de données. Diffusez les données en temps réel vers Pytorch / TensorFlow.
- https://github.com/deterned-ai/yogadl Une meilleure approche du chargement des données pour l'apprentissage en profondeur. API-Transparent Caching au disque, GCS ou S3.
- https://github.com/google/ml_collections ML Collections est une bibliothèque de collections Python conçues pour les cas d'utilisation ML. Il contient ConfigDict, une structure de données "de type dict" avec un accès DOT aux éléments imbriqués. Il est censé être utilisé comme moyen principal d'exprimer des configurations d'expériences et de modèles.
Données en train de faire des données
Nettoyage des données et augmentation des données
- https://github.com/cgnorthcutt/cleanlab Erreur d'étiquetage propre de l'ensemble de données
- https://github.com/aleju/Imgaug Image Augmentation Library qui prend en charge la conversion des points clés en marques de chaleur
- https://github.com/albu/albumentations bibliothèque d'image la plus rapide
- https://github.com/mdboice/augmentor Augmentation d'image facile à utiliser pour les tâches de classification (Impossible d'augmenter les points clés)
- https://github.com/facebookResearch/augly Une bibliothèque d'augmentations de données pour l'audio, l'image, le texte et la vidéo.
Orchestration de données
- https://github.com/prefecthq/prefect
- https://github.com/dagster-io/dagster
- https://github.com/plomber/plomber plomber est le moyen le plus rapide de créer des pipelines de données ⚡️. Utilisez votre éditeur préféré (Jupyter, VScode, PyCharm) pour vous développer de manière interactive et déployer ☁️ sans modifications de code (Kubernetes, Airflow, AWS Batch et Slurm).
- https://github.com/orchest/orchest Build Data Pipelines, le moyen facile à utiliser l'interface utilisateur conviviale
Visualisation des données
- https://github.com/gradio-app/gradio Créer des UIS pour votre modèle d'apprentissage automatique en python en 3 minutes. L'interface utilisateur est une application Web qui peut être partagée avec n'importe qui, même des personnes non techniques. L'une des fonctionnalités que j'aime est le composant Exemples. Il vous montre très bien que cette application est pour le cas d'utilisation de l'apprentissage automatique.
- https://github.com/streamlit/streamlit Streamlit transforme les scripts de données en applications Web partageables en quelques minutes. Tout en python. Tout gratuitement. Aucune expérience frontale requise.
- https://github.com/oegedijk/Explainerdashboard construit rapidement des tableaux de bord AI explicables qui montrent le fonctionnement interne de modèles d'apprentissage machine "Blackbox".
- https://github.com/lux-org/lux en imprimant simplement une dataframe dans un cahier Jupyter, Lux recommande un ensemble de visualisations mettant en évidence les tendances et les modèles intéressants dans l'ensemble de données.
- https://github.com/slundberg/shap Shap (Shapley Additive Explications) est une approche théorique du jeu pour expliquer la sortie de tout modèle d'apprentissage automatique.
- https://github.com/comet-ml/kangas kangas est un outil pour explorer, analyser et visualiser les données multimédias à grande échelle. Il fournit une API Python simple pour enregistrer de grandes tableaux de données, ainsi qu'une interface visuelle intuitive pour effectuer des requêtes complexes par rapport à votre ensemble de données.
Réglage hyperparamètre
Avant de commencer, veuillez lire ce billet de blog pour comprendre la motivation de la recherche en général: https://www.deternined.ai/blog/stop-doing-iterative-model-development
Ouvrez les yeux du développement axé sur la recherche. Cela vous changera. L'avantage principal est qu'il n'y aura pas de revers. Seuls les progrès et l'amélioration sont autorisés. Imaginez travailler et progresser tous les jours, au lieu de régresser en arrière car votre nouvelle solution ne fonctionne pas. Cette progression garantie est ce que le développement axé sur la recherche vous fera. Appliquez-le à tout dans l'optimisation, pas seulement l'apprentissage automatique.
Mes préférences opinionnées les plus importantes sont déterminées, Ray Tune et Optuna en raison de la parallélisation (réglage distribué sur de nombreuses machines), de la flexibilité (peut optimiser les objectifs arbitraires et permettre aux paramètres de l'ensemble de données d'être réglées), la bibliothèque des algorithmes de tunage SOTA (EG Hyperband, BoHB, TPE, PBT, ASHA, etc.
- https://github.com/deterned-ai/deternined déterminé est une plate-forme de formation en profondeur à source ouverte qui rend les modèles de construction rapidement et faciles. OMI, il est préférable de régler à moindre coût des hyperparamètres de modèles d'apprentissage en profondeur, car il entraînera de nombreuses époques sur des modèles qui ont des mesures prometteuses et des modèles à arrêts précoces qui ne le font pas. Ils soutiennent AWS et la plupart des services cloud en tant que citoyen de première classe. Ils soutiennent également des instances préemptives , ce qui est encore une fois bon marché. Lorsque vous terminez l'entraînement, toutes les instances GPU sont automatiquement fermées. Si vous souhaitez économiser de l'argent sur une formation à grande échelle, allez avec déterminé.
- https://docs.ray.io/en/master/tune/index.html Ray Tune est une bibliothèque Python pour l'exécution de l'expérience et le réglage de l'hyperparamètre à n'importe quelle échelle. Si vous recherchez un réglage distribué, Ray Tune est probablement le cadre le plus sérieux du marché.
- https://github.com/optuna/optuna un cadre logiciel d'optimisation hyperparamètre automatique (framework agnostic, define-by-run)
- https://github.com/pyhopper/pyhopper pyhopper est un optimiseur hyperparamètre, spécialement conçu pour des problèmes de grande dimension sur la recherche et les entreprises de l'apprentissage automatique. Ce gars a affirmé qu'il était 10 fois plus rapide qu'Optuna. Cette affirmation est-elle vraie? Nous ne pouvons pas savoir avant d'essayer!
- https://github.com/keras-team/keras-tuner une optimisation hyperparamètre distribuable facile à utiliser pour les keras; Lisez son article ici
- https://github.com/autonomio/talos Hyperparamètre Optimisation pour Keras, Tensorflow (tf.keras) et Pytorch
- https://github.com/maxpumperla/hyperas keras + hyperopt: un wrapper très simple pour une optimisation hyperparamètre pratique
- https://github.com/fmfn/bayesianoptimisation Une implémentation Python de l'optimisation globale avec les processus gaussiens.
- https://github.com/hyperopt/hyperopt
- https://github.com/msu-oinlab/pymoo Optimisation multi-objectifs à Python
- https://github.com/google/vizier open source vizir: optimisation fiable et flexible noire-box. OSS Vizier est un service basé sur Python pour l'optimisation et la recherche sur la boîte noire, basée sur Google Vizier, l'un des premiers services de réglage hyperparamètre conçus pour fonctionner à grande échelle.
Automatique
Faites apprendre aux machines sans la tâche fastidieuse de l'ingénierie des fonctionnalités, de la sélection de modèles et du réglage hyperparamètre que vous devez faire vous-même. Laissez les machines effectuer l'apprentissage automatique pour vous!
Personnellement, si j'ai un ensemble de données tabulaire, j'essaierais d'abord Flaml et Mljar, surtout si vous voulez faire fonctionner quelque chose rapidement. Si vous souhaitez essayer des cadres de mise à niveau du gradient tels que XGBoost, LightGBM, CatBoost, etc., mais vous ne savez pas lequel fonctionne le mieux, je vous suggère d'essayer d'abord Automl, car il essaiera les frameworks de boost de dégradation mentionnés précédemment.
- MEILLEUR FRATRICALES AUTOLLES OPENSOURCE En 2021, un article sur Medium contenant une liste organisée de cadres Automl OpenSource.
- https://github.com/dabl/dabl analyse des données bibliothèque de base; former rapidement un modèle simple à utiliser comme référence de performance
- https://www.automl.org/ Trouvez la liste organisée des bibliothèques et des recherches automatiquement
- https://github.com/jhfjhfj1/autokeras à partir de l'écriture (24 août 2018), cette bibliothèque est assez prématurée car elle ne peut faire que la classification.
- https://github.com/automl/auto-sklearn/ ne s'exécute pas sur Windows, vous devez installer WSL (sous-système Windows pour Linux) pour l'utiliser
- https://github.com/epistasislab/tpot exécutez des milliers de pipelines d'apprentissage automatique et publiez le code pour vous
- https://github.com/climbsrocks/auto_ml Lisez ce que l'auteur pense de la comparaison entre TPOT et Auto-Sklearn
- https://github.com/microsoft/flaml Fast and Lightweight Automl avec des algorithmes d'optimisation économique rentables.
- https://github.com/mljar/mljar-supervised Un package de python d'apprentissage automatique automatisé qui fonctionne avec les données tabulaires. J'aime qu'il génère un rapport de visualisation (en mode Explication) et des fonctionnalités supplémentaires pour vous, par exemple, fonctionnalités d'or et fonctionnalités K-means.
- https://github.com/awslabs/autogluon automl pour le texte, l'image et les données tabulaires. Mais il ne prend pas en charge les fenêtres (au 11 octobre 2021).
- https://github.com/autoviml/auto_viml auto_viml a été conçu pour construire des modèles interprétables haute performance avec le moins de variables nécessaires.
Architectures de modèle
Architectures qui sont à la pointe de l'art dans son domaine.
- https://github.com/rwightman/pytorch-image-models Modèles d'images Pytorch, scripts, poids pré-entraînés - Resnet, Resnext, EfficientNet, EfficientNetV2, NFNET, Vision Transformer, Mixnet, MobileNet-V3 / V2, RegNet, DPN, CSPnet, et plus. Il est généralement appelé
timm . - https://modelzoo.co/ Modèle Zoo
- https://github.com/tensorflow/models
- Magenta: génération de musique et d'art avec intelligence machine
- https://github.com/phillipi/pix2pix Image-to-image Traduction à l'aide de réseaux adversaires conditionnels; Port TensorFlow de PIX2PIX; Regardez la présentation de ce travail: apprendre à voir sans enseignant
- Wav2letter Facebook AI Research's Automatic Speech Reconntion Toolkit
- https://github.com/huggingface/transformateurs State-of-the-Art Natural Language Processing for TensorFlow 2.0 et Pytorch
- https://github.com/huggingface/diffusers? DIFFUSERS: Modèles de diffusion de pointe pour la génération d'images et d'audio en pytorch
- https://bigscience.huggingface.co/blog/bloom ouvre un modèle grand langage de BigScience LLM. Article
- https://github.com/hpcaitech/colossalai
- https://stability.ai/blog/stable-diffusion-public-release La diffusion stable est un modèle qui peut générer des images de haute qualité à partir de brèves descriptions de texte. Voici un court fil Twitter expliquant pourquoi cela fonctionne si bien. Et voici un fil contenant des ressources pour en savoir plus sur les modèles de diffusion.
Ingénierie rapide
Les grands modèles de langue (LLM) comme GPT-3 sont puissants, mais ils doivent être invités à générer la sortie souhaitée. C'est là que l'ingénierie rapide entre en jeu. L'ingénierie rapide est le processus de conception d'invites qui peuvent être utilisées pour générer la sortie souhaitée.
- https://github.com/hwchase17/langchain C'est un package Python pour créer des applications avec LLMS via la composibilité.
- https://dust.tt/ Un outil Web pour concevoir et déployer des applications de modèle de grande langue.
- https://github.com/jerryjliu/gpt_index GPT L'index est un projet composé d'un ensemble de structures de données créées à l'aide de LLMS et peut être traversée à l'aide de LLMS afin de répondre aux requêtes.
- https://github.com/xpitfire/Symbolicai/ Library de programmation différenciable de composition: création d'applications avec LLMS à son cœur grâce à notre API symbolique exploite la puissance de la programmation classique et différenciable dans Python.
Beaux blogs et vlogs à suivre
- https://www.pyimagesearch.com/ Blog fréquemment mis à jour sur OpenCV et l'apprentissage en profondeur
- http://colah.github.io/ belles explications avec de belles visualisations
- https://karpathy.github.io/ Il a enseigné certains cours sur des filets profonds et travaillait à Tesla en tant que directeur de l'IA.
- http://ruder.io Sebastian Ruder's Deep Learning and NLP Blog
- http://www.wildml.com/
- https://machinelearningmastery.com/ contient beaucoup de contenu et un beau site Web
- YouTube Playlists de Sirajology Beaucoup d'introduction hilarante dense à ML
- Deux articles de deux minutes sur la playlist de Deep Learning
- Distiller.pub un support moderne pour présenter la recherche en apprentissage automatique
- Deeplearn.org Deep Learning Monitor; Nouvelles sur les documents et tweets d'apprentissage en profondeur
- Blog de datarevenue sur les mlops principalement
- https://www.youtube.com/c/andrejkarpathy Andrej Karparthy a créé une nouvelle chaîne YouTube après avoir quitté l'équipe automatique de Tesla pour enseigner aux gens comment mettre en œuvre des réseaux de neurones dans le style "épelé".
- https://e2eml.school/blog.html Blog d'apprentissage automatique End-To-End qui couvre de nombreux sujets en détail, par exemple comment les transformateurs fonctionnent.
- https://jalammar.github.io/ Visualiser l'apprentissage automatique un concept à la fois. Son blog contient des explications illustrées de concepts ML tels que le transformateur ou la diffusion stable.
- Radek Osmulski Blog Il blogue sur les techniques et les stratégies DL que vous pouvez exploiter pour apprendre plus rapidement.
Personnes percutantes
- Geoffrey Hinton, il a été appelé le parrain de l'apprentissage en profondeur en introduisant 2 techniques révolutionnantes (relu et décrochage) avec ses élèves. Ces techniques résolvent le gradient de fuite et le problème de généralisation des réseaux de neurones profonds.
- Yann LeCun, il a inventé CNNS (réseaux de neurones convolutionnels), le type de réseau qui est très populaire parmi les développeurs de vision informatique aujourd'hui. Travaillant actuellement chez Meta.
- Yoshua Bengio another serious professor at Deep Learning, you can watch his TEDx talk here (2017)
- Andrew Ng he discovered that GPUs make deep learning faster. He taught 2 famous online courses, Machine Learning and Deep Learning specialization at Coursera. particular type of RNN)
- Jeff Dean, a Google Brain engineer, watch his TEDx Talk
- Ian Goodfellow, he invented GANs (Generative Adversarial Networks), is an OpenAI engineer
- David Silver this is the guy behind AlphaGo and Artari reinforcement learning game agents at DeepMind
- Demis Hassabis CEO of DeepMind, has given a lot of talks about AlphaGo and Reinforcement Learning achievements they have
- Andrej Karparthy he teaches convnet classes, wrote ConvNetJS, and produces a lot of content for DL community, he also writes a blog (see Nice Blogs & Vlogs to Follow section)
- Pedro Domingos he wrote the book The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World , watch his TEDx talk here
- Emad Mostaque he is the founder of stability.ai, a company that releases many open source AI models including Stable Diffusion
- Sam Altman he is the president of OpenAI, a company that releases ChatGPT
Cutting-Edge Research Publishers
Steal the most recent techniques introduced by smart computer scientists (could be you).
- http://www.arxiv-sanity.com/ Arxiv Sanity Preserver
- https://research.facebook.com/ai/
- http://research.google.com/pubs/MachineIntelligence.html
- https://deepmind.com/research/ Research of DeepMind company
- https://www.openai.com/
- https://www.openai.com/requests-for-research/
- State of the art performance on each ML task
- State-of-the-art result for all Machine Learning Problems
- https://stability.ai/ is releasing a lot of open source high-quality models.
- https://twitter.com/ai__pub AI papers and AI research explained, for technical people.
- https://twitter.com/_akhaliq is a Twitter account that tweets the latest research papers in the field of AI.
Practitioner Community
- https://www.kaggle.com
- https://gym.openai.com
- https://universe.openai.com/
- /r/MachineLearning
- https://www.facebook.com/groups/DeepNetGroup/
Thoughtful Insights for Future Research
- Why AI is Harder Than We Think
- The Consciousness Prior by Yoshua Bengio
- What Can't Deep Learning Do? a list of problems that deep learning faces
- Pedro Domingos: "The Master Algorithm" - Talks at Google
- The AI Revolution: The Road to Superintelligence
- https://ai100.stanford.edu/2016-report
- Why does Deep Learning work so well? - The Extraordinary Link Between Deep Neural Networks and the Nature of the Universe
- These are three of the biggest problems facing today's AI
- Four Questions For: Geoff Hinton Geoff Hinton is referred to as "godfather of neural networks"
- What product breakthroughs will recent advances in deep learning enable? - Quora
- Liquid Neural Networks
Uncategorized
- Artificial Intelligence: A Modern Approach (Online Book)
- The Principles of Modern Game AI
- Scipy Lecture Notes
- https://www.youtube.com/user/aicourses
- The Fundamentals of Neuroscience learn how our brain works so that you can discover new deep learning breakthrough
- Bayesian Methods for Hackers An introduction to Bayesian methods + probabilistic programming with a computation/understanding-first, mathematics-second point of view. All in pure Python ;)
Other Big Lists
- https://github.com/ahmedbahaaeldin/From-0-to-Research-Scientist-resources-guide This guide is designated to anybody with basic programming knowledge or a computer science background interested in becoming a Research Scientist with on Deep Learning and NLP.
- https://www.mrdbourke.com/ml-resources/ Machine Learning Courses & Resources recommendation by Daniel Bourke
- List of MLOps Courses and Books by Damien Benveniste on Facebook
- https://github.com/collections/machine-learning
- https://github.com/topics/machine-learning
- https://github.com/topics/mlops
- https://github.com/GokuMohandas/MadeWithML Join 30K+ developers in learning how to responsibly deliver value with ML.
- https://papers.labml.ai/papers/daily
- https://github.com/alirezadir/Production-Level-Deep-Learning
- https://github.com/jindongwang/transferlearning
- https://github.com/kmario23/deep-learning-drizzle
- https://github.com/ZuzooVn/machine-learning-for-software-engineers
- https://github.com/josephmisiti/awesome-machine-learning
- https://github.com/ujjwalkarn/Machine-Learning-Tutorials
- https://github.com/terryum/awesome-deep-learning-papers
- https://github.com/ChristosChristofidis/awesome-deep-learning
- https://github.com/Developer-Y/cs-video-courses#machine-learning
- Deep Learning Resources by Jeremy D. Jackson
- https://github.com/songrotek/Deep-Learning-Papers-Reading-Roadmap
- https://github.com/aikorea/awesome-rl Awesome Reinforcement Learning
- https://github.com/artix41/awesome-transfer-learning Awesome Transfer Learning
- https://github.com/heejkoo/Awesome-Diffusion-Models Awesome Diffusion Models
- https://github.com/Renumics/awesome-open-data-centric-ai Data-centric AI is the practice of systematically engineering the data used to build AI systems.
- https://github.com/labmlai/annotated_deep_learning_paper_implementations
- https://github.com/ashishpatel26/500-AI-Machine-learning-Deep-learning-Computer-vision-NLP-Projects-with-code
I am confused, too many links, where do I start?
If you are a beginner and want to get started with my suggestions, please read this issue: #4
Clause de non-responsabilité
From now on, this list is going to be compact and opinionated towards my own real-world ML journey and I will put only content that I think are truly beneficial for me and most people. All the materials and tools that are not good enough (in any aspect) will be gradually removed to combat information overload, including:
- too difficult materials without much intuition; impractical content
- too much theory without real-world practice
- low-quality and unstructured materials
- courses that I don't consider to enroll myself
- knowledge or tools that are too niche and not many people can use it in their works eg deepdream or unsupervised domain adaptation (because you can Google it if you want to use it in your work).
- tools that are beaten by other tools; not being state-of-the-art anymore
- commercial tools that look like it can die any time soon
- projects that are outdated or not maintained anymore
NOTE : There is no particular rank for each link. The order in which they appear does not convey any meaning and should not be treated differently.
How to contribute to this list
- Fork this repository, then apply your change.
- Make a pull request and tag me if you want.
- C'est ça. If your edition is useful, I'll merge it.
Or you can just submit a new issue containing the resource you want me to include if you don't have time to send a pull request.
The resource you want to include should be free to study.