Описание тега autodiff

Автоматическое дифференцирование (AD) - это набор методов, основанный на механическом применении цепного правила для получения производных функции, заданной в виде компьютерной программы.
2 ответа

Использование производных в качестве функций в CppAD

Я пытаюсь изменить пример здесь: # include <cppad/cppad.hpp> namespace { // --------------------------------------------------------- // define the template function JacobianCases<Vector> in empty namespace template <typename Vector&g…
30 май '18 в 23:25
2 ответа

Джулия: Оптимизируйте функцию стоимости с `Optim.jl` и`autodiff` для целых чисел

Мне нравится оптимизировать (минимизировать) следующую функцию (quad_function) используя Optim.jl с автоматическим дифференцированием (autodiff=true). Мои целевые функции раундов Real Значения для целых чисел и, следовательно, ступенчатый. Как я исп…
1 ответ

Минимальный пример Numeric.AD не скомпилируется

Я пытаюсь скомпилировать следующий минимальный пример из Numeric.AD: import Numeric.AD timeAndGrad f l = grad f l main = putStrLn "hi" и я сталкиваюсь с этой ошибкой: test.hs:3:24: Couldn't match expected type ‘f (Numeric.AD.Internal.Reverse.Reverse…
1 ответ

Как получить результаты дифференцирования с помощью Eigen::AutoDiffScalar

Я учусь использовать эту библиотеку. Пытаясь изменить простую функцию, y = x^2, не дает ожидаемых результатов (dy/dx = 2x = 16 когда x = 8). #include <eigen3/Eigen/Core> #include <eigen3/unsupported/Eigen/AutoDiff> #include <iostream&…
14 окт '16 в 12:27
2 ответа

Определение пользовательского градиента как метода класса в Tensorflow

Мне нужно определить метод как пользовательский градиент следующим образом: class CustGradClass: def __init__(self): pass @tf.custom_gradient def f(self,x): fx = x def grad(dy): return dy * 1 return fx, grad Я получаю следующую ошибку: ValueError: П…
22 фев '19 в 04:09
2 ответа

AutoDiffJacobian Эйгена, нужна помощь, чтобы получить учебный пример для работы

Я пользуюсь AutoDiffScalar от Eigen с большим успехом и теперь хотел бы перейти к AutoDiffJacobian вместо того, чтобы делать это самостоятельно. Поэтому я создал учебный пример после изучения AutoDiffJacobian.h, но что-то не так. Функтор: template &…
11 сен '16 в 10:38
1 ответ

Microsoft CNTK Автоматическое дифференцирование

По словам Microsoft, CNTK включает в себя автоматическое дифференцирование. Для лучшего понимания источника (который я успешно собрал) я хотел бы знать, какие классы C++ реализуют AD и как это реализовано в CNTK?
14 ноя '18 в 16:54
1 ответ

Работает ли autodiff в тензорном потоке, если в построении моего графа участвует цикл for?

У меня есть ситуация, когда у меня есть серия изображений, и на каждом изображении мне нужно выполнить какую-то операцию над крошечной заплаткой на этом изображении. Теперь проблема в том, что размер патча является переменным в каждом изображении в …
1 ответ

Работает ли авто-дифференцирование в тензорном потоке при объединении активаций из нескольких сетей в одну цель?

Я новичок в тензорном потоке и пытаюсь выяснить, решит ли моя функция функцию авто-дифференцирования в тензорном потоке. Итак, у меня есть две сети, где каждая сеть выводит скрытый вектор. Итак, скажем, мой чистый A выводит скрытый вектор -La(Hxr) -…
1 ответ

Tensorflow: используйте разные выражения для прямого и обратного прохода

У меня есть выражение тензорного потока, где я хочу использовать другое выражение в зависимости от того, вычисляю ли я проход вперед или назад (градиент). В частности, я хочу игнорировать эффекты некоторой случайности (шума), добавленной в сеть во в…
10 апр '18 в 15:16
0 ответов

Собственные матрицы фиксированного размера в CppAD

Если я попытаюсь запустить следующий код в CppAD, используя eigen: Eigen::Matrix<CppAD::AD<double>, Eigen::Dynamic, 1> position(3); CppAD::Independent(position); Это работает нормально. Однако, если я попытаюсь выполнить: Eigen::Matrix&l…
02 июн '18 в 22:53
0 ответов

CppAD: Как построить динамический вектор, используя ссылку?

У меня есть существующая кодовая база, которая выполняет некоторое преобразование координат и вычисление динамики для модели робота, я хочу добавить Cppad ко всем параметрам робота, но я столкнулся с такой проблемой: Насколько я знаю, нормальная про…
05 ноя '18 в 23:11
1 ответ

Как чередовать поезда в тензорном потоке?

Я внедряю альтернативную схему обучения. График содержит две учебные операции. Обучение должно чередоваться между ними. Это актуально для таких исследований, как это или это Ниже приведен небольшой пример. Но, похоже, обновлять обе операции на каждо…
1 ответ

Нужно ли добавлять собственные градиенты для этой операции?

У меня есть сверточный слой, который производит 16 выходных карт объектов, и я хочу взять эти карты и преобразовать их в 4 карты следующим образом: Разделите 16 карт функций на 4 группы по 4 карты в каждой. Умножьте каждую группу на маску, чтобы обн…
09 фев '18 в 22:35
0 ответов

Потеря каждого слоя нейронной сети за линейное время?

Допустим, у меня есть нейронная сеть с n входы и n слои (да, эта модель очень глубокая), каждый с n нейроны. Каждый слой имеет одинаковое количество нейронов, и он редко связан. На последнем слое активации каждого нейрона объединяются до конечной ск…
0 ответов

Настройте как функцию (или слой), так и ее градиент без использования авто-дифференцирования

Можно ли на любом NN-ориентированном языке в Python создать слой, который вызывает внешний алгоритм с помощью подпроцесса, и определить градиент вручную вместо использования автоматического дифференцирования? Можно ли тогда включить этот "жестко зак…
28 авг '18 в 16:19
0 ответов

Вычисление векторизованного гессиана в Tensorflow

проблема Рассмотрим проблему настройки x : A (N, K) tensor that we want to differentiate with respect to. f(x): A function sending x to a scalar i.e. f: R^(N x K) -> R То, что я хочу найти, это при каждом наблюдении x[i,:] (размер N ось), градиен…
06 янв '19 в 09:07
1 ответ

Неправильные аргументы шаблона для Eigen::Spline с Eigen::AutoDiff

Решение от EDIT теперь опубликовано как ответ. Старый вопрос Я хочу включить сплайн-интерполяцию Eigen::Spline в большую формулу и хотите определить производную этой формулы с помощью Eigen::AutoDiff, Я попробовал следующий код: #include <iostrea…
04 апр '14 в 00:12
0 ответов

Как тензорный поток обрабатывает сложный градиент?

Пусть z комплексная переменная, C(z) ее сопряжение. В теории комплексного анализа производная C(z) по z не существует. Но в tesnsorflow мы можем вычислить dC(z)/dz, и результат равен всего 1. Вот пример: x = tf.placeholder('complex64',(2,2)) y = tf.…
27 фев '17 в 06:19
0 ответов

Какие операции поддерживаются для автоматического дифференцирования в тензорном потоке

Меня смущает, какие типы операций поддерживаются для автоматического дифференцирования в TF. Конкретно, поддерживается ли тензорная индексация следующим образом? ... # feat is output from some conv layer and the shape is B*H*W*C # case one loss = fe…
23 ноя '17 в 07:28