赞
踩
机器学习≈计算机自动构建映射函数
Machine Learning 是指从有限的观测数据中学习出具有一般性的规律,并利用这些规律对未知数据进行预测的方法
现实世界问题复杂,通过人工总结规律构建映射较为困难;因此我们将其转化为提供数据样本让计算机自动总结规律,构建映射。
从大量数据中学习规律——function;
即x(representation)->y(label),如果x,y服从分布P(x,y),则从分布中取样作为train data,接着构造假设空间F,即一系列f(x)构成的函数族,从中选出最能符合train data映射关系的f’(x),但此时f’(x)为仅在train data上得到的拟合函数,对该data之外的数据预测效果未知,机器学习的目的就在于让该f’(x)对一切x均有较好预测效果。
one-hot:一维表示,依赖与知识库、规则
例如:
K个元素可以表示K个语义
给一些x让计算机自动分类,让类内样本相似,类间样本各不相似
将平面数据投影到二维空间,让相似样本距离较近,便于可视化
给定一个空间,将空间内任意一点的密度函数p(x)估计出来
通过与环境进行交互来学习,例如AlphaGo在下棋过程中以输赢来作为指标
选出一个模型使得经验风险最小,但此时模型往往过拟合,即泛化误差较大
降低模型复杂度,减小泛化误差
所有损害优化的方法都是正则化
⊕表示拼接,即在增广矩阵末尾加上该数
即条件概率公式的变形,使得p(x|y)与p(y|x)能够相互转化
p(w|x)∝p(x|w)p(w) 后验∝似然*先验
代入得
求解得到下式,其与结构风险最小化对应
平方误差与概率一一对应,上面理解为对最大值进行限制,下面理解为对w服从以0为中心的高斯分布
实质上为模型选择问题(Model Selection Problem),如果次数太低则欠拟合,太高则过拟合。例如下图中曲线次数选择为9次,穿过了所有训练样本,但在x发生细小波动时结果便产生巨大波动,因为展开次数过大,较小项需要很大系数才能对图像产生影响,因此函数图像边缘出现较大极值。
由于存在政策化项,因此此处R(w)为结构风险
引入λ=-18以后例题中曲线拟合效果,可见相较于引入超参数之前,过拟合现象得到了较好控制
此处为大数定律的体现,当样本数量无限大的时候经验风险就趋向与期望风险
每个蓝点表示学习得到的一个模型,越靠近中心效果越好
注意最优模型并不位于bias与variance交点
对于基于迭代的最优算法,不存在某种算法对所有问题都有效
丑小鸭与天鹅之间的区别和两只天鹅之间的区别一样大
如无需要,勿增实体;即可以用简单模型不用复杂模型
很多学习算法经常会对学习的问题做一些假设,这些假设就成为归纳偏执
PAC: Probably Approximately Correct,根据大数定律,当训练集大小趋近无穷大时,泛化误差趋向于0,即经验风险趋近于期望风险
学习准则/损失函数:0-1损失函数,即分类正确为1,分类错误为0,但由于该函数无法求导,因此无法对其进行优化
一个超平面无法分解空间,因此需要多条线/面来分割空间;常见模型如下
一个随机事件所包含的信息量。对于一个随机变量X,当X=_x_时的自信息_I(x)定义为_I(x)=-log p(x),自信息具有可加性
信息论中,熵用来衡量一个随机事件的不确定性,例如填词游戏中:applicatio_ 熵小于 appl_,一个事件一定发生则其信息量为0
随机变量X的自信息的数学期望称为熵,分布越均衡熵越大
在对分布_p(y)_的符号进行编码时,熵_H§_也是理论上最优的平均编码长度,这种编码方式称为熵编码.
例如对一篇文档中的{a,b,c}进行编码,可知其服从某一分布,可根据其自信息设置其码字长度:a的长度为_-log(a),b的长度为-log(b),c的长度为-log©,平均码字长度为_H§=-p(a)log(a)-p(b)log(b)-p©log©
可以利用交叉熵来衡量两个分布的差异
KL散度也可用于衡量两个分布的差异,差异越小KL散度越小,反之越大
可以用于衡量真是分布与预测分布之间的差异
由于优化的部分为Pθ,即预测分布,与真实分布Pr无关,因此上式可简化为
因此最小化两个分布的差异,即最小化两个分布的交叉熵;而式中的Pr为one-hot向量形式,因此除_y*项之外均为0,因此可写为_min KL=-logpθ(y*|x),即负对数似然,因此优化目标转化为使对数似然最大化,即最大对数似然估计
也称为对数几率回归,简称对率回归,模型如下,其中1为增广向量:
此类函数也称为Sigmoid函数,其单增且反函数单增,两端饱和,因此常用作神经网络的激活函数,即上述函数g
由于Logistic回归函数不可导,因此需要将损失函数转化到交叉熵模块,从而进行优化。
Softmax回归可以理解为Logistic回归在多分类问题上的扩展
例如:
例子:
在感知器中y(n)取+1/-1,当y(n)=+1时,如果上式小于0,这说明w*Tx(n)<0,即预测结果为-1,说明预测错误,反之如果上式>0成立则说明预测正确
每次更新w以后ywTx的值较原值增大,每次更新一个样本,直到所有样本分类正确
当分类正确时,梯度为0,分类错误时,梯度为-yx
每次循环需要对样本重新随机排序,否则靠后的样本对模型的影响会较大,需要进行正则化增大随机性;迭代次数也可通过设置验证集,当模型在验证集上的错误率不再下降时停止迭代。
下图为感知器参数学习的更新迭代过程,分界面为WTx=0:
如果ξ=0则样本线性可分,0<ξ<1说明模型可以分对,但存在部分样本不可分;ξ>1则说明会出现分类错误;因此软间隔SVM的目标为ξ最小
可以理解为max部分为经验风险,后项为正则化项,该式也称为Hinge损失函数,感知器损失如下:
对比可见感知器内的点只要分对就不做惩罚,而SVM中即使分对但margin<1仍然要做惩罚
可以和核方法(Kernel Method)相结合
从图中可见平方损失在x=1之后上升,说明预测正确依然进行了惩罚,因此平方损失不适合用于分类任务
随着f(x)的增大对应损失越来越小,符合客观认知,但在f(x)=1之后仍然进行了惩罚,对于分类任务是没有必要的,因此需要再次优化
只要小于0就惩罚,因此适合用感知器进行分类
直观理解为感知器向右平移了一个单位,这一个单位用于宽容边界值,小于边界值才进行惩罚
例如使用图中一个点作为锚点,然后构造φ(x)计算每个点距离锚点的距离,将两部分点在新的空间构造,从而在新的平面内线性可分
当前机器学习激活函数首选Relu函数,但是存在死亡Relu问题(Dying Relu Problem),由于ReLU函数左侧为0,因此会出现所有输出都为0的绝对抑制状态,改进方法为使用LeakyReLU(x)函数,即在函数左边让其等于一个很小的参数,从而有了一个小的梯度,保证参数可以更新
如绿线所示,在x<0时也有一个较小梯度,可以让模型慢慢更新
用曲线去逼近ReLU函数,但是计算相较于ReLU函数复杂,首选仍然是ReLU
Softplus(x)=log(1+exp(x))
可以理解为Logistic函数与斜坡函数复合
高斯分布的累积分布函数也是S形函数,与swish函数类似;但由与高斯分布没有解析解,因此无法直接得到GELU函数,但可以通过Logistic函数与Tanh函数来近似。
主要指神经元输入到输出之间的映射关系,一般为非线性函数。
不同神经元之间的连接关系
通过训练数据来学习神经网络的参数
神经网络中输入层为第0层,后续以次为1、2、3…层,其中L M f为超参数,W b为参数,z a为活性值
合并后得到:
前馈计算:
如果g()为Logistic回归,那么Logistic分类器可看做神经网络的最后一层
其中正则化项可以选择Frobenius范数
神经网络是一个复杂的复合函数,有以下求解方法:
反向传播(Backpropagation,BP)是误差反向传播的简称,是一种与最优化方法(如梯度下降法)结合使用的,用来训练人工神经网络的常见方法。 该方法对网络中所有权重计算损失函数的梯度。 这个梯度会反馈给最优化方法,用来更新权值以最小化损失函数。
针对上图有:
当x=1,w=0,b=0时,可以得到:
局部最优但不是全局最优
例如导数在0~1之间,连乘以后梯度趋近于0,导致梯度消失,当神经网络深度较深时,下层网络的梯度趋近于0,难以更新;因此激活函数的导数最好在1附近,不能太大或过小,故推荐ReLU函数
w被称为滤波器(filter)或卷积核(convolution kernel)
如果输入长度为N,滤波器长度为K,则output长度为N-K+1
此处选用Filter:[-1,0,1]
同理,当滤波器w=[1,-2,1]时,可以近似信号序列的二阶微分
引入滤波器的滑动步长S和零填充P(Padding)
卷积结果按输出长度不同可以分为三类,在早期文献中,卷积一般默认窄卷积,目前文献中一般默认未等宽卷积
由于图像模块常用二维卷积,因此特别介绍
将卷积核看做是特征提取器,引入多卷积核可以增强卷积层的能力
特征映射(Feature Map):图像经过卷积后得到的特征
卷积层:输入:D个特征映射M×N×D
输出:P个特征映射M’×N’×P
典型结构:
通过给卷积核插入“空洞”来变相增加其大小
2015为ResNet
穷举各类卷积再堆叠,大大提高得到的特征丰富程度
残差的连接,或者说直连边是深度堆叠必不可少的技术,其使得梯度dh(x)/dx=1+df(x,θ)/dx,由于有1的存在,因此链式法则连乘之后不会出现梯度消失的现象,故可以大量堆叠
通过查表将单词编程向量
输入是个序列(向量),输出是个类别
第一步要将文字查表映射到一个向量作为一个input
输入是一个序列,输出也是个序列,且是一一对应的
Connectionist Temporal Classification,CTC
典型应用为机器翻译
令括号中的部分等于γ,则
从式子分析,当t-k较大,即两个时间点相隔较远时,若γ>1则梯度->∞,发生梯度爆炸;若γ<1则梯度->0,发生梯度消失
由于梯度爆炸或梯度消失问题,实际上只能学习到短周期的依赖关系;要解决该问题的方法即使得γ=1
神经网络在时间维度上非常深,容易发生梯度消失或梯度爆炸问题
梯度爆炸可用权重衰减或梯度阶段方法解决;梯度消失则需要改进模型
循环边改为线性依赖边,但此时ht与ht-1为线性关系,削弱了模型能力
进一步改进,增加非线性
但由于此式子ht一直在增大,当信息饱和时难以更新信息
控制信息的积累速度,包括有选择地加入新的信息,并有选择地遗忘之前累积的信息。
Zt为0~1之间的一个一维向量,也称为更新门
为了实现ht只与xt相关,而与ht-1无关,因此引入重置门
相较于GRU,其引入了一个内部记忆单元c,用c进行线性传递,将h解放出来,让h专门做非线性,提高模型非线性能力
自然语言理解->一个句子的可能性/合理性,简单理解为对语句进行打分,符合语法又符合语义的给较高分数;因此转化到概率层面,使用RNN解决
在Linux上训练一个RNN,让其自动生成内核代码
可以使用某个歌手的全部作品训练RNN,后自动生成歌词
递归神经网络是在一个有向无环图(Tree)上共享一个组合函数
退化为循环神经网络
结构差异大
没有通用算法可以适用于所有网络模型
超参数较多
非凸优化问题
参数初始化
逃离局部最优或鞍点
梯度消失/梯度爆炸问题
驻点 Stationary Point:梯度为0的点;高维空间中驻点大部分都为鞍点,因此优化重心就为逃离驻点
在没有加入残差连接时地形较为复杂,难以优化
加入残差之后地形光滑
动态学习率调整
梯度估计修正
好的优化地形通常比较平滑
使用ReLU激活函数、残差连接、逐层归一化等
批量大小不影响随机梯度的期望,但会影响随机梯度的方差
批量越大随机梯度的方差越小,引入噪声越小,训练越稳定,可以设置较大的学习率
批量较小时,需要设置较小的学习率,否则模型会不收敛
批量越大学习率需要越大,即线性缩放规则
批量越小随机性越强
学习率衰减
Adagrad
Adadelta
RMSprop
Monmentum:计算负梯度的“加权移动平均”作为参数更新的方向
Nesterov accelerated gradient
梯度截断
由上图可知,优秀的学习率应该是自适应的,开始大,接近最优点时逐步减小
目的是跳出局部最优
根据梯度动态计算当前学习率
用之前累积的动量来替代真正的梯度
负梯度的加权移动平均
每次迭代的梯度可以看做是加速度,可以近似看做二阶梯度
参数初始化为0导致神经元行为都一致。
该初始化为最简单的初始化方法,参数从一个固定均值(比如0)和固定方差(比如0.01)的Gaussian分布进行初始化。
参数可以在区间[-r,r]内采用均匀分布进行初始化。
可以基于方差缩放的参数初始化;或正交初始化
Xavier初始化和He初始化
方法:
机器学习算法在缩放全部或部分特征后不影响学习和预测
批量规范化 Batch Normalization,BN
层规范化 Layer Normalization
权重规范化 Weight Normalization
局部响应规范化 Local Response Normalization,LRN
引入一个验证集validation Dataset来测试每一次迭代的参数在验证集上是否最优,如果在验证集上错误率不再下降就停止迭代
每做一次暂退,相当于从原始网络中采样得到一个子网络。如一个神经元有n个神经元,那么总共可以采样出2^n个子网络
cache n.高速缓冲存储器 v.把(数据)存入高速缓冲存储器
validate v.验证,使生效,证实
estimator n.评估员,估计器
segway n.两轮平衡车
algorithm n.算法
representation n.代理人,描绘
feature representation 特征表示
convolution n.卷积
subsampling n.二次抽样,分段抽样,采样层
distributed adj.分布式的,分散式的
embedding v.嵌入,深深植入
word embedding 词嵌入
end-to-end 端到端
slope n.斜坡,坡度,斜率,偏导数
random variable 随机变量
主流框架:TensorFlow、Keras、Chainer、PyTorch
复旦大学邱锡鹏《神经网络与深度学习》书籍资料:https://nndl.github.io/
可视化理解分类:http://playground.tensorflow.org
作词机:https://github.com/phunterlau/wangfeng-rnn
剩余Transformer、半监督学习等部分内容后续补充~~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。