本文主要对屈老师的《神经网络与深度学习》的课堂内容进行总结。
目录
1 概论
1.1 人工神经网络概述
1.1.1 人工智能
人工智能 (Artificial Intelligence)是用机器去实现所有目前必须借助人类智慧才能实现的任务。 其具体研究、 开发用于模拟、 延伸和扩展人的智能的理论、 方法、 技术及应用系统。
人工智能是一个概念性而非形式化定义,包含多种方法论:
- 仿生角度:模拟自然生物信息处理过程(神经网络、深度学习);
- 符号学角度:用统计概率、数理逻辑、博弈搜索等实证(机器学习);
- 行为学角度:以控制论实现机器自我进化(自动控制、强化学习);
- 交叉角度:上述多种角度的合成。
机器学习是人工智能的一个重要分支,是实现智能化的关键
通常解决一些人为设计和使用确定性程序很难解决的问题;提高对机器学习的认识,将提高我们自身对智能背后原理的理解。因此受到极大关注。经典定义:利用经验来改善计算机系统的性能。
1.2 神经网络与深度学习
1.2.1 发展史
人工神经网络或简称神经网络(NN), 是从微观结构与功能上模拟人脑神经系统而建立的一类模型,是模拟人的智能的一条途径。
创始:
- ● 1943年, McCulloch 和W.Pitts, 提出 NN 数学模型;
- ● 1949 年 ,Hebb 规则
初步发展:
- ● 1958 年 ,Rosenblatt 感知机和联想学习
- ● 1960年, Widrow 和Hoff ADALINE学习算法
停滞期: 1969 年 Minsky“Perceptron”XOR问题
复兴期(二十世纪八、九十年代):
- ● 1982 Hopfield解决TSP 问题
- ● 1986 Rumelhart和McClelland BP
- ● 新型神经网络提出,如RBFN,Hopfield 网络 ,Boltzmann 机等
- 爆发期(2006~2021 年)
- ● 应用的爆发式发展:语音识别:微软, 2011、ImageNet:Google,2011、AlphaGo:DeepMind,2016。
通用人工智能(2021 起 )
- 以ChatGPT 3.5为标志
1.2.2 发展趋势
2022年新兴技术 趋势确定了25 种需要了解的新兴技术,主要包含三个主题:沉浸式体验的演进 、加速人工智能自动化和优化技术人才交付。弱
1.2.3 应用趋势
人工智能发展的三种级别:弱人工智能、强人工智能、超人工智能。
人工智能第三次崛起的三大基石:数据、算法、平台
-
数据:大量实时产生的数据为人工智能的落地应用奠了基础。通过大量数据训练人工智能的算法模型。
- 算法:机器学习算法是实现人工智能落地的引擎;机器学习尤其是深度学习、强化学习的完善与迭代,促成了人工智能与商业场景的结合。
平台:深度学习对并行计算、 单位时间数据吞吐能力有更高要求。GPU/FPGA 的发展及计算能力的提升使得云计 算平台可以快速计算、 处理大量数据。
人工智能发展的6大关键技术:自然语言处理、计算机视觉、机器学习、图像识别、语言识别、机器人。自然语言处理自自然语言处理然语言处理
人工1.智能弱人工智能弱人工智
2 线性分类与感知机
定义: 利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。
- 房屋销售记录表: 训练集(training set)或者训练数据(trainingdata), 是我们流程中的输入数据,一般称为𝑥。
- 房屋销售价钱: 输出数据,一般称为𝑦
- 拟合的函数(或者称为假设或者模型):一般写做 𝑦 = ℎ(𝑥);
- 如果是直线,则为𝑦 = 𝑘𝑥 + 𝑏
- 训练数据的条目数(#training set):一条训练数据是由一对输入数据和输出数据组成的,输入数据的维度𝑛 (特征的个数,#features)
现在扩展原有问题, 假设房价和房屋面积、年限有关,则我们可以做出一个二维线性函数:
𝑦 = 𝜃1𝑥1 + 𝜃2𝑥2 + 𝜃0
进一步扩展原有问题,假设和𝑛个因素有关,令𝛉 = 𝜃1, 𝜃2, ⋯ 𝜃𝑛 T, 𝐱 = 𝑥1, 𝑥2, ⋯ 𝑥𝑛 T,则有:
𝑦 = ℎ𝛉 𝐱 = 𝛉T𝐱
假设给定样本(𝐱 𝑖 , 𝑦 𝑖 ),构造代价(误差、损失)函数: 𝐽 𝛉 = 1 2 Σ 𝑖=1 𝑚 𝑦 𝑖 - ℎ𝛉 𝐱 𝑖 2(目标代价函数为二次型形式)
目标: 找到超平面参数𝛉 ,使𝐽 𝛉 最小,即求解min 𝛉 𝐽(𝛉)
求解: 令𝜕𝐽(𝛉) 𝜕𝛉 = 0即可得到: 𝛉 = 𝐗T𝐗 -𝟏𝐗T𝐲。注意, 这是解析解,一步得到,速度很快(只要维数不高)。
2.1 线性二分类问题
定义: 线性分类器则透过特征的线性组合来做出分类决定,以达到此种目的。
假设:苹果分类。有两个特征:横轴是苹果的直径纵轴是苹果外观评价。
1.线性分类器输入
特征向量。输出:哪一类。如果是二分类问题,则为0和1,或者是属于某类的概率,即0-1之间的数。线性分类与线性回归差别:
- 输出意义不同:属于某类的概率<->回归具体值
- 参数意义不同:最佳分类直线<->最佳拟合直线
- 维度不同:前面的例子中,一个是一维的回归,一个是二维的分类
2.梯度下降法
寻找损失函数的最低点,就像我们在山谷里行走,希望找到山谷里最低的地方。那么如何寻找损失函数的最低点呢?在这里,我们使用了微积分里导数,通过求出函数导数的值,从而找到函数下降的方向或者是最低点(极值点)。
2.2 对数回归与多分类回归
1.指数回归
指数回归是一种方程为指数函数形式的回归模型。因此,在指数回归中,自变量和因变量通过指数方程相关。指数回归模型的方程为 y=ae bx 。因此,指数回归模型的方程有两个常数(a 和 b),自变量是数字 e 的指数(e=2.718)。例如,方程 y=5e 2x是指数回归模型,因为它将自变量 X 与因变量 Y 呈指数关系。指数回归是非线性回归的一种,与对数回归和多项式回归一样。
2.多分类回归
医学研究、社会科学领域中, 存在因变量是多项的情况, 其中又分为无序(口味:苦、 甜、 酸、 辣;科目:数学、 自然、 语文、 英语) 和有序(辣度:微辣、 中辣、 重辣) 两类。对于这类数据需要用多分类回归。多分类回归实际就是多个二元 logistics 回归模型描述各类与参考分类相比各因素的作用。如, 对于一个三分类的因变量(口味:酸、甜、辣),可建立两个二元logistics回归模型,分别描述酸味与甜味相比及辣味与酸味相比,各口味的作用。但在估计这些模型参数时,所有对象是一起估计的,其他参数的意义及模型的筛选等与二元logistics类似。
- 因变量:三个及以上分类变量
- 自变量:分类或连续变量
- 协变量:分类变量
2.3 神经元模型
神经网络是一种模拟人类神经系统工作方式的计算模型,通过训练和学习,能够自适应地处理和分析复杂的数据。在过去的几十年里,神经网络regression已经成为了人工智能领域的重要分支,并在机器学习、模式识别、自然语言处理等众多应用领域取得了显著的成果。
神经网络的基础是神经元网络,它由许多神经元相互联结而成。每个神经元都接收多个输入信号,通过加权求和和非线性激活函数将这些信号转化为一个或多个输出信号。神经元的联结方式和学习算法是神经网络的核心,通过调整联结权重和激活函数,可以使神经网络具备对复杂模式的识别和理解能力。
神经网络回归算法是利用神经网络进行回归分析的方法。在回归问题中,我们通常需要预测一个连续变量的值,而神经网络回归算法可以通过学习历史数据,自动找到输入与输出之间的映射关系。具体实现过程中,神经网络回归算法可以分为监督学习、无监督学习、半监督学习和强化学习等多种类型。其中,监督学习是最常用的一种方式,它通过训练数据集来学习输入与输出之间的映射关系,进而对新的输入数据进行预测。
2.4 感知机模型
感知机模型:二分类模型且线性可分。
二分类:个体均可被分为两个类别,比如每个人按照生物学性别可分为男和女,通常将其中一个类别作为正类,用1表示,将另一个作为负类,用-1表示。一般将更加关注的类别作为正类。
线性可分:可以用超平面将不同的样本完全分开。
分离超平面:超平面是指n维线性空间中维度为n-1的子空间,分离超平面是一个可以把线性空间分割成不相交的两部分的超平面。对于二维和三维空间来说,该平面即分别为一条线和一个面,对于四维空间来说为一个体,对于五维空间,是一个四维几何结构。
3 多层前馈网络与误差反传算法
3.1 XOR问题
线性不可分问题:无法进行线性分类。 Minsky于1969 年提出 XOR问题。
3.2 多层感知机
在输入和输出层间加一或多层隐单元,构成多层感知器(多层前馈神经网络).三层感知器可识别任一凸多边形或无界的凸区域。更多层感知器网络,可识别更为复杂的图形。多层感知器网络,有如下定理:
- 定理1:若隐层节点(单元)可任意设置,用三层阈值节点的网络,可以实现任意的二值逻辑函数。
- 定理2:若隐层节点(单元)可任意设置,用三层S型非线性性节点的网络,可以一致逼近紧集上的连续函数或按范数逼近紧集上的平方可积函数。
3.3 BP神经网络
3.3.1 多层前馈网络
多层感知机是一种多层前馈网络, 由多层神经网络构成,每层网络将输出传递给下一层网络。神经元间的权值连接仅出现在相邻层之间,不出现在其他位置。如果每一个神经元都连接到上一层的所有神经元(除输入层外),则成为全连接网络 。多层前馈网络的反向传播(BP)学习算法,简称 BP 算法 ,是有导数的学习,它是梯度下降法在多层前馈网中的应用。神经元用节点表示,网络由输入层、隐层和输出层节点组成,隐层可一层,也可多层(图中是单隐层),前层至后层节点通过权联接。由于用 BP 学习算法,所以常称 BP 神经网络。
3.3.1 BP算法
BP 学习算法由正向传播和反向传播组成:正向传播是输入信号从输入层经隐层,传向输出层,若输出层得到了期望的输出,则学习算法结束;否则,转至反向传播。反向传播是将误差样本输出与网络输出之差)按原联接通路反向计算,由梯度下降法调整各层节点的权值和阈值,使误差减小。BP算法是一种用于训练神经网络的反向传播算法
- 优点:学习完全自主;可逼近任意非线性函数。
- 缺点:算法非全局收敛,收敛速度慢,学习速率 α 选择。
3.4 动量法
3.4.1 病态曲率
一个经典的病态曲率的例子是 Rosenbrock 函数(也称为“香蕉函数”),它是一个非常著名的优化问题,通常用来测试优化算法的性能。Rosenbrock 函数的曲率在全局最优解附近变得非常病态。在该点附近,Hessian 矩阵的特征值之间存在数量级的差异,其中一个特征值非常小而另一个特征值非常大。这导致优化算法在接近全局最优解时变得非常困难,因为算法可能会受到非常大的梯度幅度的干扰,从而使得步长难以确定,很可能会偏离正确的方向。
3.4.2 动量法与NAG
动量法(Momentum)是一种优化算法,用于训练神经网络时加速收敛速度和减小震荡。其基本思想是在更新参数时,不仅考虑当前的梯度信息,还考虑之前的更新方向,从而在参数更新时引入动量。
3.5 自适应梯度算法
3.5.1 AdaGrad算法
Adaptive Gradient:自适应梯度;参数自适应变化:具有较大偏导的参数相应有一个较大的学习率,而具有小偏导的参数则对应一个较小的学习率。具体来说,每个参数的学习率会缩放各参数反比于其历史梯度平方值总和的平方根。
3.5.2 RMSProp算法
RMSProp: 解决AdaGrad 方法中学习率过度衰减的问题,使用指数衰减平均以丢弃遥远的历史,使其能够快速收敛;此外,RMSProp 还加入了超参数𝜌 控制衰减速率。
3.5.3 Adam算法
Adam 在 RMSProp 方法的基础上更进一步:除了加入历史梯度平方的指数衰减平均( 𝑟)外还保留了历史梯度的指数衰减平均( 𝑠),相当于动量。Adam 行为就像一个带有摩擦力的小球,在误差面上倾向于平坦的极小值。
仅作交流学习,如有错误,敬请批评指正!