問題タブ [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.
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つの出力です
更新: エラーのログは次のとおりです。