間に分類器を使用してカスケードネットワークをトレーニングします

帯電した中性子

私は2つのタスクを実行しようとしています。入力は画像であり、入力に基づいて、一連の画像から別の画像を選択し(分類タスク)、両方の画像を使用して出力テンソルを取得します。明らかに、そのセットからどちらの画像を選択する必要があるかというグラウンドトゥルースがわかっていれば、両方のモデルを別々にトレーニングできます。しかし、私は出力テンソルのグラウンドトゥルースしか持っていません。

問題は、私が思うに、分類レイヤーを使用すると、勾配が微分可能でなくなることです。この問題にどのように対処しますか?この種のアーキテクチャをあらゆるアプリケーションに使用している文献はありますか?TIA

詳細:オブジェクト/シーンの複数の画像があり、ある種の再構成の問題にそれらの画像の2つを使用したいと思います。再構成のパフォーマンスを最大化するために、最初の画像が与えられた場合、2番目の画像を賢く選択したいと思います。たとえば、A、B、Cの3つの画像があり、ACを使用すると最良の結果が得られます。AがCを予測し、ACを使用して再構築を実現できるモデルが必要です。タスクは今明確ですか?ACがABよりも優れているというグラウンドトゥルースはありません。タスクは今明確ですか?

ジョセフ・ブディン

したがって、基本的には、分類タスクに続いて再構築タスクを実行する必要があります。

これが私が提案することです(私はこれを絶対的な最善の解決策のふりをしませんが、それは私がこの問題に取り組む方法です):

分類->再構築を1回の損失で実行する単一のタスクを作成できます。それでもこのネットワークを2つにnet_class分けて、分類をnet_reconstruct行う部分と再構築を行う部分を呼び出しましょう分類ネットワークが予測するとします{'B': 0.1, 'C': 0.9)再構成に画像「C」のみを使用する代わりに、両方のペア(A-BA-C)を2番目のネットワークにフィードして、再構成損失を計算しますL(私は再構成の専門家ではありませんが、これにはいくつかの古典的な損失があると思います)。

したがって、2つの損失L(A-B)を計算しますL(A-C)私の総損失はです0.1 * L(A-B) + 0.9 L(A-C)このように、net_class再構成の損失を最小化するペアリングを選択するようにトレーニングnet_reconstructし、両方の損失を最小化するようにトレーニングます。損失は​​継続的です(したがって、AIの専門家によると区別可能です;))。

この損失の背後にある考え方は3つあります。

1 -再構成を改善することが損失の両方があるため(ダウン行かせるL(A-B)L(A-C)減少することになるので、この損失はあなたが望む何かに向けて、あなたの再構成の収束を行う必要があります。

2-あなたの再建者がかなり訓練されている(L(A-B)そしてL(A-C)比較的低い)想像してみましょう次に、分類器には、再構成の損失が最も少ないクラスを予測するインセンティブがあります。

3-これで、再構成子と分類器が同時にトレーニングされます。トレーニングの最後に、ほぼバイナリの結果(0.998対0.002など)を出力する分類器があることが期待できます。Aその時点で、再構築者は出力に関連付けられたシーンでのみトレーニングを行い0.998ます。あなたの問題を正しく理解していれば、上位に分類されたシーンに対してのみ再構成部分を実行したいので、これは問題ではないはずです。

この方法は、再構成部分の深層学習を実行していない場合にも機能することに注意してください。

この種のトピックについてインスピレーションが必要な場合は、GAN(Generative Adversarial Networks)に関するブログ投稿を読むことをお勧めします。彼らは同じ2つの段階を使用します-1つの損失トリック(もちろん若干の違いはありますが、アイデアは非常に近いです)。

幸運を !

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

OpenCVカスケード分類器トレーニング:よりポジティブな画像を使用して.vecファイルを生成する

分類Dev

ケラスの(事前トレーニング済み/未トレーニング)ニューラルネットワークの中間レイヤーに追加した後、softmaxレイヤーをトレーニングします

分類Dev

事前トレーニングはニューラルネットワークの分類をどのように改善しますか?

分類Dev

keras分類器/ニューラルネットワークがトレーニングされているクラスを確認する方法は?

分類Dev

Kerasを使用してマルチクラス画像分類器をトレーニングする方法

分類Dev

Encog-交差検定法を使用してニューラルネットワークをトレーニングし、トレーニングを検証します

分類Dev

事前にトレーニングされたネットワークで花を分類しようとしていますが、何らかの理由でトレーニングされません

分類Dev

単層ニューラルネットワークで10を超える入力を使用して、2つのカテゴリに分類できます

分類Dev

OpenCVを搭載したAndroidのニューラルネットワークによるグレースケール画像分類

分類Dev

ImageDataレイヤーを使用してカフェで基本的なネットワークをトレーニング中にエラーが発生しました

分類Dev

複数の分類器をトレーニングし、メトリックを比較します

分類Dev

opencvを使用してカスケードをトレーニングする方法

分類Dev

Tensorflow:ニューラルネットワークを使用してポジティブまたはネガティブフレーズを分類する

分類Dev

事前にトレーニングされたモデルを使用して、画像分類のためにニューラルネットワークを最適化するにはどうすればよいですか?

分類Dev

カスケードオブジェクト検出器の境界ボックスを範囲外にトレーニングしますか?

分類Dev

事前トレーニング済みネットワーク(1ブランチ)を使用して、カフェに2つのブランチがあるネットワークのレイヤーの重みを初期化します。

分類Dev

カスケード分類器を使用したKinectによるオブジェクト分類

分類Dev

EC2インスタンスを使用してニューラルネットワークをトレーニングする場合、トレインデータセットをどこに保存する必要がありますか?

分類Dev

分類器ニューラルネットワークの最後の層は、シグモイドとソフトマックスの両方を使用しますか?

分類Dev

JavaScriptを使用してニューラルネットワークをトレーニングした後、ニューラルネットワークの重みとバイアスを保存するにはどうすればよいですか?

分類Dev

IPアドレス(WCFまたはソケット)を介して同じローカルネットワーク上のコンピューター間で情報を送信するにはどうすればよいですか?

分類Dev

Neurolabはネットワークを再トレーニングします

分類Dev

alexnetを使用し、ディレクトリからフローしてグレースケールデータセットをトレーニングします

分類Dev

Scikit-トレーニング機能に依存するカスタムスコアラーを使用した分類器の学習

分類Dev

バッチデータセットを使用してネットワークをトレーニングしている間、どのように総損失を追跡する必要がありますか?

分類Dev

ニューラルネットワークを使用した分類

分類Dev

顔の表情のハールカスケード分類器トレーニングのネガティブ画像

分類Dev

類似のネットワークデバイス間でストレートケーブルを使用する

分類Dev

mySQLデータベースから直接分類器をトレーニングします

Related 関連記事

  1. 1

    OpenCVカスケード分類器トレーニング:よりポジティブな画像を使用して.vecファイルを生成する

  2. 2

    ケラスの(事前トレーニング済み/未トレーニング)ニューラルネットワークの中間レイヤーに追加した後、softmaxレイヤーをトレーニングします

  3. 3

    事前トレーニングはニューラルネットワークの分類をどのように改善しますか?

  4. 4

    keras分類器/ニューラルネットワークがトレーニングされているクラスを確認する方法は?

  5. 5

    Kerasを使用してマルチクラス画像分類器をトレーニングする方法

  6. 6

    Encog-交差検定法を使用してニューラルネットワークをトレーニングし、トレーニングを検証します

  7. 7

    事前にトレーニングされたネットワークで花を分類しようとしていますが、何らかの理由でトレーニングされません

  8. 8

    単層ニューラルネットワークで10を超える入力を使用して、2つのカテゴリに分類できます

  9. 9

    OpenCVを搭載したAndroidのニューラルネットワークによるグレースケール画像分類

  10. 10

    ImageDataレイヤーを使用してカフェで基本的なネットワークをトレーニング中にエラーが発生しました

  11. 11

    複数の分類器をトレーニングし、メトリックを比較します

  12. 12

    opencvを使用してカスケードをトレーニングする方法

  13. 13

    Tensorflow:ニューラルネットワークを使用してポジティブまたはネガティブフレーズを分類する

  14. 14

    事前にトレーニングされたモデルを使用して、画像分類のためにニューラルネットワークを最適化するにはどうすればよいですか?

  15. 15

    カスケードオブジェクト検出器の境界ボックスを範囲外にトレーニングしますか?

  16. 16

    事前トレーニング済みネットワーク(1ブランチ)を使用して、カフェに2つのブランチがあるネットワークのレイヤーの重みを初期化します。

  17. 17

    カスケード分類器を使用したKinectによるオブジェクト分類

  18. 18

    EC2インスタンスを使用してニューラルネットワークをトレーニングする場合、トレインデータセットをどこに保存する必要がありますか?

  19. 19

    分類器ニューラルネットワークの最後の層は、シグモイドとソフトマックスの両方を使用しますか?

  20. 20

    JavaScriptを使用してニューラルネットワークをトレーニングした後、ニューラルネットワークの重みとバイアスを保存するにはどうすればよいですか?

  21. 21

    IPアドレス(WCFまたはソケット)を介して同じローカルネットワーク上のコンピューター間で情報を送信するにはどうすればよいですか?

  22. 22

    Neurolabはネットワークを再トレーニングします

  23. 23

    alexnetを使用し、ディレクトリからフローしてグレースケールデータセットをトレーニングします

  24. 24

    Scikit-トレーニング機能に依存するカスタムスコアラーを使用した分類器の学習

  25. 25

    バッチデータセットを使用してネットワークをトレーニングしている間、どのように総損失を追跡する必要がありますか?

  26. 26

    ニューラルネットワークを使用した分類

  27. 27

    顔の表情のハールカスケード分類器トレーニングのネガティブ画像

  28. 28

    類似のネットワークデバイス間でストレートケーブルを使用する

  29. 29

    mySQLデータベースから直接分類器をトレーニングします

ホットタグ

アーカイブ