深度学习笔记


1. 数据驱动的图像分类

1.1 分类步骤


 1. 数据集构建
 2. 分类器设计与学习
 3. 分类器决策

1.2 分类器设计与学习

在这里插入图片描述

 1. 图像表示:像素表示、全局特征表示、局部特征表示
 2. 分类器类型:近邻分类器、贝叶斯分类器、线性分类器、支持向量机分类器、神经网络分类器、随机森林、Adaboost
 3. 优化函数:梯度下降、随机梯度下降、小批量随机梯度下降、牛顿法、BFGS、L-BFGS
 4. 训练过程:
 - 数据集划分
 - 数据预处理
 - 数据增强
 - 欠拟合和过拟合
	  减少算法复杂度
	  使用权重正则化
	  使用dropout正则化
 - 超参数调整
 - 模型集成

2. 线性分类器

2.1 定义

线性分类器是一种线性映射,将输入的图像特征映射为类别分数。

在这里插入图片描述
在这里插入图片描述

2.2 决策规则和权值向量

线性分类器的决策规则

在这里插入图片描述

线性分类器的权值向量w可视化之后是各个类别的模板。当输入图像与模板的匹配程度越高,分类器输出的分数就越高。

2.3 损失函数

2.3.1 一般定义

损失函数用于度量给定分类器的预测值与真实值的不一致程度。

在这里插入图片描述

2.3.2 多类支撑向量机损失

在这里插入图片描述

2.4 正则项

由于使得损失函数L=0的权值向量w不是唯一的,所以引入了正则项

在这里插入图片描述

超参数是学习之前设置值的参数,而不是学习得到的参数。
而通过学习得到的参数w只是称为参数。

2.4.1 L2正则项

在这里插入图片描述

2.4.2 其他正则项

在这里插入图片描述

2.5 优化算法

优化算法的目标

在这里插入图片描述

2.5.1 梯度下降算法

梯度下降是利用所有样本计算损失并更新梯度,逐步迭代

在这里插入图片描述
梯度的计算

方法1:数值法——计算量大,且不精确

在这里插入图片描述

方法2:解析法

在这里插入图片描述

2.5.2 随机梯度下降算法

每次随机选择一个样本计算其损失并更新梯度

2.5.3 小批量梯度下降算法

每次随机选择批量m个样本损失并更新梯度
通常使用2的幂数作为批量的大小

在这里插入图片描述

2.6 数据集划分

在这里插入图片描述

2.6.1 k折交叉验证

当验证集包含的样本太少的时候,无法在统计上代表数据。

在这里插入图片描述

2.7 数据预处理

 1. 去均值
 2. 归一化
 3. 去相关
 4. 白化

3. 全连接神经网络分类器

 1. 全连接神经网络级联多个变换来实现输入到输出的映射。
 2. 全神经网络中的非线性操作是不可以去掉的,因为去掉之后就变成线性分类器了。
 3. N层全连接神经网络——除了输入层之外其他层的数量为N。
 4. 全神经网络的权值模板个数由人为指定。

3.1 全连接神经与线性不可分

线性可分——至少存在一个线性分界面能把两类样本没有错误的分开

在这里插入图片描述

3.2 激活函数

常用的激活函数
尽量选择ReLu或者Leaky ReLu

在这里插入图片描述

3.3 全神经网络的设计

 1. 隐层层数——深度设计

 2. 每层隐层的神经元数量——宽度设计

神经元个数越多,分界面越复杂,在这个集合上的分类能力就越强,但太多会过拟合。
输入层和输出层的神经元个数由任务决定。

3.4 损失函数——SOFTMAX与交叉熵

 1. SOFTMAX——经过SOFTMAX输出层输出的是概率

在这里插入图片描述

 2. 交叉熵损失
多类支撑向量机损失并没有考虑分类器输出与预测值之间的距离

在这里插入图片描述

 3. 交叉熵对比多类支撑向量机

在这里插入图片描述

3.5 基于计算图的优化算法

计算图是一种有向图,用于表达输入、输出以及中间变量之间的计算关系,图中的每一个节点对应着一种数学运算。

在这里插入图片描述

通过计算图计算反向传播可以算出输出相对于任意一个节点的梯度。

3.6 梯度算法改进

3.6.1 动量法

利用累加历史梯度信息更新梯度

在这里插入图片描述

3.6.2 自适应梯度与RMSProp

在这里插入图片描述
在这里插入图片描述

3.6.3 ADAM

同时使用动量和自适应梯度思想

在这里插入图片描述

3.7 权值初始化

考虑对象为权值,通过调整权值分布使得输出与出入具有相同的分布

 1. 全零初始化(避免)
 2. 随机初始化
使网络各层的激活值和局部梯度的方差在传播过程中尽量保持一致,以保证网络中正向和反向数据流动。
 3. Xavier初始化
激活函数选择双曲正切或Sigmoid时使用 
 4. He初始化
激活函数选择ReLu或者Leaky ReLu时使用

3.8 批归一化

批归一化直接对神经元的输出进行减均值除方差操作。
如果每一层的每个神经元都进行批归一化,就可解决前向传递过程中的信号消失问题。
经常插在全连接层后,非线性激活前

在这里插入图片描述

3.9 过拟合与Dropout

应对过拟合:
 1. 获取更多的训练数据(最优方案)
 2. 调节模型允许存储的信息量或者对模型允许存储的信息加以约束,该类方法称为正则化。(次优方案)
 	(1)调节模型大小
 	(2)约束模型权重,即权重正则化
		 -通常有L1正则化、L2正则化
 	(3)随机失活(Dropout)
 		 -Dropout让隐层的神经元以一定的概率不被激活,即将某层的某些神经元的输出值设为0
 		 -随机失活率:被设为0的特征所占的比例,取值在0.2-0.5之间
 		 -随机失活使得每次更新梯度时参与计算的网络参数减少 ,降低了模型容量,所以能防止过拟合。随机失活鼓励权重分散,进而起到正则化的作用,进而防止过拟合。

3.10 模型正则与超参数调优

 1. 神经网络中的超参数
 	(1)网络结构——隐层神经元个数、网络层数、非线性单元选择
 	(2)优化相关——学习率、dropout率、正则项强度
 2. 超参数优化方法

在这里插入图片描述

4. 卷积神经网络

4.1 图像去噪

 1. 图像的噪声种类
 	-椒盐噪声:黑色像素和白色像素随机出现
 	-脉冲噪声:白色像素随机出现
 	-高斯噪声:噪声强度变化服从高斯分布(正态分布)
 2. 减少高斯噪声:
 	当高斯噪声大的时候,需要用大方差的高斯卷积核进行去噪
 3. 减少椒盐噪声和脉冲噪声:
 	使用中值滤波器

4.2 卷积

卷积核先旋转180度后再进行操作
卷积可以使得图像平移、放大、平滑、锐化、去噪和提取图像边缘

在这里插入图片描述

4.3 边界填充

为了保证实现卷积操作前后的图像尺寸不变
最常见的填充:常数填充

4.4 高斯卷积核

高斯卷积核也被称为均值滤波器

在这里插入图片描述
在这里插入图片描述
权重归一化——所有的权重值累加起来等于1

卷积核的尺寸——模板尺寸越大,平滑效果越强
高斯函数的标准差——方差越大,平滑效果越明显

在这里插入图片描述

高斯卷积核的性质:
 1. 去除图像中的“高频”成分(低通滤波器)
 2. 两个高斯卷积核卷积后得到的还是高斯卷积核
 3. 高斯卷积核可分离—可分离为两个一维高斯的乘积

4.5 中值滤波器

在这里插入图片描述

4.6 边缘提取

4.6.1 图像边缘

 1. 图像边缘——图像中亮度明显而急剧变化的点
边缘包含编码图像中的语义与形状信息;相比于像素表示,边缘表示显然更加紧凑
 2. 边缘的种类

在这里插入图片描述

 3. 计算图像梯度——求导
梯度指向灰度变化最快的方向

在这里插入图片描述
在这里插入图片描述

噪声会影响图像的求导,从而影响图像边缘的提取。
所以在图像求导之前需要对图片进行平滑操作

在这里插入图片描述

4.6.2 高斯一阶偏导模板与边缘提取

在这里插入图片描述
在这里插入图片描述

4.6.3 非极大值抑制

使得边缘的边更细

在这里插入图片描述

4.6.4 Canny边缘检测器

在这里插入图片描述

4.7 纹理表示

纹理的两种类型:规则纹理和随机纹理

4.7.1 基于卷积核组的纹理表示方法

原理:利用卷积核组提取图像中的纹理基,再利用纹理基的统计信息来表示图像中的纹理。
当不考虑特征的位置关系的时候,特征向量可用均值表示。

在这里插入图片描述

4.7.2 卷积核组的设计

卷积核的设计:
卷积核类型(边缘、条形以及点状)
卷积核尺度(3-6个尺度)
卷积核方向(6个角度)

在这里插入图片描述

卷积核组的生成过程由卷积神经网络去做

4.8 卷积神经网络

 1. 卷积神经网络的目的是做图像分类
 2. 全神经网络的瓶颈:
全神经网络:每一个隐层都会跟前面那层的所有神经元相连
所以当输入图像尺寸越大的时候,全神经网络每个隐层的神经元就会逐渐增多,计算量大,还会过拟合
 3. 卷积神经网络的构建:
图像->卷积核组->图像的特征向量->全神经网络->分类
 4. 卷积神经网络的组成:
 	-CONV——卷积层
	-RELU——激活层
	-POOL——池化层
	-FC——全连接层

4.8.1 卷积层

 1. 卷积网络中的卷积核
 	-不仅具有宽和高,还有深度,常写成:宽度*高度*深度
	-卷积核参数不仅包括核中存储的权值,还包括 一个偏置值
 2. 卷积网络中的卷积操作

在这里插入图片描述
在这里插入图片描述

 3. 卷积步长
在卷积神经网络中,卷积核可以按照指定的间隔进行卷积操作,这个间隔就是卷积步长。

在这里插入图片描述

 4. 边界填充
卷积神经网络中最常用的填充方式是零值填充。

在这里插入图片描述

 5. 特征相应图组尺寸计算

在这里插入图片描述

4.8.2 池化层


 1. 池化的作用
	对每一个特征响应图独立进行,降低特征相应图组中每个特征响应图的宽度和高度,减少后续卷积层的参数的数量,降低计算资源消耗,防止过拟合。
 2. 池化操作
	对特征响应图某个区域进行池化就是在该区域上指定一个值来代表整个区域。
 3. 常见的池化操作
	-最大池化——使用区域内的最大值来代表这个区域
	-平均池化——使用区域内所有值的均值作为代表
 4. 池化层的超参数
	-池化窗口
	-池化步长

在这里插入图片描述

5. 图像分割

5.1 语义分割

 1. 语义分割给每个像素分配类别标签,不区分实例,只考虑像素类别
 2. 语义分割思路——全卷积
	让整个网络只包含卷积层,一次性输出所有像素的类别预测。

在这里插入图片描述
在这里插入图片描述

 3. 下采样方法:池化、改变卷积核步长
 4. 上采样方法:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

转置卷积——可学习的上采样
将重叠区域的值进行求和,求和的权重由神经网络学习得到

在这里插入图片描述

将卷积核[x y z]的卷积操作写成矩阵相乘—在卷积过程中,卷积核是需要移动变化位置来进行卷积操作的,而矩阵相乘并没有位置移动变化。

在这里插入图片描述

因为输出的尺寸为6*1,所以需要将卷积核进行转置。前面为下采样,后面为上采样。转置卷积是可以学习的。

5.2 目标检测

 1. 分类+定位 不实用!!对于多目标而言, 不知道由多少个目标无法事先设置标答
 2. 利用CNN对图像中的区域进行多分类  不适用!!计算量巨大
 3. R-CNN

在这里插入图片描述

改进:从特征图上面取区域

在这里插入图片描述

产生感兴趣区域后,对区域进行裁剪和缩放的前提是区域可导
利用区域建议产生感兴趣区域耗时过高,所以进行改进,利用区域建议网络(神经网络)进行区域建议,让网络进行学习然后自己产生区域建议

在这里插入图片描述

区域建议网络的工作大致步骤
利用卷积对特征图片进行卷积(卷积核3*3)—>以区域中心点anchor为中心划分区域—>全连接层对以该中心点划分的区域进行分类,分为目标和非目标类—>对特征图片重复进行上述步骤,选取目标得分最高的前300个区域进行下一步

在这里插入图片描述

5.3 实例分割

对Faster R-CNN进行改进

在这里插入图片描述

6. 生成网络

6.1 无监督学习

在这里插入图片描述

相比于有监督学习的优点——获取数据成本低
希望从训练样本只分布中采样新数据

6.2 生成模型

 1. 生成模型主要关注密度估计问题(无监督学习的核心问题 )

在这里插入图片描述

 2. 密度估计的类别
	-显式的密度估计:显示的定义并求解分布pmodel(x)
	-隐式的密度估计:学习一个模型pmodel(x),而无需显示的定义它

6.3 PixelRNN/CNN模型

属于显式的密度模型

在这里插入图片描述

6.4 VAE模型

属于显式的密度估计
 1. 自编码器
	无监督的特征学习,其目标是利用无标签数据找到一个有效地低维的特征提取器。
	编码器用于图像分类和无监督学习。

在这里插入图片描述
在这里插入图片描述

 2. 解码器
	解码器用于图像生成
 3. VAE(变分自编码器)

在这里插入图片描述

生成z分布,然后从z分布采样生成图。

在这里插入图片描述

编码器后输出z向量,z向量上的每一维度都是一个属性。
z的每一个维度都有一个高斯分布。
通过神经网络得到z的每个维度高斯分布的σ、μ。
再将所有维度的各个高斯模型进行混合,得到最接近的高斯混合模型。
再利用混合高斯模型生成图像。
由于并不是所有的z都能生成高斯分布的。
所以只需要能用x产生高斯分布的z来描绘混合高斯模型。

在这里插入图片描述

6.5 GAN(生成对抗网络)模型

 1. 隐式的密度模型

在这里插入图片描述

 2. 生成网络和判别网络
	-生成网络:希望能够产生尽量真实的图片,进而骗过判别器
	-判别网络:期望能够准确的区别真假图片

在这里插入图片描述

 3. GAN的核心

在这里插入图片描述

 4. 过程
	阶段一:先训练判别器,利用真图像和假图像
	阶段二:训练生成器
	阶段三:重复上述步骤,直到网络训练完成。再抛弃判别网络,只需要生成器就可以生成图片了。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

 5. 原理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.6 DCGAN(卷积生成对抗网络)

 1. 生成器网络结构

在这里插入图片描述

对抗器的网络结构反过来
2. DCGAN提出了四种规则
①使用stride卷积替代池化层
②去除全连接层
③使用批归一化
④使用恰当的激活函数
	-生成网络用ReLU,输出层采用Tanh
	-判别器使用LeaklyReLU

6.8 LSGAN

当分布不重叠的时候,JS散步(损失)输出永远是log2,判别器D失去方向?
解决:提出最小均方立和GAN
判别器本来是二分类问题:即判别图像要么是真实的要么是生成的

在这里插入图片描述
在这里插入图片描述

普通GAN考虑的是JS距离,而LSGAN考虑的是卡方距离

6.9 WGAN

 1. 推土机距离

在这里插入图片描述

不是所有方案都是距离,只有最优的方案才是。

在这里插入图片描述

矩阵越亮的地方搬运得越多

6.10 条件GAN

在这里插入图片描述

给定y的情况下,判别器对x打分,以及对z打分
类别信息和噪声一起通过生成器生成假样本,再用类别信息选择真样本,最后将类别信息和真假样本送到判别器进行学习,并判断样本真假。

6.11 Text2Image

给一个语言句子生成一张图 

在这里插入图片描述
在这里插入图片描述

7. 循环神经网络(RNN)

 1. 文本用向量表示的方法——1-of-N encoding
将文本里面的关键单词构建成一个词典,向量的大小等于词典的大小。
向量的每一个维度都代表一个词。

在这里插入图片描述

2. 循环神经网络在全神经网络的基础上,引入了一个记忆单元。
循环神经网络用于处理时序问题。
循环神经网络做信息依赖的两种方式:

在这里插入图片描述

3. 双向的循环神经网络
依赖前后单词的信息对当前的词进行判定
将两个信息做全连接再输出slot

在这里插入图片描述

4. LSTM——对神经元进行修改

在这里插入图片描述
在这里插入图片描述

举例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

参数w是通过神经网络学习得到的,每一个神经元都有一组参数

在这里插入图片描述

向量c是上一刻的记忆单元cell,图中z矩阵相当于上图的w参数

在这里插入图片描述
在这里插入图片描述

5. 注意力机制
在循环神经网络上进行改进

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值