花书学习笔记-深度学习概念

目录

什么是机器学习

函数类别

机器学习举例

步骤

第一步:猜测函数

第二步:定义Loss

第三步:优化

从线性到非线性:从函数逼近的角度理解

多个特征变量

逼近连续曲线

表示更有弹性的模型总结

用多个 Feature

sigmoid->ReLU

从机器学习到深度学习

早期的人工智能

机器学习

表征学习(representation learning)

深度学习

总结

主题

Supervised Learning

Self-supervised Learning

Generative Adversarial Network

Reinforcement Learning (RL)

Anomaly Detection

Explainable AI

Model Attack

Domain Adaptation  

Network Compression


什么是机器学习

机器学习就是让机器具备找一个函数的能力。

可以有各式各样的输入:向量,矩阵(如图像),序列(如语音,文本);也可以有各式各样的输出:数值(regression),类别(classification),文本图像…

花书学习笔记-深度学习概念_第1张图片

函数类别

Regression(回归):输出是一个数值(scalar)

Classification(分类):给定选项/类别(classes),输出正确的类别

Structured Learning:让机器学会创造生成有结构的物件(image,document)

机器学习举例

以回归为例,介绍机器学习的三个步骤。回归的例子:用后台资讯预测youtube明天的观看量

步骤

第一步:猜测函数

基于领域知识(domain knowledge),猜测一个带有未知数的模型。y 是预测的观看量;x1 是今天的观看量,称为feature(自变量);w 和 b 就是模型参数,需要学习之后确定下来。

花书学习笔记-深度学习概念_第2张图片

第二步:定义Loss

loss是关于未知参数的函数,不同的参数将算出不一样的loss,而loss 就是用来评估这些未知参数好不好的,loss越小,证明预测得越准

花书学习笔记-深度学习概念_第3张图片

第三步:优化

优化的目的就是找到使 loss最小的参数,找到参数之后的模型就能真正用来预测了。优化最常用的方法是gradient descent(梯度下降)

从线性到非线性:从函数逼近的角度理解

多个特征变量

我们的模型只考虑了前一天的资讯 x1,考虑每隔七天有一个循环,将前 7 天的资讯都作为自变量,模型应该会更准确

花书学习笔记-深度学习概念_第4张图片

然后我们把前 28 天的资讯,前 56 天的资讯都考虑进来,想要让 loss 更低,但是 loss 到后面几乎不下降了........所以线性模型太简单了,不足以精准地描述复杂问题

花书学习笔记-深度学习概念_第5张图片

逼近连续曲线

线性模型要么递增要么递减,模型弹性不够大,所以我们需要更精密的模型。充足的分段线性曲线可以逼近连续曲线。

花书学习笔记-深度学习概念_第6张图片

红线是分段线性曲线,蓝线是不同的hard sigmoid函数。下图中的 0 + 1 + 2 + 3 加在一起就变成了红线,所以用一堆的 hard sigmoid函数加上一个常数可以组成分段线性曲线。 

花书学习笔记-深度学习概念_第7张图片

hard sigmoid 可以用 sigmoid曲线来代表,因为差别很小可以忽略。为什么不将 hard sigmoid 作为基础函数呢?因为转角处无法求微分,所以要用一个平滑的曲线做基础函数。

表示更有弹性的模型总结

先用 sigmoid 代表 hard sigmoid,然后由 sigmoid 和一个参数组成分段线性曲线,分段线性曲线再去组成连续曲线。下图表示一个自变量时,函数是 y 关于 x1 ,而他是分段函数,分了多少段就用多少个 sigmoid 来表示,分了 i 段

花书学习笔记-深度学习概念_第8张图片

用多个 Feature

多个自变量时, y是关于 x1、x2....... xj的函数

花书学习笔记-深度学习概念_第9张图片

sigmoid的括号里的东西可以用 r 表示,r1 就是第 1 个 sigmoid 表示的线段,r2 就是第 2 个 sigmoid表示的线段。wij:在第 i 个 sigmoid 中乘给第 j 个自变量的权重

花书学习笔记-深度学习概念_第10张图片

 r 可以用矩阵表示

花书学习笔记-深度学习概念_第11张图片

接着将 r 进行 sigmoid 操作形成 a,每一个 a 对应一个 sigmoid 的输出,然后将每一个 sigmoid 的输出 a 叠加在一起,再加上一个常数 b,这样就组成了分段线性曲线

花书学习笔记-深度学习概念_第12张图片

 花书学习笔记-深度学习概念_第13张图片

sigmoid->ReLU

hard sigmoid 不仅可以用 sigmoid 来代表,它也可以用 ReLU 来代表。sigmoid 和 ReLU 两者都叫做 activation function(激活函数),两者不同之处在于 sigmoid 是用一个函数逼近一个 hard sigmoid,而 ReLU 则是用两个函数逼近一个 hard sigmoid。ReLU的效果更好,所以 ReLU 是更常用的。

花书学习笔记-深度学习概念_第14张图片

 花书学习笔记-深度学习概念_第15张图片

图解如何表示更复杂的模型

多层神经网络就是先不把激活函数的输出 a 加在一起,而是再经过多层激活函数之后输出 a′,将 a′ 加在一起作为输出。每个激活函数(例如sigmoid、ReLU)都是一个neuron(神经元),每一隐藏层中包含多个神经元。所有的这些东西便组成了neural network(神经网络)

花书学习笔记-深度学习概念_第16张图片

在实际应用中,需要复杂的函数来做任务,一般复杂的函数有连续曲线,分段函数。我们构建的神经网络就是想通过简单的函数来模拟这些复杂的函数,通过激活函数便能用简单线段逼近复杂曲线。

花书学习笔记-深度学习概念_第17张图片

从机器学习到深度学习

机器学习面临的问题之一是学什么,怎么学。众多的算法解决的是怎么学的问题,在此之前,更基本的是学什么的问题。换句话说,如何将我们需要关于任务的信息传递给机器学习系统。

早期的人工智能

用一系列形式化数学规则来描述的问题,代表实例为知识库方法。知识库是将世界的知识用形式化的语言进行硬解码,从而使计算机可以通过逻辑推理规则来自动理解形式化语言中的声明。弊端在于数据库是由人为输入的,对于复杂的项目来说极为耗费人力,且人类无法设计足够精细化的规则来描述世界。

机器学习

AI系统自己从原始数据(特征)中学习一定的模式,许多任务都可以通过以下方式解决:先提取一个合适的特征集,然后将这些特征提供给简单的机器学习算法。

这种方式非常依赖于可靠的特征,对如何提取有效表征提出了很大的要求,仍是一个需要花费很多人力的过程。如果让我们自己来设计一个能将 5 正确分类的程序,一种方案是,先从图像中提取特征量,在计算机视觉领域,常用的特征量包括 SIFT、SURF 和 HOG 等。使用这些特征量将图像数据转换为向量,然后对转换后的向量使用机器学习中的 SVM、KNN 等分类器进行学习。将图像转换为向量时使用的特征量仍是由人设计的。对于不同的问题,必须使用合适的特征量,才能得到好的结果。比如,为了区分狗的脸部,人们需要考虑与用于识别 5 的特征量不同的其他特征量。也就是说,即使使用特征量和机器学习的方法,也需要针对不同的问题人工考虑合适的特征量。

再者,对于许多任务来说,我们很难知道应该提取哪些特征。比如,让程序识别汽车轮子,我们该如何给汽车轮子设定表征?

表征学习(representation learning)

手动为一个复杂的任务设计特征需要耗费大量的人工、时间和精力,甚至需要花费整个社群研究人员几十年的时间。表⽰学习作为机器学习的⼀类,其研究的重点是如何⾃动找到合适的数据表⽰⽅式。机器自己提取出有意义的特征,而无需人为干预,并且学习到的表示往往比手动设计的表示表现得更好。表示学习算法只需几分钟就可以为简单的任务发现一个很好的特征集,对于复杂任务则需要几小时到几个月。
经典的例子就是Autoencoder,主要就是由加码器encoder从原始数据提取特征,然后可以通过解码器decoder利用新的表征来重塑原始数据。我们期望当输入数据经过编码器和解码器之后尽可
能多地保留信息,同时希望新的表示有各种好的特性。
表示学习的主要困难来源于往往多个因素同时影响着我们能够观察到的每一个数据,例如在一张包含红色汽车的图片中,其单个像素在夜间可能接近于黑色,汽车的轮廓取决于视角等等。从原始数据中提取高层次、抽象的特征十分困难。

深度学习

深度学习不仅取代了传统机器学习的浅层模型,而且取代了劳动密集型的特征⼯程。深度学习⽅法中最显著的共同点是使⽤端到端训练。也就是说,与其基于单独调整的组件组装系统,不如构建系统,然后联合调整它们的性能。比如,在视觉应用上,神经网络直接学习图像本身,连图像中包含的重要特征量也都是由机器来学习的,不存在人为介入。

花书学习笔记-深度学习概念_第18张图片

深度学习是通过学习多层次的转换来进⾏的多层次的表⽰学习。深度学习将所需的复杂映射分解为一系列嵌套的简单映射(每个由模型的不同层描述),每⼀层提供⼀个层次的表⽰。例如,靠近输⼊的层可以表⽰数据的低级细节,⽽接近分类输出的层可以表⽰⽤于区分的更抽象的概念。也就是说,随着层次加深,神经元从简单的形状向“高级”信息变化。

如下图,给定像素,第1层可以轻易地通过比较相邻像素的亮度来识别边缘。有了第1隐藏层描述的边缘,第2隐藏层可以容易地搜索可识别为角和扩展轮廓的边集合。给定第2隐藏层中关于角和轮廓的图像描述,第3隐藏层可以找到轮廓和角的特定集合来检测特定对象的整个部分。最后,根据图像描述中包含的对象部分,可以识别图像中存在的对象。
在某层激活函数里,并非所有信息都蕴涵着解释输入的变差因素
factors of variation。表示representation还存储着状态信息,它与具体的输入内容无关,但有助于模型运行(残差网络的理论基础?)
花书学习笔记-深度学习概念_第19张图片

除了端到端的训练,我们正在经历从参数统计描述到完全⾮参数模型的转变。当数据稀缺时,⼈们需要依靠简化对现实的假设来获得有⽤的模型。当数据丰富时,可以⽤更准确地拟合实际情况的⾮参数模型来代替。在某种程度上,这反映了物理学在上个世纪中叶随着计算机的出现所经历的进步。现在⼈们可以借助于相关偏微分⽅程的数值模拟,⽽不是⽤⼿来求解电⼦⾏为的参数近似。这导致了更精确的模型,尽管常常以牺牲可解释性为代价

总结

深度学习既是一种表示学习,也是一种机器学习,可以用于许多(但不是全部)AI方法
 

花书学习笔记-深度学习概念_第20张图片

 花书学习笔记-深度学习概念_第21张图片

主题

Supervised Learning

训练资料带有label,让机器自动找到函数

花书学习笔记-深度学习概念_第22张图片

Self-supervised Learning

搜集到的标记资料往往不够多,或者要耗费大量的精力。Self-supervised Learning不需要标注的资料,或者说自己作为自己“带标签”的资料。Self-supervised Learning可以视作pre-train模型,能够用于新的任务并表现良好。

花书学习笔记-深度学习概念_第23张图片

Generative Adversarial Network

搜集大量的一堆资料x和大量的另一堆资料y,机器自动找到它们的关联,学习到资料y的分布,训练结束后能够结合资料x,有一定创造性地产生资料y

花书学习笔记-深度学习概念_第24张图片

 花书学习笔记-深度学习概念_第25张图片

Reinforcement Learning (RL)

在一些任务中不知道怎么标注资料,也不知道正确的答案是什么,但是机器会从环境获得反馈。让机器与环境互动,从环境获得奖励,机器根据这些奖励调整自己的参数,目标是最大化获得的总奖励

花书学习笔记-深度学习概念_第26张图片

Anomaly Detection

对于异常检测任务来说,我们希望能够通过现有的样本来训练一个函数,它能够从数据中学习到某些正常的特征,根据输入与现有样本之间是否足够相似,诊断出非正常的数据。

花书学习笔记-深度学习概念_第27张图片

Explainable AI

我们需要知道机器做决策的背后理由,否则谁敢真正应用于实际。Explainable AI 是通过一定的方法,知道ai学到了什么。也可以通过这个解释性来修正我们的模型,提升模型的性能。

花书学习笔记-深度学习概念_第28张图片

Model Attack

Network 在一般的情况下得到高的正确率是不够的,它要在有人试图想要欺骗它的情况下,也得到高的正确率,所以就要能够对恶意攻击采取一定的防御措施。对抗攻击的概念是给正常输入加入特殊的杂讯,形成一个带有攻击性的输入,当其进入模型之后,输出的内容是错误的。

花书学习笔记-深度学习概念_第29张图片

Domain Adaptation  

当训练资料和测试资料存在不同的分布时,在训练资料上训练出来的模型在测试资料上面可能就会坏掉,这样的情况叫做domain shift(域的转变)。

花书学习笔记-深度学习概念_第30张图片

Network Compression

我们有将模型部署在资源受限的设备上的需求,比如很多移动设备,在这些设备上有受限的存储空间和受限的计算能力。因此要压缩模型大小、加快计算速度等。

花书学习笔记-深度学习概念_第31张图片

参考:深度学习(DeepLearning)学习笔记(一)_大大不会非的博客-CSDN博客

机器学习的《易筋经》:深度学习花书前言(上) - 知乎s

李宏毅机器学习笔记01 Introduction - 知乎
DeepLearning_LHY21_Notes/01_Regression_P1.pdf at master · unclestrong/DeepLearning_LHY21_Notes · GitHub

你可能感兴趣的:(人工智能,深度学习)