2016-12-05 6 views
0

私はcaffe/example/mnistネットワークを使って数値を分類しています。私がネットワークに数字の絵を与えると、それはうまくいくようです。しかし、私がネットワークに数字ではなく絵を与えると、訓練されたネットワークsoftmax層は、常に確率1と他のもの0を持つ確率を与えます:層確率は常に1

[0,0,0、...、1 、0,0,0]。

は、私はそれがあるべきだと思う何かのように:

[0,0.1,0.2、...、0.4,0.1,0.2]、私はこれはすべきではないと言うことができ、その場合には

数。何が問題ですか?

答えて

0

非数字で訓練されておらず、合計が1になるため、何を期待するのか分かりません。Softmaxを使用することによって、それには数字以外の数字が表示されます。その出力を見て、それが数字であるかどうかを判断することはできません。

さらに、MNISTのトレーニングデータは非常にステレオタイプで一般化には適していません。前景の数値は、常に 255、背景は、常にです。背景ピクセルが多いため、平均値は0に非常に近くなります。単純に平均ピクセル値100の画像を提示すると、典型的にはより多くのピクセルを有する数(おそらく8など)に予測を偏らせることができる。あなたはネットワークに類似のタイプの刺激に一般化することしか期待できません。あなたの仕事には、かなりの量のデータを増やす必要があります。

クロスエントロピー損失を使用してすべての数値を確率でゼロにする必要があります。これはまた、確率が1を超える(最大10)ことも可能にする。しかし、Softmaxでは「非数字」の別のクラスを追加することもできますが、自然な刺激に似ている非数の刺激と数値刺激を提示する必要があります。

0

caffe/examples/mnistに従ってmnistを訓練した後、配備するときに0〜1の範囲ではなく0〜1の範囲のイメージをネットワークに供給する必要があります。試してみて、正確なprobsが得られるかどうかを確認してください。 Illustration image