問題タブ [activation-function]

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 に答える
995 参照

python - カスタム「損失」関数による勾配更新

私は 2 つのデータ セット間の相関関係を最大化しようとするニューラル ネットワークの tensorflow で作業しています: http://ttic.uchicago.edu/~klivescu/papers/andrew_icml2013.pdf

私は少し複雑な「損失」関数を持っているので、テンソルで実行できるように、numpy 配列の観点から書きました (そしてそれを corr_func() と呼びました)。tf.py_func 関数を使用し、更新しようとしています。ここに示されているのと同じ方法で勾配Tensorflow で Python のみを使用してカスタム アクティベーション関数を作成する方法は?

次のコードが得られます

2 つの関数 tf_omega_gradH1/2() は正しいですが、ここに示すには少し長くなりますが、論文では 2 つの出力が与えられた相関の偏導関数として定義されています。次に、相関はそのように定義されます

これは機能せず、オプティマイザーを実行しようとすると、次のエラーが発生します。

さらに、実行してグラデーションを表示しようとすると、次のようになります。

それはNoneを返します...明らかに、このグラデーションの更新をうまく制御できず、このバグを修正する方法がわかりません。

注:H1とH2は、ニューラルネットワークの2つの出力です

更新: エラーのログは次のとおりです。

テンソルボード グラフを参照してください