需要一些传统图像处理知识为佳。

“end-to-end”(端到端)说的是,输入的是原始数据(始端),然后输出的直接就是最终目标(末端),中间过程不可知,因此也难以知。

就此,有人批评深度学习就是一个黑箱(Black Box)系统,其性能很好,却不知道为何而好,也就是说,缺乏解释性。其实,这是由于深度学习所处的知识象限决定的。从图1可以看出,深度学习,在本质上,属于可统计不可推理的范畴。“可统计”是很容易理解的,就是说,对于同类数据,它具有一定的统计规律,这是一切统计学习的基本假设。

在哲学上讲,这种非线性状态,是具备了整体性的“复杂系统”,属于复杂性科学范畴。复杂性科学认为,构成复杂系统的各个要素,自成体系,但阡陌纵横,其内部结构难以分割。简单来说,对于复杂系统,1+1≠2,也就是说,一个简单系统,加上另外一个简单系统,其效果绝不是两个系统的简单累加效应,而可能是大于部分之和。因此,我们必须从整体上认识这样的复杂系统。于是,在认知上,就有了从一个系统或状态(end)直接整体变迁到另外一个系统或状态(end)的形态。这就是深度学习背后的方法论。

“Divide and Conquer(分而治之)”,其理念正好相反,在哲学它属于“还原主义(reductionism,或称还原论)”。在这种方法论中,有一种“追本溯源”的蕴意包含其内,即一个系统(或理论)无论多复杂,都可以分解、分解、再分解,直到能够还原到逻辑原点。

在意象上,还原主义就是“1+1=2”,也就是说,一个复杂的系统,都可以由简单的系统简单叠加而成(可以理解为线性系统),如果各个简单系统的问题解决了,那么整体的问题也就得以解决。

经典机器学习(位于第Ⅱ象限),在哲学上,在某种程度上,就可归属于还原主义。传统的机器学习方式,通常是用人类的先验知识,把原始数据预处理成各种特征(feature),然后对特征进行分类。

然而,这种分类的效果,高度取决于特征选取的好坏。传统的机器学习专家们,把大部分时间都花在如何寻找更加合适的特征上。故此,传统的机器学习,其实可以有个更合适的称呼——特征工程(feature engineering)。这也是有好处的,因为这些特征是由人找出来的,自然也就为人所能理解,性能好坏,可以灵活调整。

机器学习的专家们发现,可以让神经网络自己学习如何抓取数据的特征,这种学习的方式,效果更佳。于是兴起了特征表示学习(feature representation learning)的风潮。这种学习方式,对数据的拟合也更加的灵活好用。于是,人们终于从自寻“特征”的中解脱出来。

但这种解脱也付出了代价,那就是机器自己学习出来的特征,它们存在于机器空间,完全超越了人类理解的范畴,对人而言,这就是一个黑盒世界。为了让神经网络的学习性能,表现得更好一些,人们只能依据经验,不断地尝试性地进行大量重复的网络参数调整。于是,“人工智能”领域就有这样的调侃:“有多少人工,就有多少智能”。

再后来,网络进一步加深,出现了多层次的“表示学习”,它把学习的性能提升到另一个高度。这种学习的层次多了,就给它取了个特别的名称——Deep Learning(深度学习)。

深度学习的学习对象同样是数据。与传统机器学习所不同的是,它需要大量的数据,也就是“大数据(Big Data)”。

深度学习的归属

把深度学习和传统的监督学习和无监督学习单列出来,自然是有一定道理的。这就是因为,深度学习是高度数据依赖型的算法,它的性能通常随着数据量的增加而不断增强,也就是说它的可扩展性(Scalability)显著优于传统的机器学习算法

如果训练数据比较少,深度学习的性能并不见得就比传统机器学习好。其原因在于,作为复杂系统代表的深度学习算法,只有数据量足够多,才能通过训练,在深度神经网络中,将蕴含于数据之中的复杂模式表征出来

机器学习要想做得好,需要走好三大步:

(1) 如何找一系列函数来实现预期的功能,这是建模问题
(2) 如何找出一组合理的评价标准,来评估函数的好坏,这是评价问题
(3) 如何快速找到性能最佳的函数,这是优化问题(比如说,机器学习中梯度下降法)。

机器学习在本质就是寻找一个好用的函数。而人工神经网络最“牛逼”的地方在于,它可以在理论上证明:只需一个包含足够多神经元的隐藏层,多层前馈网络能以任意进度逼近任意复杂度的连续函数。这个定理也被称之为通用近似定理(Universal Approximation Theorem)。这里的“Universal”,也有人将其翻译成“万能的”,由此可见,这个定理的能量有多大。换句话说,神经网络可在理论上解决任何问题。

机器学习的三个层次

大致可分为三类:

(1)监督学习(Supervised Learning):
监督学习基本上就是“分类(classification)”的代名词。它从有标签的训练数据中学习,然后给定某个新数据,预测它的标签(given data, predict labels)。
简单来说,监督学习的工作,就是通过有标签的数据训练,获得一个模型,然后通过构建的模型,给新数据添加上特定的标签。
整个机器学习的目标,都是使学习得到的模型,能很好地适用于“新样本”,而不是仅仅在训练样本上工作得很好。通过训练得到的模型,适用于新样本的能力,称之为“泛化(generalization)能力”。

(2)非监督学习(Unsupervised Learning):
与监督学习相反的是,非监督学习所处的学习环境,都是非标签的数据。非监督学习,本质上,就是“聚类(cluster)”的近义词。
简单来说,给定数据,从数据中学,能学到什么,就看数据本身具备什么特性(given data, learn about that data)。我们常说的“物以类聚,人以群分”说得就是“非监督学习”。这里的“类”也好,“群”也罢,事先我们是不知道的。一旦我们归纳出“类”或“群”的特征,如果再要来一个新数据,我们就根据它距离哪个“类”或“群”较近,就“预测”它属于哪个“类”或“群”,从而完成新数据的“分类”或“分群”功能。

(3)半监督学习(Semi-supervised Learning):
这类学习方式,既用到了标签数据,又用到了非标签数据。
给定一个来自某未知分布的有标记示例集L={(x1, y1), (x2, y2), …, (xl, yl)},其中xi是数据,yi是标签。对于一个未标记示例集U = {xl+1, x l+1, … , xl+u},I《u,于是,我们期望学得函数 f:X→Y 可以准确地对未标识的数据xi预测其标记yi。这里均为d维向量, yi∈Y为示例xi的标记。
半监督学习就是以“已知之认知(标签化的分类信息)”,扩大“未知之领域(通过聚类思想将未知事物归类为已知事物)”。但这里隐含了一个基本假设——“聚类假设(cluster assumption)”,其核心要义就是:“相似的样本,拥有相似的输出”。

什么是深度学习

深度学习是机器学习中的一个分支,是当今AI领域最热门最前沿的研究内容。它考虑的是用non-linear multiple processing layers来学习数据的multiple levels features的抽象表征用反向传播BP算法对计算模型训练,通过supervisedweakly supervised的特征学习和分层特征提取代替手工获取特征。

深度学习的应用

深度学习由于其不需要人工提取特征,只需要大量labelled data进行训练,从而在image, video, speech, text, audio等领域大放异彩。应用包含定位、识别、匹配、语音转文本、电商中的商品推荐等。当然还有GoogleAlphaGo

深度学习的框架

现在深度学习的框架已经有很多,如深度神经网络DNN、卷积神经网络CNN、深度置信网络DBN、递归神经网络RNN和生成对抗网络GAN等。其中以CNNGAN受关注度最高,前者不但可以通过得到候选区域来实现定位,而且可以通过减少参数加快训练速度;后者则是可以通过输入label得到输出数据(如image),从某种意义上相当于其它常用深度学习框架的逆过程。

CNN

卷积神经网络(Convolutional Neural Network)是目前应用最广泛的深度学习框架,其经典网络模型包括LeNetAlexNet [1]GoogleNet [2]VGG [3]ResNet [4]
下面的四张图就可以清楚的描述CNN的结构:(取自[5]

Convolution中,可以看到一个batchNfeature maps输入,每张feature mapssize是宽为W、高为H、通道数为C。对于每一个batch的数据,使用的都是相同的共MC通道的卷积核filtersfilter sizeS。将每一组对应通道的filterfeature map卷积并相加得到F的一个通道的输出feature mapMfilters就可以得到一个M通道的feature mapsN张输入就可以得到NM通道的输出。卷积细节还有边缘补零padding, 步长stride等

BP算法需要与最优化optimize算法结合使用才能根据error对网络中的parameters进行update,目前效果比较好的最优化算法有Adagrad [6]AdagradDA [6] , Adadelta [7]Adam [8]

发布于 2019-10-09

深度学习与机器学习的思考相关推荐

  1. 深度学习 vs 机器学习 vs 模式识别

    http://www.csdn.net/article/2015-03-24/2824301 [编者按]本文来自CMU的博士,MIT的博士后,vision.ai的联合创始人Tomasz Malisie ...

  2. 整理:深度学习 vs 机器学习 vs 模式识别

    摘要:本文我们来关注下三个非常相关的概念(深度学习.机器学习和模式识别),以及他们与2015年最热门的科技主题(机器人和人工智能)的联系,让你更好的理解计算机视觉,同时直观认识机器学习的缓慢发展过程. ...

  3. 深度学习、机器学习与NLP的前世今生

    一.为什么做文本挖掘 二.为什么要用深度学习? 三.深度学习的具体应用        深度学习优点        深度学习缺点 随着深度学习的发展,自然语言处理领域的难题也得到了不断突破. Alpha ...

  4. 人工智能、深度学习和机器学习有哪些区别?

    很多人可能不明白『机器学习』.『AI(人工智能)』和『深度学习』之间的区别.这些都是现代数据技术应用中的重要关键字,但由于它们很相似,因此极易混淆.但是为了将 AI 引入日常工作中,正确理解这三个关键 ...

  5. 对于线性代数、特征空间、特征提取、深度学习的一些深夜思考

    今天女票要毕业论文送审,昨晚熬夜.我们平时一般睡眠时间相近,我也就想着我也稍微晚点睡吧(打算一点左右睡).结果从思考矩阵乘法的意义开始,停不下来.一直想到了两点多,三点多接近四点才睡着.算是昨晚独自思 ...

  6. 统计学、深度学习、机器学习、数据挖掘

    统计学.深度学习.机器学习.数据挖掘 1. 2. 3.数据挖掘: (1)数据挖掘是在大型数据库中,自动地发现有用信息的过程.用来探查大型数据库,发现先前未知的有用模式,预测未来观测接结果. (2)它是 ...

  7. 入门深度学习与机器学习的经验和学习路径

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者:Caliber(清华大学 应用数学博士在读) 链接:http ...

  8. 浅谈 深度学习、机器学习、人工智能

    人工智能(AI)是人类所能想象的科技界最突破性的发明了,某种意义上来说,人工智能就像游戏最终幻想的名字一样,是人类对于科技界的最终梦想.从50年代提出人工智能的理念以后,科技界,产业界不断在探索的研究 ...

  9. 辨析|深度学习与机器学习的基本区别

    ◆介绍 机器学习和深度学习现在风靡一时!好像是在一瞬间,每个人都在谈论着它们- 无论人们是否理解两者中间的差异!现在人们无论是否关注数据科学- 都会听到过这两个术语. 现在展示一下深度学习和机器学习所 ...

最新文章

  1. 手机客户端和web端开发的异同
  2. 2018 上海.NET职位围观报告
  3. anroid抓包工具tcpdump的用法
  4. Android7.0 发生的android.os.FileUriExposedException错误
  5. 被投毒的管道:研究员探索CI环境中的攻击方法
  6. Oracle GoldenGate 下载地址
  7. 程序员的节日!干杯!
  8. Mac下Zookeeper安装及配置
  9. python 词云生成
  10. 数字图像处理之图像修复
  11. python判断用户名密码是否正确_python实现用户名密码校验
  12. 可爱的BpXXX-图
  13. 交换机与路由器技术:动态路由协议、RIP路由协议和OSPF路由协议
  14. 深谈德国车和日本车的区别--觉得分析的还算冷静客观
  15. 二进制文件漏洞挖掘 IDA插件VulFi安装使用
  16. openssl源码中的头文件include error
  17. 互联网财富管理平台应该怎么做?(上篇)
  18. [轻笔记] label smoothing(标签平滑)
  19. long long整型
  20. [数据][json格式] 2016年统计用区划代码和城乡划分代码

热门文章

  1. 不要在桌面保存长期修改的文件否则系统挂了时候面临文件丢失的问题,长期总结面试资料(公司 题目 地址 氛围 加班情况 薪资情况)毁于一旦
  2. python自然语言处理一作者书
  3. python @修饰符作用
  4. JVM启动参数解析(转)
  5. visual code 在标签页打开_VSCode 不在新标签页打开文件如何解决?
  6. Docker系列 三. Docker安装mysql
  7. 青源LIVE第23期|ACL最佳论文一作许晶晶:机器翻译中的词表学习问题研究
  8. 智源青年科学家林乾:揭开人工智能的黑匣,从解答最基本的问题开始
  9. 如何用 Python 进行基于深度学习的计算机视觉项目开发?
  10. Flutter 最佳实践 | 专家直播答疑