被捧上天的深度学习,遇到这些问题根本干不过简单模型

今天我们来唱唱反调,推荐一篇Hacker News和Reddit的双料热文《何时该不用深度学习》。

作者 | Pablo Cordero

翻译 | reason_W

前段时间,AI科技大本营讨论过一场关于深度学习应用的争论——【撕起来了!谁说数据少就不能用深度学习?】,某教授认定“没有大数据就不要用深度学习”,这让一位正在辛苦做研究的博士后立时炸了,“只要你能搞懂模型,小数据同样可以用深度学习”。

对此,另一位博士后实在看不下去了,他认为这些大牛不能瞎忽悠:你们这样争吵,让初学者到底去听谁的?你们还让不让初学者来学深度学习了?

这个博士后就是加州大学圣克鲁兹分校系统生物组的Pablo Cordero,他正在用机器学习来研究单细胞测量的问题。他认为,当此深度学习越来越多地被用到生物信息学研究之际,大家一定要实事求是向前看,不能让错误的风向吹倒深度学习的大旗。

毕竟,深度学习不是万能的,更不是万达的。除了“没有免费的午餐”定理,深度学习模型的差别还相当微妙,使用的过程需要非常细心,有时还需要做非常昂贵的超参数搜索、调整与测试。

因而,从实用的角度看,深度学习在许多情况下并不好用,反而是简单的模型效果更好。在这里,清醒地认识深度学习所不适用的场景,便成为避免争论的关键。Pablo Corder对这类场景的分析如下:

低预算或低投入问题

深度神经网络是非常灵活的模型,有着大量的架构和节点类型、优化器与正则化策略。

根据不同的应用场景:

  • 你的模型可能会有卷积层(多大?使用什么池化操作?)或循环结构(有或没有门控?);
  • 它可能真的很深(hourglass、siamese或其他架构?)也可能只有几个隐藏的层(有多少单位?);
  • 它可能使用整流线性单元或其他激活函数;
  • 它可能会有或不会有dropout (在什么层次中?用什么分数?),权重很有可能被正则化(L1范数,L2范数,还是其他某种方式?)。

这只是一部分列表,还需要尝试很多其他类型的节点,连接,甚至损失函数。

这些都是在训练时需要去调整的超参数,需要去探索的架构,这使得即便只训练一个大型网络都会相当耗时。

最近Google在吹嘘它的AutoML管道可以自动找出最好的架构,虽说其结果让人印象极深,但该成果是超过800个GPU全天候运行数周才得到的,这种资源可不是每一个人都触手可及的。

这里的问题不在于深度学习,而在于训练深度网络的计算和调试,它们的开销太大了。对于许多日常问题的预测,这样的开销没有任何意义,因为即便是调整小型网络,它的性价比也实在太低。

所以,就算你足够的预算和投入,也没有理由不优先尝试替代方法。你很有可能会惊喜地发现,线性SVM才是真正的需求。

向公众解释模型参数/特征的重要性

深度神经网络还是一个臭名昭著的黑箱,尽管预测能力很强,但可解释性不足。

虽说最近有不少工具在某些领域很见效果,如显著图与激活差异性,但它们还不能完全迁移到所有的应用场景中。这主要是在于,当你想确保神经网络不是通过记诵数据集或是专注于特定的虚假特征来欺骗你时,此类工具就能做出效果;但如何把每个特征的重要性解释为深层网络的整体决策,仍旧很难实现

在这方面,没有什么曾真正的打败过线性模型,因为线性模型的学习系数与响应有直接的关系。当你需要把这些解释传达给需要据此来做决定的普通人时,这尤其重要。

例如,医生需要结合多种不同的数据来做出诊断。变量和结果之间的关系越简单和越直接,医生利用的效果就越好,而不是低估/高估实际结果。

此外,有些情况下,模型的准确性(通常这恰恰是深度学习所擅长的)并不像解释性那样重要。

例如,策略制定者可能想知道一些人口统计变量(比如对死亡率)的影响,并且可能对这种关系的直接近似比对预测的准确性更有兴趣。

在这两种情况下,与更简单,更易理解的方法相比,深度学习就会处于不利地位。

建立因果机制

模型解释的极端情况是当我们试图建立一个物理模型,即一个实际捕获数据背后的现象的模型。 好的例子包括试图猜测两个分子(例如药物,蛋白质,核酸等)是否在特定的细胞环境中相互作用,或者假设特定的营销策略如何对销售产生实际的影响。

在这个领域,专家们的意见是,没有什么可以超越老式的贝叶斯方法,这是我们最好的(即使不完美的)表示和推断因果关系的方式。

Vicarious最近做了一个很好的研究,说明了为什么该方法在电子游戏任务的表现上比深度学习效果更好- https://www.vicarious.com/img/icml2017-schemas.pdf

从“非结构化”特征中学习

这一点可能还在争论。我发现深度学习擅长的一个领域是为特定任务找到有用的数据表示

一个很好的例子是刚刚说的词嵌入。自然语言具有丰富而复杂的结构,可以用“上下文感知”网络近似:每个单词都可以在编码了使用频率较高的上下文的向量中进行表示。在大型语料库中学习的NLP任务中使用词嵌入有时可以在另一个语料库的特定任务中提升效果。

然而,如果所讨论的语料库是完全非结构化的,则可能没有任何用处。例如,假设您正在通过查看关键字的非结构化列表来对对象进行分类。由于关键字没有在任何特定的结构中使用(如在一个句子中),所以词嵌入不太可能对此有所帮助。在这种情况下,数据就是一个词袋,这种表示可能就足以满足任务。

与此相反的是,如果您使用预训练的话,并且能更好地捕获关键字相似度,那么词嵌入就并不是那么昂贵。不过,我还是宁愿从一个单词的表示开始,看看能否得到很好的预测。毕竟,这个词袋的每个维度都比对应的词嵌入槽更容易解读。

未来还很深

深度学习领域炙手可热,资金充足,发展迅猛。当你读到在会议上发表的论文的时候,它已经经过两三次迭代,并且已经不值得推荐了。

这给我提出的以上几点提了一个很大的醒:在不久的将来,深度学习可能对这些情景来说是非常有用的

毕竟,用于解释图像和离散序列的深度学习模型的工具正变的越来越好。

Edward与tensorflow结合进行概率规划,可以使用深度和贝叶斯模型。 摘自Tran et al. ICLR 2017

像Edward(Google提出的一种深度概率编程语言)这样的新软件,已经在综合使用贝叶斯建模和深度网络框架,以通过概率编程和自动变分推理来量化神经网络参数和简单贝叶斯推断的不确定性。

从长远来看,可能会出现一个简化的建模词汇表,以揭示深度网络的显著属性,从而缩小你所需要尝试的参数空间。

所以,请继续刷arXiv吧,本文所谈的内容,可能一两个月后就完全没用了。

原文地址 http://hyperparameter.space/blog/when-not-to-use-deep-learning/

原文发布于微信公众号 - AI科技大本营(rgznai100)

原文发表时间:2017-07-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏灯塔大数据

塔荐 | 从神经科学到计算机视觉:人类与计算机视觉五十年回顾

前 言 本文简单的介绍了神经网络近50年的发展历程,从1968年的Hubel和Wiesel开展的猫实验,一直到李飞飞教授等人的成果。从本质上讲解了人工神经网络...

3439
来自专栏CreateAMind

智能的几点随想

873
来自专栏量化投资与机器学习

【精选】神经网络应用于算法交易

今天编辑部带来关于在基于金融时间序列的预测模型案例,我们将通过神经网络来增强一个经典的移动平均策略,并表明它真的是有所改善相对原策略。

30312
来自专栏AI科技评论

独家 | EMNLP 2017 录用论文作者解读:深度残差网络下的弱监督关系抽取

AI 科技评论按:在今年的 EMNLP 2017 上,台湾大学黄意尧与加州圣塔芭芭拉大学 (UCSB)William Wang 教授有一篇合作论文被录用。受AI...

3908
来自专栏ml

Use of Deep Learning in Modern Recommendation System: A Summary of Recent Works(笔记)

注意:论文中,很多的地方出现baseline,可以理解为参照物的意思,但是在论文中,我们还是直接将它称之为基线, 也就是对照物,参照物. 这片论文中,作者没有...

43310
来自专栏量化投资与机器学习

【必看】机器学习应用量化投资必须要踩的那些坑(系列55)

2755
来自专栏专知

【深度】浅析Geoffrey Hinton最近提出的Capsule计划

【导读】本文全面介绍了深度学习的来龙去脉以及Hinton最近提出的Capsule计划。希望做物理的、做数学的、做生物的、做化学的、做计算机、包括做科幻的都能看的...

3026
来自专栏人工智能头条

近200篇机器学习/深度学习资料分享(含各种文档,视频,源码等)

2453
来自专栏互联网大杂烩

评价模型数据挖掘之评价模型

是定性与定量相结合的多准则决策、评价方法。将决策的有关元素分解成目标层、准则层和方案层,并通过人们的判断对决策方案的优劣进行排序,在此基础上进行定性和定量分析。...

2022
来自专栏机器之心

学界 | 一文综述所有用于推荐系统的深度学习方法

5478

扫码关注云+社区

领取腾讯云代金券