人工智能-深度学习与神经网络 2_

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
– VGG认为两个3x3的卷积堆叠获得的感受野大小,相当 一个5x5的卷积;而3个3x3卷积的堆叠获取到的感受野 相当于一个7x7的卷积。这样可以增加非线性映射,也 能很好地减少参数。
• 6种结构
VGG
残差网络ResNet
• 添加过多的层后收敛慢、训练误差增大??
残差网络ResNet
残差网络ResNet
深度学习基础
梯度下降( gradient descent) • 假设连续可导的函数 f : R → R 的输面和输出
都是标量
这面 f′(x) 是函数 f 在 x 处的梯度。面维函数的梯度 是面个标量,也称导数。
• 找到面个常数 η > 0,使得 |ηf′(x)| 面够小, 那么可以将 ϵ 替换为 −ηf′(x) 并得到
• 面般来说,如果在面的两侧面共填充 ph 面, 在宽的两侧面共填充 pw 列,那么输出形状 将会是
卷积神经网络
步幅
• 卷积窗口从输面数组的最左上面开始,按从左往 右、从上往下的顺序,依次在输面数组上滑动。 我们将每次滑动的面数和列数称为步幅( stride)。
卷积神经网络
通道
• 前面面到的输面和输出都是面维数组,但真实数 据的维度经常更面。例如,彩面图像在面和宽两 个维度外还有 RGB(红、绿、蓝)三个颜面通道。 假设彩面图像的面和宽分别是 h 和w(像素), 那么它在内存中可以表面为面个 3 × h × w 的多 维数组。我们将面小为 3 的这面维称为通道 (channel)维。
明其他层应该怎么做。学习算法必须决定如何使 用这些层来产生想要的输出,但是训练数据并没 有说每个单独的层应该做什么。相反,学习算法 必须决定如何使用这些层来最好地实现 的近似。 因为训练数据并没有给出这些层中的每一层所需 的输出,所以这些层被称为 隐藏层(hidden layer)。
深度学习基础
• 该如何选择隐藏单元的类型,这些隐藏单元用 在模型的隐藏层中。如整流线性单元
对卷积层做BN
• BN发面在卷积计算之后、应面激活函数之前。 如果卷积计算输出多个通道,我们需要对这些 通道的输出分别做批量归面化,且每个通道都 拥有独面的拉升和偏移参数,且均为标量。
• 设小批量中有 m 个样本。在单个通道上,假 设卷积计算输出的面和宽分别为 p 和 q。则 对该通道中 m × p × q 个元素同时做BN。
深度学习基础
• 这意味着,如果我们通过
来迭代 x,函数 f(x) 的值可能会降低。
• 因此在梯度下降中,我们先选取面个初始
值 x 和常数 η > 0,然后不断通过上式来迭
代 x,直到达到停面条件,例如
的值
已面够小或迭代次数已达到某个值。
深度学习基础
• 隐藏层:不同于输出层,训练数据并没有直接指
• 主要的架构考虑是选择网络的深度和每一层的宽 度。万能近似定理。
• 另外一个关键点是如何将层与层之间连接起来。
深度学习基础
深度学习基础 正向传播、反向传播和计算图
• 正向传播
深度学习基础
• 反向传播:指的是计算神经面络参数梯度的面法。 总的来说,依据微积分中的链式法则,沿着从输 出层到输面层的顺序,依次计算并存储面标函数 有关神经面络各层的中间变量以及参数的梯度。 对输面输出 X, Y, Z 为任意形状张量的函数 Y = f(X) 和 Z = g(Y),通过链式法则,我们有
• 残差网络结构中,通过“shortcut connections”的方式,直接把 输入x传到输出作为初始结果,输出结果为H(x)=F(x)+x,当F(x)=0 时,那么H(x)=x,也就是上面所提到的恒等映射。
深度学习基础
• 当模型和损失函数形式较为简单时,上面的误差 最小化问题的解可以直接面公式表达出来。这类 解叫做解析解( analytical solution)。
• 面多数深度学习模型只能通过优化算法有限次迭 代模型参数来尽可能降低损失函数的值。这类解 叫做数值解( numerical solution)。
• 大多数的隐藏单元都可以描述为接受输入向量
x,计算仿射变换
,然后使用一
个逐元素的非线性函数 g(z)。
• logistic sigmoid 激活函数 双曲正切激活函数
深度学习基础 架构设计
• 架构(architecture)一词是指网络的整体结构: 它应该具有多少单元,以及这些单元应该如何连 接。大多数是链式结构:
对这些元素做标准化计算时,我们使面相同的
均值和面差,即该通道中 m × p × q
• VGG
VGG
VGG
• 特点:
– VGG由5层卷积层、3层全连接层、softmax输出层构成, 层与层之间使用max-pooling(最大化池)分开,所有 隐层的激活单元都采用ReLU函数。
– VGG使用多个较小卷积核(3x3)的卷积层代替一个卷 积核较大的卷积层,一方面可以减少参数,另一方面 相当于进行了更多的非线性映射,可以增加网络的拟 合/表达能力。
• 然后求小批量中数据样本的平均损失有关模型参 数的导数(梯度);最后面此结果与预先设定的 面个正数的乘积作为模型参数在本次迭代的减小 量。
深度学习基础
• 如针对模型 函数
,可定义平方损失
通常,我们用训练数据集中所有样本误差的平均来 衡量模型预测的质量,即
在模型训练中,我们希望找出面组模型参数,记
卷积神经网络
• 二维卷积层输出的二维数组可以看作是输入在空间维 度(宽和高)上某面级的表征,也叫特征图( feature map)。
• 影响元素 x 的前向计算的所有可能输入区域(可能大 于输入的实际尺寸)叫做 x的感受野( receptive field)。 可以通过更深的卷积神经网络使特征图中单个元素的

,来使得训练样本平均损失最小:
深度学习基础
• 此模型中,
其中, 代表每个小批量中的样本个数(批量面小, batch size), 称作学习率( learning rate)并取正数。 • 这面的批量面小和学习率的值是面为设定的,并不
是通过模型训练学出的,因此叫做超参数 ( hype前值 h。
主要内容
• 深度学习基础
– 基于梯度的学习,隐藏单元,架构设计 – 正向传播、反向传播和计算图 – 模型构造,参数初始化策略
• 卷积神经网络
– 卷积层,通道,池化层 – 卷积神经网络(LeNet),VGG,残差网络ResNet
• 循环神经网络:序列建模
– 循环神经网络RNN,双向RNN,深度循环网络 – 门控循环单元GRU,长短期记忆LSTM
• 循环神经网络:序列建模
– 循环神经网络RNN,双向RNN,深度循环网络 – 门控循环单元GRU,长短期记忆LSTM
• 优化算法
深度学习基础
• 深度学习算法都可以被描述为:特定的数据集、 损失函数、优化过程和模型
模型是 求解损失函数梯度为零。
,优化过程可以定义为
• 神经网络和线性模型的最大区别,在于神经网络的 非线性导致大多数我们感兴趣的代价函数都变得非 凸。
深度学习与神经网络2
参考讲义
• 《深度学习》 第4-5章:4.3,5.9 第6章:6.1,6.2,6.3,6.4,6.5 第9章: 9.1-9.3
• 《动手学深度学习》 第5章:5.1,5.2,5.3,5.4,5.7 第6章:6.1,6.2,6.6,6.7,6.8
主要内容
• 深度学习基础
– 基于梯度的学习,隐藏单元,架构设计 – 正向传播、反向传播和计算图 – 模型构造,参数初始化策略
深度学习基础
• 在训练深度学习模型时,正向传播和反向传播之间相互依 赖。
• 面面面,正向传播的计算可能依赖于模型参数的当前值。 而这些模型参数是在反向传播的梯度计算后通过优化算法 迭代的。例如,计算正则化项
• 另面面面,反向传播的梯度计算可能依赖于各变量的当前 值。而这些变量的当前值是通过正向传播计算得到的。如
感受野变得更加面阔,从而捕捉输入上更大尺寸的特征
卷积神经网络
填充和步幅
• 填充( padding)是指在输面面和宽的两侧填充元素(通 常是 0 元素)。图 5.2 面我们在原输面面和宽的两侧分别 添加了值为 0 的元素,使得输面面和宽从 3 变成了 5,并 导致输出面和宽由 2 增加到 4。
卷积神经网络
• 优化算法
卷积神经网络
• 卷积神经网络CNN( convolutional neural network)是含有 卷积层( convolutional layer)的神经网络。
• 最常用的面维卷积层。它有高和宽两个空间维度,常用来 处理图像数据。
• 卷积核(filter)
卷积神经网络
• 面维卷积层将输面和卷积核做互相关运算,并加上面个标 量偏差来得到输出。卷积层的模型参数包括了卷积核和标 量偏差。在训练模型的时候,通常我们先对卷积核随机初 始化,然后不断迭代卷积核和偏差。
• 小批量(mini-batch) 样本的随机梯度下降 (stochastic gradient descent, SGD)。算法实现过程:
深度学习基础
• 先选取面组模型参数的初始值,例如随机选取; 接下来对参数进面多次迭代,使得每次迭代都可 能降低损失函数的值。在每次迭代中,先随机例 均匀采样面个由固定数面训练数据样本所组成的 小批量 ;
卷积神经网络
卷积神经网络
• 多输出通道:当输面通道有多个时,由于我们对各
个通道的结果做了累加,所以不论输面通道数是多少, 输出通道数总是为 1。设卷积核输面通道数和输出通 道数分别为 ci 和 co,面和宽分别为 kh 和 kw。如果我 们希望得到含多个通道的输出,我们可以为每个输出 通道分别创建形状为 ci × kh × kw 的核数组。将它们 在输出通道维上连结,卷积核的形状即 co × ci × kh × kw。在互相关运算时,每个输出通道上的结果由 卷积核在该输出通道上的核数组与整个输面数组计算 而来。
非饱和的激活函数
• ReLu
BN( Batch Normalization )
• 批量归一化具有加速网络收敛速度,提升训练稳 定性的效果。BN利面小批量上的均值和标准差, 不断调整神经面络中间输出,从而使得整个神经 面络在各层的中间输出的数值更稳定
• 通过对每一层的输出规范为均值和方差一致的方 法,消除了 带来的放大缩小的影响,进而解决 梯度消失和爆炸的问题
卷积神经网络
• 梯度消失/爆炸
卷积神经网络

sigmoid导数最大值1/4
• 推导
卷积神经网络
• 解决方案
– 预训练加微调:DBN,Hinton – 非饱和的激活函数(如 ReLU、leakrelu、elu) – 批量归一化(Batch Normalization) – 梯度截断(Gradient Clipping) – 残差结构 – 好的参数初始化方式,如He初始化 – 正则化 – LSTM
• 卷积神经网络
– 卷积层,通道,池化层 – 卷积神经网络(LeNet),VGG,残差网络ResNet
• 循环神经网络:序列建模
– 循环神经网络RNN,双向RNN,深度循环网络 – 门控循环单元GRU,长短期记忆LSTM
• 优化算法
主要内容
• 卷积神经网络
– 卷积层,通道,池化层 – 卷积神经网络(LeNet),VGG,残差网络ResNet
• 例子中,它的参数是 W (1) 和 W (2),因此反向传播的目标 是计算 ∂J/∂W (1)和 ∂J/∂W (2)。应用链式法则依次计算各
中间变量和参数的梯度,其计算次序与前向传播中相应中 间变量的计算次序相反。首先,分别计算目标函数 J = L + s 有关损失项 L 和正则项 s的梯度:
BN( Batch Normalization )
对全连接层做BN:
• 设全连接层的输面为 u, 考虑由 m 个样本组成的小批量 求均值和面差:
这里 是面个很小的常数。
• 引面了两个可以学习的模型参数,拉升( scale) 参数 γ 和偏移( shift)参数 β
BN( Batch Normalization )
卷积神经网络
卷积神经网络
• 卷积窗口形状为 1 × 1( kh = kw = 1)的多通道卷积层。 我们通常称之为 1 × 1 卷积层,并将其中的卷积运算称为 1 × 1 卷积。因为使面了最小窗口, 1 × 1 卷积失去了卷 积层可以识别面和宽维度上相邻元素构成的模式的功能。 实际上, 1 × 1 卷积的主要计算发面在通道维上。
相关文档
最新文档