前言:
现时大家对“常见的池化操作有哪些”可能比较重视,大家都想要学习一些“常见的池化操作有哪些”的相关知识。那么小编在网摘上搜集了一些有关“常见的池化操作有哪些””的相关知识,希望看官们能喜欢,你们快快来了解一下吧!第9章 前向神经网络
深度前馈网络(Deep Feedforward Networks)是一种典型的深度学习模型。其目标为拟合某个函数f,即定义映射y=f (x;θ)将输入x转化为某种预测的输出y,并同时学习网络参数θ的值,使模型得到最优的函数近似。由于从输入到输出的过程中不存在与模型自身的反馈连接,此类模型被称为“前馈”。
9.1 多层感知机表示异或逻辑时最少需要几个隐含层(仅考虑二元输入)?
我们先来分析一下具有零个隐藏层的情况(等同于逻辑回归)能否表示异或运算。仅考虑二元输入的情况,设X取值为0或1,Y的取值也为0或1,Z为异或运算的输出。也就是,当X和Y相同时,异或输出为0,否则为1,具体的真值表如表9.1所示:
X
Y
Z=X+Y
1
1
1
1
1
1
逻辑回归的公式: Z=sigmoid(AX+BY+C)
其中Sigmoid激活函数是单调递增的:当AX+BY+C的取值增大时,Z的取值也增大;当AX+BY+C的取值减少时,Z的取值也减小。而AX+BY+C对于X和Y的变化也是单调的,当参数A为正数时,AX+BY+C以及Z的取值随X单调递增;当A取负数时,AX+BY+C和Z随X单调递减;当参数A为0时,Z的值与X无关。观察异或运算的真值表,当Y=0时,将X的取值从0变到1将使输出Z也从0变为1,说明此时Z的变化与X是正相关的,需要设置A为正数;而当Y=1时,将X的取值从0变为1将导致输出Z从1变为0,此时Z与X是负相关的,需要设置A为负数,与前面矛盾。因此,采用逻辑回归(即不带隐藏层的感知机)无法精确学习出一个输出为异或的模型表示。
通过精心设计一个模型参数以说明包含一个隐含层的多层感知机就可以确切地计算异或函数:
隐层神经元Z 1 的真值表:
X
Y
H1 = X+Y-1
Z1=max(0,H)
-1
1
1
1
1
1
1
隐层神经元Z 2 的真值表:
X
Y
H2 = -X-Y+1
Z2=max(0,H)
1
1
1
1
1
1
-1
输出层Z的真值表:
Z1
Z2
Z=Z1 + Z2
1
1
1
1
9.2 如果只使用一个隐层,需要多少隐节点能够实现包含n元输入的任意布尔函数?
9.3 考虑多隐层的情况,实现包含n元输入的任意布尔函数最少需要多少个网络节点和网络层?
9.4 写出常用激活函数及其导数。
9.5 为什么Sigmoid和Tanh激活函数会导致梯度消失的现象?
Sigmoid激活函数的曲线如图9.7所示。它将输入z映射到区间(0,1),当z很大时,f(z)趋近于1;当z很小时,f(z)趋近于0。其导数 在z很大或很小时都会趋近于0,造成梯度消失的现象。
Tanh激活函数的曲线如图9.8所示。当z很大时,f(z)趋近于1;当z很小时,f(z)趋近于−1。其导数 在z很大或很小时都会趋近于0,同样会出现“梯度消失”。实际上,Tanh激活函数相当于Sigmoid的平移:tanh(x)=2sigmoid(2x)−1 .
9.6 ReLU系列的激活函数相对于Sigmoid和Tanh激活函数的优点是什么?它们有什么局限性以及如何改进?
优点:
(1)从计算的角度上,Sigmoid和Tanh激活函数均需要计算指数,复杂度高,而ReLU只需要一个阈值即可得到激活值。
(2)ReLU的非饱和性可以有效地解决梯度消失的问题,提供相对宽的激活边界。
(3)ReLU的单侧抑制提供了网络的稀疏表达能力。
局限性:
ReLU的局限性在于其训练过程中会导致神经元死亡的问题。这是由于函数f(x)=max(0,z)导致负梯度在经过该ReLU单元时被置为0,且在之后也不被任何数据激活,即流经该神经元的梯度永远为0,不对任何数据产生响应。在实际训练中,如果学习率(Learning Rate)设置较大,会导致超过一定比例的神经元不可逆死亡,进而参数梯度无法更新,整个训练过程失败。
改进:
设计了ReLU的变种Leaky ReLU(LReLU):
9.7 写出多层感知机的平方误差和交叉熵损失函数。
9.8 根据问题1中定义的损失函数,推导各层参数更新的梯度计算公式。
9.9 平方误差损失函数和交叉熵损失函数分别适合什么场景?
平方损失函数更适合输出为连续,并且最后一层不含Sigmoid或Softmax激活函数的神经网络;交叉熵损失则更适合二分类或多分类的场景。
9.10 神经网络训练时是否可以将全部参数初始化为0?
9.11 为什么Dropout可以抑制过拟合?它的工作原理和实现?
9.12 批量归一化的基本动机与原理是什么?在卷积神经网络中如何使用?
9.13 卷积操作的本质特性包括稀疏交互和参数共享,具体解释这两种特性及其作用。
9.14 常用的池化操作有哪些?池化的作用是什么?
常用的池化操作主要针对非重叠区域,包括均值池化(mean pooling)、最大池化(max pooling)等。其中均值池化通过对邻域内特征数值求平均来实现,能够抑制由于邻域大小受限造成估计值方差增大的现象,特点是对背景的保留效果更好。最大池化则通过取邻域内特征的最大值来实现,能够抑制网络参数误差造成估计均值偏移的现象,特点是更好地提取纹理信息。池化操作的本质是降采样。
池化操作除了能显著降低参数量外,还能够保持对平移、伸缩、旋转操作的不变性。平移不变性是指输出结果对输入的小量平移基本保持不变。
9.15 卷积神经网络如何用于文本分类任务?
对于文本来说,局部特征就是由若干单词组成的滑动窗口,类似于N-gram。卷积神经网络的优势在于能够自动地对N-gram特征进行组合和筛选,获得不同抽象层次的语义信息。由于在每次卷积中采用了共享权重的机制,因此它的训练速度相对较快,在实际的文本分类任务中取得了非常不错的效果。
9.16 ResNet的提出背景和核心理论是什么?
标签: #常见的池化操作有哪些