Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Градієнтна стрічка | Основи TensorFlow
Вступ до TensorFlow

bookГрадієнтна стрічка

Gradient Tape

Розуміння базових операцій з тензорами дозволяє перейти до оптимізації та прискорення цих процесів за допомогою вбудованих можливостей TensorFlow. Першим із таких розширених інструментів для вивчення є Gradient Tape.

Що таке Gradient Tape?

У цьому розділі розглядається одна з основних концепцій TensorFlow — Gradient Tape. Ця функція є ключовою для розуміння та впровадження методів оптимізації на основі градієнта, особливо у глибокому навчанні.

Gradient Tape у TensorFlow — це інструмент, який фіксує операції для автоматичного диференціювання. Коли операції виконуються всередині блоку Gradient Tape, TensorFlow відстежує всі обчислення, що відбуваються. Це особливо корисно при навчанні моделей машинного навчання, де градієнти необхідні для оптимізації параметрів моделі.

Note
Примітка

По суті, градієнт — це набір часткових похідних.

Використання Gradient Tape

Щоб використовувати Gradient Tape, виконайте наступні кроки:

  • Створення блоку Gradient Tape: використовуйте with tf.GradientTape() as tape:. У цьому блоці всі обчислення відслідковуються;
  • Визначення обчислень: виконуйте операції з тензорами всередині блоку (наприклад, визначення прямого проходження нейронної мережі);
  • Обчислення градієнтів: використовуйте tape.gradient(target, sources), щоб обчислити градієнти цільової функції по відношенню до джерел.

Просте обчислення градієнта

Простий приклад для кращого розуміння.

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

Цей код обчислює градієнт y = x^2 при x = 3. Це те саме, що й часткова похідна y за x.

Кілька часткових похідних

Коли на вихід впливають декілька вхідних даних, можна обчислити часткову похідну за кожною з цих змінних (або лише за вибраними). Це досягається шляхом передачі списку змінних як параметра sources.

Результатом цієї операції буде відповідний список тензорів, де кожен тензор представляє часткову похідну за кожною зі змінних, вказаних у 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

Цей код обчислює градієнт функції y = sum(x^2 + 2*z) для заданих значень x та z. У цьому прикладі градієнт x представлений як двовимірний тензор, де кожен елемент відповідає частинній похідній відповідного значення в початковій матриці x.

Note
Примітка

Для додаткової інформації про можливості Gradient Tape, включаючи похідні вищих порядків та отримання матриці Якобі, зверніться до офіційної документації TensorFlow.

Завдання

Swipe to start coding

Ваша мета — обчислити градієнт (похідну) заданої математичної функції в певній точці за допомогою Gradient Tape у TensorFlow. Функція та точка будуть надані, і ви побачите, як використовувати TensorFlow для знаходження градієнта в цій точці.

Розглянемо квадратичну функцію однієї змінної x, визначену як:

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

Ваше завдання — знайти похідну цієї функції при x = 2.

Кроки

  1. Задати змінну x у точці, де потрібно обчислити похідну.
  2. Використати Gradient Tape для запису обчислення функції f(x).
  3. Обчислити градієнт f(x) у заданій точці.

Примітка

Градієнт можна обчислити лише для значень типу з плаваючою комою.

Derivative of a Function at a Point

Рішення

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 1
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Suggested prompts:

Can you explain how Gradient Tape works in more detail?

What are some practical applications of Gradient Tape in machine learning?

Can you show more examples of using Gradient Tape with different functions?

close

Awesome!

Completion rate improved to 5.56

bookГрадієнтна стрічка

Свайпніть щоб показати меню

Gradient Tape

Розуміння базових операцій з тензорами дозволяє перейти до оптимізації та прискорення цих процесів за допомогою вбудованих можливостей TensorFlow. Першим із таких розширених інструментів для вивчення є Gradient Tape.

Що таке Gradient Tape?

У цьому розділі розглядається одна з основних концепцій TensorFlow — Gradient Tape. Ця функція є ключовою для розуміння та впровадження методів оптимізації на основі градієнта, особливо у глибокому навчанні.

Gradient Tape у TensorFlow — це інструмент, який фіксує операції для автоматичного диференціювання. Коли операції виконуються всередині блоку Gradient Tape, TensorFlow відстежує всі обчислення, що відбуваються. Це особливо корисно при навчанні моделей машинного навчання, де градієнти необхідні для оптимізації параметрів моделі.

Note
Примітка

По суті, градієнт — це набір часткових похідних.

Використання Gradient Tape

Щоб використовувати Gradient Tape, виконайте наступні кроки:

  • Створення блоку Gradient Tape: використовуйте with tf.GradientTape() as tape:. У цьому блоці всі обчислення відслідковуються;
  • Визначення обчислень: виконуйте операції з тензорами всередині блоку (наприклад, визначення прямого проходження нейронної мережі);
  • Обчислення градієнтів: використовуйте tape.gradient(target, sources), щоб обчислити градієнти цільової функції по відношенню до джерел.

Просте обчислення градієнта

Простий приклад для кращого розуміння.

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

Цей код обчислює градієнт y = x^2 при x = 3. Це те саме, що й часткова похідна y за x.

Кілька часткових похідних

Коли на вихід впливають декілька вхідних даних, можна обчислити часткову похідну за кожною з цих змінних (або лише за вибраними). Це досягається шляхом передачі списку змінних як параметра sources.

Результатом цієї операції буде відповідний список тензорів, де кожен тензор представляє часткову похідну за кожною зі змінних, вказаних у 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

Цей код обчислює градієнт функції y = sum(x^2 + 2*z) для заданих значень x та z. У цьому прикладі градієнт x представлений як двовимірний тензор, де кожен елемент відповідає частинній похідній відповідного значення в початковій матриці x.

Note
Примітка

Для додаткової інформації про можливості Gradient Tape, включаючи похідні вищих порядків та отримання матриці Якобі, зверніться до офіційної документації TensorFlow.

Завдання

Swipe to start coding

Ваша мета — обчислити градієнт (похідну) заданої математичної функції в певній точці за допомогою Gradient Tape у TensorFlow. Функція та точка будуть надані, і ви побачите, як використовувати TensorFlow для знаходження градієнта в цій точці.

Розглянемо квадратичну функцію однієї змінної x, визначену як:

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

Ваше завдання — знайти похідну цієї функції при x = 2.

Кроки

  1. Задати змінну x у точці, де потрібно обчислити похідну.
  2. Використати Gradient Tape для запису обчислення функції f(x).
  3. Обчислити градієнт f(x) у заданій точці.

Примітка

Градієнт можна обчислити лише для значень типу з плаваючою комою.

Derivative of a Function at a Point

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 1
single

single

some-alt