2017-05-09 13 views
0

私は現在、マルチラベリング分類を検討しており、いくつか質問があります(明確な回答が見つからない)。(CNNの)マルチラベリング分類の実行方法は?

わかりやすくするために、車の画像(車、バス、トラックなど)とそのメイク(アウディ、フォルクスワーゲン、フェラーリなど)を分類したいとします。

私は2つの独立したCNN( "タイプ"分類と "メイク"分類を行う)を訓練することを考えましたが、すべてのクラスで1つのCNNしか訓練することはできないと考えました。

私は、ソフトマックスの代わりにシグモイド関数を使用する傾向があることを読んでいます。私はSIGMOIDがsoftmaxのように1に達していないことを理解していますが、それがマルチラベリングの分類を行うことを可能にするのは分かりません。

私の2番目の質問は:いくつかのクラスが完全に独立していることを考慮に入れることは可能ですか?

パフォーマンスの面で(精度と新しい画像の分類を与える時間)、2つの独立したより良いトレーニングではないですか?

は私のいくつかの答えやいくつかのアイデアを与えることができる人のためにありがとう:)

答えて

1

ソフトマックスは、特殊な出力機能です。出力ベクトルを強制的に単一の大きな値にします。さて、ニューラルネットワークの訓練は、出力ベクトルを計算し、それを目標ベクトルと比較し、誤差を逆伝播することによって作用する。ターゲットベクターを1つの大きな値に制限する理由はありません。マルチラベルの場合は、の場合は1.0ターゲットを使用します。適用するラベルはすべてです。しかし、その場合、出力層にsoftmaxを使用すると、出力とターゲットの間に意図しない違いが生じ、その違いが逆伝搬されます。

2番目の部分では、ターゲットベクトルを定義します。そこに好きなような依存関係をエンコードすることができます。

最後に、結合されたネットワークは、2つの半分が独立して行うよりも優れたパフォーマンスを示します。ネットワークレイアウトに違いがある場合は、2つのネットワークを並行して実行するだけです。通常のNNとCNNが並行して実行可能である可能性があります。

+0

まず、本当に完全な答え@MSaltersありがとうございます。 私はちょうどもう1つの精度が必要です:私のネットワークは、トレーニング中に、一部のクラスが独立していて、いくつかはそうではないと考えていますか?あるいは、少なくとも私はそれを理解するために何かをすることができますか(いくつかのニューロンをリンクするかどうか)? –

関連する問題