• 回答数

    3

  • 浏览数

    233

泡芙小工坊
首页 > 医学论文 > dropout医学论文

3个回答 默认排序
  • 默认排序
  • 按时间排序

郭嘎嘎2222

已采纳

Abstract

我们训练了一个大型的深度卷积神经网络,将ImageNet lsvprc -2010竞赛中的120万幅高分辨率图像分类为1000个不同的类。在测试数据上,我们实现了top-1和top-5的错误率,分别为和,这与前的最高水平相比有了很大的提高。该神经网络有6000万个参数和65万个神经元,由5个卷积层(其中一些后面接了最大池化层)和3个全连接层(最后的1000路softmax)组成。为了使训练更快,我们使用了非饱和神经元和一个非常高效的GPU实现卷积运算。为了减少全连通层的过拟合,我们采用了一种最近发展起来的正则化方法——dropout,结果显示它非常有效。我们还在ILSVRC-2012比赛中输入了该模型的一个变体,并获得了的top-5测试错误率,而第二名获得了的错误率.

1 Introduction

当前的物体识别方法主要利用机器学习方法。为了提高它们的性能,我们可以收集更大的数据集,学习更强大的模型,并使用更好的技术来防止过度拟合。直到最近,标记图像的数据集在成千上万的图像(例如,NORB [16], Caltech-101/256 [8,9], CIFAR-10/100[12])中相对较小。使用这种大小的数据集可以很好地解决简单的识别任务,特别是如果使用保存标签的转换来扩展它们。例如,MNIST数字识别任务的当前最佳错误率(<)接近人类性能[4]。但是现实环境中的物体表现出相当大的可变性,所以为了学会识别它们,有必要使用更大的训练集。的确,小图像数据集的缺点已经被广泛认识(例如,Pinto等人的[21]),但直到最近才有可能收集数百万张图像的标记数据集。新的更大的数据集包括LabelMe[23],它由成千上万的全分段图像组成,和ImageNet[6],它由超过22000个类别的超过1500万标记的高分辨率图像组成。

要从数百万张图像中了解数千个物体,我们需要一个具有巨大学习能力的模型。 然而,对象识别任务的巨大复杂性意味着即使像ImageNet这样大的数据集也无法指定这个问题,因此我们的模型也应该具有大量的先验知识来补偿我们没有的所有数据。卷积神经网络(Convolutional neural networks, CNNs)就是这样一类模型[16,11,13,18,15,22,26]。它们的能力可以通过改变深度和宽度来控制,而且它们还对图像的性质(即统计的平稳性和像素依赖的局部性)做出了强有力且最正确的假设。 因此,与具有相似大小层的标准前馈神经网络相比,CNNs具有更少的连接和参数,因此更容易训练,而其理论上最好的性能可能只会稍微差一些。

尽管CNNs的质量很吸引人,尽管它们的本地架构相对高效,但在高分辨率图像上大规模应用仍然非常昂贵。幸运的是,当前的gpu与高度优化的2D卷积实现相结合,已经足够强大,可以方便地训练有趣的大型CNNs,而最近的数据集(如ImageNet)包含了足够多的标记示例,可以在不严重过拟合的情况下训练此类模型。

本文的具体贡献如下:

最后,网络的大小主要受到当前gpu上可用内存的大小和我们愿意忍受的训练时间的大小的限制。我们的网络需要5到6天的时间来训练两个GTX 580 3GB GPU。我们所有的实验都表明,只要等待更快的gpu和更大的数据集可用,我们的结果就可以得到改善。

2 The Dataset

ImageNet是一个包含超过1500万张高分辨率图像的数据集,属于大约22000个类别。这些图片是从网上收集来的,并由人工贴标签者使用亚马逊的土耳其机械众包工具进行标记。从2010年开始,作为Pascal视觉对象挑战赛的一部分,每年都会举办一场名为ImageNet大型视觉识别挑战赛(ILSVRC)的比赛。ILSVRC使用ImageNet的一个子集,每个类别大约有1000张图片。总共大约有120万张训练图像、5万张验证图像和15万张测试图像。

ILSVRC-2010 是唯一可用测试集标签的 ILSVRC 版本,因此这是我们进行大多数实验的版本。由于我们也在 ILSVRC-2012 竞赛中加入了我们的模型,在第6节中,我们也报告了我们在这个版本的数据集上的结果,对于这个版本的数据集,测试集标签是不可用的。在 ImageNet 上,通常报告两个错误率:top-1 和 top-5,其中 top-5 错误率是测试图像的一部分,其中正确的标签不在模型认为最可能的五个标签中。

ImageNet由可变分辨率的图像组成,而我们的系统需要一个恒定的输入维数。 因此,我们将图像降采样到256 * 256的固定分辨率。给定一个矩形图像,我们首先重新调整图像的大小,使其短边长度为256,然后从结果图像中裁剪出中心的256%256块。除了从每个像素中减去训练集上的平均活动外,我们没有以任何其他方式对图像进行预处理。因此,我们将网络训练成像素的原始RGB值(居中)。

3 The Architecture

ReLU Nonlinearity

Training on Multiple GPUs

Local Response Normalization

Overlapping Pooling

Pooling layers in CNNs summarize the outputs of neighboring groups of neurons in the same kernel map. Traditionally, the neighborhoods summarized by adjacent pooling units do not overlap (.,[17, 11, 4]). To be more precise, a pooling layer can be thought of as consisting of a grid of pooling units spaced s pixels apart, each summarizing a neighborhood of size z z centered at the location of the pooling unit. If we set s = z, we obtain traditional local pooling as commonly employed in CNNs. If we set s < z, we obtain overlapping pooling. This is what we use throughout our network, with s = 2 and z = 3. This scheme reduces the top-1 and top-5 error rates by and , respectively, as compared with the non-overlapping scheme s = 2; z = 2, which produces output of equivalent dimensions. We generally observe during training that models with overlapping pooling find it slightly more difficult to overfit.

Overall Architecture

Now we are ready to describe the overall architecture of our CNN. As depicted in Figure 2, the net contains eight layers with weights; the first five are convolutional and the remaining three are fully-connected. The output of the last fully-connected layer is fed to a 1000-way softmax which produces a distribution over the 1000 class labels. Our network maximizes the multinomial logistic regression objective, which is equivalent to maximizing the average across training cases of the log-probability of the correct label under the prediction distribution.

4 Reducing Overfitting

Data Augmentation

Dropout

结合许多不同模型的预测是减少测试错误的一种非常成功的方法[1,3],但是对于已经需要几天训练的大型神经网络来说,这似乎太昂贵了。然而,有一个非常有效的模型组合版本,它在训练期间只花费大约2倍的成本。最近介绍的技术称为dropout[10],它将每个隐藏神经元的输出设置为0,概率为。以这种方式丢弃的神经元不参与正向传递,也不参与反向传播。所以每次输入时,神经网络都会对不同的结构进行采样,但是所有这些结构都共享权重。这种技术减少了神经元之间复杂的相互适应,因为神经元不能依赖于特定的其他神经元的存在。因此,它被迫学习与其他神经元的许多不同随机子集结合使用的更健壮的特征。在测试时,我们使用所有的神经元,但将它们的输出乘以,这是一个合理的近似值,近似于取由指数型多退出网络产生的预测分布的几何平均值。

我们在图2的前两个完全连接的层中使用了dropout。没有dropout,我们的网络显示出大量的过拟合。Dropout使收敛所需的迭代次数增加了一倍。

5 Details of learning

7 Discussion

256 评论

小吃客C

From:

BN,Batch Normalization,就是在深度神经网络训练过程中使得每一层神经网络的输入保持相近的分布。

BN训练和测试时的参数是一样的嘛?

对于BN,在训练时,是对每一批的训练数据进行归一化,也即用每一批数据的均值和方差。

而在测试时,比如进行一个样本的预测,就并没有batch的概念,因此,这个时候用的均值和方差是全量训练数据的均值和方差,这个可以通过移动平均法求得。

对于BN,当一个模型训练完成之后,它的所有参数都确定了,包括均值和方差,gamma和bata。

BN训练时为什么不用全量训练集的均值和方差呢?

因为在训练的第一个完整epoch过程中是无法得到输入层之外其他层全量训练集的均值和方差,只能在前向传播过程中获取已训练batch的均值和方差。那在一个完整epoch之后可以使用全量数据集的均值和方差嘛?

对于BN,是对每一批数据进行归一化到一个相同的分布,而每一批数据的均值和方差会有一定的差别,而不是用固定的值,这个差别实际上也能够增加模型的鲁棒性,也会在一定程度上减少过拟合。

但是一批数据和全量数据的均值和方差相差太多,又无法较好地代表训练集的分布,因此,BN一般要求将训练集完全打乱,并用一个较大的batch值,去缩小与全量数据的差别。

Dropout 是在训练过程中以一定的概率的使神经元失活,即输出为0,以提高模型的泛化能力,减少过拟合。

Dropout 在训练和测试时都需要嘛?

Dropout 在训练时采用,是为了减少神经元对部分上层神经元的依赖,类似将多个不同网络结构的模型集成起来,减少过拟合的风险。

而在测试时,应该用整个训练好的模型,因此不需要dropout。

Dropout 如何平衡训练和测试时的差异呢?

Dropout ,在训练时以一定的概率使神经元失活,实际上就是让对应神经元的输出为0

假设失活概率为 p ,就是这一层中的每个神经元都有p的概率失活,如下图的三层网络结构中,如果失活概率为,则平均每一次训练有3个神经元失活,所以输出层每个神经元只有3个输入,而实际测试时是不会有dropout的,输出层每个神经元都有6个输入,这样在训练和测试时,输出层每个神经元的输入和的期望会有量级上的差异。

因此在训练时还要对第二层的输出数据除以(1-p)之后再传给输出层神经元,作为神经元失活的补偿,以使得在训练时和测试时每一层输入有大致相同的期望。

dropout部分参考:

BN和Dropout单独使用都能减少过拟合并加速训练速度,但如果一起使用的话并不会产生1+1>2的效果,相反可能会得到比单独使用更差的效果。

相关的研究参考论文: Understanding the Disharmony between Dropout and Batch Normalization by Variance Shift

本论文作者发现理解 Dropout 与 BN 之间冲突的关键是网络状态切换过程中存在神经方差的(neural variance)不一致行为。试想若有图一中的神经响应 X,当网络从训练转为测试时,Dropout 可以通过其随机失活保留率(即 p)来缩放响应,并在学习中改变神经元的方差,而 BN 仍然维持 X 的统计滑动方差。这种方差不匹配可能导致数值不稳定(见下图中的红色曲线)。而随着网络越来越深,最终预测的数值偏差可能会累计,从而降低系统的性能。简单起见,作者们将这一现象命名为「方差偏移」。事实上,如果没有 Dropout,那么实际前馈中的神经元方差将与 BN 所累计的滑动方差非常接近(见下图中的蓝色曲线),这也保证了其较高的测试准确率。

作者采用了两种策略来探索如何打破这种局限。一个是在所有 BN 层后使用 Dropout,另一个就是修改 Dropout 的公式让它对方差并不那么敏感,就是高斯Dropout。

第一个方案比较简单,把Dropout放在所有BN层的后面就可以了,这样就不会产生方差偏移的问题,但实则有逃避问题的感觉。

第二个方案来自Dropout原文里提到的一种高斯Dropout,是对Dropout形式的一种拓展。作者进一步拓展了高斯Dropout,提出了一个均匀分布Dropout,这样做带来了一个好处就是这个形式的Dropout(又称为“Uout”)对方差的偏移的敏感度降低了,总得来说就是整体方差偏地没有那么厉害了。

275 评论

飞天大圣朱七

学术解释资料很多,所以本回答只是个人理解,通俗解释:我们学过……=1?这个问题。因为……=……*3=3*1/3=1。但事实上,……与1是完全不同的两个实数。在引入极限理论以前,让二者兼容的方法,就是“忽略”……与1之间那个无穷小,也就是……等价于的1/无穷大近似于0,进而得到有理数/无理数在实数理论上的完整性,让模型成立(否则,两个有理数间一定存在无理数,两个无理数间一定存在有理数这个概念就无法成立)。深度学习中的dropout也起到类似的作用。纯粹使用训练集得到的训练model对训练集的效果很好,但是现实的测试集具有更加复杂的真实特征,只要两个存在不同,以一概全的数学判定方法就会存在误差,进而影响判断的准确性。所以通过引入dropout的方法,忽略测试数据内真实存在但目前模型无法涵盖理解并不影响其在模型范围归类的部分,从而让模型在“相对真理”的概念层面实现更高的精度。以“相对真理”解释“绝对真理”总会有遗漏或者偏差,但是这些偏差在一定程度上不影响“相对真理”对某些物理层面的真实反映和作用,从而在数字化过程中将其忽略。这就是我理解的dropout的物理意义。dropout通常采用,可以理解为“四舍五入”的处理方法。如:五个判定结果,3个为,两个为,如果平均法,则大大削减了其中的可信度,但是通过dropout忽略掉其中影响判定的,以少数服从多数的理念,则能尽可能获得更符合逻辑的判定结果。当然,这个值也可以是“60分及格线”的,“80分优秀率”的等等。dropout的出现让深度学习更加符合了少数服从多数的判决,从而使深度学习更加的数字化。不过也有“真理掌握在少数人手中”的情况存在。所以,只要思考的次元维度足够高,善于创造奇迹的人的思维从根本上还是强过深度学习的思维方式。

233 评论

相关问答

  • 法医学论文法医学论文

    你的法医学论文准备往什么方向写,选题老师审核通过了没,有没有列个大纲让老师看一下写作方向? 老师有没有和你说论文往哪个方向写比较好?写论文之前,一定要写个大纲

    五十岚零 7人参与回答 2023-12-08
  • 医学论文医学论文发表

    要发在医学类专门期刊上,可以直接与此类期刊联系,他们也乐于与你交流,可能需要交一些版面费。但是要注意其期刊是否正式刊号。影响大的期刊可能费用高点,一般的或者低点

    冷火秋烟 4人参与回答 2023-12-09
  • 中医医学论文论文

    中医学起源于汉族,是由汉族人民发展出来的,它本身也是汉族文化体系的组成部分。下文是我为大家搜集整理的关于中医学专业毕业论文的内容,欢迎大家阅读参考! 浅谈中医学

    小鸡炖蘑菇mimi 3人参与回答 2023-12-10
  • 投稿医学论文医学论文

    学术堂整理了九个关于医学论文投稿发表的技巧:1、投稿前,认真检查稿件投稿前,务必认真检查自己的稿件,文章内容不要有太多的空格,因为计算版面费的时候,空格也算在内

    唐小七7 6人参与回答 2023-12-07
  • 医学论文网医学论文网

    1、中国知网:知网是目前我国最大也是最权威的一个论文发表网站,学生写论文的时候都要从中国知网上查找文献,并且在论文写完后也需要从上面进行查重。足以见出这个网站对

    nanjingyiyi 5人参与回答 2023-12-11