Usher PyTorch, ses adieux à Théano, 2017 cadre d'apprentissage profond pour le développement d'un grand inventaire

l'apprentissage de l'apprentissage automatique profondeur est une méthode pour caractériser l'apprentissage à base de données, comme aujourd'hui est le plus sujet populaire, Google, Facebook, Microsoft et d'autres géants ont fait une série d'études sur la profondeur de l'apprentissage, a soutenu la construction de l'open source cadre d'apprentissage profond .

Au cours de la dernière année, avec la bénédiction de ces géants, la situation cadre de l'apprentissage en profondeur a subi de grands changements: un nouveau cadre est avéré, l'ancien cadre a retirer progressivement de la scène de l'histoire, et le lien entre le cadre et le cadre est plus étroitement, plus écologique il est ouvert. Cette année, Lei Feng réseau AI Technology Review sont toujours préoccupés par ces développements et les changements, les sujets suivants, dont chacun a causé un développeur de discussion après l'autre:

  • Facebook PyTorch open source, les ennemis deviennent tensorflow

  • Théano remplir la mission, mission accomplie

  • ONNX plate-forme ouverte est avéré, en essayant de promouvoir le développement écologique ouvert

  • CNTK, Keras, MXNet ont été inaugura une mise à jour majeure

  • Microsoft Amazon a lancé la bibliothèque d'apprentissage en profondeur gluons, Intel a présenté un cadre renforcé de l'apprentissage Coach

  • Pour les terminaux mobiles, Caffe2 et tensorflow Lite a open source

Ensuite, Lei Feng inventaire de réseau AI Technology Review sera le développement et des changements importants entre le cadre de l'apprentissage de la machine aux lecteurs.

Facebook open source PyTorch, avec l'occupation de la tendance montante de la communauté des développeurs

Au début de 2017, Facebook basé sur l'apprentissage des machines et des outils de calcul scientifique de la flamme, visant à la boîte à outils d'apprentissage des langues Python a publié une nouvelle machine --PyTorch. PyTorch fait autre NumPy, qui prend en charge les GPU, avec des fonctionnalités plus avancées, peut être utilisé pour construire et entraîner la profondeur du réseau de neurones. Une fois libéré, il sera soumis à une grande attention et la discussion. Après près d'un an de développement, PyTorch est devenu l'un des praticiens les plus importants des outils de développement.

Lorsque vous publiez PyTorch le début, Facebook a dit, « il est prévu pour aider ou remplacer la bibliothèque de mathématiques Python existant (comme NumPy) dans une certaine mesure. » Pour l'instant, l'utilisation PyTorch plus largement, cette prophétie se réalise.

Aux yeux de nombreux développeurs, PyTorch est une très bonne alternative à tensorflow.

Ce qui suit est principaux avantages PyTorch:

  • Il est dans la machine d'apprentissage parmi les plus langage Python de l'écosystème, afin que les développeurs peuvent accéder à la majorité des bibliothèques Python et des logiciels. Par conséquent, les développeurs Python d'utiliser leur style familier de l'écriture de code, sans la nécessité d'une enveloppe externe dans la bibliothèque C ou C, en utilisant la langue spéciale.

  • N'a pas besoin de reconstruire tout le réseau à partir de zéro, il fournit une méthode plus rapide pour l'amélioration des réseaux de neurones existants - la structure calculée dynamiquement la figure (graphique de calcul dynamique), plutôt que le cadre le plus open source, tels tensorflow, Caffe, CNTK, Théano la figure autre calcul de la statique utilisé.

  • API PyTorch pour la conception de chargement de données très bien. ensembles de données d'interface, d'échantillonnage et chargeur de données clairement définies. Chargeur de données reçu ensemble de données et l'échantillonneur, l'échantillonneur en fonction de la programmation, l'itérateur qui génère l'ensemble de données. Chargement transfert de données en parallèle num_workers comme la déclaration soit comme chargeur de données simple.

  • L'utilisation de allocateur mémoire GPU personnalisé. Cela permet aux développeurs d'avoir le modèle d'apprentissage en profondeur « pour optimiser les performances de la mémoire », une plus grande profondeur que la formation avant le réseau de neurones.

Adresse GitHub: https: //github.com/pytorch/pytorch

Tensorflow cas ennemis, l'introduction de la pluralité mise à jour dynamique mécanisme de la figure

Tensorflow est Google à la fin de cadre d'apprentissage profond lancé 2015. Au cours des deux dernières années, sa réputation dans la communauté des développeurs, est devenu le cadre de l'apprentissage en profondeur le plus couramment utilisé. Son complet, bonne communauté, et donc le taux d'utilisation a été stable pour rester en tête. Avec le cadre de PyTorch et ainsi tourné, parce que le document et l'interface confusion, difficiles à utiliser et d'autres défauts, tensorflow largement critiquée.

En 2017, l'équipe de développement continue d'introduire de nouvelles fonctionnalités pour la tensorflow: libération anticipée tensorflow 1.0, un support complet de Keras, l'introduction de carte dynamique fin de mécanisme d'exécution Avide, de sorte que le développement de plus simple et plus intuitive.

Ce qui suit est le tensorflow avantage largement salué par tout le monde:

  • Les objets Saver tensorflow facile à utiliser et offre plus d'options pour le poste de contrôle (check-pointage).

  • Dans sérialisation, tensorflow principal avantage est que l'ensemble peut être enregistré comme un tampon de protocole de la Fig. Cela inclut les paramètres et les opérations. De plus, la carte peut être chargée par le soutien d'autres langages (C ++, Java). Il est essentiel de ne pas soutenir la pile Python pour la planification. En théorie, après avoir modifié le code source du modèle, vous voulez peut également aider lorsque vous exécutez l'ancien modèle.

  • Soutien pour le déploiement mobile et embarqué, bien que beaucoup de travail doit être tensorflow Déployez Android ou iOS, mais ne dispose pas de réécrire l'ensemble du modèle de processus de raisonnement en Java ou C ++.

En outre, le déploiement tensorflow service côté serveur haute performance, les utilisateurs peuvent facilement passer à soutenir le modèle sans compromettre la performance du service.

En outre, il a présenté à la fin de Désireuse Execution-- un style impératif, géré par la définition de l'interface, une fois appelée à partir de Python peut effectuer l'opération immédiatement, ce qui en fait, mais fait aussi tensorflow d'entrée d'apprentissage plus facile le travail de R & D est devenue plus intuitive .

Adresse GitHub: https: //github.com/tensorflow/tensorflow

Théano remplir la mission, mission accomplie

Comme le cadre d'apprentissage approfondi existe classe fondateur, dirigé par le Yoshua Bengio Théano après avoir terminé sa mission historique, la scène de l'histoire.

est bon à la manipulation bibliothèque de tableau multidimensionnel (à cet égard est similaire à NumPy), il est conçu pour exécuter l'algorithme de réseau de neurones apprentissage en profondeur dans les opérations à grande échelle Théano basée sur Python, selon Lei Feng réseau AI Technology Review Recherche,. On peut le comprendre comme un compilateur d'expression mathématique: Définir les résultats que vous souhaitez utiliser un langage symbolique, le cadre compileront votre programme pour fonctionner efficacement sur le GPU ou CPU.

Dans le passé, une très longue période de temps, Théano sont le développement de l'apprentissage en profondeur et à la recherche de normes de l'industrie. Par rapport à la bibliothèque d'apprentissage en profondeur, ce qui est plus comme une plate-forme de recherche, les développeurs ont besoin de faire beaucoup de travail à partir du sol, de créer un modèle dont ils ont besoin. Theano premiers développeurs ont Yoshua Bengio et Ian Goodfellow, en raison de la formation académique, il a été conçu à l'origine pour la recherche universitaire.

Théano arrêter de fumer, il y a des développeurs de commentaires, « il ouvre la première de son genre basé sur le cadre de l'apprentissage de la machine de calcul symbolique, puis avec la montée de tensorflow et PyTorch pour terminer sa tâche historique. »

Bengio a déclaré dans un message d'adieu:

étude approfondie et soutien à la recherche écosystème logiciel évoluent rapidement, et en bon état, un logiciel open source devient la norme, il y a beaucoup d'autres options de cadre d'apprentissage en profondeur pour répondre aux besoins de tous sa mise en uvre du déploiement à explorer de nouvelles idées, en concurrence féroce les participants de l'industrie sont pris en charge par différents pile logicielle.

Au fil des ans, nous sommes très fiers de l'innovation Théano, son héritage et l'innovation sont également optimisés d'autres cadres. Par exemple, le modèle exprimé sous la forme d'expressions mathématiques, la réécriture des graphiques de calcul pour obtenir une meilleure utilisation des performances et de la mémoire, l'exécution transparente sur le GPU, un ordre plus élevé de différenciation automatique, sont tous devenir grand public.

Dans ce contexte, nous pensons que continuer à maintenir Théano n'est plus la meilleure façon de promouvoir de nouvelles recherches et les applications. Même du milieu universitaire, la contribution de l'industrie et de soutien augmente, mais maintenir l'ancienne base de code est devenu une innovation Hinder.

Alors que la mise à jour Théano a cessé, mais fondamentalement tous les cadres fait référence à Théano, il ne disparaît pas complètement.

Adresse GitHub: https: //github.com/Theano/Theano

Facebook, Microsoft se sont associés pour lancer la norme ONNX, ouvert Construire l'écologie AI

Septembre 2017, Facebook Microsoft ont publié conjointement un nouveau projet open source --ONNX (Open Neural Network Exchange), en essayant maintenant de construire un outil de développement de l'apprentissage ouvert et profond écosystème, de sorte que les différents réseaux de neurones pour réaliser l'interopérabilité cadre de développement mutuel avec. À l'heure actuelle, CNTK, PyTorch, Caffe2, MXNet a annoncé le soutien ONNX.

Pourquoi ONNX ensemble pour créer une plate-forme ouverte?

L'état actuel du développement sont les suivants: En général, chaque image sera optimisé pour une propriété spécifique, tels que la vitesse du train, le soutien à l'architecture réseau peut raisonner sur les appareils mobiles, et ainsi de suite. Dans la plupart des cas, plus besoin de propriétés de stade de développement et les étapes de ce produit ne sont pas les mêmes. Le modèle de réseau de neurones dans une trame sur toute formation, ne peut pas être utilisé directement dans un autre cadre. Les développeurs doivent passer beaucoup de temps et d'efforts pour la transplantation d'un modèle à l'autre plate-forme de développement. Cela se traduit par une efficacité réduite et des retards. Calendrier

Et avec ONNX, les développeurs peuvent suivre en temps réel la façon dont un réseau de neurones est généré sur le cadre, utilisez ces informations pour créer un objectif général carte de calcul conformément aux normes ONNX. Vous pouvez basculer plus facilement entre autre cadre, de choisir les meilleurs outils pour différentes tâches. Prise en charge ONNX représentation du cadre, ce qui simplifie considérablement le processus de commutation, de sorte que le choix des outils développeurs une plus grande flexibilité.

Adresse GitHub: https: //github.com/onnx/onnx

CNTK Microsoft base, lancé CNTK 2

Au début de 2016, la source ouverte de Microsoft CNTK kits d'apprentissage en profondeur. Comme outils de développement prestigieux de reconnaissance vocale, CNTK ayant une très bonne évolutivité, la rapidité et la précision.

Juin 2017, Microsoft a publié sur GitHub CNTK la première version candidate (RC), bêta fermée complète. Dans le blog, Microsoft dit CNTK est un système d'apprentissage en profondeur peut être utilisé pour accélérer telles que la voix, la reconnaissance d'image et de recherche pertinence recherche liée (pertinence de la recherche), etc., et peut fonctionner sur CPU ou GPU Nvidia. En outre, CNTK peut fonctionner localement, GPU Azure peut fonctionner sur le nuage.

Dans cette version mise à jour en Juin, la bibliothèque de couches a été considérablement amélioré. Un grand nombre de « couches » génériques sont prédéfinis, de sorte réseau écriture simple, contient hiérarchie standard est devenu très facile. Nouvelle bibliothèque d'algorithmes d'évaluation cognitive Boîte à outils sur la facilité d'utilisation et la performance a également été considérablement améliorée.

Depuis lors, plus de la version 2.0 Beta et RC, prise en charge Microsoft API CNTK progressivement mis à jour pour Python, C ++, C #, Java, etc., et de nouvelles fonctionnalités telles que le support back-end Keras. En 2.1, cuDNN mise à niveau vers la version 6.0, est compatible avec Windows plate-forme universelle. En 2.2, Microsoft a fait beaucoup d'améliorations en matière de soutien au modèle.

Dans la version 2.3 d'ici la fin de 2017, il y a plusieurs améliorations: Fournit un meilleur soutien aux normes ONNX, soutien à la formation de commutation distribuée à NCCL2, un support amélioré C API #, API augmentation de l'optimisation des réseaux, et plus rapide clairsemée Adadelta.

Adresse GitHub: https: //github.com/Microsoft/CNTK

Keras 2 surprise, associé plus étroitement avec tensorflow

Keras est un ardent défenseur de la bibliothèque de réseau de neurones minimaliste, très modulaire, sorti en Mars à 2015.

Mars 2017, keras ouvrir la voie à une nouvelle version --Keras 2. développeur Keras avait dit dans un blog, ils sont plus disposés les gens Keras comme une spécification API commune, plutôt que d'une seule base de code. À ce moment-là, les développeurs réaliseront précédent Keras résume en deux catégories:

  • Tensorflow réalisation interne que la version 1.0 publiée tensorflow tf.keras Module - entièrement basé sur tensorflow écrit, et est compatible avec tous les profondeur de tensorflow de fonctionnalité;

  • Atteindre universel, compatible avec une variété de fonctionnement back-end, y compris Théano et tensorflow et d'autres (futur pourrait soutenir beaucoup plus d'arrière-plan).

édition de mars, le contenu le plus important est d'améliorer la cohérence logique des Keras et tensorflow. Une autre mise à jour importante est le changement de l'API. Ils redessinés la plupart de l'API, mis de côté suffisamment d'espace pour l'expansion future modifié et mis à jour, et la nouvelle conception de l'API est entièrement compatible avec la spécification Google tensorflow.

En Août 2017, Keras a fait la mise à jour des points suivants: corrections de bugs, amélioration des performances, le fichier amélioré, offrant un meilleur support pour tenseur de données (telles que datasets, TFRecords) sur le modèle de formation en tensorflow améliorer TensorBoard expérience utilisateur, d'améliorer la couverture des tests. De plus, a marqué le début de deux changements majeurs: Tout d'abord, laissez-Constraint Manager (gestion des contraintes) en fonction des attributs variables, le second est de supprimer la propriété contraintes ne sont plus utilisés et le modèle de couche (ne porte pas atteinte par l'utilisateur).

Adresse GitHub: https: //github.com/keras-team/keras

Microsoft a lancé Amazon prise en charge complète apprentissage bibliothèque profonde gluons pour les symboles et la programmation impérative

Octobre 2017, Microsoft a lancé Amazon une nouvelle bibliothèque d'apprentissage en profondeur gluons. Il est un support de symbole et l'API de programmation impératif, dans le processus de création d'une étude approfondie du modèle peut simplifier considérablement le processus, sans le train ralentit. Il est rapporté que, gluons permettent aux développeurs de plus simple à apprendre, les règlements et le débogage des réseaux de neurones de profondeur, il peut aussi faire la prochaine itération et plus facile à maintenir, mais soutient également le développement de la construction rapide et de former le réseau de neurones. Gluon a actuellement le soutien de la MXNet Amazon, la prochaine soutiendra également CNTK, les principaux faits saillants sont les suivants:

  • Pour les utilisateurs avancés, gluons soutient de nombreuses technologies complexes, comme dynamique et diagramme de structure flexible.

  • Gluon contient une différenciation automatique du code symbolique, le programme a été exécuté, y compris le flux de commande. Gluon ce par hybridation: diagramme de calcul statique est d'abord calculé, puis dans les itérations ultérieures mises en cache et réutilisé. calcul figure peut être dérivé, par exemple, pour fournir des services au dispositif mobile.

  • Livré avec une bibliothèque riche de la couche construite en réutilisant une bibliothèque de composants pré-intégrés, il permet de simplifier considérablement l'architecture complexe de modèle de mandat.

  • Gluon support tenseur circulaire et irrégulière (tenseurs Ragged) (séquence de longueur variable peut être batch), et pour le modèle LSTM RNN avec efficacité sans précédent.

  • Il fournit un support complet pour les données éparses et quantitatives et des opérations peut être utilisée pour le calcul et la communication. Sparsity très répandu dans la profondeur du réseau de neurones dans le domaine de la PNL, et l'évaluation des performances en cours d'exécution est essentielle à quantifier.

  • Bien que la programmation se fait facilement sur un seul GPU, GPU, mais dans une pluralité d'opérations est beaucoup plus complexe. Ou par MXNet CNTK arrière, gluons au mode symbole et impératif de fournir la distribution automatique.

Adresse GitHub: https: //github.com/gluon-api/gluon-api/

Soutenu par Amazon, MXNet continuer à améliorer

MXNet co-parrainé par l'Université de Washington et des chercheurs de l'Université Carnegie Mellon, à la fin de 2016, il a été choisi comme plate-forme d'apprentissage en profondeur Amazon AWS officielle.

Son auteur a dit Li Mu,

MXNet premier est purement quelques personnes qui détiennent une passion pour la technologie et le développement composé de points d'intérêt, ni le nombre invoqué l'obtention du diplôme, pas pensé à l'utiliser pour faire de l'argent.

Peut-être pas étendue à pas, je pense que lentement le plus important est que chaque partenaire mis sur cette petite chose, et en maintenant le seuil inférieur de la mission d'apprentissage en profondeur. Mais aussi pour que nous ne devons être préoccupés par « la quantité de données et de calcul », plutôt que de la façon de parvenir à une utilisation efficace du matériel, la formule mathématique juste » écrit, ne veulent tout simplement pas savoir ce que vous soutenez couche, faites, « ne contrôle pas dérivation automatique comment former, il suffit de « données en main pour payer vers le nuage, puis dépenser de l'argent pour embaucher la force de l'opérateur » plutôt que sur la façon de gérer la façon d'optimiser les nuages.

En 2017, les développeurs ont été développés et optimisés par ce cadre, la version actuelle 1.0.0 MXNet est venu.

MXNet en Août 2017 a rejoint la carte dynamique des interfaces gluons, en Novembre 2017 a rejoint ONNX système ouvert.

MXNet L'avantage principal des trois aspects suivants:

  • Efficacité: économie des ressources informatiques, une grande efficacité d'utilisation des ressources;

  • Vitesse: que la machine peut être étendue et le GPU augmente de façon linéaire, sur une seule machine, mais a aussi un rendement élevé;

  • Facile à utiliser: supports programmation impérative (programmation impérative) et la programmation déclarative (programmation déclarative)

Adresse GitHub: https: //github.com/apache/incubator-mxnet

Intel Open Source Coach, pour la formation et l'évaluation pour améliorer l'apprentissage Agent

Octobre 2017, Intel amélioré l'apprentissage cadre open source Coach. Le cadre tire parti de la puissance de traitement du processeur multi-core pour améliorer la formation et l'évaluation de l'apprentissage Agent.

Agent entraîneur contient de nombreux types de mises en uvre, y compris réaliser une transition transparente de la monothread à multithreading. Agent de façon modulaire pour permettre à un des blocs de construction réutilisables d'une construction différente de la nouvelle et de l'agent plus complexe. De plus, l'entraîneur peut écrire une nouvelle tâche de l'agent sur la base d'un seul multi-tâche et passer à la mise en oeuvre synchrone ou asynchrone, et des changements minimes.

Ses principales caractéristiques sont les suivantes:

  • Il comprend quelques-uns des principaux apprentissage de renforcement multithreading, pour une variété de jeux et de l'environnement robotique. Il peut renforcer la formation efficace d'apprentissage Agent sur un ordinateur de bureau sans aucun matériel supplémentaire.

  • Il peut être effectué comme OpenAI Gym, Roboschool et tout autre environnement intégré ViZDoom supérieur, tout en offrant la visualisation des processus de formation et la compréhension des mécanismes de base Agent des différentes technologies, tous les algorithmes sont optimisés à l'aide d'Intel tensorflow pour atteindre, peuvent aussi cadre de néon d'Intel pour atteindre.

Adresse GitHub: https: //github.com/NervanaSystems/coach

Pour le terminal mobile, Facebook Caffe2 VS Google tensorflow Lite

Avril 2017, les revenus Facebook cadre d'apprentissage profond Caffe2. Selon le site officiel, sa plus grande caractéristique est légère, la modularité et l'évolutivité. Caffe2 peut facilement apporter la bénédiction AI pour les téléphones mobiles et autres appareils mobiles, de sorte que l'IA du nuage vers le terminal.

Selon Caffe2 blog officiel:

Pendant longtemps, lever le train et déployer le modèle AI, les gens pensent généralement de grands centres de données ou super-ordinateur. La raison de ce phénomène est que petit dispositif de calcul comporte des lacunes évidentes dans les images à grande échelle, de la vidéo, du texte et traitement de la voix, à la fois la vitesse et la fiabilité est bien pire que les grands centres de données.

Par conséquent déployé sur des appareils mobiles modèle AI, afin qu'il puisse gérer la tâche rapidement et avec précision l'analyse de corrélation, il a été un casse-tête à résoudre. Pour résoudre ce problème, laissez l'IA du terminal, en plus dépend du développement de la plate-forme matérielle mobile, le niveau cadre du logiciel a également besoin d'un support de cadre léger flexible.

Et juste Caffe2 cadre d'un tel. Il a été reconstruit et mis à jour dans le précédent cadre open source populaire Caffe sur la base d'une part, il intègre de nombreux algorithmes et modèles émergents d'autre part pour assurer la base de l'importance de la performance et l'évolutivité informatique sur le renforcement du cadre léger capacité de déploiement plate-forme matérielle de niveau.

Adresse GitHub: https: //github.com/caffe2/caffe2

Novembre 2017, Google a publié une version preview tensorflow Lite et Caffe2 similaires, ce cadre pour les appareils mobiles et embarqués. Tensorflow Lite est un nouveau design, avec les trois caractéristiques suivantes:

  • Léger (légère): modèles d'apprentissage de la machine pour soutenir le raisonnement suivi dans les nombres binaires plus petits, l'initialisation rapide / démarrage.

  • Multi-plateforme (multi-plateforme): fonctionne sur de nombreuses plates-formes différentes, prennent désormais en charge Android et iOS.

  • Rapide (rapide): optimisé pour les appareils mobiles, y compris en réduisant considérablement les modèles de temps de charge, prise en charge de l'accélération matérielle.

Tensorflow Lite prend en charge l'API réseau de neurones Android (API Android Neural Networks), lorsque l'accélérateur (matériel) ne sont pas disponibles, tensorflow Lite retourne à la CPU pour exécuter, il prend en charge actuellement beaucoup de bon modèle pour la formation de fin mobile et l'optimisation, comme MobileNet, Inception v3, intelligent Répondre.

Les développeurs a également dit, tensorflow Lite doit être considérée comme mise à niveau tensorflow Mobile, il a beaucoup de fonctions, il est encore en phase de développement intense.

Adresse: http: //tensorflow.org/mobile/tflite

(Fin)

Réaffectation de vieux films besoin de risque de marché du film pour être pêche prudent pour l'argent
Précédent
applications de réalité augmentée en hausse tranquillement, comment le changement Arkit Apple Store?
Prochain
état Chen Daoming de cheveux gris, ferme les yeux, comme président a assisté à la conférence de presse!
Interview « Le problème est pas un problème », le réalisateur Mei-feng: films d'art ne pas besoin d'avoir pour obtenir un « enfants Fan. »
Trois systèmes de conduite semi-autonome Bros, qui est digne de notre poche?
AI classement mondial des puces publié sept entreprises chinoises liste restreinte interprétation
Comment choisir le siège de la sécurité des enfants?
Yang Zi « nouvelle relation » et de l'exposition? L'homme debout à côté de l'air très mystérieux!
« Justice League »: ce style est pas le style, le public est vraiment heureux heureux
Un bon casque doivent avoir des normes
Jiefangbei New Century Nuo Beida et oies chaussures d'hiver école chaude à haute
dialogue Ombre avec les médias parlent Takefu: Pourquoi 31 ans après remappage vieux films de Hong Kong, « Un avenir meilleur » dans la partie continentale
Revenant sur 2017, l'inventaire de recherche PNL en fonction de la profondeur de l'apprentissage
Fermeture du 25 grand festival du film, « Tang sonde 2 » a remporté « la plupart des étudiants ont accueilli le prix du film »