当我在 2002 年开始学习机器学习时,神经网络正在走出去,支持向量机变得越来越流行。当时我的理解是 SVM 可以做 NNet 可以做的任何事情,并且它们基于更坚实的理论基础(Vapnik-Chervonenkis 理论)。
现在 NNets 已经用 Deep Neural Nets 卷土重来,似乎没有人再使用 SVM。
那么 DNN 能做什么,而 SVM 不能呢?除了炒作之外,还有什么理由选择 DNN 而不是 SVM?
当我在 2002 年开始学习机器学习时,神经网络正在走出去,支持向量机变得越来越流行。当时我的理解是 SVM 可以做 NNet 可以做的任何事情,并且它们基于更坚实的理论基础(Vapnik-Chervonenkis 理论)。
现在 NNets 已经用 Deep Neural Nets 卷土重来,似乎没有人再使用 SVM。
那么 DNN 能做什么,而 SVM 不能呢?除了炒作之外,还有什么理由选择 DNN 而不是 SVM?
我将列出一些我相当有信心 DNN 比 SVM 表现更好的领域,这不仅仅是“炒作”。我确信还有更多,就像我确信 SVM 在某些地方会做得更好一样。特别是,我发现很多提出此类问题的人只考虑全连接网络(也称为前馈网络,或多层感知器,或人工神经网络,或......),通常被应用于更标准的“表格”样式数据。在这些情况下,我没有看到 DNN 的令人难以置信的结果,如果这是你唯一的体验,可能很容易相信这只是炒作。
DNN 真正闪耀的地方在于卷积神经网络,还有它们处理顺序数据的能力、生成数据的能力和强化学习(例如学习玩围棋或 Atari 游戏)。我将在下面详细介绍一些。
DNNS,尤其是卷积神经网络 (CNN),是几乎所有图像处理任务的最先进技术。我不确定是否有人认真建议 SVM 在 ImageNet、Cifar10 甚至 MNIST 等分类数据集上达到相当的性能。
这对于“密集”图像预测来说是双倍的,例如,给定 CT 扫描的 500x500 图像,准确分类哪些像素是肿瘤(参见U-Net:生物医学图像分割的卷积网络,作者:Olaf Ronneberger、Philipp Fischer、Thomas Brox)该领域的早期作品)。我不确定 SVM 会是什么样子。
请注意,虽然图像是 CNN 的典型子项目,但它们也可以很容易地应用于过去可能使用过信号处理的其他任务,并且根据我的个人经验,它们已经达到了更好的性能水平。
目前有许多数据生成任务是研究领域。例如,使用生成对抗网络生成新图像(但在实践中,它通常仅用作无监督特征学习)。还有一些有趣的工作正在尝试生成艺术/音乐(https://magenta.tensorflow.org/)。与密集图像预测类似,我不确定 SVM 执行此操作会是什么样子。也许有人用 SVM 在这个领域做着令人着迷的工作,我不会声称自己是这方面的专家,但我的印象是这并没有发生。
我会注意到数据生成不仅仅是纯粹的学术,还有语音合成(想想 Siri、Cortana 或 Google Assistant)以及可能的其他领域。
研究人员已经能够训练 DNN 来学习如何仅使用原始像素数据和分数作为输入来玩 Atari 游戏 ( https://deepmind.com/research/dqn/ )。也许这只是我的经验不足,但这是我很难用 SVM 实现的壮举。