cadre d'apprentissage en profondeur interne DeepMind ouverte Sonnet, la recherche par l'apprentissage de la descente de gradient

Ji-won nouvelle compilation

DeepMind a décidé de mettre en service tout au long de l'architecture d'étude tensorflow (TF) a presque un an. Ce fut un bon choix - beaucoup de nos modèles d'accélérer considérablement l'apprentissage plus rapide, fonctionnalité intégrée de formation distribuée simplifie grandement notre code.

Nous avons constaté que la flexibilité et l'adaptabilité de TF adaptée à la construction cadre de niveau supérieur dans un but spécifique, et nous avons écrit un tel cadre peut être utilisé pour construire rapidement TF module de réseau de neurones. Nous développons activement la base de code, mais jusqu'à présent, il est adapté pour que nos besoins de recherche, donc nous sommes heureux d'annoncer aujourd'hui que nous voulons ouvrir ce cadre. Nous l'appelons cadre Sonnet.

Depuis Novembre 2015 a été d'abord libéré, divers écosystèmes des bibliothèques de niveau supérieur continuent à émerger autour de la tensorflow, de sorte que les tâches générales à atteindre plus rapidement. Sonnet et une partie de la bibliothèque de réseau de neurones existant a de nombreuses similitudes, mais il a aussi quelques-unes des caractéristiques requises pour notre recherche conçu. Dans le précédent  Apprendre à apprendre papier (voir ci-dessous), nous utilisons un code, y compris une version préliminaire de Sonnet Autre version à venir du code sera publié build aujourd'hui sur notre bibliothèque complète.

Sonnet open source, vous pouvez faire d'autres modèles créés DeepMind facilement partager avec la communauté, nous espérons également que la communauté peut utiliser Sonnet mener leurs propres recherches. Ces derniers mois, nous ouvrons notre plate-forme phare de DeepMind Lab, travaille actuellement avec Blizzard pour développer le soutien de l'API open source StarCraft II dans la recherche en IA. Instaurera également des versions plus à l'avenir, ils seront partagés sur notre nouvelle page open source.

La bibliothèque utilise approche orientée objet, semblable Torche / NN, ce qui permet de créer une certaine définie avant de calculer le module de transmission. Certains module d'entrée Tensor est « appel », et ajouter un retour Tensor graphique utilisable à la sortie. Un choix où la conception est automatiquement assurée par la réutilisation des variables lorsque les appels suivants aux mêmes variables de processus module de partage de manière transparente.

De nombreux cours type de papier que nous sommes naturel doivent être considérés comme une hiérarchie, par exemple: un contrôleur de LSTM comprenant de l'ordinateur neuronal peut être dérivé, peut être utilisé comme une implantation comprennent couche linéaire standard. Nous avons constaté qu'un code de module de sous-codage exhaustives peuvent être obtenus plus facilement et rapidement appliqué à la réutilisation de l'expérience - Sonnet promouvoir en même temps l'expression peut être écrite dans d'autres modules ou sous-modules du module en cours de construction peuvent être livrés à l'intérieur des autres modules.

Nous avons trouvé une technique très utile est de faire un module spécifique finale fonctionne dans un groupe Tensor imbriqué. En général, un ensemble de différenciation neurale ordinateur peut être mieux exprimé dans l'état du calcul différentiel neurale et déclaration de mode parallèle est une liste de sujets à erreur. Sonnet fournit un utilitaire pour faire face à l'une de ces hiérarchies, afin d'expérimenter avec différents types de changement ne nécessite pas la lourdeur des changements de code RNN. Nous avons également apporté des modifications au TF de base pour mieux soutenir ce cas d'utilisation.

Sonnet est spécialement conçu pour fonctionner avec tensorflow et n'empêche donc pas accès aux détails sous-jacents, tels que la gamme de variables tenseurs et similaires. Sonnet modèle préparé peut être mélangé avec les codes de TF d'origine et d'autres bibliothèques de modèles haut gratuit.

Ce n'est pas une version unique - nous mettrons à jour régulièrement dépôt Github pour coïncider avec notre version interne. Nous avons encore beaucoup d'idées sur les nombreuses nouvelles fonctionnalités qui seront disponibles lorsque vous êtes prêt. Nous sommes très enthousiasmés par les contributions de la communauté. Pour plus d'informations sur Sonnet, visitez notre dépôt GitHub.

dépôt GitHub: https: //www.github.com/deepmind/sonnet

Encore une fois une nouvelle bibliothèque TF Quelle est la signification?

Dans la page Github de Sonnet, les chercheurs ont donné quelques réponses aux questions fréquemment posées, dont nous pouvons mieux comprendre et construire DeepMind open source Sonnet du début du cur, et comment faire un meilleur usage de cet outil.

Q: Pourquoi a mis en scène une bibliothèque sur TF?

A: bibliothèque TF existants pour une utilisation DeepMind est très rigide, parce que nous avons beaucoup de cas l'utilisation doivent faire est de partager le poids (partage de poids). Maintenant, toutes les choses avec tf.make_template, seront en mesure de supporter la part de poids dès le début, entraîne des avantages au-delà des coûts de développement évidents. De plus, le paradigme séparé configuration et la connexion est une combinaison de modules plus commode.

Q: Dans la même version d'appels suivants peuvent accéder à différentes variables font?

R: Non tf.make_template a permis de le faire, il aura accès à différentes variables dans les appels suivants comme des erreurs.

Q: Si vous vous posez deux modules ont la même appellation ce qui se passera?

R: Le même nom apparaît dans un module ayant une configuration différente d'un nom variable et la portée. Après tout l'intérieur, Sonnet utilisation tf.make_template, il est fondamentalement un paquet avec un certain nombre de fonctions de python tf.VariableScope ensemble pour faire en sorte que chaque appel à la fonction se produisent dans la même portée, et le premier appel les appels sont réglés sur les variables de réutilisation. Un modèle de fonction, le cas échéant le nom a été inscrit dans la même portée, il leur fera technologie unique. Par exemple:

Q: Je dois donner mon module a nommé?

R: Non Module a un nom par défaut, il doit être snake_case le nom de la classe, le cas échéant, il sera utilisé comme seul du nom (voir ci-dessus). Toutefois, nous vous recommandons le nom du module à partir d'une variable qui contient, comme ce nom sera le nom du champ interne, qui définit également le nom de la variable. La plupart des modules avec le nom de « W » (poids), et « b » (biais), pour montrer le poids internes. Tout le monde aime ainsi nommés:

Si votre nom apparaît dans la TensorBoard dans.

Q: Comment puis-je savoir ce qu'est un des variables du module de déclaration des?

A: get_variables façon que vous pouvez utiliser pour un module de requête pour toutes les variables du périmètre. Remarque Si le module n'est pas connecté au graphique, il affiche une erreur, car la variable n'existe pas à ce moment, de sorte que le champ d'application pertinente est vide.

Q: Tout le contenu doit Sonnet en tant que module pour y parvenir?

R: Non, et ne crée pas tf.Variables stocke la configuration interne calculée peut être mis en uvre dans le TF style Op classique, à savoir la réception d'un des paramètres du tenseur d'entrée et les mots clés de retour tenseur de sortie de la fonction python.

Si vous voulez créer une op variable (c.-à-appeler tf.get_variable partout à l'intérieur, y compris indirecte), il doit être une sous-classe de snt.AbstractModule, de façon à traiter correctement des variables partagées.

Notez que si un calcul ne crée pas une variable, vous pouvez toujours avoir besoin d'utiliser un module à la place Op pour y parvenir.

En plus de la variable partagée que dans le cas des paramètres de configuration que nous aimerions joindre au système d'exploitation, il est facile d'utiliser le module Sonnet. Un exemple est (Module d'ordinateur neuronal différentiable), (la taille de chaque mot dans la mémoire, le nombre de têtes) recevant une pluralité de paramètres de configuration des modules, certaines de ces fonctions définies par des entrées d'entrée valide. Nous utilisons la taille de sortie correcte snt.Linear avant ce module pour fournir les dimensions correctes. Parce qu'il est un module, il est facile à mettre en uvre - fournie lors de la configuration construction, puis fournir un method.param_size, qui donne la dimension souhaitée de l'entrée. Ensuite, nous pouvons obtenir la bonne taille et tenseur connexion d'entrée.

Si les opérations ci-dessus sont tels que cosine_weights op (mémoire, cos_params, word_size, num_heads) mis en oeuvre, alors la logique indique cos_params taille souhaitée doit être stocké dans une fonction distincte. Les fonctions liées à un module emballé rend le code plus clairement.

Q: il peut l'utiliser avec d'autres API senior TF (comme TF Slim) mélanger?

A: Module Sonnet construit une fois, il est conforme aux principes Tensor-In-Tensor-Out, il peut être mélangé avec la TF-Slim comme des fonctions. Mais notez que cela peut conduire à un contrôle --TF-Slim comportement indésirable est partagé par le passage d'un champ clair = et la réutilisation = kwargs à la fonction de couche - Si vous utilisez la méthode dans _build Sonnet modules TF- couche mince, appelé plusieurs fois, il est peu probable au travail.

Q: Sonnet avec d'autres bibliothèques avec les frais généraux d'origine TF (frais généraux) est combien?

R: Non Seulement lors de la construction du graphe de calcul impliquera Sonnet. Une fois que vous aurez à utiliser étape Session.run, exécutez simplement Ops sur la ligne, quelle que soit la carte ainsi que la bibliothèque.

Hacker Nouvelles commentaire: aperçu de la recherche interne DeepMind

Il a reçu le soutien le plus élevé pour l'utilisateur HN RGC a commenté:

Comme les environnements d'apprentissage machine tensorflow groupes de recherche très complexes, différentes doivent définir vos propres bonnes pratiques. Utiliser TF comme l'apprentissage C ++, comme tout le monde en apprendre un peu différent, mutuellement incompatibles, mais largement sous-ensemble de chevauchement de la langue.

Après Sonnet open source, nous voyons les outils spéciaux DeepMind (bien que seulement un peu), et la mise en uvre de référence qu'ils utilisent dans leurs opérations de travail.

Pour ceux qui veulent passer à travers l'Institut DeepMind de travail, puis, c'est open source très utile.

Cependant, Sonnet pas complètement nouvelle bibliothèque de réseau de neurones. Personne ne prétend que cette version apporte un changement dans le paradigme de ce que l'industrie que les gens sont toujours très heureux.

Documents de recherche: La baisse de l'apprentissage de descente de gradient par apprentissage gradient

Voici le « Apprendre à apprendre papier » dans l'article mentionné au début. Ce document téléchargé ici la fin de 2016 à arXiv, quand une partie du code utilisé dans le document d'inclure une version préliminaire de Sonnet.

Aujourd'hui, DeepMind code plus complet a été placé sur Github.

Le titre de cet article est très intéressant, appelé « l'apprentissage par gradient de descente de gradient est tombé en apprenant » l'algorithme d'optimisation comme des problèmes d'apprentissage, apprendre à laisser l'algorithme automatique pour explorer la structure nécessaire. Les auteurs sont professeur de l'Université d'Oxford, chercheur DeepMind Nando de Feritas.

résumé

Dans l'apprentissage de la machine, l'apprentissage de la conception manuelle comporte des caractéristiques de la machine de ce processus a été un grand succès. Cependant, l'algorithme d'optimisation est encore la conception à la main. Dans cet article, nous montrons comment optimiser la conception de l'algorithme de conversion pour des problèmes d'apprentissage, apprendre à laisser les besoins de l'algorithme automatique pour explorer la structure. Algorithme (mis en uvre par le LSTM) de l'école en finale, sur la performance des tâches au-delà de l'algorithme formé la conception manuelle générique et la performance de la nouvelle tâche avec une structure similaire est également très bonne (grande capacité de généralisation). Dans de nombreuses tâches que nous avons testé les nouveaux algorithmes, y compris de simples problèmes convexes, former le réseau de neurones et le style augmente d'image artistique de neurones (images styling avec l'art de neurones).

Adresse Papers: https: //arxiv.org/pdf/1606.04474.pdf

Adresse originale: https //Deepmind.com/blog/open-sourcing-sonnet/ de = :? groupmessage & isappinstalled = 1

27 mars Chi-yuan nouvel éco-sommet open source et la nouvelle technologie AI Ji-won 2017 Business Plan cérémonie de remise des prix du concours a eu lieu, y compris le courant dominant « BAT » AI, y compris les entreprises chinoises, plus de 600 d'élite de l'industrie se sont réunis pour la Chine 2017 le développement de l'intelligence artificielle peint une marque indélébile.

Cliquez pour lire le texte original, l'Assemblée générale examine la version texte Enregistrement

Cliquez sur les liens suivants, Rappelant sa pompe:

  • communauté Ali Yunqi: http: //yq.aliyun.com/webinar/play/199

  • IQIYI: http: //www.iqiyi.com/l_19rrfgal1z.html

  • Artesyn Technologies: http: //v.qq.com/live/p/topic/26417/preview.html

Les médias étrangers: les prix mondiaux du pétrole ou encore sensibles, le sable des États-Unis et la Russie trois pays qui ont le dernier mot?
Précédent
Automne Guizhou, l'original si beau!
Prochain
Après 100 jours de création d'entreprise, de 0 à 10 milliards de trafic hors ligne, qu'avons-nous bien fait ?
effet de gardes, Google dernières images générées par ordinateur de qualité d'enregistrement rafraîchissement COMMENCÉ
20 villes mondiales face à la réalité froide du marché immobilier, le dollar fabrication des prix élevés ou schéma de Ponzi hypothécaire
Jingdezhen Le documentaire a remporté des prix à l'international! amis d'outre-mer Qi pouces vers le haut ......
Comment déterminer le confort principal ou voiture de sport? Ne voit pas la forme, je ne vois pas la suspension mal jugé
La propagande officielle | 11/23 cette neige poudreuse dans le monde sera une grande ouverture
« Vous êtes laid vous illégal » ...... la police Sorgho calme, il a dit: tous assis tous assis, le fonctionnement normal ......
Feux de freinage flashé et clignote deux sous Quelle est la différence? Grand-père a dit, un grand apprentissage
2018 or Passeport classement: Japon si puissant? La Chine se classait baisse
L'Iran et le dollar des États-Unis ont fait une pause, les prix du pétrole ont atteint des sommets français de huit ans, a soudainement commencé à jeter la dette américaine massive
C'est le nom de la « proposition de mariage romantique » du capitaine pour me réchauffer!
Avant de pouvoir aller la voie d'urgence et dans quelles circonstances?