Описание тега automatic-differentiation
Также известен как алгоритмическое дифференцирование, сокращенно AD. Методы, в которых процедура вычисления числовой функции преобразуется в процедуру, которая дополнительно оценивает производные по направлениям, градиенты, производные более высокого порядка.
3
ответа
Разбиение вычисления градиента TensorFlow на две (или более) части
Можно ли использовать TensorFlow's tf.gradients() функция по частям, то есть - вычислить градиент от потери относительно некоторого тензора и этого тензора относительно веса, а затем умножить их, чтобы получить исходный градиент от потери к весу? На…
28 апр '18 в 11:18
1
ответ
Оптимизация функции списка, которая создает слишком много мусора (не переполнение стека)
У меня есть та функция Haskell, которая вызывает более 50% всех выделений моей программы, в результате чего 60% моего времени выполнения занимает GC. Я бегу с небольшим стеком (-K10K) поэтому нет переполнения стека, но можно ли сделать эту функцию б…
24 сен '15 в 15:29
1
ответ
Автоматическое дифференцирование кода, сгенерированного Matlab Coder
У меня есть функция Matlab, которая мне нужна 1) Ускорить 2) Генерировать производные функции с помощью автоматического дифференцирования (AD). Ускорение процесса я выполнил, используя Matlab Coder для генерации кода C и функции mex. Теперь я ищу ин…
03 сен '15 в 08:49
0
ответов
Тензор потока: эффективный запуск одного и того же вычислительного графа с различными случайными выборками
В Tensorflow вычислительный граф может зависеть от случайных величин. В сценариях, где случайная величина представляет одну выборку из распределения, может представлять интерес вычисление величины с N отдельными выборками, например, для оценки выбор…
30 мар '17 в 09:37
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…
26 дек '16 в 11:17
1
ответ
Numeric.AD - переменная типа, выходящая из области видимости
Я пытаюсь использовать автоматическое дифференцирование в Haskell для решения задачи нелинейного управления, но у меня есть некоторые проблемы, заставляющие его работать. У меня в основном есть cost функция, которая должна быть оптимизирована с учет…
15 авг '15 в 17:23
0
ответов
Гессиан функции черного ящика, которая использует Pytorch
Прежде всего, я очень плохо знаком с Python и машинным обучением, поэтому, пожалуйста, извините за незнание того, что может быть очень простой проблемой; Я ценю любой вклад в этот вопрос! У меня есть очень сложная скалярная многомерная функция, реал…
24 дек '18 в 23:47
2
ответа
Сообщения об ошибках ForwardDiff.jl и ReverseDiff.jl, связанные с::getfield()
Я пытаюсь использовать библиотеки ForwardDiff.jl и / или ReverseDiff.jl для вычисления градиента в задаче оптимизации. Оба этих пакета дают мне сообщение об ошибке, относящееся к:: getfield (). ReverseDiff дает мне LoadError: MethodError: no method …
18 янв '19 в 23:10
1
ответ
Диапазоны с двойными номерами
У меня проблема с двойными числами внутри диапазонов. В частности: using ForwardDiff: Dual t = Dual.((0.0,10.0),0) (t[1]:1/60:t[2])[end] Проблема, кажется, в том, что [end] использования last что тогда, что вычислить количество шагов, поэтому что-то…
10 фев '19 в 09:47
1
ответ
Как правильно сопоставлять типы при использовании Numeric.AD в Haskell?
Я пытаюсь реализовать алгоритм поиска корня Ньютона-Рафсона с помощью рекламного пакета, но не могу правильно сопоставить типы функций. Я знаю, что есть правильный ответ на подобный вопрос, на который ответил сам создатель рекламы, но пакет сильно и…
04 авг '17 в 05:28
2
ответа
Что означает параметр retain_graph в методе переменной backward()?
Я прохожу учебник по нейронной передаче Pytorch и запутался в использовании retain_variable (устарел, теперь называется retain_graph). Пример кода показывает: class ContentLoss(nn.Module): def __init__(self, target, weight): super(ContentLoss, self)…
16 окт '17 в 16:11
1
ответ
Как повысить производительность за счет автоматической дифференциации?
Мне трудно оптимизировать программу, которая опирается на ads conjugateGradientDescent функция для большей части его работы. По сути, мой код - это перевод старого бумажного кода, написанного на Matlab и C. Я не измерял его, но этот код выполняется …
17 июн '15 в 10:14
0
ответов
Запутанная древовидная структура заставляет GC останавливаться на неопределенный срок
Я занимаюсь самообучением, и в настоящее время я использую автоматическое дифференцирование в обратном режиме на практике. Программа работает по существу путем перегрузки общих выражений, таких как умножение, сложение и т. Д., И построения дерева, у…
02 дек '15 в 18:04
1
ответ
C++ обратное автоматическое дифференцирование с графом
Я пытаюсь сделать обратный режим автоматического дифференцирования в C++. Идея, которую я придумал, состоит в том, что каждая переменная, которая является результатом операции с одной или двумя другими переменными, будет сохранять градиенты в вектор…
14 авг '18 в 12:43
1
ответ
Как обратное распространение такое же (или нет), как обратное автоматическое дифференцирование?
Страница Википедии для обратного распространения имеет следующее утверждение: Алгоритм обратного распространения для вычисления градиента был повторно открыт несколько раз и является частным случаем более общего метода, называемого автоматическим ди…
06 май '14 в 03:48
1
ответ
Установка pyadolc: избегать "ImportError: Нет модуля с именем _adolc"
Я использую Ubuntu 16.04. Получив требования и выполнив шаги по установке Pyadolc, я добавил / главная / имя мое /pyadolc в переменную PYTHONPATH в моем файле ~/.profile. Сейчас работает python -c "import adolc" возвращает следующее сообщение: Impor…
01 окт '17 в 18:54
1
ответ
Изменение порядка компиляции в Фортране в NetBeans 8
Я работаю в NetBeans 8 на CentOS 7, чтобы изменить старый код Fortran для замены числового дифференцирования на автоматическое дифференцирование с использованием OpenAD. OpenAD принимает аннотированную фортрановскую функцию в качестве входных данных…
28 июл '15 в 18:32
2
ответа
Как theano реализует вычисление градиента каждой функции?
У меня есть вопрос о реализации Theano. Как theano получает градиент каждой функции потерь с помощью следующей функции (T.grad)? Спасибо за помощь. gparams = T.grad(cost, self.params)
03 фев '15 в 12:52
1
ответ
Как лечить граничные точки в численном дифференцировании?
У меня есть вопрос о численном дифференцировании, который выходит за рамки используемого языка. Предположим, у меня есть массив из n точек x и f(x), и я хочу взять первую производную от f(x). Каждый метод будет использовать точки, делающие производн…
29 окт '16 в 01:09
0
ответов
Автоматическое дифференцирование (AD) по списку матриц в Haskell
Я пытаюсь понять, как я могу использовать Numeric.AD (автоматическое дифференцирование) в Haskell. Я определил простой тип матрицы и скалярную функцию, взяв в качестве аргумента массив и две матрицы. Я хочу использовать AD, чтобы получить градиент ф…
07 май '16 в 12:57