当前位置: 首页 » 行业资讯 » 机器人»给人工智能降点温:深度学习不是万能良药
   

给人工智能降点温:深度学习不是万能良药

 46.1K
     [点击复制]
放大字体  缩小字体 发布日期:2017-09-06   浏览次数:1092
核心提示:  近几年,深度进修曾经进入必定水平的狂热状况,人们正试图用这个技巧处理每个成绩。但是,深度进修真是全能的吗?浏览此文后,你便可以或许从深层懂得为何深度进修其实不是想象的那般神话了。  写在后面  近

  近几年,深度进修曾经进入必定水平的狂热状况,人们正试图用这个技巧处理每个成绩。但是,深度进修真是全能的吗?浏览此文后,你便可以或许从深层懂得为何深度进修其实不是想象的那般“神话”了。

  写在后面

  近日,在深度进修范畴涌现了一场热闹的争辩。这一切都要从 Jeff Leek 在 Simply Stats 上揭橥了一篇题为《数据量不敷年夜,别玩深度进修》(Don't use deep learning your data isn't that big)的博文开端。作者 Jeff Leek 在这篇博文中指出,当样本数据集很小时(这类情形在生物信息范畴很罕见),即便有一些层和隐蔽单位,具有较少参数的线性模子的表示是优于深度收集的。为了证实本身的论点,Leek 举了一个基于 MNIST 数据库停止图象辨认的例子,分辩 0 或许 1。他还表现,当在一个应用仅仅 80 个样本的 MNIST 数据集中停止 0 和 1 的分类时,一个简略的线性猜测器(逻辑回归)要比深度神经收集的猜测精确度更高。

  这篇博文的揭橥惹起了范畴内的争辩,哈佛年夜学药学院的生物医药信息学专业博士后 Andrew Beam 写了篇文章来辩驳:《就算数据不敷年夜,也能玩深度进修》(You can probably use deep learning even if your data isn't that big)。Andrew Beam 指出,即便数据集很小,一个恰当练习的深度收集也能击败简略的线性模子。

  现在,愈来愈多的生物信息学研讨人员正在应用深度进修来处理各类各样的成绩,如许的争辩愈演愈烈。这类炒作是真的吗?照样说线性模子就足够知足我们的一切需求呢?结论自始自终——要视情形而定。在这篇文章中,作者摸索了一些机械进修的应用实例,在这些实例中应用深度进修其实不明智。而且说明了一些对深度进修的误会,作者以为恰是这些毛病的熟悉招致深度进修没有获得有用地应用,这类情形关于老手来讲特别轻易涌现。

  打破深度进修成见

  起首,我们来看看很多内行者轻易发生的成见,实际上是一些半真半假的单方面熟悉。重要有两点,个中的一点更具技巧性,我将具体说明。

  深度进修在小样本集上也能够获得很好的后果

  深度进修是在年夜数据的配景下火起来的(第一个谷歌年夜脑项目向深度神经收集供给了年夜量的 Youtube 视频),自从那今后,绝年夜部门的深度进修内容都是基于年夜数据量中的庞杂算法。

  但是,这类年夜数据 + 深度进修的配对不知为什么被人误会为:深度进修不克不及运用于小样本。假如只要几个样例,将其输出具有高参数样本比例的神经收集仿佛必定会走上过拟合的途径。但是,仅仅斟酌给定成绩的样本容量和维度,不管有监视照样无监视,简直都是在真空中对数据停止建模,没有任何的高低文。

  能够的数据情形是:你具有与成绩相干的数据源,或许该范畴的专家可以供给的壮大的先验常识,或许数据可以以异常特别的方法停止构建(例如,以图形或图象编码的情势)。一切的这些情形中,深度进修无机会成为一种可供选择的办法——例如,你可以编码较年夜的相干数据集的有用表现,并将该表现运用到你的成绩中。

  这类典范的示例罕见于天然说话处置,你可以进修年夜型语料库中的词语嵌入,例如维基百科,然后将他们作为一个较小的、较窄的语料库嵌入到一个有监视义务中。极端情形下,你可以用一套神经收集停止结合进修特点表现,这是在小样本集中重用该表现的一种有用方法。这类办法被称作“一次性进修”(one-shot learning),而且曾经胜利运用到包含盘算机视觉和药物研发在内的具有高维数据的范畴。

给人工智能降点温:深度学习不是万能良药

  药物研发中的一次性进修收集

  深度进修不是一切的谜底

  我听过最多的第二个成见就是过度宣扬。很多还没有入门该范畴的人,仅仅由于深度神经收集在其它范畴的精彩表示,就等待它也能为他们带来神话般的表示晋升。其别人则从深度进修在图象、音乐和说话(与人类关系亲密的三种数据类型)处置范畴的使人印象深入的表示中遭到启示,因而就脑筋发烧地钻入该范畴,迫在眉睫地测验考试练习最新的 GAN 构造。

  固然,这类年夜肆吹嘘在许多方面是真实存在的。深度进修在机械进修中的位置弗成小觑,也是数据建模办法库的主要对象。它的普及带动了诸如 tensorflow 和 pytorch 等很多主要框架的成长,它们即便是在深度进修以外也是非常有效的。掉败者突起成为超等巨星的故事鼓励了很多研讨员从新审阅之前的隐约算法,如退化算法和加强进修。

  但任何情形下也不克不及以为深度进修是全能良药。除“世界没有收费的午饭”这点以外,深度进修模子长短常奥妙的,而且须要细心乃至异常耗时耗力的超参数搜刮、调剂,和测试(文章后续有更多讲授)。除此以外,在许多情形下,从理论的角度来看,应用深度进修是没成心义的,更简略的模子反而能取得更好的后果。

  深度进修不只仅是.fit()

  深度进修模子从机械进修的其他范畴传来时,我以为还有别的一个方面常常被疏忽。年夜多半深度进修的教程和引见资料都将模子描写为经由过程条理方法停止衔接的节点层构成,个中第一层是输出,最初一层是输入,而且你可以用某种情势的随机梯度降低(SGD)办法来练习收集。有些资料会简略引见随机梯度降低是若何任务的,和甚么是反向流传,但年夜部门引见重要存眷的是丰硕的神经收集类型(卷积神经收集,轮回神经收集等等)。

  而优化办法自己却很少遭到存眷,这是很不幸的,由于深度进修为何可以或许起到很年夜的感化,绝年夜部门缘由就是这些特别的优化办法(详细阐述可以参考 Ferenc Huszár 的博客和博客中援用的论文)。懂得若何优化参数,和若何划分数据,从而更有用地应用它们以便在公道时光内使收集取得优越的收敛,是相当主要的。

  不外,为何随机梯度降低如斯症结照样未知的,然则如今线索也正零碎涌现。我偏向于将该办法算作是贝叶斯推理的一部门。本质上,在你停止某种情势的数值优化时,你都邑用特定的假定和先验来履行一些贝叶斯推理。其实有一个被称做几率数值盘算(probabilistic numerics)的完全研讨范畴,就是从这个不雅点开端的。随机梯度降低也是如斯,最新的研讨结果注解,该进程现实上是一个马尔科夫链,在特定假定下,可以看做是后向变分近似的稳态散布。

  所以当你停滞随机梯度降低,并采取终究的参数时,根本上是从这个近似散布中抽样获得的。我以为这个设法主意很有启示性,由于如许一来,优化器的参数(这里是指进修率)就更成心义了。例如,当你增长随机梯度降低的进修参数时,马尔可夫链就会变得不稳固,直到它找到年夜面积采样的部分最小值,如许一来,就增长了法式的方差。

  另外一方面,假如削减进修参数,马尔科夫链可以渐渐的近似到广义极小值,直到它收敛,如许就增长了某个特定区域的偏置。而另外一个参数,随机梯度降低的批次年夜小,也能够掌握算法收敛的区域是甚么类型,小的批次收敛到较年夜区域,年夜的批次收敛到较小区域。

给人工智能降点温:深度学习不是万能良药

  随机梯度降低依据进修速度或批尺寸来选择较年夜或广义最小值

  如许的庞杂性意味着深度收集的优化器异常主要:它们是模子的焦点部门,与层架构一样主要。这一点在机械进修的很多其他模子中其实不罕见。线性模子(乃至是正则化的,像 LASSO 算法)和支撑向量机(SVM) 都是凸优化成绩,没有太多纤细差异,而且只要一个最优解。这也就是为何来自其它范畴的研讨人员在应用诸如 scikit-learn 如许的对象时会觉得迷惑,由于他们发明找不到简略地供给。fit() 函数的 API(虽然如今有些对象,例如 skflow,试图将简略的收集置入。fit() 中,我以为这有点误导,由于深度进修的全体重点就是其灵巧性)。

  甚么时刻不须要深度进修?

  在甚么情形下深度进修不是最幻想的呢?在我看来,以下情形中,深度进修更多是一种障碍,而不是福音。

  低预算或低投资成绩

  深度收集是非常灵巧的模子,有多种多样的构造和节点模子、优化器和正则化办法。依据运用场景,你的模子也许要有卷积层(层尺寸多宽?有无池化操作?),或许轮回构造(有无门控单位?);收集能够真的很深(hourglass,siamese,或其他构造?)照样只是具有很少的几个隐蔽层(有若干单位?);它能够应用整流线性单位或其他激活函数;它能够会或能够不会有随机抛弃(在哪一层中?用甚么比例?),而且权重应当是正则化的(L1、L2,或许是某些更奇异的正则化办法?)。这只是一部门列表,还有许多其他类型的节点、衔接,乃至丧失函数可以去测验考试。

  即使只是练习年夜型收集的一个实例,调剂很多超参数和摸索框架的进程也长短常耗时的。谷歌比来传播鼓吹本身的 AutoML 办法可以主动找到最好的架构,使人印象深入,但依然须要跨越 800 个 GPU 全天候运转数周,这关于任何人来讲简直都是高不可攀的。症结在于练习深度收集时,在盘算和调试部门都邑消费伟大的价值。这类消费关于很多平常猜测成绩并没成心义,而且调剂深度收集的投资报答率太低,即便是调剂小型收集。即便有足够的预算和投资,也没有来由不测验考试替换办法,哪怕作为基准测试。你能够会欣喜地发明,线性 SVM 就够用了。

  说明和转达模子参数或特点对普通受众的主要性

  深度收集也是很著名的黑匣子,它具有高猜测才能但可说明性缺乏。虽然比来有许多对象,诸如明显图(saliency maps)和激活差别(activation difference),它们对某些范畴而言长短常有效的,但它们不会完整被运用到一切的运用中。重要是,当你想要确保收集不会经由过程记住数据集或专注于特定的虚伪特点来诱骗你时,这些对象就可以很好地任务,但依然难以从每一个特点的主要性解读出深度收集的全体决议计划。在这个范畴,没有甚么可以或许真正地打败线性模子,由于进修获得的系数与呼应有着直接的关系。当将这些说明转达给普通受众,而且他们须要基于此做出决议计划时,这就显得尤其主要。

  例如,大夫须要联合各类分歧的数据来确认诊断成果。变量和成果之间的关系越简略、越直接,大夫就可以更好天时用,而不是低估或高估现实值。另外,有些情形下,模子(特别是深度收集)的精度其实不像可说明性那样主要。例如,政策制订者能够想晓得一些生齿统计变量关于逝世亡率的影响,而且相较于猜测的精确性来讲,能够对这类关系的直接近似更有兴致。在这两种情形下,与更简略、更容易渗入渗出的办法比拟,深度进修处于晦气位置。

  树立因果机制

  模子可说明性的极端情形是当我们试图树立一个机械模子,即现实捕获数据面前景象的模子。一个好的例子包含试图猜想两个份子(例如药物、卵白质、核酸等)能否在特定的细胞情况中互相发生影响,或许假定特定的营销战略能否对发卖发生现实的影响。在这个范畴,依据专家看法,没有甚么可以击败老式的贝叶斯办法,它们是我们表现并揣摸因果关系的最好方法。Vicarious 有一些很好的最新研讨结果,解释为何这个更有准绳性的办法在视频游戏义务中比深度进修表示得更好。

  进修“非构造化”特点

  这能够是具有争议性的。我发明深度进修善于的一个范畴是为特定义务找到有效的数据表现。一个很好的例子就是上述的词语嵌入。天然说话具有丰硕而庞杂的构造,与“高低文感知”(context-aware)收集邻近似:每一个单词都可以经由过程向量来表现,而这个向量可以编码其常常涌现的文本。在 NLP 义务中应用在年夜型语料库中进修的单词嵌入,有时可以在另外一个语料库的特定义务中晋升后果。但是,假如所评论辩论的语料库是完整非构造化的,它能够不会起就任何感化。

  例如,假定你正在经由过程检查症结字的非构造化列表来对对象停止分类,因为症结字不是在任何特定构造中都邑应用的(好比在一个句子中),所以单词嵌入不会对这些情形有太年夜赞助。在这类情形下,数据是一个真实的“词袋”(bag of words),这类表现很有能够足以知足义务所需。与此相反的是,假如你应用预练习的话,单词嵌入其实不是那末消耗时力,并且可以更好地捕捉症结字的类似度。不外,我照样情愿从“词袋”表现开端,看看可否获得很好的猜测成果。究竟,这个“词袋”的每一个维度都比对应的词嵌入槽更轻易解读。

  深度进修是将来

  深度进修今朝异常火爆,资金充分,而且成长异常敏捷。当你还在浏览会议上揭橥的论文时,有能够曾经有两、三种新版本可以超出它了。这给我上述列出的几点提出了很年夜的挑衅:深度进修在不久的未来能够在这些情形中长短常有效的。用于说明图象和团圆序列的深度进修模子的对象愈来愈好。比来推出的软件,如 Edward 将贝叶斯建模和深度收集框架联合,可以或许量化神经收集参数的不肯定性,和经由过程几率编程和主动变分推理停止简略单纯贝叶斯推理。从久远来看,能够会有一个简化的建模库,可以或许给出深度收集具有的明显属性,从而削减须要测验考试的参数空间。所以要赓续更新你的 arXiv 浏览内容,这篇博文的内容也许一两个月内也会过时。

给人工智能降点温:深度学习不是万能良药

  Edward 经由过程将几率计划与 tensorflow 联合,将深度进修和贝叶斯的模子斟酌在内。

只要你关注机器人,你就无法错过睿慕课

 
 
 
[ 行业资讯搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 关闭窗口 ]