畳み込みニューラルネットワークがサポートベクターマシンを使用して分類しないのはなぜですか?


46

近年、畳み込みニューラルネットワーク(CNN)は、コンピュータービジョンにおけるオブジェクト認識の最先端技術になりました。通常、CNNは複数の畳み込み層で構成され、その後に2つの完全に接続された層が続きます。この背後にある直感は、畳み込み層が入力データのより良い表現を学習し、完全に接続された層がラベルのセットに基づいてこの表現を分類することを学習することです。

ただし、CNNが支配を開始する前は、サポートベクターマシン(SVM)が最先端でした。そのため、SVMは2層の完全に接続されたニューラルネットワークよりも依然として強力な分類器であると言えます。したがって、なぜ最新のCNNがSVMではなく完全に接続されたレイヤーを分類に使用する傾向があるのか​​疑問に思っていますか?このように、強力な特徴表現ではなく、強力な特徴表現と弱い分類子のみの両方の長所があります。

何か案は?

回答:


54

それはできます。ICMLワークショップの論文、Deep Learning using Linear Support Vector Machines(Tang(2013))はまさにこれを行い、小規模ではあるが一貫した改善を発見しました。また、通常の方法でCNNをトレーニングすることもありますが、その後、レイトレイヤーの出力を「機能」として取得し、その上で別のSVMをトレーニングします。

ただし、線形 SVM を使用していたことに注意してください。実際、線形SVMとロジスティック回帰(シグモイドアクティベーションを持つ単一のバイナリ出力層に相当)の違いはごくわずかです。学習するのに十分なデータがあると仮定すると、ネットの追加レイヤーは実際には最後の2つのレイヤーを線形SVMよりも強力にします。

また、マルチクラス出力の場合、ソフトマックスアクティベーションはマルチクラスSVMよりも自然であり、その論文のSVMアプローチはやや計算負荷が高いと思います。だから、人々は通常、それだけの価値があるとは思わない。


0

私が見る限り、少なくともいくつかの違いがあります:

  1. CNNは画像データを処理するように設計されていますが、SVMはより一般的な分類器です。
  2. CNNは特徴を抽出しますが、SVMは単純に入力を何らかの高次元空間にマッピングし、(できれば)クラス間の違いを明らかにすることができます。
  3. 2.と同様に、CNNは深いアーキテクチャですが、SVMは浅いアーキテクチャです。
  4. 学習目標は異なります。SVMはマージンを最大化するように見えますが、CNNはそうではありません(詳細を知りたい)

これは、優れた機能が優れたカーネル機能とともに使用されていれば、SVMはCNNと同じように機能します。


4
質問を誤解したかもしれません。CNNの最後に「SVMレイヤー」を使用することです。
ドゥーガル

4
私はCNNとSVMの違いを理解していますが、@ Dougalが言うように、私はCNNの最終層についてもっと質問しています。通常、これは完全に接続されたニューラルネットワークですが、2層ニューラルネットワークよりも強力になる傾向があるため、SVMがここで使用されない理由はわかりません。
カルニボーラス

6
@Karnivaurus質問を誤解して申し訳ありません。アイデアは新しいものではありません。通常、最後のレイヤーは破棄され、最後のレイヤーの出力は他の分類アルゴリズムの機能として使用されます。なぜ一貫してどこでも行われないのですか?通常、最後の層の機能は非常に識別力があるため、SVMのような洗練されたブラックボックスは必要ありません。単純なロジスティック回帰がジョブを実行します。これが私の物事のビジョンです。
ヴラディスラフ・ドヴガレス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.