Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Bande de Gradient | Section
Practice
Projects
Quizzes & Challenges
Quiz
Challenges
/
Deep Learning avec TensorFlow
Section 1. Chapitre 13
single

single

bookBande de Gradient

Glissez pour afficher le menu

La compréhension des opérations fondamentales sur les tenseurs permet de passer à l’optimisation et à l’accélération de ces processus grâce aux fonctionnalités intégrées de TensorFlow. Le premier de ces outils avancés à explorer est le Gradient Tape.

Qu’est-ce que le Gradient Tape ?

Ce chapitre aborde l’un des concepts fondamentaux de TensorFlow, le Gradient Tape. Cette fonctionnalité est essentielle pour comprendre et mettre en œuvre des techniques d’optimisation basées sur le gradient, en particulier dans l’apprentissage profond.

Le Gradient Tape dans TensorFlow est un outil qui enregistre les opérations pour la différentiation automatique. Lorsque des opérations sont effectuées à l’intérieur d’un bloc Gradient Tape, TensorFlow suit toutes les opérations de calcul effectuées. Cela s’avère particulièrement utile lors de l’entraînement de modèles d’apprentissage automatique, où les gradients sont nécessaires pour optimiser les paramètres du modèle.

Note
Remarque

Essentiellement, un gradient est un ensemble de dérivées partielles.

Utilisation de Gradient Tape

Pour utiliser Gradient Tape, suivre les étapes suivantes :

  • Créer un bloc Gradient Tape : utiliser with tf.GradientTape() as tape:. Toutes les opérations effectuées à l'intérieur de ce bloc sont suivies ;
  • Définir les calculs : effectuer des opérations avec des tenseurs dans le bloc (par exemple, définir une passe avant d'un réseau de neurones) ;
  • Calculer les gradients : utiliser tape.gradient(target, sources) pour calculer les gradients de la cible par rapport aux sources.

Calcul de gradient simple

Un exemple simple pour mieux comprendre ce concept.

123456789101112131415
import tensorflow as tf # Define input variables x = tf.Variable(3.0) # Start recording the operations with tf.GradientTape() as tape: # Define the calculations y = x * x # Extract the gradient for the specific input (`x`) grad = tape.gradient(y, x) print(f'Result of y: {y}') print(f'The gradient of y with respect to x is: {grad.numpy()}')
copy

Ce code calcule le gradient de y = x^2 en x = 3. Cela correspond à la dérivée partielle de y par rapport à x.

Plusieurs dérivées partielles

Lorsque la sortie est influencée par plusieurs entrées, une dérivée partielle peut être calculée par rapport à chacune de ces entrées (ou seulement à certaines d'entre elles). Cela s'effectue en fournissant une liste de variables en tant que paramètre sources.

Le résultat de cette opération sera une liste correspondante de tenseurs, où chaque tenseur représente la dérivée partielle par rapport à chacune des variables spécifiées dans sources.

1234567891011121314151617
import tensorflow as tf # Define input variables x = tf.Variable(tf.fill((2, 3), 3.0)) z = tf.Variable(5.0) # Start recording the operations with tf.GradientTape() as tape: # Define the calculations y = tf.reduce_sum(x * x + 2 * z) # Extract the gradient for the specific inputs (`x` and `z`) grad = tape.gradient(y, [x, z]) print(f'Result of y: {y}') print(f"The gradient of y with respect to x is:\n{grad[0].numpy()}") print(f"The gradient of y with respect to z is: {grad[1].numpy()}")
copy

Ce code calcule le gradient de la fonction y = sum(x^2 + 2*z) pour des valeurs données de x et z. Dans cet exemple, le gradient de x est présenté sous forme de tenseur 2D, où chaque élément correspond à la dérivée partielle de la valeur respective dans la matrice x d'origine.

Note
Note

Pour des informations supplémentaires sur les fonctionnalités de Gradient Tape, y compris les dérivées d'ordre supérieur et l'extraction de la matrice Jacobienne, consultez la documentation TensorFlow.

Tâche

Swipe to start coding

Votre objectif est de calculer le gradient (dérivée) d'une fonction mathématique donnée en un point spécifié à l'aide du Gradient Tape de TensorFlow. La fonction et le point seront fournis, et vous verrez comment utiliser TensorFlow pour trouver le gradient en ce point.

Considérez une fonction quadratique d'une seule variable x, définie comme suit :

f(x) = x^2 + 2x - 1

Votre tâche consiste à calculer la dérivée de cette fonction en x = 2.

Étapes

  1. Définir la variable x au point où vous souhaitez calculer la dérivée.
  2. Utiliser Gradient Tape pour enregistrer le calcul de la fonction f(x).
  3. Calculer le gradient de f(x) au point spécifié.

Remarque

Le gradient ne peut être calculé que pour des valeurs de type flottant.

Derivative of a Function at a Point

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 13
single

single

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

some-alt