Aperçu des solutions AI et ML en 2018 et prévisions pour 2019: Partie 2 - Outils et bibliothèques, AutoML, RL, éthique en IA

Bonjour à tous! Je vous présente une traduction d'un article d' Analytics Vidhya avec un aperçu des événements AI / ML dans les tendances 2018 et 2019. Le matériau est assez grand, il est donc divisé en 2 parties. J'espère que l'article intéressera non seulement les spécialistes spécialisés, mais aussi ceux qui s'intéressent au sujet de l'IA. Bonne lecture!


À lire en premier: Partie 1 - PNL, vision par ordinateur


Outils et bibliothèques


Cette section plaira à tous les professionnels de la science des données. Outils et bibliothèques - du pain et du beurre pour les scientifiques. J'ai participé à de nombreux débats sur quel outil est le meilleur, quel framework remplace l'autre, quelle bibliothèque est l'incarnation de l'informatique «économique», et tout ça. Je suis sûr que beaucoup d'entre vous sont également touchés.

Mais une chose sur laquelle nous ne pouvons pas être en désaccord est que nous devons nous tenir au courant des derniers outils dans ce domaine ou risquer d'être laissés pour compte. Le rythme auquel Python a dépassé ses concurrents et s'est imposé comme un leader de l'industrie en est une bonne illustration. Bien sûr, beaucoup se résume à un choix subjectif (quel outil votre organisation utilise, compatibilité avec l'infrastructure existante, etc.), mais si vous ne vous tenez pas à jour, il est temps de commencer dès MAINTENANT.

Alors, ce qui a défrayé la chronique cette année [en 2018 - env. par.]? Allons-y!

PyTorch 1.0


Quel est le battage médiatique autour de PyTorch que j'ai mentionné à plusieurs reprises dans cet article?

Étant donné la lenteur de TensorFlow, il a ouvert la voie à PyTorch pour entrer sur le marché de l'apprentissage en profondeur. La plupart du code open source que je vois sur GitHub est une implémentation sur PyTorch. Ce n'est pas un hasard - PyTorch est très flexible, et la dernière version (v1.0) prend déjà en charge de nombreux produits Facebook et la mise à l'échelle, y compris le traitement de 6 milliards de traductions de texte par jour.

PyTorch prend juste de l'ampleur et sa croissance se poursuivra en 2019, il est donc temps de rejoindre la communauté.

AutoML - Apprentissage automatique automatisé


L'apprentissage automatique (ou AutoML) a gagné en popularité au cours des deux dernières années. Des entreprises telles que RapidMiner , KNIME , DataRobot et H2O.ai ont déjà lancé d'excellents produits qui démontrent l'énorme potentiel de ce service.

Pouvez-vous imaginer travailler sur un projet ML où vous n'avez qu'à travailler avec l'interface glisser-déposer sans codage? Il s'agit d'un scénario qui pourrait devenir réel dans un avenir proche. De plus, un événement important a déjà eu lieu en ML / DL - la sortie d'Auto Keras !

Auto Keras est une bibliothèque open source pour effectuer des tâches AutoML. L'idée est de rendre l'apprentissage en profondeur accessible aux experts du domaine qui peuvent ne pas avoir d'expérience avec le ML. Vous pouvez vous familiariser avec le produit ici . Dans les années à venir, il va faire une énorme percée.

TensorFlow.js - Deep Learning dans un navigateur


Depuis que nous avons commencé ce travail, nous construisons et concevons des modèles d'apprentissage automatique et d'apprentissage en profondeur dans nos IDE et ordinateurs portables préférés. Que diriez-vous de faire un pas et d'essayer autre chose? Oui, je parle d'apprentissage en profondeur directement dans votre navigateur Web!

Maintenant, il est devenu une réalité grâce à l'avènement de TensorFlow.js. Il existe plusieurs exemples sur le site Web du projet qui montrent à quel point ce concept open source est cool. Tout d'abord, TensorFlow.js présente trois avantages / fonctionnalités:

  • Vous pouvez développer et déployer des modèles ML à l'aide de JavaScript;
  • Exécutez les modèles TensorFlow existants dans votre navigateur;
  • Recycler les modèles prêts à l'emploi.

Tendances AutoML pour 2019


Je voulais me concentrer sur AutoML dans cet article. Pourquoi? J'ai le sentiment qu'au cours des prochaines années, la situation dans le domaine de la science des données va changer, mais ne me croyez pas sur parole! Mario Mihailidis de H2O.ai, grand maître de Kaggle, parlera de ce à quoi s'attendre d'AutoML en 2019:
L'apprentissage automatique continue sur sa voie pour devenir l'une des tendances les plus importantes de l'avenir - où le monde se dirige. Cette expansion a accru la demande d'applications dans ce domaine. Compte tenu de cette croissance, il est impératif que l'automatisation soit la clé pour maximiser l'utilisation des ressources dans le domaine de la science des données. En effet, les domaines d'application sont infinis: prêt, assurance, anti-fraude, vision par ordinateur, acoustique, capteurs, recommandations, prévisions, PNL. C'est un grand honneur de travailler dans ce domaine. La liste des tendances qui resteront pertinentes est la suivante:

  1. Fournir des visualisations et des idées pour aider à décrire et à comprendre les données;
  2. Rechercher / construire / extraire les meilleures fonctions pour un ensemble de données donné;
  3. Construire des modèles prédictifs plus puissants / plus intelligents;
  4. Combler le fossé entre la modélisation de la boîte noire et l'utilisation d'un tel modèle;
  5. Faciliter la production de ces modèles

Apprentissage par renforcement


L'apprentissage par renforcement est l'une des méthodes d'apprentissage automatique, au cours de laquelle le système de test (agent) apprend en interagissant avec un certain environnement. Du point de vue de la cybernétique, c'est un type d'expérience cybernétique. La réponse de l'environnement (et non du système spécial de gestion du renforcement, comme cela se produit dans l'enseignement avec l'enseignant) aux décisions prises est le signal du renforcement, donc une telle formation est un cas particulier de formation avec l'enseignant, mais l'enseignant est l'environnement ou son modèle. Vous devez également garder à l'esprit que certaines règles de renforcement sont basées sur des enseignants implicites, par exemple, dans le cas d'un environnement neuronal artificiel, sur l'activité simultanée de neurones formels, en raison de laquelle ils peuvent être attribués à un apprentissage sans enseignant.

- source Wikipedia

Si on me demandait dans quel domaine j'aimerais voir un développement plus rapide, la réponse serait l'apprentissage par renforcement. Malgré les gros titres qui apparaissent de temps en temps, il n'y a pas eu de percées dans ce domaine et, surtout, il semble que les tâches d'apprentissage par renforcement pour la communauté soient trop complexes sur le plan mathématique et qu'il n'y ait pas de domaines pour une application réelle de telles applications.

Dans une certaine mesure, cela est vrai, l'année prochaine, j'aimerais voir des exemples plus pratiques d'utilisation de RL. Chaque mois sur GitHub et Reddit, j'essaie de maintenir au moins un référentiel RL ou une discussion pour aider à discuter de ce sujet. Il est possible que ce soit la prochaine chose importante qui proviendra de toutes ces études.

OpenAI a publié une boîte à outils très utile pour ceux qui commencent tout juste à se familiariser avec RL. Vous pouvez lire l'introduction de RL ici (cela s'est avéré très utile pour moi).

Si j'ai raté quelque chose, je serai heureux de vos ajouts.

Développement OpenAI dans l'apprentissage par renforcement profond


Bien que le développement du RL soit lent, la quantité de matériel de formation sur ce sujet reste minime (pour le moins). Malgré cela, OpenAI a partagé d'excellents documents sur ce sujet. Ils ont appelé leur projet «Spinning Up in Deep RL», il est disponible ici .

Autrement dit, il s'agit d'une liste exhaustive de ressources sur RL. Les auteurs ont essayé de rendre le code et les explications aussi simples que possible. Il y a suffisamment de matériaux qui incluent la terminologie RL, des conseils de développement pour la recherche RL, des listes de matériaux importants, du code bien documenté et des référentiels, ainsi que des exemples de tâches pour vous aider à démarrer.

Vous n'avez plus à le reporter à plus tard, si vous prévoyez de commencer à travailler avec RL, votre heure est venue!

Google Dopamine


Pour donner une impulsion au développement et engager la communauté dans le sujet de l'apprentissage par renforcement, l'équipe Google AI a présenté le cadre Densamine TensorFlow pour tous ceux qui souhaitent rendre les projets plus flexibles et reproductibles.

Dans ce référentiel GitHub, vous pouvez trouver les informations nécessaires à la formation avec le code TensorFlow. C'est peut-être la plate-forme idéale pour commencer des expériences simples dans un environnement contrôlé et flexible. Cela ressemble à un rêve éveillé pour tout spécialiste.


Tendances d'apprentissage par renforcement pour 2019


Xander Steenbrugge, président du DataHack Summit 2018 et fondateur d'ArxivInsights Channel, est un expert de l'apprentissage par renforcement. Voici ses réflexions sur l'état actuel de RL et ce à quoi nous devrions nous attendre en 2019:
En ce moment, je vois trois problèmes principaux dans le domaine de la RL:

  1. La complexité du modèle (l'agent doit voir / collecter une grande quantité d'expérience pour apprendre)
  2. Généralisation et transfert de formation (formation sur la tâche A, test sur la tâche connexe B)
  3. RL hiérarchique (décomposition automatique des sous-objectifs)

Je suis sûr que les deux premiers problèmes peuvent être résolus en utilisant un ensemble similaire de méthodes liées à l'apprentissage non supervisé de la représentation.

Maintenant, dans RL, nous formons des réseaux de neurones profonds qui extraient des actions de bout en bout (par exemple, avec rétropropagation) de l'espace d'entrée brut (par exemple, en pixels) à l'aide de signaux de récompense rares (par exemple, un compte dans un jeu) Atari ou capture robotique réussie). Le problème ici est que:

Le premier . Il faut beaucoup de temps pour «développer» des détecteurs de fonctions utiles, car le rapport signal / bruit est très faible. RL commence essentiellement par des actions aléatoires, jusqu'à ce que vous ayez la chance de tomber sur une récompense, alors vous devez toujours savoir exactement quelle récompense spécifique a réellement été causée. D'autres recherches sont soit codées en dur (recherche epsilon-greedy), soit encouragées par des méthodes telles que l' exploration motivée par la curiosité . C'est inefficace, ce qui nous ramène au problème 1.


Deuxièmement , ces architectures de réseaux de neurones profonds sont connues pour leur tendance à «mémoriser» et dans RL, nous testons généralement les agents sur des ensembles de données pour la formation, par conséquent, la «mémorisation» est encouragée dans ce paradigme.

Un chemin de développement possible que j'examine avec enthousiasme consiste à utiliser l'apprentissage de la représentation non supervisée pour convertir un espace d'entrée multidimensionnel sale (par exemple, des pixels) en un espace «conceptuel» de dimension inférieure qui possède certaines propriétés requises, telles que la linéarité, le démêlage, la stabilité au bruit et plus encore.

Dès que vous parvenez à connecter les pixels dans une sorte d '«espace latent», l'apprentissage devient soudain plus simple et plus rapide (problème 1) et vous espérez que les règles extraites de cet espace auront une généralisation plus forte grâce aux propriétés évoquées ci-dessus ( problème 2).

Je ne suis pas un expert du problème de la hiérarchie, mais tout ce qui précède s'applique également ici: il est plus facile de résoudre un problème hiérarchique complexe dans un «espace caché» que dans un espace d'entrée non traité.

Une paire de spoilers d'un traducteur


Qu'est-ce que l'apprentissage de la représentation?
Dans l'apprentissage automatique, l'apprentissage des fonctionnalités ou l'apprentissage de la représentation est un ensemble de techniques qui permettent au système d'examiner automatiquement les facteurs nécessaires pour déterminer des fonctions ou des classifications basées sur des données brutes. Cela remplace l'ingénierie manuelle des fonctionnalités et permet à la machine d'apprendre les fonctions et de les utiliser pour effectuer des tâches spécifiques.

L'apprentissage des fonctionnalités peut être «sous surveillance» et «sans observation»:

  • Dans l'apprentissage des fonctionnalités sous apprentissage supervisé des fonctionnalités, les fonctions sont apprises à l'aide d'une entrée étiquetée.
  • Dans l'apprentissage des fonctionnalités sans observation (apprentissage des fonctionnalités non supervisé), les fonctions sont apprises sur la base de données non allouées.

- source Wikipedia

Qu'est-ce que l'espace latent?
Le mot «latent» signifie ici «caché». Dans ce contexte, il est le plus souvent utilisé dans l'apprentissage automatique - vous observez certaines données qui se trouvent dans un espace que vous pouvez observer, et vous souhaitez les transformer en un espace caché où des points de données similaires sont plus proches les uns des autres.

Par exemple, considérez 4 images:



Dans l'espace pixel observé, il n'y a pas de similitude directe entre deux images quelconques. Mais, si vous souhaitez l'afficher dans un espace caché, vous souhaitez que les images de gauche soient plus proches les unes des autres dans l'espace caché que l'une des images de droite. Ainsi, votre espace caché véhicule l'essence de la structure de vos données liées à la tâche. Dans LDA, vous modélisez la tâche de sorte que les documents liés à des sujets similaires soient plus proches dans l'espace masqué des sujets. Lorsque vous incorporez des mots, vous souhaitez afficher les mots dans un espace vectoriel masqué afin que les mots ayant une signification similaire soient plus proches dans cet espace.

Bonus: Regardez une vidéo d'Alex sur la façon de surmonter les récompenses rares dans Deep RL (la première tâche mise en évidence ci-dessus).


La complexité du modèle continuera de s'améliorer avec l'ajout de plus en plus de tâches de formation auxiliaires qui augmentent la rareté, des signaux de récompense atypiques (des choses comme la recherche, une formation préliminaire basée sur la curiosité dans le style d'un auto-encodeur, démêler les facteurs de causalité dans l'environnement, etc.). Cela fonctionne particulièrement bien avec des conditions de récompense très rares.

De ce fait, les systèmes de formation directement dans le monde physique deviendront de plus en plus réalisables (au lieu des applications modernes qui sont principalement formées dans des environnements simulés et utilisent ensuite la randomisation de domaine pour transférer dans le monde réel). Je suppose que 2019 apportera les premières démonstrations vraiment impressionnantes en robotique, qui ne sont possibles que lors de l'utilisation de méthodes d'apprentissage en profondeur et ne peuvent pas être codées en dur / conçues par les humains (contrairement à la plupart des exemples que nous avons vus jusqu'à présent).

Je crois qu'après le succès de Deep RL dans l'histoire d'AlphaGo (en particulier compte tenu des résultats récents d'AlphaFold), RL commencera progressivement à être utilisé dans des applications commerciales réelles qui apporteront une valeur pratique au-delà de l'espace académique, mais d'abord la portée sera limitée aux applications dans lesquelles il y a des simulations précises pour la formation virtuelle à grande échelle de ces agents (par exemple, découverte de médicaments, optimisation de l'architecture des puces électroniques, routage des véhicules et des paquets, etc.).

Un changement général dans le développement du RL est un processus qui a déjà commencé lorsque le test de l'agent sur les données de formation ne sera plus considéré comme «autorisé». La synthèse des métriques sera la clé, comme c'est le cas avec les méthodes d'enseignement supervisé

AI for Good Boys - Un passage à l'IA éthique


Imaginez un monde piloté par des algorithmes qui définissent chaque action humaine. Pas un scénario agréable? L'éthique en IA est un sujet que nous avons toujours discuté dans Analytics Vidhya, mais il est perdu dans le contexte de toutes les discussions techniques, alors qu'il devrait être considéré au même titre que d'autres sujets.

Cette année, un certain nombre d'organisations se sont retrouvées dans une situation stupide après le scandale de Cambridge Analytica (Facebook) et la controverse interne de Google sur le développement d'armes en tête de liste des scandales.

Il n'y a pas de recette simple et appropriée pour tous les cas pour résoudre les aspects éthiques de l'IA. La question nécessite une approche détaillée en combinaison avec un plan structuré, dont la mise en œuvre doit être assumée par quelqu'un. Voyons quelques événements majeurs qui ont secoué la région plus tôt cette année.

Campagnes Google et Microsoft


C'était gratifiant de voir de grandes entreprises mettre l'accent sur le côté éthique de l'IA (bien que le chemin qui les a conduites à ce point n'était pas très élégant). Faites attention aux directives et principes publiés par certaines entreprises:


En substance, ces documents parlent de la justice en matière d'IA, ainsi que du moment et de l'endroit où tracer la ligne. Vous y référer lorsque vous démarrez un nouveau projet basé sur l'IA est toujours une bonne idée.

Comment le RGPD a changé les règles du jeu


Le GDPR (General Data Protection Regulation) a définitivement influencé la manière dont les données sont collectées pour la construction d'applications IA. Le RGPD est apparu dans ce jeu afin de donner plus de contrôle aux utilisateurs sur leurs données (quelles informations sont collectées et diffusées à leur sujet).

Alors, comment cela affectera-t-il l'IA? C’est bien si les chercheurs dans le domaine des données ne reçoivent pas les données ou si cela ne suffit pas, la construction d’un modèle ne commencera pas. Bien sûr, cela a jeté les bases du fonctionnement des plateformes sociales et d'autres sites. Le RGPD a créé un merveilleux exemple, «dotting all i», mais a limité l'utilité de l'IA pour de nombreuses plates-formes.

Tendances éthiques en IA pour 2019


Il y a beaucoup de taches grises dans cette zone. Nous devons nous unir en tant que société pour intégrer l'éthique dans les projets d'IA. Comment pouvons-nous faire cela? Le fondateur et PDG de Vidhya Analytics, Kunal Jane, a souligné dans son discours au DataHack Summit 2018 que nous devrons développer un concept que d'autres pourront suivre.

Je m'attends à voir de nouveaux rôles dans des organisations qui adoptent l'éthique en IA. Les meilleures pratiques d'entreprise devront être restructurées et les approches de gestion devront être revues, car l'IA devient un élément central de la vision de l'entreprise. Je m'attends également à ce que le gouvernement joue un rôle plus actif à cet égard avec une orientation politique fondamentalement nouvelle ou modifiée. En effet, 2019 sera très intéressant.

Conclusion


Impactful est le seul mot qui décrit brièvement les événements incroyables de 2018. Je suis devenu un utilisateur ULMFiT actif cette année, et j'ai hâte d'explorer BERT dès que possible. Temps vraiment incroyable.

Je serai heureux de connaître votre avis! Quels développements avez-vous trouvé les plus utiles? Travaillez-vous sur un projet en utilisant les outils et les approches abordés dans cet article? Quelles sont vos prévisions pour l'année à venir? J'attends vos réponses avec impatience dans les commentaires ci-dessous.

Source: https://habr.com/ru/post/fr439724/


All Articles