こんにちは私は2つのクラスの犬と猫で自分のCNNを構築しています。これを訓練して、今では犬と猫の画像を分類できます。しかし、私は新しい未分類オブジェクトのクラスを導入したいのですが?例えば、私のネットワークに花のイメージを送ると、ネットワークは私に間違った分類を与えます。私は新しい未分類のオブジェクトのための第3のクラスで私のネットワークを構築したい。しかし、どうすればこの第3のクラスを構築できますか?犬や猫とは違う新しいオブジェクトのクラスを取得するために使用する必要がある画像はどれですか? 実際に私のネットワークの終わりに私はSoftmaxを使い、私のコードはtensorflowを使って開発されています。誰かが私にいくつかの提案を提供できますか?ありがとうテンソルフローで分類されていないオブジェクトのクラスを作成するにはどうすればいいですか?
答えて
ネットワークに3番目の「something else」クラスを追加する必要があります。あなたはそれについて行くことができるいくつかの方法があります。一般的に、検出したいクラスがある場合、そのクラスのサンプルが必要です。新しいクラスでラベルされたトレーニングデータに、猫や犬のない画像を追加することができます。しかし、これはややこしいことです。なぜなら、新しいクラスは定義上、宇宙ではなく犬や猫のすべてなので、訓練するのに十分なデータがあるとは予想できません。しかし実際には、十分な例があれば、ネットワークはおそらく、最初の2つが始動していないときはいつでも、3番目のクラスが起動されることを知るでしょう。
過去に私が使用していたもう1つのオプションは、通常のクラスとは少し異なる「デフォルト」クラスをモデル化することです。したがって、実際に猫や犬ではない画像を実際に学習しようとするのではなく、猫や犬のニューロンを活性化しないものだけを明示的に言うことができます。私はこれをsoftmaxの最後のレイヤーをsigmoidsに置き換えることでこれを行いました(損失はソフトマックスクロスエントロピーの代わりにシグモイドクロスエントロピーとなり、出力はそれ以上カテゴリカル確率分布にならないでしょうが正直言って私の場合はパフォーマンスに差があります)、 "default"クラスを他のすべてのクラスからの最大アクティベーション値から1を引いたものとして表現します。したがって、0.5以上の活性化(すなわち、そのクラスであると推定される50%の確率)の活性化がないクラスが存在しない場合、「デフォルト」クラスが最も高いスコアリングクラスとなる。これを他の同様のスキームで探索することができます。
犬や猫ではない画像をデータセットに追加し、"Other"
というラベルを付けて、すべてのコードで通常のクラスとして"Other"
としてください。特にあなたは3つのクラス以上のsoftmaxを得るでしょう。
使用している画像は何でもかまいませんが(ネコや犬はもちろんですが)、ネットワークを使用しているときにテストしている画像と同じ種類である必要があります。たとえば、犬、猫、その他の動物の画像をテストすることがわかっている場合は、花の写真ではなく、他の動物と一緒に練習してください。あなたが何を試しているのかわからない場合は、さまざまなソースからさまざまな画像を取得しようとするので、ネットワークはこのクラスが「猫と犬以外のもの」(広範囲の画像現実の世界では、このカテゴリの秋はあなたの訓練データセットに反映されるべきです)。
よろしくお願いいたします。 –
- 1. 深いネストされたオブジェクトを分類するにはどうすればよいですか?
- 2. スライディングウィンドウのオブジェクト検出で真のネガを分類するにはどうすればいいですか?
- 3. 誤って分類された画像を表示するにはどうすればいいですか?
- 4. 可変シーケンス長のテンソルフローでリカレントニューラルネットワークを作成するにはどうすればいいですか?
- 5. テンソルフローの前のモデルから新しいグラフを作成するにはどうすればよいですか?
- 6. 派生クラスが作成プロパティによって暗黙的に指定されているオブジェクトを作成するにはどうすればよいですか?
- 7. UnsatisfiedLinkError:同期化されていないデフラータを作成するにはどうすればよいですか?
- 8. レルム - 複数の種類のオブジェクトでフィードを作成するにはどうすればよいですか?
- 9. クラスのために類似のスロットを多数作成するにはどうすればよいですか?
- 10. AutoHotkeyでクラスを作成するにはどうすればよいですか?
- 11. JavaScriptでクラスを作成するにはどうすればよいですか?
- 12. テンソルフローで学習を行うにはどうすればいいですか
- 13. Scalaでインスタンス化されていないクラスを参照するにはどうすればよいですか?
- 14. クロージャがバインドされているオブジェクトのクラス名を調べるにはどうすればよいですか?
- 15. sklearnのアンサンブル分類器でカスタム分類子を使用するにはどうすればよいですか?
- 16. カテゴリのない散布図を非分類データでプロットするにはどうすればよいですか?
- 17. kableがページ間で分割されないようにするにはどうすればいいですか?
- 18. 連続データを分類するにはどうすればよいですか?
- 19. Grails 3でセッションが作成されないようにするにはどうすればよいですか?
- 20. wekaでコストに敏感な分類器を実装するにはどうすればいいですか?
- 21. C++でオブジェクトを作成して、クラスに引数を渡すにはどうすればよいですか?
- 22. ココアでデコレーションされていないウィンドウを作るにはどうすればいいですか?
- 23. Python:異なるクラスのインスタンス内で作成されているクラスのインスタンスの属性に値を渡すにはどうすればよいですか?
- 24. 分散テンソルフローサポートフェールオーバーを作成するにはどうすればよいですか?
- 25. マニュアル差分を作成するにはどうすればよいですか?
- 26. Perlクラスを作成するにはどうすればよいですか?
- 27. 次の分析でさらに分類を行うにはどうすればよいですか?
- 28. SVMLight:分類器を作成するにはどうすればよいですか?
- 29. カスタムヘア分類器を作成するにはどうすればよいですか?
- 30. コントローラを継承しないクラスでアクションリンクを作成するにはどうすればよいですか?
あなたのソリューションに感謝します。まず、私のモデルに別のクラスを追加し、その結果を参照してsoftmaxレイヤーを置き換えようとします。 –