深度学习与机器学习的思考

2023-11-15

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

“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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

深度学习与机器学习的思考 的相关文章

随机推荐

  • JAVA中的比较器

    引出 传统的对象之间是一般都是 或者 看对象是否为同一个 而没有存在 gt 或者 lt 类似的 但有的时候我们需要根据 对象的某一个属性进行排序 怎么办呢 这个时候就引出来 比较器了 主要是两个接口 Comparable和Comparato
  • python 获取指定文件夹里面的图片文件的信息

    import time import exifread import os 切换到图片文件夹 由于我的这个文件夹里全部是图片文件所以无需判断直接遍历 os chdir news aa 遍历所有图片文件 for x y z in os wal
  • 简单的动态规划——装箱问题

    装箱问题 告诉你箱子的容积为多少 告诉你有N件物品和每一件物品的体积 问如何选择物品才能令箱子的剩余容积最小 搜索递归 include
  • spring动态修改bean

    spring动态修改bean RequestMapping ok public Object test2 ApplicationContext applicationContext SpringContextUtil getApplicat
  • android canvas 转bitmap_Android 雪花飘落动画效果 自定义View

    在码农的世界里 优美的应用体验 来源于程序员对细节的处理以及自我要求的境界 年轻人也是忙忙碌碌的码农中一员 每天 每周 都会留下一些脚印 就是这些创作的内容 有一种执着 就是不知为什么 如果你迷茫 不妨来瞅瞅码农的轨迹 本文章实现的效果如下
  • SpringBoot常用定时器库整合(Java Timer、线程池、Quartz、Task)

    简介 定时器可用于做数据统计 年度报表 定时刷新token等 本章主要描述以下常用定时器库的用法 1 Java Timer 2 Java 线程池 3 Quartz 4 Spring Task Java Timer定时器用法 在java中自带
  • 测度与积分 Measures and Integration学习笔记

    学习笔记1 可测空间 可测空间 Measurable Spaces sigma algebra 希望能坚持学习下去 可测空间 Measurable Spaces
  • delphi测试服务器响应时间,TIdHttp.Post响应时间太长

    我正在使用Delphi XE6 我已阅读以下所有内容 我知道相关时间和性能因素包括 1 HTTPOptions 2 TIdHttp Request选项 内容类型 编码 尤其是连接超时设置 3 iCsslIOHandler SSLOption
  • 多层感知器介绍

    一 概览 现实世界中很多真实的问题都不是线性可分的 即无法使用一条直线 平面或者超平面分割不同的类别 其中典型的例子是异或问题 Exclusive OR XOR 即假设输入为x1和x2 如果它们相同 即当x1 0 x2 0或x1 1 x2
  • Oracle19c数据库服务

    本节整理了Oracle在Windows下运行所安装的服务 桌面点击 我的电脑 管理 服务和应用程序 服务 进入下图界面 然后找到以Ora字段开头的服务就是Oracle的服务 如下图 1 OracleJobSchedulerORCL 描述 O
  • centos7下 k8s的安装 2023年8月6日

    一 基本信息介绍 kubernetes 1 27 4 系统 centos7 etcd 3 5 7 containerd 1 6 20 runc 1 1 5 建议内核升级到5 10 本次安装就只有一个master和两个个node节点 192
  • 空间配置器

    空间配置器 一 空间配置器概述 STL的操作对象都放在容器内 而容器需要一定的配置空间来存放数据资料 而空间配置器就负责给容器分配空间 SGI STL分配的空间是内存 其实基本都是内存吧 二 空间配置器的标准接口 1 必要接口 根据容器的需
  • centos解决mysql-bin.000*占用超大空间的问题

    本站 也就是安全者 网站数据库挂了一下午 也没时间处理 晚上回来后尝试restart mysql 发现一直提示shutting down 关闭不了 也stop不了 服务器重启也不行 可以确信肯定是mysql出问题了 进入mysql的data
  • HTTPS的加密过程

    HTTPS HTTPS即加密的HTTP HTTPS并不是一个新协议 而是HTTP SSL TLS 原本HTTP先和TCP 假定传输层是TCP协议 直接通信 而加了SSL后 就变成HTTP先和SSL通信 再由SSL和TCP通信 相当于SSL被
  • 【数据结构与算法——TypeScript】数组、栈、队列、链表

    数据结构与算法 TypeScript 算法 Algorithm 的认识 解决问题的过程中 不仅仅 数据的存储方式会影响效率 算法的优劣也会影响效率 什么是算法 定义 一个有限指令集 每条指令的描述不依赖于言语 编写指令 java c ts
  • (十八)Mybatis的XML文件中不允许出现“>“

    mybatis XML文件中不允许出现 gt lt 之类的符号 需要转义 是可以正常 关于elasticsearch中 gt gte lt lte缩写的含义
  • 反序列化漏洞原理/防御

    序列化就是将对象转换成字节流 可以更方便的将数据保存到本地文件 反序列化就是将字节流还原成对象 Java中提供了两个接口来支持序列化 ObjectIutputStream 和ObjectOutputStream 序列化相对安全 问题出在反序
  • html烟花特效,发射粒子特效,爱心特效,动态祝福、节日祝福网页,时间罗盘,黑客帝国代码雨、文字闪烁、表白爱心网页等等(附下载链接)

    粒子炫酷特效网页 html css js 大家都觉得程序员的工作很枯燥乏味 今天我就带大家看看程序员开发的那些漂亮的网页效果 点我下载源码 1 烟花特效 粒子特效 节日祝福 表白爱心网页 动态泡泡网页 动态蝴蝶网页 七叶草动态飘落网页 时间
  • Linux学习-Linux系统及编程基础笔记

    useradd zhangsan passwd zhangsan visudo往 etc sudoers文件中添加zhangsan visudo 找到如下的行 root ALL ALL ALL 往该行下面添加zhangsan zhangsa
  • 深度学习与机器学习的思考

    需要一些传统图像处理知识为佳 end to end 端到端 说的是 输入的是原始数据 始端 然后输出的直接就是最终目标 末端 中间过程不可知 因此也难以知 就此 有人批评深度学习就是一个黑箱 Black Box 系统 其性能很好 却不知道为