2016-05-27 7 views
2

私は基本的なRNNを書いています。隠された状態を生成するため基本RNN費用関数がゼロに収束しない

私の関数である:Xは、入力ベクトルとSある

tanh(xU + sW) 

が以前隠れ状態ベクトルです。 UおよびWは両方ともバックプロップの間に調整されるパラメータである。私が使用UWを変更するための

:私は小さい値の多くをテストしてみたものの

U += 1/(cosh^2(xU+sW)) * x * expectedValue * stepSize 
W += 1/(cosh^2(xU+sW)) * s * expectedValue * stepSize 

どこステップサイズは、約0.01です。 expectedValueは両方とも同じで、私がテストのために覚えようとしている関数の値です。私の推定がどれだけ近いかを決定するためのコスト関数については

は、私は平均値を使用していますと、誤差関数を乗:

1/n * (expectedValue^2 - predictedValue^2) 

マイコスト関数はゼロ10,000,000以上の反復に収束されていません。私はどこかで数学のいくつかを台無しにしていますか?

+0

この質問には、CrossValidated.SE(統計と機械学習のSO)というより良いフォーラムがあります。また、デバッグできるように、ソースコードを提供する必要があります。トレーニング中に何回転がしますか?バックプロパゲーション・スルー・タイムを使用していますか?あなたのバッチサイズは?これらの質問や他の質問は、あなたに尋ねられると思われる質問です。 –

+0

ありがとうございます。私はそれをSOに移します。 – wmaxlees

答えて

0

これは勾配の消失の問題である可能性があります。 tanh()の代わりにRELU活性化関数を試してください。

+0

私はすべての反復をバックプロパゲーションしていても問題はありますか?私の理解は、勾配が消えてしまっただけでBPTTの問題になった – wmaxlees

関連する問題