深度迁移学习深度学习

合集下载

迁移学习在深度学习中的应用

迁移学习在深度学习中的应用

迁移学习在深度学习中的应用深度学习作为一种机器学习的方法,已经在各个领域中取得了巨大的成功。

然而,训练一个强大的深度学习模型通常需要大量的标注数据和计算资源,这在现实世界中并不总是容易实现的。

迁移学习正是为了解决这个问题而发展起来的一种方法。

它允许我们利用一个领域中已经训练好的模型,来辅助解决另一个相关领域的问题。

本文将探讨迁移学习在深度学习中的应用,包括迁移学习的概念、在深度学习中的常见应用场景以及优势和挑战。

首先,我们需要了解什么是迁移学习。

迁移学习是一种机器学习的方法,它通过将已经学到的知识迁移到其他相关任务上,可以加速新任务的学习过程或提高其性能。

传统的机器学习方法通常在完全独立的数据集上训练模型,而迁移学习则允许在相关但不完全相同的任务上共享知识。

这样一来,我们就可以充分利用已经学到的特征和模式,从而在新任务上取得更好的效果。

迁移学习在深度学习中的应用非常广泛,以下是一些常见的应用场景。

首先,迁移学习可以用于解决数据稀缺的问题。

深度学习通常需要大量的标注数据来进行训练,然而在某些领域,标注数据往往非常有限。

通过迁移学习,我们可以利用一个数据量较大且相关的领域的模型来提取特征,然后将这些特征用于目标任务的训练。

这样可以显著减少训练数据的需求,同时还能提高模型的性能。

其次,迁移学习可以用于解决领域间分布差异的问题。

在现实世界中,不同领域的数据往往存在一定的分布差异,这给深度学习带来了挑战。

通过迁移学习,我们可以通过预训练好的模型来学习领域通用的特征表示,然后再通过微调的方式将模型适应到目标领域。

这样可以避免从头开始训练模型的麻烦,并且提高了模型在目标领域上的性能。

此外,迁移学习还可以用于解决多任务学习的问题。

在多任务学习中,我们需要同时训练模型来完成多个相关的任务。

通过迁移学习,我们可以利用已经训练好的模型来共享知识,从而提高多个任务的性能。

这种方式不仅可以减少训练时间和计算资源的需求,还可以通过任务间的相互学习来提高整体性能。

深度学习技术的迁移学习策略与实践

深度学习技术的迁移学习策略与实践

深度学习技术的迁移学习策略与实践一、深度学习技术的迁移学习策略1.1 什么是迁移学习在机器学习领域中,迁移学习是指利用已经训练好的神经网络(或其他模型)的知识和参数,来解决不同但相关领域的问题。

也就是说,通过将一个已经在某个特定任务上训练得到的深度学习模型应用到另一个任务上,以提高新任务的准确性和效果。

1.2 迁移学习的意义与优势传统的机器学习方法需要大量标注数据进行训练才能达到较好的效果。

然而,在真实世界中,很多任务往往缺少足够数量和质量的标注样本。

迁移学习则可以通过利用已有知识、参数等方面的信息来减少对大规模标注数据依赖。

此外,迁移学习还可以帮助解决"数据倾斜"问题。

在现实场景中,常常会出现类别不平衡的情况,即某些类别拥有更多样本而其他类别样本较少。

这样会导致传统机器学习方法出现预测偏差。

而通过从旧任务中迁移学习,可以平衡类别之间的样本分布,从而提高模型的性能。

1.3 迁移学习中的策略与方法在实践中,有多种迁移学习策略和方法可供选择。

下面介绍几种常见的迁移学习方法:(1)基于特征表示的迁移学习:该方法将已训练好的模型作为特征提取器,将输入数据映射到新任务所需的特征空间。

这样做的好处是可以重复使用旧模型已经学到的知识,并且由于只需要调整少部分参数,训练时间相对较短。

(2)网络微调(Fine-tuning):该方法是在已经训练好的模型基础上再进行微调。

首先,将原始网络结构冻结住,只对最后几层进行重新训练。

然后逐渐解冻其他层,并在更少数量的步骤内微调整个网络。

(3)预训练与微调:预训练指在大规模无标注数据上进行初步训练得到一个辅助任务上表现良好的深度学习模型,并利用其参数初始化新任务所需网络。

随后,在目标任务上进一步优化模型。

这种方法通常应用于深度神经网络模型中。

(4)领域自适应:当源领域和目标领域的数据存在差异时,可以通过领域自适应方法来减小这种差异。

主要有实例权重调整、特征选择与映射等方法。

深度学习模型的迁移学习方法和技巧总结

深度学习模型的迁移学习方法和技巧总结

深度学习模型的迁移学习方法和技巧总结在当前数据爆炸和计算能力的迅速发展下,深度学习已成为解决各类复杂问题的重要工具。

然而,深度学习模型的训练通常需要大量的数据和计算资源,因此,针对特定任务进行训练可能存在数据不足和计算复杂度高的问题。

这时,迁移学习(Transfer Learning)作为一种有效的方法和技巧,可以帮助解决这些问题。

迁移学习是利用已经训练过的模型或特征表示,将其迁移到新的任务上,从而提高新任务的性能。

下面将总结一些常见的深度学习模型的迁移学习方法和技巧。

1. 基于预训练模型的微调(Fine-tuning):这是迁移学习中最常见的方法之一。

首先,选择一个在大规模数据集上训练过的深度学习模型,如ImageNet数据集上的VGGNet、ResNet 或Inception等。

然后,将该模型的权重参数加载到新的任务中,并根据新任务的数据集进行微调,只更新部分网络层的参数。

通过这种方式,可以利用预训练模型所学习到的通用特征来提取新任务中的有效特征。

2. 特征提取与微调结合:除了简单的微调外,还可以通过在预训练模型上进行特征提取,并将提取到的特征作为输入,加上一些新的全连接层或其他分类器来训练新的任务。

这样可以更好地利用预训练模型所学到的特征,避免对整个模型进行微调时可能出现的梯度消失或梯度爆炸等问题。

3. 多任务学习(Multi-task Learning):在多个相关任务上共享一个深度学习模型,可以显著提高单个任务的性能。

通过将不同任务的数据集和标签进行整合,可以使模型学习到更加具有泛化能力的特征表示。

这种方法尤其适用于数据集较小的情况下,可以通过相互之间的信息共享来增强模型的表现。

4. 领域自适应(Domain Adaptation):当源域和目标域的数据分布不同的时候,传统的迁移学习方法可能会出现较大的性能差异。

为了解决这个问题,可以通过领域自适应方法来调整模型,使其在目标域上更好地适应。

深度迁移学习深度学习

深度迁移学习深度学习

深度迁移学习一、深度学习1)ImageNet Classification with Deep Convolutional Neural Networks主要思想:该神经网络有6000万个参数和650,000个神经元,由五个卷积层,以及某些卷积层后跟着的max-pooling层,和三个全连接层,还有排在最后的1000-way的softmax层组成。

使用了非饱和的神经元和一个非常高效的GPU关于卷积运算的工具。

1、采用了最新开发的正则化方法,称为“dropout”。

2、采用ReLU来代替传统的tanh引入非线性,;3、采用2块显卡来进行并行计算,减少了更多显卡需要主机传递数据的时间消耗,在结构上,部分分布在不同显卡上面的前后层节点之间无连接,从而提高了训练速度;4、同层相邻节点的响应进行局部归一化提高了识别率(top5错误率降低1.2%);5、有交叠的pooling(top5错误率降低0.3%);体系架构:(1)ReLU训练带ReLUs的深度卷积神经网络比带tanh单元的同等网络要快好几倍。

如下图,带ReLU的四层卷积神经网络(实线)在CIFAR-10数据集上达到25%训练误差率要比带tanh神经元的同等网络(虚线)快六倍。

(2)在多个GPU上训练(3)局部响应归一化具体见Very Deep Convolutional Networks for Large-Scale Image Recognition(4)重叠Pooling每个网格间隔距离为s,而每一次进行降采样将从网格中心为中心,采样z*z个像素。

如果s=z,则与传统方法相同,而如果s<z,则会进行重复采样。

本文章将s=2,z=3,成功的将Top-1和Top-5的错误率分别降低了0.4%和0.3%(与s=2,z=2相比)。

而且,在实验中发现,采用重叠采样将会略微更难产生过拟合。

(5)总体结构该网络包括八个带权层;前五层是卷积层,剩下三层是全连接层。

深度学习模型的迁移学习技巧

深度学习模型的迁移学习技巧

深度学习模型的迁移学习技巧迁移学习是机器学习领域中一种重要的技巧,尤其在深度学习任务中具有广泛的应用。

它通过将已经训练好的模型的知识迁移到新的任务上,从而提高新任务的性能。

迁移学习不仅可以加快新模型的训练速度,还可以解决数据稀缺问题,改善模型的泛化能力。

本文将介绍一些深度学习模型的迁移学习技巧,帮助读者在实践中提高模型的性能。

一、迁移学习的概念与原理迁移学习是基于假设,即源领域和目标领域之间存在一些类别和特征的共享或相关性。

通过将源领域中的知识迁移到目标领域中,可以帮助目标领域的学习过程。

迁移学习主要分为两种类型:基于特征的迁移学习和基于模型的迁移学习。

基于特征的迁移学习将源领域的特征转移到目标领域,然后使用目标领域的标记数据训练模型。

基于模型的迁移学习则将源领域的模型直接应用于目标领域。

具体的迁移学习方法包括特征提取、领域自适应和多任务学习等。

二、特征提取特征提取是最常用的迁移学习方法之一。

现有的深度学习模型在底层已经学习到了一些通用的特征,这些特征具有很强的泛化能力。

我们可以将这些特征提取出来,并作为新模型的输入,从而加快新模型的训练速度和提高性能。

在进行特征提取时,我们通常可以使用已经训练好的模型,如VGG16、ResNet等。

这些模型可以直接下载并加载到我们的程序中。

然后,我们可以冻结模型的卷积层,只训练上层的全连接层或其他特定的层。

这样可以避免过拟合,并且可以利用底层模型学习到的特征。

通过这种方式,我们可以很容易地将深度学习模型迁移到新的任务中。

三、领域自适应领域自适应是一种解决源领域和目标领域分布不一致的迁移学习方法。

这种情况下,直接应用源领域的模型可能会导致性能下降。

领域自适应的目标是通过对源领域和目标领域进行适应性调整,使得模型在目标领域上表现更好。

领域自适应的方法有很多种,例如对抗训练和领域间相似性最大化。

对抗训练通过最小化源领域和目标领域之间的分布差异,来提高模型在目标领域上的性能。

深度学习中的迁移学习如何将已训练好的模型应用于新任务

深度学习中的迁移学习如何将已训练好的模型应用于新任务

深度学习中的迁移学习如何将已训练好的模型应用于新任务深度学习是一种基于神经网络的人工智能技术,它已经被广泛应用于图像识别、自然语言处理和语音识别等领域。

然而,深度学习所需要的数据量和计算资源很大,因此在实际应用中,往往需要一些技巧来提高模型的性能。

其中一种常用的技巧就是迁移学习,它可以将已经训练好的模型应用于新的任务,从而加速训练过程并提高模型的性能。

一、迁移学习的定义和分类迁移学习通常被定义为,利用已经学习到的知识来解决新问题的一种机器学习技术。

它可以将一个领域中已经训练好的模型应用于另一个领域中的问题,从而加速训练过程并提高模型的性能。

根据迁移学习的来源,它可以分为以下几类:1. 基于相同领域的迁移学习当新的任务和原来的任务在同一个领域中时,我们可以通过微调(fine-tuning)的方式来进行迁移学习。

微调是指,将已经训练好的模型的一部分或全部参数保持不变,只对新的任务进行调整。

2. 基于相似领域的迁移学习当新的任务和原来的任务在相似的领域中时,我们可以通过共享层(shared layers)的方式来进行迁移学习。

共享层是指,将已经训练好的模型的一部分层迁移到新的任务中,并在此基础上继续训练。

3. 基于不同领域的迁移学习当新的任务和原来的任务在不同的领域中时,我们可以通过预训练(pre-training)的方式来进行迁移学习。

预训练是指,在原来的任务中进行无监督学习,学习到数据的一些通用特征,然后将这些特征应用于新的任务中进行训练。

二、深度学习中的迁移学习应用深度学习中的迁移学习已经被广泛应用于各个领域。

下面列举几个实际应用的例子:1. 图像识别在图像识别任务中,基于相同领域的迁移学习是最常用的方法。

例如,我们可以将在大规模图像数据集上预训练的卷积神经网络模型应用于新的图像识别任务中。

这样可以节省训练时间并提高模型的准确率。

2. 自然语言处理在自然语言处理任务中,基于相似领域的迁移学习是比较常用的方法。

深度学习的迁移学习与增强学习

深度学习的迁移学习与增强学习

深度学习的迁移学习与增强学习深度学习是人工智能领域中一种备受关注的技术,它利用人工神经网络模拟人脑的学习过程,以从大规模数据中学习复杂的模式和关系。

而迁移学习和增强学习则是深度学习领域中的两个重要分支,它们是在不同的应用场景下对深度学习算法进行有效改进和优化的方法。

本文将重点讨论深度学习的迁移学习与增强学习及其在实际应用中的价值和挑战。

迁移学习是指在一个领域训练好的模型可以迁移到另一个相关领域并进行调整,以提高模型在目标领域的性能。

这种方式可以减少在新领域收集大量数据和重新训练模型的成本,同时还能够充分利用在源领域学到的知识和经验。

迁移学习在许多实际应用中都得到了广泛的应用,例如在图像识别、自然语言处理和推荐系统等领域。

通过迁移学习,我们可以将在一个领域中具有丰富经验和知识的模型应用到另一个领域,并取得更好的效果。

对于深度学习来说,迁移学习也是一种非常有效的方法。

深度学习模型通常需要大量的数据进行训练,但在实际应用中往往很难获得足够的数据。

通过迁移学习,我们可以利用在一个领域中训练好的深度学习模型,通过微调或调整参数的方式,在另一个领域中取得更好的效果。

这种方法不仅可以提高模型的泛化能力,还可以减少训练时间和成本,提高模型的效率和性能。

在深度学习的迁移学习中,一个核心问题是如何选择源领域和目标领域,以及如何设计有效的迁移学习策略。

源领域和目标领域之间的差异性越大,迁移学习的难度就越大。

因此,我们需要根据不同的应用场景和需求来选择合适的源领域和目标领域,并设计合理的迁移学习策略。

此外,还需要考虑模型的迁移能力和稳定性,以及如何在迁移学习过程中避免过拟合和数据泄露等问题。

增强学习是另一种重要的深度学习方法,它通过与环境交互来学习最优策略,以最大化长期奖励。

增强学习在许多领域中都有着广泛的应用,例如在机器人控制、游戏玩法和金融交易等领域。

通过增强学习,我们可以训练出自主学习和自适应的智能系统,使其具备更强的决策能力和适应能力。

深度学习模型的迁移学习教程与实践方法

深度学习模型的迁移学习教程与实践方法

深度学习模型的迁移学习教程与实践方法深度学习模型的迁移学习是一种通过利用已经在一个任务上训练好的模型,在不同的任务上进行重新训练和推断的方法。

它是目前在机器学习领域非常流行的研究方向之一,因为它能够大大减少重新训练模型所需的时间和资源,并且在训练数据稀缺的情况下仍能取得很好的效果。

在本文中,我们将介绍深度学习模型的迁移学习的基本概念、原理以及实践方法,并给出几个常见的迁移学习应用示例。

一、迁移学习的基本概念与原理迁移学习的基本思想是将在一个任务上学习到的知识迁移到另一个任务中。

这种迁移可以是基于特征的,也可以是基于模型的。

基于特征的迁移学习是指将预训练好的模型的中间层的特征表示作为新任务的输入,并在此基础上进行进一步的训练。

这样做的好处是可以避免从头训练整个模型,节省了时间和计算资源。

例如,在图像分类任务中,我们可以利用在大规模图像数据集上预训练好的卷积神经网络模型的特征表示,然后将这些特征输入到一个新的全连接网络中进行分类。

基于模型的迁移学习是指将预训练好的模型作为新任务的初始模型,并在此基础上进行微调。

微调是指在新任务的训练过程中,冻结模型的前几层(即保持其权重不变),只对后面几层进行训练。

这样做的好处是可以在保留预训练模型的知识的同时,加快对新任务的适应。

例如,在自然语言处理任务中,我们可以利用在大规模文本语料上预训练的语言模型作为初始模型,并在此基础上进行微调,以适应特定的文本分类任务。

二、迁移学习的实践方法在进行迁移学习之前,我们需要选择一个合适的预训练模型作为基础。

通常情况下,我们可以选择在大规模数据集上预训练好的模型,如ImageNet上的卷积神经网络模型或GPT模型。

这些预训练模型可以用于多种不同的任务。

在选择了预训练模型之后,我们需要根据新任务的特点来确定迁移学习的具体策略。

一般来说,我们可以选择进行特征提取、微调或联合训练。

特征提取是指将预训练模型的中间层的特征表示作为新任务的输入,并在此基础上训练一个新的分类器。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

深度迁移学习一、深度学习1)ImageNet Classification with Deep Convolutional Neural Networks主要思想:该神经网络有6000万个参数和650,000个神经元,由五个卷积层,以及某些卷积层后跟着的max-pooling层,和三个全连接层,还有排在最后的1000-way的softmax层组成。

使用了非饱和的神经元和一个非常高效的GPU关于卷积运算的工具。

1、采用了最新开发的正则化方法,称为“dropout”。

2、采用ReLU来代替传统的tanh引入非线性,;3、采用2块显卡来进行并行计算,减少了更多显卡需要主机传递数据的时间消耗,在结构上,部分分布在不同显卡上面的前后层节点之间无连接,从而提高了训练速度;4、同层相邻节点的响应进行局部归一化提高了识别率(top5错误率降低1.2%);5、有交叠的pooling(top5错误率降低0.3%);体系架构:(1)ReLU训练带ReLUs的深度卷积神经网络比带tanh单元的同等网络要快好几倍。

如下图,带ReLU的四层卷积神经网络(实线)在CIFAR-10数据集上达到25%训练误差率要比带tanh神经元的同等网络(虚线)快六倍。

(2)在多个GPU上训练(3)局部响应归一化具体见Very Deep Convolutional Networks for Large-Scale Image Recognition(4)重叠Pooling每个网格间隔距离为s,而每一次进行降采样将从网格中心为中心,采样z*z个像素。

如果s=z,则与传统方法相同,而如果s<z,则会进行重复采样。

本文章将s=2,z=3,成功的将Top-1和Top-5的错误率分别降低了0.4%和0.3%(与s=2,z=2相比)。

而且,在实验中发现,采用重叠采样将会略微更难产生过拟合。

(5)总体结构该网络包括八个带权层;前五层是卷积层,剩下三层是全连接层。

最后一个全连接层的输出被送到一个1000-way的softmax层,其产生一个覆盖1000类标签的分布。

响应归一化层跟在第一、第二个卷积层后面。

最大Pooling层,跟在响应归一化层以及第五个卷积层之后。

ReLU非线性应用于每个卷积层及全连接层的输出。

第一个卷积层利用96个大小为11×11×3、步长为4个像素的核,来对大小为224×224×3的输入图像进行滤波。

第二个卷积层是256个大小为5×5×48,第三、第四和第五个卷积层彼此相连,没有任何介于中间的pooling层与归一化层。

第三个卷积层有384个大小为3×3×256的核,第四个卷积层拥有384个大小为3×3×192的核,第五个卷积层拥有256个大小为3×3×192的核。

全连接层都各有4096个神经元。

(6)防止过拟合•数据增强数据增强的第一种形式由生成图像转化和水平反射组成。

该网络通过提取五个224×224的碎片(四个边角碎片和中心碎片)连同它们的水平反射(因此总共是十个碎片)做出了预测,并在这十个碎片上来平均该网络的softmax层做出的预测。

数据增强的第二种形式包含改变训练图像中RGB通道的强度。

遍及整个ImageNet训练集的RGB像素值集合中执行PCA。

对于每个训练图像,我们成倍增加已有主成分,比例大小为对应特征值乘以一个从均值为0,标准差为0.1的高斯分布中提取的随机变量。

•Dropout(7)学习的详细过程使用随机梯度下降法和一批大小为128、动力为0.9、权重衰减为0.0005的样例来训练。

我们用一个均值为0、标准差为0.01的高斯分布初始化了每一层的权重。

我们用常数1初始化了第二、第四和第五个卷积层以及全连接隐层的神经元偏差。

在其余层用常数0初始化神经元偏差。

对于所有层都使用了相等的学习率,在整个训练过程中手动调整的。

当验证误差率在当前学习率下不再提高时,就将学习率除以10。

学习率初始化为0.01,在终止前降低三次。

2)Very Deep Convolutional Networks for Large-Scale Image Recognition主要思想:解决ConvNet 结构设计中“深度”这个重要问题。

提出用3*3的卷积增加网络的深度,当层数增加到16-19层时,分类准确度得到明显提升。

网络具有很强的泛化能力。

主要步骤:(1)主要结构•输入是固定大小的224*224RGB图像。

•唯一的预处理是减均值。

•网络由3*3的卷积层栈组成,有些地方也利用了1*1的卷积过滤器。

卷积层的stride固定为1,对3*3的卷积层padding 为1,以保持空间分辨率不变。

•通过5个Max-pooling通过2*2的窗口,stride为2进行空间池化。

•卷积层栈后面跟的是3个Fully_connected层。

前2个是4096 way,第3个是1000 way。

最后一层是softmax。

•隐藏层都用ReLU进行非线性化。

•在所有的网路中,除一个用了LRN外,其他都没有用。

因为在ILSVRC 数据库上不能增强性能,但是导致了内存和计算时间的消耗。

注:LRN(Local Response Normalization)局部响应归一化对任意的卷积核(kernel),选取左右临近(adjacent)的n个卷积核,将它们在同一个位置上卷积的结果进行求和。

i表示第i个核在位置(x,y)运用激活函数ReLU后的输出,n是同一位置上临近的kernal map的数目,N是kernal的总数。

参数K,n,alpha,belta都是超参数,一般设置k=2,n=5,aloha=1*e-4,beta=0.75。

(2)配置•5个网络(A-E),配置完全一样,除了深度,层数从11层到16层。

conv 层的channel开始是64,在每一个max-pooling 后增加一倍,直到达到512。

其中,文中使用3*3卷积核,2个3*3的卷积层栈相当于一个5*5的卷积,而3个则相当于一个7*7的卷积。

一是,用了3个非线性修正层,使得决策函数具有更强的判别能力;二是,减少了参数的数量,假设一个3层的3*3卷积层栈,输入输出都是C个channel,则需要的参数是3(3*3*C*C)=27*C*C,而一个7*7的卷积层,则需要参数7*7*C*C=49*C*C。

1*1卷积层是一种在不影响conv感受野的前提下增加决策函数非线性能力的一种方式。

(3)训练•训练采用带momentum的 mini-batch 梯度下降优化多项式逻辑回归目标函数。

batch size 256,momentum 0.9。

•训练的正则化处理:权重衰减(L2惩罚因子设置为5*10^(-4)),前两个全连接层dropout radio设置为0.5。

学习率设置为0.01,当验证精确度停止提高时,下降为原来的0.1,一共下降3次,在370k(74 epochs)迭代后停止。

•浅层的网络(A)上采用随机初始化参数的方法进行训练,然后,当训练较深网络结构时,前4个卷积层和最后3个全连接层采用net A的参数。

作者没有降低预初始化层的学习率,而是允许在学习过程中改变。

•对于随机初始化,从0均值,方差为0.01的正态分布中采样。

biase初始化为0。

•第一种是针对单尺度训练,固定S。

(两个固定值S=256,S=384)第二种方法是设置多尺度训练,让训练图像的S在[Smin,Smax]范围内随机,本文采用Smin=256,Smax=512。

(4)测试采用multi-crops和dense evaluation,multi-crops比dense evaluation略好,两种方法的结合效果比单独使用任意一种都好,可能由于卷积边界的不同处理方式导致的互补,前者是zero-padding,后者是邻域值padding。

3)Going deeper with convolutions主要思想:目的:提升深度神经网络的性能。

一般方法带来的问题:增加网络的深度与宽度。

带来两个问题:(1)参数增加,数据不足的情况容易导致过拟合(2)计算资源要求高,而且在训练过程中会使得很多参数趋向于0,浪费计算资源。

解决方法:使用稀疏连接替代稠密结构。

存在问题:计算机的基础结构在遇到稀疏数据计算时会很不高效,使用稀疏矩阵会使得效率大大降低。

目标:设计一种既能利用稀疏性,又可以利用稠密计算的网络结构。

Inception 模型:主要思路是用密集成分来近似最优的局部稀疏结构。

分析前一层的相关性,然后将高相关的神经元聚类。

这些类作为下一层的神经元,并且和前一层的神经元相连接。

1、采用不同大小的卷积核意味着不同大小的感受野,最后拼接意味着不同尺度特征的融合;2、卷积核大小采用1、3和5,主要是为了方便对齐。

3、使用5x5的卷积核仍然会带来巨大的计算量。

在3*3 和 5*5 卷积前采用1x1卷积核来进行降维。

4、Inception里面嵌入pooling5、高层次提取高抽象性的特征,空间集中性会降低,因此3x3和5x5的卷积核在更高层会比较多。

6、保持低层为传统卷积方式不变,只在较高的层开始用Inception模块。

GoogLeNet(22层):网络中所有的卷积,包括Inception 中的卷积,都使用 ReLU激活函数,输入图像是 224*224 的 RGB图像,做减均值预处理。

#3×3 reduce 和 #5×5 reduce 代表在 3×3 和5×5卷积之前进行的 1×1的降维处理层,这些降维层也使用 ReLU激活函数。

通过训练来提升这些中间层的分类器效果,增加回传的梯度强度。

在训练时,这些分类器的误差加入到系统总体误差,(乘以一个0.3的系数)。

整个网络额外的结构(包括辅助分类器)如下:1)一个 5*5 的均值池化,步长3,这样网络(4a)的输出就是4×4×512 ,网络(4d)的输出就是4×4×5282)128个 1*1 卷积用于降维,使用 ReLU激活函数3)一层1024个神经元的全链接层,使用 ReLU激活函数4)一个 dropout 层, 70% 概率5)一个 softmax 线性层作为分类器训练:训练采用随机梯度下降,冲量momentum:0.9,固定学习率每8个epochs减小4%。

4)Deep Residual Learning for Image Recognition主要思想:•作者根据输入将层表示为学习残差函数,能够通过增加相当的深度来提高准确率。

•核心是解决了增加深度带来的副作用(退化问题),这样能够通过单纯地增加网络深度,来提高网络性能。

相关文档
最新文档