为什么卷积神经网络不使用支持向量机进行分类?


46

近年来,卷积神经网络(CNN)已成为计算机视觉中对象识别的最新技术。通常,CNN由几个卷积层组成,然后是两个完全连接的层。这背后的一种直觉是,卷积层学习输入数据的更好表示,然后全连接层学习根据一组标签对这种表示进行分类。

但是,在CNN开始占主导地位之前,支持向量机(SVM)是最新技术。所以说SVM仍然比两层全连接神经网络更强大的分类器似乎是明智的。因此,我想知道为什么最新的CNN倾向于使用完全连接的层进行分类,而不是使用SVM?这样,您将两全其美:强大的要素表示和强大的分类器,而不是强大的要素表示,但只有弱分类器...

有任何想法吗?

Answers:


54

可以办到; ICML的研讨会论文《使用线性支持向量机进行深度学习》(Tang(2013))做到了这一点,并发现了微小但一致的改进。有时也可以用典型的方式来训练CNN,但是随后将后期层的输出作为“功能”,并在其上训练一个单独的SVM。

但是请注意,他们使用的是线性 SVM,实际上,线性SVM与逻辑回归(等效于具有S型激活的单个二进制输出层)之间的差异非常小。假设您有足够的数据来学习,则网络的附加层实际上会使后两层比线性SVM坚固—尽管您当然可以做一个完全连接的S型或ReLU层,然后将SVM置于最后。

同样,对于多类输出,softmax激活比多类SVM更自然,我认为该论文的SVM方法在计算上更加密集。所以人们通常只是不认为这是值得的。


0

据我所知,至少有一些区别:

  1. CNN旨在处理图像数据,而SVM是更通用的分类器。
  2. CNN提取特征,而SVM仅将其输入映射到某个高维空间,从而(希望)可以揭示类之间的差异;
  3. 与2.类似,CNN是深层架构,而SVM是浅层架构;
  4. 学习目标是不同的:SVM希望最大限度地提高利润,而CNN则不能(希望了解更多)

话虽如此,只要将良好的功能与良好的内核功能配合使用,SVM就能像CNN一样工作。


4
我认为您可能误解了这个问题;这是关于在CNN末尾使用“ SVM层”。
2015年

4
我了解CNN和SVM之间的区别,但是正如@Dougal所说,我在询问有关CNN最终层的更多信息。通常,这是一个完全连接的神经网络,但是我不确定为什么这里不使用SVM,因为它们倾向于比两层神经网络更强大。
卡尼瓦鲁斯2015年

6
@Karnivaurus对不起,您读错了问题。这个想法并不新鲜。通常,最后一层被扔掉,最后一层的输出用作其他分类算法中的特征。为什么没有始终如一地做到这一点?最后一层的特征通常具有区分性,以至于不需要像SVM那样复杂的黑匣子,只需简单的Logistic回归即可完成工作。这是我对事物的看法。
Vladislavs Dovgalecs 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.