bibliothèque Python Google open source différenciation automatique Tangent, facile à déboguer du code qui peut générer un gradient de

Li Lin compilé à partir de Google Blog de recherche

Qubit produit | Numéro public QbitAI

Google a lancé aujourd'hui une nouvelle bibliothèque open source de différenciation automatique Python: Tangent.

bibliothèque existante de différents apprentissage automatique, Tangent est un code source dans le code source du système, en utilisant la fonction f python et python avec une nouvelle fonction pour calculer le gradient de f. Ainsi, les utilisateurs d'aide peut pour mieux voir les calculs de gradient et plus facilement éditer et le débogage gradient de niveau utilisateur.

De plus, Tangente et beaucoup plus de débogage et des modèles d'apprentissage machine fonctionnalité Design:

  • Facile processus de transfert inverse de mise au point (passe en arrière)

  • chirurgie gradient rapide

  • Mode automatique avant la différenciation

  • Produit vectoriel des universités hessois

  • optimisation du code

Cet article décrit l'API Tangent, y compris comment l'utiliser pour générer facile à comprendre, déboguer et modifier le code du dégradé en Python.

la machine d'apprentissage du réseau de neurones a de grands progrès, mais l'idée de base nous formons le réseau de neurones pour accomplir des tâches existe déjà depuis 30 ans, il est le mode inverse différenciation automatique (inverse mode de différenciation automatique), qui est, nous avons souvent il a dit la propagation arrière (rétropropagation). Procédé de rétropropagation à deux reprises par le réseau neuronal comprenant: un premier terme « transfert vers l'avant » pour le calcul de la valeur de sortie de chaque noeud, et ensuite exécuter le calcul de la série dérivée « transfert inverse » pour déterminer comment mettre à jour les coefficients de pondération, afin d'améliorer le modèle précision.

Former le réseau de neurones, une nouvelle architecture de l'étude, nous avons besoin de corriger, efficace et calculer facilement ces dérivés. Lorsque la formation de modèle n'est pas bon, ou d'essayer quelque chose de nouveau construire, nous ne savons pas, aussi nous devons être en mesure de déboguer ces dérivés. différenciation automatique (autodiff visé) peut être calculé dans le programme informatique représente la dérivée de certaines fonctions mathématiques, et presque toutes les machines d'apprentissage des bibliothèques peut y parvenir.

Effectuer (au moment de l'exécution, par exemple tensorflow Eager, PyTorch, Autograd), ou l'accumulation diagramme de flux de données dynamiques d'une bibliothèque d'apprentissage de la machine conventionnelle par le programme de suivi de piste et de son dérivé (à l'avance, comme tensorflow) pour réaliser la différentiation automatique.

Tangent qui sont utilisés avec les différentes façons d'effectuer une avance de différentiel automatique sur le code source python, le code source et génère en sortie python.

Ainsi, vous pouvez lire le programme comme d'autres parties du même, de lire automatiquement le dérivé de code.

Pour les chercheurs et les étudiants non seulement veulent utiliser Python pour le modèle d'écriture, veulent lire sans sacrifier le bas de la vitesse et de flexibilité, le débogueur de code dérivé généré automatiquement, Tangent très utile.

Vérification et le débogage modèle Tangent ne nécessite pas d'outils spéciaux, Tangent peut travailler sous-ensemble important et croissant Python de fonctionnalités qu'ils offrent une différenciation automatique est aucune autre machine d'apprentissage bibliothèque Python. Son haute performance, et est compatible avec tensorflow, NumPy.

Comment dérivé il est généré automatiquement le code Python?

Tf.exp ou tf.log telles que les fonctions mathématiques ont dérivé, nous pouvons écrire pour construire une passe inversée, sous-routines, conditions, boucles et autres fragments de grammaire a également une version passe inverse. Tangent peut appeler une syntaxe Python, et de nombreuses fonctions Numpy et tensorflow pour générer du code dérivé.

Tangent a une seule API de fonction:

La figure suivante montre le déplacement lorsque l'on appelle une fonction Python tangent.grad sur ce qui se passe:

Si vous voulez la liste de leurs dérivés, vous pouvez exécuter:

Pour les fonctions Eager dérivés et tensorflow de Python, Tangent a une énorme base de données de recettes. tangent.grad vous emballera le passer en fonction du code source Python, puis inverser la parcourir, trouver une recette de transfert inverse correspondant de votre propre bibliothèque et l'ajouter à la fin de la dérivée de la fonction.

Le nom de cette technologie - le mode inverse différenciation automatique - vient de ce processus inverse.

La fonction ci-dessus est applicable uniquement aux tenseur entrée df (non-array). Tangent soutient également:

  • Une fonction de traiter une gamme tensorflow Avide

  • Sous-programme

  • contrôle du flux

Google dans un billet de blog a souligné que même si le soutien de Tangent tensorflow impatient de commencer, mais il est pas certain et une bibliothèque de liaison, ils sont prêts à accepter la demande d'ajouter PyTorch ou d'un dérivé MXNet de la recette.

Enfin, fixez l'adresse Tangent projets open source, il y a des instructions de téléchargement et d'installation:

Blog d'origine:

https://research.googleblog.com/2017/11/tangent-source-to-source-debuggable.html

- FIN -

recrutement sincère

Qubits recrutent éditeur / journaliste, basé à Zhongguancun de Beijing. Nous attendons de talent, des étudiants enthousiastes de nous rejoindre! Détails, s'il vous plaît interface de dialogue qubit numéro public (QbitAI), réponse mot "recrutement".

Qubit QbitAI · manchettes sur la signature de

' « suivre les nouvelles technologies AI dynamiques et de produits

Inventaire en vente neuf 3A magnifique chef-d'uvre! Ne me dites pas que vous jamais entendu parler d'un!
Précédent
La stabilité de base de Hamsik le! Les médias italiens: celui qu'il a reçu Dalian médical, les deux parties ont annoncé la dernière Zhou Erguan
Prochain
Long tigre aile « cerveau chinois » sur le marché, la stratégie de localisation de Ford devrait jouer potentiel
principaux producteurs de prendre des fonds publics ciselure, ont beaucoup dépensé pour faire la déesse de 70 ans dans le jeu, mais les joueurs émus aux larmes
Cambrian publier une variété de puce AI dans de nouveaux domaines tels que les véhicules sans pilote, a annoncé une feuille de route de trois ans
Lippi est parti, entraîneur de football Guus Hiddink dans un candidat populaire, Tianjin médias: Capello internationaux favorables se sont réunis pour
Un regard surpris: Ray attrait mort embarrassant Atlas (388)
Ali racines dans un groupe industriel bien de la main intelligente pleinement intelligent, motorisé
Yatai l'an dernier, 160 millions ne vendent pas super, et le prix des choux à vendre? Hengda Catch 2 est la clé!
équipe chinoise de jouer la force du roi de gloire? Huit minutes pour gagner un bureau, le tout champion invaincu a remporté AOV
ventilateurs Changan Automobile cinq chansons pour célébrer, contient des informations importantes
Hamsik a rejoint le parti retourne le milieu de terrain 1 personne centre d'échange? Fans: En plus de Zhang Hui Peng a également Terrier Terrier
« H1Z1: juste pour survivre », fera face au sort de la panne! Utilisateur: Pourquoi penser avant sa mort
Tomohiro sera la première ville chinoise de Chongqing dans l'ouverture, l'industrie du réseau de véhicules plomb chaud