単純な重み付けニューラル ネットワークのコスト関数を解決するためにシミュレーテッド アニーリングを実装しましたが、奇妙な結果が得られます。
論理:
- Forward prop : f(W*x+b)、ここで、f = tanh、W = 重み行列、x = 入力データ、b = バイアス
- 重みとバイアスは、rnd ガウス重みを使用してランダムに初期化されます
- 重みとバイアスは W/norm2(W) & b/norm2(b) で正規化されます
- W を perturb as: W +/- rnd_unif[0,1] & b に対して同じことを行う
- MSE < 前の MSE が受け入れられる場合は、再び前方プロップ、そうでない場合はアニーリング基準を使用します
- n 番目の受け入れごとに温度を更新します。一般的な T=T*0.9 を使用
発生しているように見えるのは、ネットワークが予想どおりにコストを削減するということですが、一部のエラー予測では、MSE が「通常の」状態の MSE よりも低くなります。backprop では、エラーの MSE が常に高いことがわかります。他の誰かが同じ問題に遭遇したのではないかと思っていました。