三三文章网 - 科技知识大全是专业科技新媒体网站。网站著眼于新一代科技新闻的全面及时处理报导,让网民在外面第二时间交待全球新一代的科技资讯。内容涵括AI+、互联网、IT、创业投资、核定、区块链、智能硬件等领域

CNN超参数优化和可视化技术详情-量子比特

  • 时间:
  • 浏览:0

深度学习包括各种深度网络结构,例如卷积神经网络(CNN、、convnet、长短存储网络(LSTM)、生成对抗网络)GAN。

在计算机视觉领域,卷积神经网络CNN的研究和应用取得了显著的成果。CNN互联网的最初诞生受到动物视觉神经机制的启发,目前已在机器视觉等领域取得成功。

技术博客Towards Data Science最近发表了作者Suki Lau的文章。我们研究了在卷积神经网络中如何调整超参数和可视化卷积层。

首先,电脑需要什么能力?

当我们看到猫跳到窗边或睡在沙发上时,我们的潜意识会认出它是猫。

我们希望计算机也能完成这项任务。也就是说,输入图像后,找到自己的特征,最终输出该图像的类别信息。

卷积神经网络可以完成这个任务。

对定义而言,卷积神经网络是一种特殊的神经网络,其中至少包含一个卷积层。在典型的网络结构中,可以输入一张图像,并通过一系列卷积层、非线性激活层、池化层和整个连接层输出相应的类别标签

卷积神经网络的特别之处在于它包含卷积层。

在经典神经网络中,整个图像被发送到网络以训练每个网络层的权重。就像一张Mnist手写的数字照片,输入一张简单居中的图像,网络识别的效果会更好,但如果你像一只跳到窗户上的小猫,输入一张更复杂、更多样的图像,网络识别的效果就会更低,甚至无法识别。

添加更多的隐式图层来学习输入图像的抽象特征可能会有帮助,但是增加神经元的数量,消耗训练所需的计算资源和过多的内存是不现实的。

识别目标的过程是寻找相关的低级特征,例如边缘、线段、曲线,然后使用多个卷积层构建更抽象的高级特征。

在卷积层的学习过程中,网络通过共享多个卷积内核(或特征检测器)的权重来学习每个图像的局部信息,并用于构建抽象特征图像。卷积核心的共享特性大大降低了网络训练所需的参数量。

由于经训练的检测器可通过卷积层组合检测图像中的抽象特征,卷积神经网络适用于复杂的图像识别任务。

在深度神经网络中,深度神经网络的训练耗时较长,需要放置多个参数,因此调整超参数组合并不容易。

下面,让我们简单地列举几个影响网络的重要超参数。

学习率

学习率是指在优化算法中更新网络权重的大小。

学习率可以是恒定的、逐渐降低的、基于运动量的或自适应的。采用何种学习率取决于SGD、Adam、Adagrad、AdaDelta或RMSProp等所选择的优化算法的类型

关于优化策略的内容,请参考量子比特之前编译的“一文中可以看出的各种神经网络优化算法:从梯度下降到Adam方法”。

重复次数

迭代次数是指整个训练集输入神经网络进行训练的次数。如果测试错误率和培训错误率不同,则认为当前迭代次数是适当的。否则,您需要继续增加迭代次数或调整网络结构。

批量大小

在卷积神经网络的学习过程中,小批量表现得更好,选择范围通常在区间[16,128]内。

CNN还应注意,网络对批量大小的调整非常敏感。

启用函数

激活函数具有非线性,理论上可以将模型拟合到任何函数。通常,网络中的rectifier函数的效果很好。当然,您也可以根据实际任务选择其他类型的激活函数,如Sigmoid或Tanh。

隐藏的层数和单元数

如果通过增加隐式层数来加深网络深度,网络性能会有所改善,但如果测试错误率不再降低,则需要探索其他改进方法。增加隐层的数量还存在提高训练网络的计算成本的问题。

网络中的单元数过少可能会导致拟合不充分,但如果单元数过多,采用适当的归一化方式,则不会造成不良影响。

权重初始化

网络通常使用小随机数来初始化每个网络层的权重,以防止产生不活跃的神经元,但是设置太小的随机数可能会生成零梯度网络。通常,均匀分布的方法是有效的。

拔模方法

作为一种常见的正则化方案,加入Dropout层可以减弱深层神经网络的过拟合效应。该方法不根据设定的概率参数在每次训练中随机激活一定比例的神经单元。此参数的默认值为0.5。

手动调整超参数需要很长时间,这是不现实的。下面介绍两种查找最佳超参数的常用方法。

网格搜索和随机搜索

网格搜索是通过网络方法列出不同参数的组合以确定性能最高的结构。随机搜索是从具有特定分布的参数空间中提取一定数量的组合候选。

网格搜索方法也需要制定战略,优选在初始阶段决定各超参数值的大致范围。首先,如果迭代次数较少或训练集规模较小,请尝试使用具有较大条带的网格搜索。然后,在下一阶段,您可以将迭代次数设置得更大,或者使用整个训练集来实现小的精确对齐。

许多机器学习算法通常采用网格搜索来确定超参数组合,但随着参数量的增大,训练网络所需的计算量呈指数增长,在深层神经网络超参数调整时效果不大。

一项研究表明,在深度神经网络的超参数调整中,随机搜索方法比网格搜索更有效。具体可以参考句末的“随机搜索在超参数优化中的应用”。

当然,根据神经网络的理论经验,在一些场景中进行超参数的手动调整也是可能的。

通过可视化各个卷积层,可以更好地了解网络如何学习输入图像的特征。

可视化有两种直接方式,分别可视化激活程度和与可视化相关的权重。在网络训练过程中,卷积层的激活状况通常会变得更加稀疏,具有局部特性。如果不同输入图像的激活映射中未激活的区域太大,则由于学习率太高,卷积内核无法发挥作用,可能生成了零激活图像。

性能良好的神经网络通常包括多个明显平滑的卷积器,无干扰特性。如果权重具有相关干扰特性,则可能由于网络未被充分训练或归一化强度低而产生过拟合效应。

1.深度结构中梯度方法的一些实用建议(Yoshua Bengio):

https://arxiv.org/abs/1206.5533

2.将随机搜索应用于超参数优化:

HTTP://www.jmlr.org/papers/volume13/Bergstra12a/Bergstra12a.pdf

3.CS231n课程理解卷积神经网络并可视化:

htps://cs231n.github.io/understanding-CNN/

4.如何使用网格搜索优化深度学习模型的超参数(Keras):

HTTP://machinelearningmastery.com/grid-search-hyperparameters-deep-learning-models-python-keras/

【完】