知乎:Deep Learning 的专家如此急缺,它难在何处?

不可否认,人工神经网络中有一些思想是很巧妙的。但正如SVM, Linear Regression, Decision Tree, Boosting Tree 一样,他们都有各自巧妙的思想,但数学并不复杂。通过具象来深入理解其原理和调参也并不复杂。常用的技巧有,train, predict,feature engineering,bootstrap 等等。机器学习作为一种计算机科学分支,其数学概念的复杂度低于统计学。机器学习用的是比较直观的想法。有许多trick,例如loss function, kernel,activation function, back propagation。

那么,机器学习,或者深度学习,难点究竟在哪里呢?

1 是数学基础的严格化?
2 是代码结构的优化?
3 还是在于发现一些新的trick呢?
4 针对具体问题设计合适的模型,决定合适的参数?
5 是否人工神经网络过于复杂,难以用传统手段分析,以至于我们还无法把握它工作的核心机制?

求指教。

上来先亮明我的观点:实际缺乏的不是Deep Learning的人才,而是可以实际解决问题的人才。而实际可以解决问题的人才不管在什么时代都是稀缺资源。

看题主这问法,潜意识里的一个概念就是数学不难的东西都是小儿科。我是一直鲜明反对这样的观点的。我一贯坚持的哲学是混哪个圈子请先用心体会这个圈子的研究逻辑,而不是拿着自己的逻辑到处judge。Deep Learning本质上是工程学科,而不是自然学科。这个性质天生决定这个圈子的人更加关注的是解决问题,或者换句话说如果必须要二选一,理论要为实践让路。这种研究的哲学和做统计等等看上去很相关的学科有着本质区别:一个理论再优美,bound证明得再漂亮然而实际不work在这些人眼里并没有太大价值。这背后本质的区别在于,统计或者理论机器学习这些学科为了有漂亮的理论不得不对现实世界做出大量简化,而真正做问题的人,是不可能对现实世界做出任何妥协的。对于工程学科而言,只有很少数的方法,是可以在理论和实践上高度统一的。
关于不同research这些的问题,可以参见我之前的两个回答吧:
参加kaggle竞赛是怎样一种体验? – Naiyan Wang 的回答
导师实验室对学生影响有多大? – Naiyan Wang 的回答

另外一个方面,工程学科的本质使得Deep Learning更在意实际动手的实现。你说RCNN有什么难的吗?不就是生成个proposal再分类下嘛。Fast RCNN又有啥呢?不就是个可以BP的SPP嘛。我很不想说Idea is cheap这句话,但是Show me the results的重要性不言而喻。RCNN不是第一个用CNN做detection的paper,而是第一个用CNN把detection做work的paper,第一个证明CNN的feature不仅仅可以做分类的paper。单就这一点就足可以奠定这个工作在整个CV发展史上的地位。记得当初Ross在CMU给talk的时候,我当时的老板做介绍的时候打趣了一句:He is the only man can make things work in computer vision. 这个评价在我看来,已经是顶级的了。以至于后来有人问我说你对自己期待是什么样子,我的回答就是做啥啥work。 XD

说了这么多,最后来回答下问题:Deep Learning本身并不难,难的是你吃透问题,可以用Deep Learning的逻辑去思考你自己的问题,有针对性地设计模型;难的是你有分析问题和结果的能力,遇到负面结果不是抓瞎。另外说Deep Learning就是调参数的,那也是不会调参,调参也是要按照基本法的啊!

最后,如果你觉得可以达到上面的要求,欢迎私信轰炸哦~ 大量实习和全职岗位等着你~

做为前深度学习相关研究工作者,以第一人称视角做个回答。

上面的回答大都是从技术的角度来回答的,这样讲都没错,但是我觉得另一个角度,即心理的角度可能才是更为深层次的原因。

我12年开始在T大进行深度学习相关研究,主要是做语音识别应用方向的研究。硕士阶段满打满算好好做了两年的研究工作,曾在语音信号处理领域国际顶会发了三篇文章。这个水平相对于业界活跃的大牛肯定是不值一提的,我讲这个只是为了说明我对这个东西是有足够了解的。

首先必须要澄清的一点是,深度学习专家急缺可能是事实,然而它难,并不是事实。就像题主说到的,相对于从前的许多机器学习方法,深度学习确实不需要什么高深的数学内容,这一点是没错的。那么如果是这样,那么为什么研究的人(暂时)看起来没有想象的多呢?

深度学习是一个学术概念,要搞清楚这个问题,就需要了解这个东西的学术背景。如同大家可能在其它新闻稿之类的地方能看到的,神经网络的概念几十年前就有了,那个时候就已经火了一阵了,然而后来又被其它方法(比如SVM)超越,之后沉寂了一段时间,到大约11年左右开始爆发,到现在算是受到各界注意力汇聚的顶点了。

做为语音领域研究的工作者,对于上面描述的这些变化其实是非常敏感的。正是因为11年微软在大规模连续语音识别上的突破性进展,(参见语音识别技术突飞猛进)拉开了国际上各家在深度学习上面军备竞赛的序幕,比如百度IDL的成立,谷歌收购Deepmind,DNNReserch等。当然这也是导致我毅然决然向导师要求从事这个方向研究的原因。

实际上现在深度学习的几乎所有最重要理论早在八十年代就确定下来了,那么为什么这么多的进展最近几年才出现?现在我们已经知道,因为那个时候计算机速度太慢,无法支持足够大规模的神经网络,而由于摩尔定律在一段时间内的作用,已经在几十年内使得计算速度得到了数百万倍的提升,而这数百万倍的提升本身其实是一个持续而漫长的过程,所以计算速度方面的原因只能回的的是“为什么它出现了”,而不能回答“为什么它在最近几年以如此密集的方式出现”。

如同理解经济现象不要只讲大道理,必须回到每个人实际面临的选择情景一样,要回答这个问题就必须回到每个研究者所面临的实际情景中。

假设在另一个时空中,我依然是我,依然阴差阳错以语音研究开始了我的研究生生涯,只不过这时是20世纪90年代。经过充分的调研后,我发现大体上有两种研究思路值得注意:一种叫做A,比较主流,效果很好,有一些现成的工具使用;另一种叫做神经网络,本身想法很有意思,但是受关注较少。这个时候看似有两种选择,其实我在这个情景中是没有选择的。

这是因为每个做研究的都是实实在在的人,他们有毕业,评职称,评教授,生活的压力。如果那个时空里的我坚定的选择了进行神经网络的研究,当我们现在回过头来看的时候,可能用1-2年时间,坚持跑完一个足够大规模的试验,也许能发现不一样的东西。但是这又怎么可能呢?导师会给你压力,同行会给你压力,学校会给你压力,而且在这1-2年没有任何结果的过程中,你不可能不怀疑自己,因为研究就是一个在黑暗中摸索的阶段,现在回头看认为曾经需要1-2年,在那样的情景中是根本无法知道的,完全有可能1-2年搭进去什么都没有,3-4年还是什么都没有。这就好像男生追女生,女生奇怪男生追了一半为啥不追了,男生却会觉得连十分之一都不到一样。相比于坚持,放弃换一个方向才是更理性的选择。

所以能够撑过神经网络最黑暗时光的人,一定是极少数抱有绝对信仰的人,比如Hinton, Lecun, Bengio,他们凭借已经取得的成就,在没有来自其它方面压力的时候,才能走下去。这就是为什么这样的人一定很少的原因。

然而回答到这里只是事情的前一半部分。

一件需要意识到的事情是,神经网络,做为一种研究方向,有过这样一种跌宕起伏的发展过程,为什么其它理论就不能有呢?所以很有可能其它机器学习派别在未来再度超越的,这是完全有可能的,这就是科学。

所以,这就是为什么即使到今天,深度学习依然只是一个机器学习分支的原因。依然有人不喜欢它,依然有人愿意坚持自己的方向。这是完全值得尊敬的,也是合理的,因为搞神经网络的人曾经就是这样的一帮人,才有了现在我们看到的深度学习的繁荣。

补充:在看此答案前,请认真阅读同问题下@张翔同学的答案,他的回答相当严谨和精彩。他的回答值得比此回答多得多的赞。

此回答仅限吐槽。

看了很多答案,总结来看中心思想就一个:

神经网络这玩意没理论,大家都是在猜,在蒙,在试,调调参数,试试trick,太low,我们搞数学物理的都看不上, 你们就是运气好赶上好时候,看看过两年你们就不行了。

而事实情况是:

基于神经网络的各种数学模型都太过复杂,复杂到目前的数学工具不能提供有效的分析手段,然而经验上却达到了很好的效果,挑拨了一部分敏感的理论派的神经。

现阶段主流理论派一方面将神经网络的成功归于trick和调参,嘲笑他们没有理论。另一方面,理论派自己却并不具备足够的理论水平来对神经网络进行有价值的分析,与此同时也没有在实践上找到更优的算法。如此讽刺的矛盾是导致很多搞数学物理,统计的人对深度学习看不上却又有点酸溜溜的根本原因。

在很多人嘲讽DL的同时,关于DL的理论工作也悄然在UCB,CIT, NYU,Princeton等学校的某些实验室展开(不要问我链接,如果这些链接你找不到,说明你对DL的了解不足以使你具有足够的水平对其妄下论断),个人认为这才是正确的对待DL的方式。

而机器学习用的都是一些很intuitive的idea。有许多trick,例如loss function, kernel,activation function, back propagation。可是这些东西和狄拉克的bra, ket希尔伯特空间相比,根本就是中学数学。。最复杂的函数可能就是tanh function了吧。这些人肯定是看不懂量子力学的书的,但是做理论物理的人看ml paper不要太容易(起码数学上);

说白了,要拼数学之美理论之妙想搞“高等”数学的人,你们去跟搞代数几何的人拼去,看他们不黑死你的“Dirac Bracket” 和“Hilbert Space”。真不知道会用这几个基本的数学工具就冒出来这么大的优越感然后对着机器学习开地图炮是几个意思,不用提搞纯数的, COLT的人都可以嘲笑你。建议题主随便搜一篇,我是说,随便任何一篇,COLT的paper读一读,看你能读懂不。还有,不好意思,我认识有拿Fields Medal的人就在这被鄙视的机器学习会议上发文章的。

最后套用Yoshua Bengio在Quora关于问题
Does Yoshua Bengio expect traditional statistical learning to triumph again over Deep Learning (or any neural network based methods) soon?
的回答:

Neural networks ARE statistical learning methods.
Science is NOT a battle, it is a collaboration. We all build on each other’s ideas. Science is an act of love, not war. Love for the beauty in the world that surrounds us and love to share and build something together. That makes science a highly satisfying activity, emotionally speaking!

我就是喜欢你看不惯我,却又不得不和我一起深度学习的样子。

题主修改了问题的用语,因此我也附加一点正面答案。

修改之前的问题描述中的体现了一种理论至上的思维,然而这种思维恰恰导致了九十年代神经网络之冬。

科学是一个不断发展的过程。深度学习在现阶段对于其适用性的实践工作还没有走到尽头,正是需要由实验出发去寻找其适用性边界的阶段。等到足够的实验结果能够说明其适用范围,届时理论工作自然会逐渐出现和完善。这个规律在别的学科中也存在,例如物理在18-19世纪也经历过这么一个阶段,并且一定程度上天体物理、高能物理等在现在依旧处于这样的阶段。这一阶段性特点导致了深度学习研究和应用大致两方面的不同:

偏离传统以数学导向的、保守化的研究方法,培养人才变得困难。
实践中对资源和代码的需求变强,工程量不可同日而语

这两方面共同导致了目前深度学习人才出产率较低的现实。

偏离传统数学导向的、保守化的研究方法,培养人才变得困难

机器学习的传统理论主要围绕学习过程的泛化(Generalization)能力展开,然而有关泛化能力的理论都是以集中不等式(Concentration Inequality)为基础的寻求”上界的上界”的一个过程,其结果是一种保守统计学的结果。这种保守的统计学结果对于验证传统科学实验来提供可信区间也许是非常合理的,然而用于描述机器学习本身却往往因过于保守而失去了对于模型可行性的合理探索。这种思路导致很长时间(90年代和00年代)机器学习停留在线性分类器的研究中。在这个过程中虽然有例如Boosting算法、核(Kernel)方法等数学上非常漂亮的结果,然而不可避免地机器学习的应用性其实受到了不合理的限制。

深度学习在这方面有着截然不同的思路。尽管泛化能力是一个不可避开的话题,从事深度学习的人大多认为现有的泛化理论不足以描述模型实际应用时的平均状况。在符合科学方法论实验、观察、假设、验证、结论的过程前提下,深度学习的研究以追求实际测试数据集效果为核心,更为大胆探索可行的模型,并且从以神经科学、认知科学为代表的其它学科中寻求启发。这一特点使得深度学习的建模过程成为一个“勇敢者的游戏”,在许多可行的模型中寻找并验证某个有效模型需要一定的创造性,这并不是每个人都做得到的。同时,泛化理论也需要进一步发展来更加贴切地解释实际的应用。

深度学习更加关注“表达”的理论,即什么样的问题需要什么样结构的模型,以及什么结构的问题适合什么样的问题。这一点的理论目前基本处于几乎空白且初步开始的状态。到目前为止从数学和哲学上我们对于表达的基本理解受制于对现有智能体(人类)的模仿中,并没有什么更好的启发知识。这种困难可能最终同逻辑中的哥德尔不完备性定理(Gödel’s incompleteness theorems)以及物理中的拉普拉斯幽灵(Laplace’s Demon)带来的问题类似。如何在这样的条件下敏锐地发现适合表达某些问题的模型因此成为一项十分考验智力的工作。

理论的无效性和缺乏导致了在现有的教育体系下培养深度学习人才的困难。除了一些基本研究原则之外,我们没有办法确切定义和预测这个学科需要什么样的知识,以及这些方法能够通过什么方式应用到什么样的领域。并不是所有的人都适合在这种条件下进行研究和学习的。

实践中对资源的需求变大,工程量不可同日而语

尽管深度学习的研究哲学弱化了对泛化能力可证明性的追求,但泛化能力终究是一个不可绕开的话题。机器学习的实践在一定程度上是表达和泛化互相寻求平衡的过程。由于深度学习的建模更加倾向于对表达能力的探索上,因此我们需要更大的数据量使得泛化能力不成为问题。然而,“大数据”并不是一句空话。获取百万级别的样本数量是一个非常巨大的工程挑战,这在传统理论为导向的研究过程中是无法想象的。这些挑战即包括获取大量的数据量对于自动化的要求,也包括处理实际数据过程中繁琐的数据清理过程,更可能涉及缓存和分块等优化方法的应用。这无一不对从业人员的工程能力提出了更高的要求。这一点的重要性曾经被理论学派所忽略,然而随着研究的进展越来越多的人开始认识到它的必要性。

建模自由性的增强必然导致代码自由度增加,其结果是对现有代码重用能力的下降和对从业者更高的工程要求。为了实现一些崭新的模型,我们可能需要从底层的数值计算出发去一步步把模型构建起来。在这个过程中又有许多的工程问题需要解决,例如数值稳定性(由于计算机表达实数是有限精度导致的各种问题,这是专门的学科)、优化参数的调整(由于优化往往是非凸的,实践中并没有足够的理论指导)以及最终模型是否能够在有效时间内完成运行。这些过程中任何一个环节出错都会导致模型无法训练。理论学者可能往往以一句“调参”来调侃这一过程,但是我相信没有实践过的人是无权评价这个过程中需要的数值知识、对问题的敏锐理解以及解决实际问题的耐心的。

由于数据规模大和模型的自由度较大两方面的问题,训练和寻找最佳模型可能是一个非常耗时的过程。这就导致深度学习的研究往往需要巨大的计算能力。科学发展的另一个基本规律是新的方法和理论往往需要在之前无法实现的规模中才能发现。例如狭义相对论的实验需要物质运行超出常规的速度才能验证,以及发现极度微观粒子的运动不符合经典力学才导致了量子力学的出现。这种实际上需要不断挑战极限的过程体现在计算机学科中就是能够在之前无法想象的计算能力和数据规模下完成任务。可惜现实中并不是所有的人都能够有机会接触到这种规模的计算力。

总之,如果把深度学习的研究过程比作模拟退火的优化过程,假设从业人员是一个随机的初始值,这个目标函数的特点是只有缓慢的温度下降才能得到有效结果。也许退火过程只是一个简易的晶体理论,而实际的退火怎样有效只有炼过钢打过铁的人才真正知道。

1. 没有理论支撑。关于深度神经网络为什么收敛,怎么收敛,如何控制等等内容,都没有成熟的理论证明,所有的结果都是停留在实验阶段,尽管有时候结果很好,然而糟糕的时候是真糟糕。
2. 计算资源。个人(土豪除外)很难负担DL硬件的所有费用,至少需要一个配置不太差的workstation吧,如果做大一点,至少需要十台吧,然而并买不起。说白了就是没钱。信科有钱,然而他们数学不好。。。
3. 时间成本。服务器上训练一个简单的网络时间以天为单位,然后再调参数,结果没出来,先把自己急死了。
4. 数据集。很难有能够填充一个DNN信息量的数据集。不管从数据集质量还是规模来看,能用的数据集太少了,同时很少有人愿意做这方面的工作。很多号称是大数据、深度学习的东西其实都是炒作,好骗投资人的钱。

所谓深度计算就是指多层次的神经网络系统

其运算过程及其复杂,并非是什么加减运算。这么说吧:现有数学都无法用完整的公式把它描述出来。有些人用指数公式简单描述,更多的人干脆把它形容成“黑箱”。

深度计算极其复杂却又极其简单

深度计算的整体公式是各层计算的复合函数,这个函数极其复杂,甚至已经超出了人类目前的理解能力

但是各层的计算公式,也就是组成复合函数的各个子函数却又极其简单,比如我说的y=+b,再比如y=max{x,0}

我们要实现深度计算,不管是通过软件实现,还是通过硬件实现,其实都是实现这样简单的子函数而已,不可能也不需要去直接实现那个极其复杂的复合函数的

CNN既简单又复杂

jahcoo说的没啥问题啊,通俗一点说,识别猫的过程就是给机器喂一堆猫的照片,卷积核通俗理解就是滤波器,比如将图片去噪,完全模糊等等,你可以认为是和美图秀秀反着干的,对机器来说越不清楚,特征就会浮现,每个滤波器只处理一种,所谓十几层神经网络就是十几个滤波器,后面就是分类器的训练了,上各种花招都是为了降低运算量,其实在算法确定的情况下,上FPGA就是最好选择了,mxNet项目为了玩这个GPU都要榨干。

然后给机器从未看过的猫的照片,机器“眼”中看到的是一个概率分布的图片,概率高的区域就是猫了,其实机器连猫是个啥都不知道。

目前DCNN(深度卷积神经网络)最为搞笑的地方是,需要人工去调节各种参数,比如上面提到的图片模糊一下,到底模糊0.1还是0.11,训练的结果是不同的,干这个活的又讲不清为什么,只好扯这都是黑箱了,这个trick是各家的秘密,打死也不能外传。

无论如何,这是一个巨大的进步,阿尔法狗一折腾,估计各种资源都会扑过去了,我是做工程的,但是我真的很期待搞理论的能把这个捋清楚了。

你这是从工程应用方面去理解ANNs

我就从理论方面来解释ANNs的工作原理吧。

首先从网上下载一个人工神经网络的原理图。

最基本的结果是输入层,中间隐藏层,和最后的输出层。输入层对应多个输入因子,同时输出层对应多个输出因子。然后是对ANNs进行训练:给予大量已知的输入输出数值,中间的隐藏层就可以拟合出输入输出对应关系的模型。有了这个模型, 我们就可以算出对应新的输入的输出值。

举个例子吧:如果输入输出各对应一个因子,用x和y表示,那么我们就直接可以用regression方法去拟合一个xy的对应公式,最常用的是最小二乘法。如果这个xy关系是高度非线性,我们要用分段拟合和分步回归的数学方法去拟合。

好了,这是单输入单输出的情况,如果是多输入多输出的情况,用纯数学的方法就会及其困难。现在有了ANNs,它的每个中间隐藏层会有n个神经元,每个神经元粗略的可以用数学的指数函数来表示,我们可以认为每个隐藏层就是一个优化系统,你可以可用最小二乘法的理论去想象它的工作原理。这有可能是简单的加减逻辑运算吗!

现实的运用中,ANNs是多隐藏层,这样可以拟合出更好的模型。每个隐藏层的神经元的数量的多少也极大的影响模型的精度,这就是所谓参数调整:隐藏层的数量和每个隐藏层的神经元的数量。但现在更多的结合Fuzzy set 和Rough set去提高ANNs的精度和速度。同时可以用Monte Carlo 等等方法去辅佐优化,就像阿发狗一样。

够了吧!喔重要的一点是:在通用芯片上运行ANNs是费时费力的,所以智能芯片是个很好的发展方向。

这其实就是shallow和deep的区别,说说我个人的浅见吧,欢迎狠狠地拍砖

半路出家,没搞过ANN,就从SVM的角度来说吧,目前我们基本上可以认为,不管是ANN也好,SVM也好,Boosting也好,都是传统的shallow方法,具体做法可能不一样,但是效果都差不多

我们的目的,都是要拟合一个从输入到输出的映射函数y=f(x),shallow也好,deep也好,都是要干这件事情

最简单的情况是“线性可分”,也就是y=f(x)=+b,但是现实中的问题往往没有这么简单,最常见的复杂性就是非线性。我们在SVM里是用kernel trick来解决非线性的问题,理论依据是假设有一个非线性一次函数y=f(x)(在二维坐标系中的一条任意波浪线),那么这个函数可以用无穷多个核函数的线性加权来拟合,y=\sum(+b)【注】,其实什么傅里叶变换、小波变换之类的,都是走的这个路子。现实中不可能用无穷多个函数来拟合,有限个核函数来拟合一条任意曲线,在限定核函数个数的情况下,拟合必然会有好有坏,怎样的核函数能够拟合得更好,这个问题就是流形manifold。你说的神经元大致可以用指数函数来表示,其实就是说ANN挖掘的结果是用指数函数来作为核函数,其实用任意非线性函数作为核函数都可以进行拟合,只是在有限核函数限定下拟合的好坏的区别

好了,在这样的条件下,我们认为\sum的数量、w、k(.)、b都是已知的了,于是y=f(x)这个函数就给定了,但是前辈们发现这样的映射函数虽然比线性的y=+b表现更好,但是还是不完美,显而易见,这是因为k(.)函数太简单了,表达性不够,于是我们一般用k(g(x))来代替k(x),这里的g(x)就是特征提取,用人类的经验和智慧来手动增强核函数。到这里为止,就是传统的shallow方法在干的事情

g(x)的设计是一件很难的事情,耗费大量的人类时间精力,深度学习的提出就是说能不能用机器来自动学习g(x)函数呢?现实证明是可行的,虽然我们现在都不知道为什么可行,这就像原始人用石锤砸开了坚果,我们掌握了工具,但是并不清楚工具为什么work。回到g(x)上来,目前的事实说明一个好的g(x)是一个超出了我们理解的函数,但是这个g(x)也可以表达成类似于“核函数”的复合函数形式,g(x)=a(b(c(d(…(x))))),这里的a、b、c、d等就是我说的非常简单的函数比如y=+b、y=max{x,0}等。一个非常有意思的现象,在这整个的复杂非线性函数g(x)里,非线性的部分其实只有y=max{x,0}这一个异常简单的函数而已,也就是说其实深度学习挖掘非线性核函数的策略非常简单,就是分段线性而已!对此目前没有科学的解释,但是有论文说从脑科学的研究上发现,人脑的非线性处理很可能也就是这么简单的y=max{x,0}。在此之前,我们也尝试过很多非线性函数比如sigmoid、tanh等,事实的表现上,用复杂非线性函数的效果,也并不比y=max{x,0}的效果更好,但是学习的收敛速度会更慢,至于为什么会这样,我们不知道。。。

这就是我理解的深度学习,以及为什么深度学习现在更像是一个工程而不是科学问题,因为里面有太多我们目前理解不了的原理,但这并不妨碍我们做出和使用这样的工具,因为工具里的组件像螺丝、钉子这些其实并不复杂

【注】这个加和的式子不是很严谨,但是懒得推导和修改了,不是太影响理解。另外,我们经常是用两个样本之间的函数K(a,b)=来定义核函数,这种情况下,k(.)虽然仍然存在,但是不一定有显式的表达,这里仍然用k(.)来表示,是因为相比K(.)来说要容易理解得多。这里也可以看出,对于计算机来说,一个虽然可以理解,但是无法表达的函数比如k(.)是实现不出来的,但是虽然无法理解,但是可以表达的函数比如g(.)却是能够实现的

如果把关联性本身看成是目标函数

那就简单粗暴地去拟合这个目标函数就好了,深度学习就是这么干的,给一幅猫的图,机器就应该输出一个值“猫”,给一幅狗的图就应该输出“狗”,至于怎样才能这样输出,机器自己学习去吧

现在给机器看一幅图片,甚至是一段电影,机器已经能够用一句或者几句话(自然语言)把图片或者电影的内容描述出来了,这其实也是几种“关联性”的整合

顺便推敲几个细节

1、十几层神经网络不是简单就是十几个滤波器,一层神经网络一般有几十或者几百个滤波器(一个核就是一个滤波器),十几层网络可能有几千上万个滤波器。不同层的滤波器干不同层次的任务,比如第一层,目前比较一致的观点是在做边缘提取,再上一层大概是在做类似于角点、交叉点检测的任务

2、不是很清楚你说的DCNN中图片模糊一下是什么意思,是数据增强吗?除此之外好像很少看到有这样先模糊一下的。其实现在深度学习对于参数已经越来越不敏感了,参数一般会对收敛速度有所影响,对训练的结果现在影响不大。黑科技trick应该存在,但可能不是在参数选择上面

3、关于机器到底知不知道猫是啥,这个问题很有意思。类似于“色盲悖论”,如果机器知道一个毛绒绒的动物长成这个样子,叫起来是喵喵的,喜欢吃鱼,能捉老鼠,我们称呼它为“猫”,发音叫做mao,英文是“cat”,那机器应该算是知道还是不知道猫是啥呢?这才是深度学习被当作“人工智能新未来”的原因,等有一天网络规模足够大,各种各样的学习任务都在这个神经网络上并行地运行,我们拭目以待“人工智能”会不会自动涌现出来

镜像链接:谷歌镜像 | 亚马逊镜像

分类: 科技 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.