0

私はテンソルフローが初めてで、テンソルフローの自動微分機能が私の問題を解決するかどうかを理解しようとしています。したがって、各ネットが潜在ベクトルを出力する 2 つのネットがあります。それで、私のネット A が潜在ベクトル -La(Hxr) を出力するとしましょう - (H,r) は出力潜在ベクトル La の次元を表します。同様にネット B は Lb(Wxr) を出力します。したがって、私の目的関数は 2 つの潜在変数の両方を入力として受け取り、それらを (La.Lb') のように結合します。ここで、(.) はドット積で、(') は転置を表します。クロスエントロピーを使用して、この目的関数を最適化します。

ここで私の質問は、テンソルフローの自動差分が勾配を正しく計算して逆伝播できるようになるかということです。ここでは簡単なケースではありません。ネット A は、La に関する勾配からのみ更新する必要があり、ネット B は、Lb に関して計算された勾配でのみ更新する必要があります。それで、テンソルフローはそれを理解するのに十分賢いですか? そして、これを検証する方法はありますか?

ありがとう!

4

1 に答える 1

0

TensorFlow は、それを使用して定義できるあらゆる種類の計算グラフの自動微分をサポートします。TensorFlow を使用して複数のネットからの予測を組み合わせ、さまざまな損失関数を使用して損失を計算しました。したがって、テンソルフローはこれを理解するのに十分スマートであり、勾配を正しく計算し、逆伝播します。

于 2017-07-22T04:12:18.043 に答える