2017-10-15 14 views
2

私はTensorflowを使ってニューラルネットワークを実装しました。実装とトレーニングの間に、私はいくつかの些細ではないバグを見つけました。 例:トレーニング中に、異なるステップ/エポックで同じミニバッチ損失がありましたが、精度は異なります。ニューラルネットワーク - それが正しく実装されていることをテストするには?

今、ニューラルネットワークは準備ができていて、適切に動作しているようです。私はまだそれを十分に訓練することはできませんでしたが、私はそれに取り組んでいます。

とにかく、何か計算上のエラーがないことを何とか確認したいと思います。私は "偽の"分類問題のためにいくつかの人工データを生成することを考えています。分類は、分類出力と4つの特徴との間に人間が理解可能な非常に明確な依存性を有するべきである。アイデアはNNを訓練し、それがどのように実行されるのか見てみることです。

あなたはどう思いますか?

答えて

0

スタンフォードのc231nには、グラディエントチェックのような一般的なヒントが2つあります。

ニューラルネットワークを学習しているだけの場合、既知のデータで実装を実行しようとするとどうでしょうか?多くのコースでは、指定されたハイパーパラメータを持つモデルからエラーおよび損失曲線が生成されるため、実装の動作が正しい実装と大きく異なるかどうかを確認できます。

+0

私はTensorflow経由でNNを実装しました。勾配は実際には1つのコード行です:tf.reduce_mean(tf.nn.weighted_cross_entropy_with_logits(logits = logits、targets = Y、pos_weight = 0.1)) – user3489820

+0

データに関して、あなたは正しいです。基本的な例のほとんどは、softmaxを使った画像認識に関するものです。 しかし、良いチップのおかげで。 – user3489820

+0

実装を確認したいだけなら、使用しているデータは問題ではありません。 –

関連する問題