自動微分(Automatic differentiation)

永井 忠一 2025.1.1


動的計算グラフによる自動微分

Autgrad

Maxima の記号微分と比較。例として使用する多項式関数\[ y(x) = x^2 + 3x + 1 \]

Python PyTorch Maxima
In [1]: import torch

In [2]: x = torch.tensor(2.0, requires_grad=True)

In [3]: y = x**2 + 3*x + 1

In [4]: y.backward()

In [5]: x.grad.item()
Out[5]: 7.0

(%i1) y(x) := x^2 + 3*x + 1;
                                      2
(%o1)                        y(x) := x  + 3 x + 1
(%i2) y\'(x) := diff(y(x), x);
(%o2)                       y'(x) := diff(y(x), x)
(%i3) subst(2, x, y\'(x));
(%o3)                                  7

参考にした情報


© 2025 Tadakazu Nagai