問題タブ [autodiff]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
40 参照

r - `madness` で偏導関数を計算する

ここで述べmadnessように、パッケージは R の autodiff に適しています。

ここで、導関数 wrt y の導関数 wrt x を計算したいと思います。

$\frac{\partial}{\partial x}\frac{\partial}{\partial y}xy$

を使用してこれを行うにはどうすればよいmadnessですか?

更新: 実際には、ここではそれが要因だと思います.. 2 つの導関数を乗算するだけで、これで問題ないのでしょうか? x が y の関数である場合にのみ、これは難しいかもしれません。

0 投票する
1 に答える
26 参照

python - 演算子/行列ベクトル積を計算するコードから (スパース) NumPy 配列を構築しますか?

科学計算では、微分演算子を計算する行列を作成する必要があることがよくあります。多くの場合、行列を明示的に作成するよりも、演算子を適用するコードを作成する方が簡単です。コードを取り (線形演算のみを使用すると仮定)、理想的にはスパース形式で行列を出力するライブラリはありますか?

例:

"a" ベクトルの有限差分を計算します。私は今、次のようなことをしたい

これにより、行列表現が得られます。

行列を持つことは、転置演算子の計算やスパース パターンの分析などに非常に役立ちます。技術的には、自動微分ツールを使用して op() のヤコビアンを抽出できるはずですが、ヤコビアン全体を効率的に処理する AD ライブラリは見つかりませんでした。特にスパースな場合はそうです。それらはすべて、ヤコビアンの行ごとまたは列ごとに 1 つのパスを実行するように見えますが、これは変数が数百しかない場合でも恐ろしく遅くなります。

0 投票する
1 に答える
59 参照

tensorflow - TensorFlow の重みに関する方向勾配の計算

tf モデルの重みについて勾配を計算したいのですが、一方向のみです。

ただし、次のエラーが返されます。

model.layers[0].set_weights操作が「微分可能」ではないからだと思います。

どうすれば修正できますか?あるいは、TensorFlow では、重みを直接指定してレイヤーの出力を計算できy = layer(x, weights=w)ますか?