深度前馈神经网络

卷积神经网络

为什么不用全连接:

(1)有些模式是很小的,相对整幅图像而言.神经元并不需要观测整幅图像来发现这种模式

(2)同一类模式会出现在图像的不同位置

(3)缩小图像依然能够保持整体属性

神经元并不现这

局部连接、权值共享及池化

Advanced卷积神经网络

LeNet

所有卷积层的卷积核都为 5x5,步长=1,池化方法都为平均池化,激活函数为 Sigmoid

首次提出卷积神经网络基本框架: 卷积层,池化层,全连接层

AlexNet

Dropout、Relu、最大池化、更大的卷积核,更大的步长

引入LRN层:侧抑制(lateral inhibitio),即指被激活的神经元抑制相邻的神经元,LRN就是借鉴这种侧抑制来实现局部抑制,尤其是我们使用RELU的时候
归一化有什么好处?
1.归一化有助于快速收敛
2.对局部神经元的活动创建竞争机制,使得其中响应比较大的值变得相对更大,
并抑制其他反馈较小的神经元,增强了模型的泛化能力。

VGG

更深和更窄
VGG 块:3x3 卷积、2x2 最大池化层

NIN

与其像Dropout那样毫无选择地平均,不如有条件的选择节点来生成网络

Maxout ≠最大池化:最大池化仅在空间维度上进行,Maxout在所有维度(通道和空间)上

缺点:网络的参数是传统网络的 k 倍,并没有带来等价的精度提升

Maxout节点可以逼近任何凸函数,而NIN的节点理论上可以逼近任何函数

NIN贡献:(1)MLP Convolution Layers:1x1卷积

(2)Global Average Pooling:去除了构建全连接层的大量参数,大大减小网络规模,有效避免过拟合

GoogleNet

5 个阶段,9个 Inception 块

优点:(1)减少网络参数 (2)多尺度、多层次滤波

Inception-V4-添加残差块连接

ResNet

求所得解和目标解的差,等号两边变一下就成了+x

引入残差为何可以更好的训练:(1)引入残差后的映射对输出的变化更敏感 (2)偏导中始终有1

DenseNet

每个层都会与前面所有层在channel维度上连接(concat)并作为下一层的输入

Lightweight CNN

dwconv

squeezenet

这边右侧的e3是3x3卷积吧

SENet

在通道维度压一下,强迫各维度混合学习,再还原

ShuffleNet

Group Convolution在 AlexNet 中引入,用于将模型分布到两块 GPU 上。但这样某个通道的输出只能来自一小部分输入通道,这样阻止了通道之间的信息流

打乱通道就能交流了

CondenseNet

分组卷积存在通道之间的信息沟通不畅以及特征多样性不足的问题。CondenseNet提出的解决策略是在训练的过程中让模型选择更好的分组方式
自学习分组卷积可以分成两个阶段:浓缩阶段和优化阶段。其中浓缩阶段用于剪枝没用的特征,优化阶段用于优化剪枝之后的网络。
浓缩时,在训练该网络时使用了分组lasso正则项,会有 1/C 的特征被剪枝掉
CondenseNet的剪枝并不是直接将这个特征删除,而是通过掩码的形式将被剪枝的特征置0,因此在训练的过程中CondenseNet的时间并没有减少,反而会需要更多的显存用来保存掩码

EfficientNet

用NAS调模型宽度和深度

间隔损失

contrastive loss

其中d代表两个样本特征的欧氏距离,y为两个样本是否匹配的标签,y=1代表两个样本相似或者匹配,y=0则代表不匹配。margin为设定的阈值,这种损失函数主要是用在降维中,即本来相似的样本,在经过降维(特征提取)后,在特征空间中,两个样本仍旧相似;而原本不相似的样本,在经过降维后,在特征空间中,两个样本仍旧不相似。

Triplet Loss

输入是一个三元组 <a, p, n>

  • a: anchor,表示一个基准样本
  • p: positive, 与 a 是同一类别的样本,比如就是同一个人的照片
  • n: negative, 与 a 是不同类别的样本,比如就是不同人的照片

希望让a和p的距离尽可能小,而a和n的距离尽可能大

Center Loss

为了解决open set问题,即当训练集和测试集的类别不完全相同的情况

通过MSE做类似聚类的loss,保证最小化类内距离的同时保证特征可分,来提高特征之间的可判别性

L-Softmax

在softmax基础上将 theta 1 乘以正整数m

m越大,决策间隔越大

Modified Softmax

限制了一些条件:∥Wi∥=1,bi=0,由这些条件,可以得到修正的损失函数

SphereFace Angular Softmax

对于属于第一类的样本 x 而言,θ1 乘以m倍,得到的cos值依然比cos(θ2)小,由此可见该类聚得更笼

A-Softmax损失可被视为将人脸特征强制约束在超球面流形上,同时各特征在超球面上的角度margin可以通过参数m来进行调节

Norm Face

L2归一化在测试阶段非常关键

Softmax会倾向于将分类好的样本的幅度拉长:Softmax 交又熵损失函数总是会鼓励已经被分类正确的特征得到更大的幅度。在迭代过程中,特征的幅度会被越拉越大

softmax损失有个下界,此界限意味着,如果我们仅将特征和权重标准化为1,即使没有应用任何正则化,softmax损失也会在训练集上陷于很高的值,因此将特征和权重归一化到一个更大的正数 l ,而不是1,也就是在余弦相似度后面乘上一个可学习的尺度参数s

AM-Softmax

对于属于第一类的样本 x 而言,cosθ1 值下降m,依然要比比cos(θ2)小,由此可见该类聚得更笼

该方法间隔固定,不依赖于θ,sphereFace的间隔依赖于θ

ArcFace

对于属于第一类的样本 x 而言,cosθ1 值乘上m角度,依然要比比cos(θ2)小

正则化01

偏差大:添加更多特征的输入、更复杂的模型

方差大:更多数据、正则化

L2参数正则化主要针对损失函数特征向量不重要的方向

L1 相当于使用拉普拉斯先验的MAP贝叶斯估计
L2相当于高斯先验的MAP贝叶斯估计

正则化02

dropout

优化

深度学习的优化是非凸优化问题

训练卡住并不表明梯度等于0

当网络非常大时,几乎不可能遇到局部极小值,鞍点是你需要担心的

鞍点容易出现在损失大的时候,局部最小值容易出现在损失小的时候

动量的主要目的是解决两个问题Hessian矩阵的病态条件和随机梯度的方差

NAG跟Momentum公式的唯一区别在于,梯度不是根据当前参数位置,而是根据先走了本来计划要走的一步后,达到的参数位置计算出来的

参数不能初始化为0:对称权重问题

Xavier初始化:参数可以在区间[-r,r]内采用均匀分布进行初始化

使用 xavier 初始化权值矩阵是为了保证输出和输入尽可能地服从相同的概率分布

Adagrad

将每个参数的学习率除以其先前导数的均方根

RMSProp

与Adagrad基本类似,只是加入了迭代衰减:梯度累积不是简单的前t-1次迭代梯度的平方和了,而是加入了衰减因子α

Adam

SGD(Momentum)和RMSProp的结合

BN

倘若没有β,经BN层的特征,都具有0均值的期望,相当于强制ReLU的输出有一半是0,一半非0

GN

RNN01

Deep RNN

双向RNN

双向递归层可以提供更好的识别预测 效果,但却不能实时预测,由于反向递归的 计算需要从最末时刻开始,网络不得不等待 着完整序列都产生后才可以开始预测

RNN的训练

BPTTBP的本质区别在于RNN的输出不仅依赖于 当前输入,还受上一时刻的影响。因此,更新参数时,对当前时刻求偏导,一定会涉及到前一时刻

RNN训练的问题

梯度截断:悬崖在时间步的数量上呈指数地陡峭,因为对于每个时间步,权重矩阵都自乘一次

如果序列过长会导致优化时出现梯度消散或梯度爆炸的问题

RNN02

LSTM

即使层数较深也不会发生梯度消失的问题,但不保证梯度爆炸
变体

zt和rt分别是更新门重置门。更新门用于控制 前一时刻的状态信息被带入到当前状态中的程度,重置门用于控制忽略前一时刻的状态信息的程度

Highway Network

其实就是对输入一部分进行处理(和传统神经网络相同),一部分直接通过,自动确定所需的层次结构

递归神经网络

有时候把句子看做是词的序列是不够的,为了能够让模型区分出歧义句子,我们的模型必须能够按照树结构去处理信息,而不是序列

可以将词、句、段、篇按照他们的语义映射到同一个向量空间中,也就是把可组合(树/图结构)的信息表示为一个个有意义的向量

Seq2Seq

图像标题生成:图片的向量输给RNN

Attention

人脑可以有意或无意地从这些大量输入信息中选择小部分的有用信息来 重点处理, 并忽略其他信息
注意力一般分为两种:(1)自上而下的有意识的注意力,称为聚焦式注意力,有预定目的、依赖任务的
(2)自下而上的无意识的注意力, 称为基于显著性的注意力,由外界刺激驱动的注意,不需要主动干预,也和任务无关
软性注意力机制:根据注意力分布加权平均
硬性注意力机制:一种是选取最高概率的一个输入向量;另一种硬性注意力可以通过在注意力分布式上随机采样的方式实现
硬性注意力的一个缺点:基于最大采样或随机采样的方式来选择信息,得最终的损失函数与注意力分布之间的函数关系不可导,无法使用反向传播算法进行训练.因此,硬性注意力通常需要使用强化学习来进行训练
多头注意力
用多个查询 𝑸 = [𝒒1 , ⋯ , 𝒒𝑀 ] ,来并行地从输入信息中选取多组信息.每个注意力关注
输入信息的不同部分
结构化注意力
输入信息本身具有层次( Hierarchical)结构,比如文本可以分为词、句子、段落、篇章等不
同粒度的层次,可以使用层次化的注意力来进行更好的信息选择

Transformer

RNN并行效果不好,换成CNN并行

每个位置都有一个唯一的位置编码(不是从数据中学习的)

(1)两个位置编码的点积可以反应出两个位置编码间的距离

(2)位置编码的点积是无向的

处理长序列:CNN+RNN只建模局部,无法处理变长

Swin Transformer

ViT

ViT-L:32x32像素的patch,一共7x7个

视觉和文本信号的区别:(1)多尺度(2)局部(3)平移不变性

不重叠,内存开销小速度快

随着图像分辨率的提高,线性计算复杂度从0(n^2)变为O(n)

AE

编码维度小于输入维度的自编码,称为:欠完备自编码器
当解码器是线性的且Loss是均方误差, 欠完备的自编码器会学习出与 PCA 相同的生成子空间
LSA:将文档项目化到两个潜在主题

稀疏自编码

AutoEncoder的基础上加上L1的约束
核心思想:将隐层进行约束,使其变得稀疏:每个隐藏单元 j 的平均激活值接近于0.05
添加一个额外的惩罚项来最优化目标函数:

收缩自编码

好的特征表示大致有2个衡量标准:
1. 可以很好的重构出输入数据;
2. 对输入数据一定程度下的扰动具有不变性
思想:我们希望提取仅反映训练集中观察到的差异的特征。我们希望对其他变化保持不变。
损失函数将是:L*(x)=L(x)+ λΩ(x)
其中L(x) -- 将是一个保留良好信息(1→0)的编码器;Ω(x)-- 将所有信息(1→∞)丢弃的编码器。
收缩自编码器学习的两种推动力, 收缩惩罚想要使学习到的特征在所有方向上不变(对所有方向都有收缩作用), 重构误差则想要能将学习到的特征重构回输入。
学习的过程中,重构误差的推动力使数据中的变化方向(即流形切平面的方向)能够抵抗收缩
作用,体现在其对应的 Jacobian 矩阵中的奇异值很大; 而抵抗不了收缩作用的方向则对应于数据中不变的方向(正交于流形的方向), 其在 Jacobian 矩阵中的梯度则会变得很小
由此可以看出收缩自编码器可以很好地捕捉流形结构
去噪自动编码器的优势:(1)实现更简单,为常规自动编码器添加一行或多行代码(2)不需要计算隐藏层的雅可比矩阵
约束自动编码器的优势:(1)梯度是确定性的,可以使用二阶优化器(共轭梯度法、LBFGS等)
(2)可能比使用采样梯度的去噪自动编码器更稳定

SSL

SimCLR等模型batch size 越大效果越好,但是,由于算力的影响batch size不能设置过大, 因此很难应用大量的负样本。因此效率较低

memory bank用于对比的正负样本是从memory bank中随机采样的,但是输入样本的encoder是每个epoch都更新的,因此会出现更新好多次的encoder遇到更新次数不匹配的负样本,即一致性问题

MoCo动量编码器+队列

BYOL加了一个预测任务,不需要负样本

SimSiam不需要负样本,不需要大的batch size,也不需要动量编码器,整体架构与BYOL基本是一样的,唯一不一样的地方在于没有使用动量编码器

CPC编码器特征喂给自回归模型,要求预测出未来序列的特征

CMC一个物体的很多视角都可以当作正样本

RPP给中间patch,预测别的patch的位置编号

BERT:(1)mask token预测(2)下一句预测

为什么CV 中自监督效果不佳:(1)框架不同,即CNN没有位置信息(2)图像中信息太稠密,有时候都不用学习,直接拿邻域像素即可,导致学习质量不佳(3)NLP中预测的词有强语义信息,但是CV中预测像素,缺乏语义信息

GAN

第一步 固定生成器 G, 更新判别器 D
更新生成器:梯度上升法
最大似然=最小KL散度
GAN就存在着:(1)训练困难(2)生成器和判别器的loss无法指示训练进程(3)生成样本缺乏多样性等问题

WGAN

推土机距离:从改进距离最小的开始移动

DCGAN:用卷积替代全连接层

Conditional GAN:

  • 生成器:输入噪声向量 z 的同时,额外加入条件标签 y(如类别、文本描述)。

  • 判别器:输入真实/生成图像时,同步加入相同条件标签 y

迁移学习

由于分布变化或域之间的域偏移,源域中学习的分类器不能应用于目标域

域适应:
(1)源域:放弃大量标记数据。
(2)目标域:少量或没有标记数据。
(3)相同任务,但数据分布不同。

监督目标适应(SupervisedDA):存在少量标记的目标数据。然而,标记的数据通常不足以完成任务
半监督的DA:训练阶段既可利用有限的标记数据,也可利用目标领域中冗余的无标记数据,这使得网络能够学习目标领域的结构信息。
无监督DA:没有标记但足够的未标记目标域数据在训练网络时是可观察的。

浅层领域适应:(1)特征适应(2)实例适应(3)模型适应

特征适应loss:(1)KL散度(2)MMD(3)H-散度(4)推土机距离

语音通常迁移最后几层,图像通常迁移前几层

大多数深度 DA方法试图通过将两个领域映射到一个不变于领域的特征空间,从而学习出更具可迁移性的表示,然后直接应用仅从源标中学习的分类器到目标领域

DDC:最大均方差(MMD)是用于无监督DA的一种常用统计损失。不同领域的图像的隐藏表示被嵌入到一个可再现核希尔伯特空间中,从而可以明确匹配跨领域的分布的均方嵌入

RevGrad:最大化标签分类准确率+最大化领域分类准确率

RTN:残差快桥接源分类器和目标分类器

零样本学习:通过属性表示每个类

VAE

EM算法可以解决:缺失数据、含有隐变量等问题

高斯混合模型

生成模型, 它假设数据是从多个高斯分布中生成的,
生成流程: 有 K 个高斯分布, 赋予每一个分布一个权重, 每当生成一个数据时,
[1] 按权重的比例随机选择一个分布,
[2] 按照该分布生成数据
常用于聚类, 它使用EM算法来求解,有时只能收敛于局部最优
它与K-means的相同之处:都需要指定 K 值。
它与K-means的不同之处:K-means只能将每个样本划分为一个类,GMM可以给出一个样本对于所有类别的概率。
(mi)^2是L2正则化项,因为希望σi接近0,方差接近1
噪声的方差是自己学习的
VAEGMM的联系、区别
有连续隐变量Z的混合高斯分布可以逼近任意复杂的概率分布函数

元学习

学通用函数解决所有问题,学会如何去学习

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐