
不BB,直接上干货,力争用一篇文章给你说透什么是深度学习算法。
备注:看的时候,手里可以拿一杯水,否则可能干的噎死人。
深度学习一词,最早是在2006~2007年,由Geoffrey Hinton 在《Science》上发表的文章开始被提出和逐步兴起的。深度学习是在机器学习的基础上发展的,神经网络的层级比机器学习的多而复杂,算法也有了很大发展。
算法的汇总,也是按照机器学习常用算法和深度学习常用算法进行分类的,算法基础分类:
机器学习算法
机器学习算法,可根据是监督学习还是非监督学习分为两大类。 机器学习算法分类层级如下:
在分类中,我们看到有神经网络结构,这个也是深度学习的根基。深度学习正是在机器学习的基础上发展的,区别在于深度学习的神经网络的层级比机器学习的多而复杂。
正是受到生物学领域中的神经网络的启发,才有了今天机器学习、深度学习中的神经网络的结构。
我的压箱底机器学习资源:
谷歌大佬编写,这是我唯一熬夜看完的机器学习神作!
太热门了!一本用Python语言实战因果推断的工具书(附代码与PDF)
最近这两年考过的机器学习算法真题汇总都在这里了!
真的难找!一本讲透机器学习:贝叶斯和优化的大部头(1075页PDF)
一份很牛逼的机器学习速查手册.pdf
历时半个月,终于啃完这本24年最新发布的机器学习神作!建议一字不漏读完!(附247页PDF)
这本书,讲透了机器学习的本质!(附PDF)
我的压箱底深度学习资源:
动手学深度学习!目前被全球 70 多个国家 500 多所大学用于教学,每个人都不止读一遍!
熬夜刷爆《深度学习500问》,成为字节、阿里、华为等多个大厂算法岗offer收割机!(含PDF和代码)
深度学习有哪些好玩的且易于实现的论文?(论文仓库和代码逐行解读)
24年深度学习数学最新书籍top1,方法、实现、理论一网打尽!
8周入门的保姆级PyTorch教程!全网疯传,简单到哭
深度学习算法
正如深度学习是在机器学习的基础上发展的,其算法分类也可根据是监督学习还是非监督学习分为两大类。
以下将用大白话的方式详细对深度学习算法展开介绍:
• 从经验中学习:避免了人工指定计算机学习所需的所有知识。
• 层次化的概念:计算机通过从简单的概念来构建、学习更复杂的概念。如果绘制一张图来展示这些概念的关系,那么这张图是一个深度的层次结构,因此称这种方法为深度学习。
1.计算机需要获取大量的"常识" 才能以人工智能的方式行动,如:树叶是绿色的、乒乓球比足球小。这些"常识"大部分是主观的和直观的,因此很难以正式的方式表达。一个问题是:如何将这些"常识" 传给计算机。有两种方式将知识传递给计算机:
2.传统机器学习算法严重依赖于数据的表达方式(representation)。如:对病人的诊断中,AI系统并不是直接接触病人,而是由医生告诉AI系统关于病人的一些信息(如身高、体重等)。这些信息称作特征(feature)。
传统机器学习算法在三个层面上严重依赖于数据的表达方式:
3.这种对数据的表达方式的依赖是计算机科学甚至生活中的一般现象。
4.在传统的机器学习应用中,通常针对特定的任务来设计一套专用的、有效的特征集合,然后采集这些特征描述下的数据。如:语音识别中, 一个有效的特征就是讲话者的声音的声道(vocal tract)。
但是大多数任务中,很难给出有效的特征是哪些。如:从图片中检查汽车的任务,可以使用是否有轮子作为一个特征。但是很难根据像素点来准确描述轮子。因为可能由于阴影、光照条件、观察角度等导致轮子的像素集合非常复杂。
5.特征设计的一个解决方案是:通过机器学习来发现特征。即:不仅学习representation到输出的映射(即模型),也学习representation本身 。这称作表达学习(reprensentation learning)。其优点有:
1.在设计特征或者学习特征时,一个良好的准则是:将能够解释数据的那些变化因子分离。通常这些因子不是直接观察到的量,而是影响那些能够直接观察到的量。如:在语音识别中,变化因子就是:讲话者的年龄、性别、口音、讲话的单词等。在汽车相关的图片识别中,变化因子就是:汽车的位置、汽车的颜色、观察角度等。
2.在变化因子分离的过程中,有两个问题:
3.深度学习在学习特征时采用的解决方案是:高级特征以低级特征来表示。即:通过组合简单的概念(concept)来构建复杂的概念。
如下所示的图片识别任务中,如果直接学习从一组像素到物体的映射很困难。深度学习通过将所需的复杂映射分解成一系列嵌套的简单映射来解决该问题。每个映射由模型的不同层来描述:
4.深度学习的一个经典案例是多层感知机(multilayer perceptron:MLP)。一个多层感知机就是一个函数:它将一组输入值映射到输出值,而这个函数由许多更简单的函数组成。可以认为每个函数都给出了输入的一个新的representation。
5. 深度学习的两个观点:
• 每一层的representaion被认为是在并行执行一组指令之后,计算机的存储器的状态。
• 更深层的网络可以按顺序地执行更多的指令。
• 序列越深的指令功能越强大,因为序列后面的指令可以参考序列前期指令的结果。
根据这种观点:每一层的representaion中,并非所有的信息都对应了输入数据的特征信息,它还存储了辅助多步计算程序执行的状态信息:类似于计数器或者指针,它与输入的内容无关,但是有助于模型的组织处理过程。
1.深度学习的“深度”有两种度量方式。
流程图的深度可能远远大于概念图本身,因为如果给定了复杂概念,则简单的概念可以得到更好的理解。
如:一个面部识别应用中,如果一只眼睛在阴影中,那么AI最初只能看到一只眼睛。在检测到面部的存在后,AI可以推断出第二只眼睛很可能存在。
此时概念图只有两层:眼睛为第一层、面部为第二层。但是此时计算概念图的流程图可能为 2n 层,其中 n 是对每个概念进行修正的次数。
2.对于模型的深度并没有一个标准的值,也没有说哪种度量方式是合适的。
3.下图给出了不同AI系统中,不同部分的关联。阴影方框表示计算机从数据中学习获得的部分。
1.深度学习分为三个时期:深度学习在历史上的不同名字反映了不同的哲学观点。
2.下图展示了神经网络研究的三个历史浪潮中的两个(因为第三波太近了)。
3.第一波浪潮:早期的人工智能算法模拟生物的学习过程:对大脑的学习过程建模。
4.第二波浪潮:连接机制的中心思想是:大量简单的计算单元在连接时可以实现智能行为。
• 分布式表达distributed representation:系统的每个输入应该由许多特征表示,每个特征描述了输入的一个部分。
如一个视觉识别系统可以识别:汽车、卡车、鸟,这些对象可以为红色、蓝色、绿色。
5.第三波浪潮从2006年开始突破。Geoffrey Hinton给出了一种称作深度信念网络(deep belief network),该网络可以使用 greedy layer-wise pre-training策略来有效地训练。
2.下图显示了benchmark数据集大小随时间的变化,这种变化趋势是由于整个社会的数字化的推动。
3.神经网络的表现与它的规模和数据量有关。如今在神经网络上获取更好的性能的最可靠的方法就是:训练一个更大的神经网络,以及投入更多的数据。
• 如果没有大量的训练集,则最终效果取决于你的特征工程能力,以及在算法细节上的处理上。• 只有在超大规模的训练集上,神经网络才能占领统治地位。
4.在神经元总量上,早期的神经网络非常的小,直到最近才有较强的改观。
不知不觉写了这么多,整理不易呀,虽然嘴上说不在乎点赞到底有多少,但其实内心还是希望点赞高一点的,因为好看啊!
人总不能拒绝内心真实的想法吧。所以脸皮厚一点跟大家说:求大家来个赞。
