假设您已经收集了数据集、构建了神经网络并训练了模型。但是,尽管您为创建模型投入了数小时(有时甚至数天)的工作,它仍然可以获得50-70%的准确率。这肯定不是你所期望的。以下是一些改进模型性能指标的策略或技术,可以大大提高您的准确性。获取更多数据这无疑是最简单的解决方案,深度学习模型的威力取决于你带来的数据。提高验证准确性的最简单方法之一是添加更多数据。如果您没有很多训练实例,这将特别有用。如果您正在研究图像识别模型,您可能会考虑使用数据增强来增加可用数据集的多样性。这些技术的范围从将图像翻转到轴上、添加噪声到放大图像。如果你是一个强大的机器学习工程师,你也可以尝试使用GAN来进行数据扩充。请注意,您使用的增强技术会改变图像的整个类别。例如,在y轴上翻转的图像没有意义!添加更多层向模型添加更多层可以增强其更深入地了解数据集特征的能力,因此它将能够识别人类可能不会注意到的细微差别。此技巧地图解决的任务的性质。对于复杂的任务,例如区分猫狗品种,添加更多层是有意义的,因为您的模型将能够学习区分贵宾犬和西施犬的细微特征。对于像猫和狗分类这样的简单任务,一个简单的几层模型就可以了。更多层->更精细的模型更改图像大小当您预处理图像以进行训练和评估时,您需要对图像大小进行大量实验。如果您选择的图像尺寸太小,您的模型将无法识别有助于图像识别的显着特征。相反,如果您的图像太大,则会增加计算机所需的计算资源,和/或您的模型可能不够复杂,无法处理它们。常见的图像尺寸包括64x64、128x128、28x28(MNIST)和224x224(vgg-16)。请记住,大多数预处理算法不考虑图像纵横比,因此较小尺寸的图像可能会在某个轴上缩小。从大分辨率图像到像28x28这样的小尺寸图像通常会导致大量像素化,这往往会对模型的性能产生负面影响,增加训练时期基本上是整个数据集通过神经网络的次数。以+25、+100的间隔增量训练您的模型。仅当您的数据集中有大量数据时才需要增加纪元。但是,您的模型最终会达到一个点,即额外的epoch不会提高准确性。此时,您应该考虑调整模型的学习率。这个小的超参数决定了你的模型是达到全局最小值(神经网络的最终目标)还是陷入局部最小值。全局最小值是神经网络的最终目标。减少颜色通道颜色通道反映了图像阵列的维度。大多数彩色(RGB)图像由三个颜色通道组成,而灰度图像只有一个。颜色通道越复杂,数据集就越复杂,训练模型所需的时间也就越长。如果颜色在您的模型中不是如此重要的因素,您可以继续将彩色图像转换为灰度图像。您甚至可以考虑其他颜色空间,例如HSV和Lab。RGB图像由三个颜色通道组成:红色、绿色和蓝色。迁移学习迁移学习涉及使用预训练模型(例如YOLO和ResNet)作为大多数计算机视觉和自然语言处理任务的起点。预训练模型是最先进的深度学习模型,经过数百万个示例的训练,通常需要几个月的时间。这些模型具有惊人的强大能力,可以检测不同图像中的细微差异。这些模型可以用作您模型的基础。大多数模型都很好,所以你不需要添加卷积和池化迁移学习可以大大提高你的模型的准确率~50%到90%!(来自Nvidia的论文)上面的超参数技巧为您提供了优化模型的基础。要真正调优模型,需要考虑调优模型中涉及的各种超参数和函数,比如学习率(上面提到)、激活函数、损失函数,甚至batchsize都是非常重要的参数,需要被调整。总结这些技巧,希望大家在不知道怎么做的时候,能够快速找到改进的思路。还有无数其他方法可以进一步优化您的深度学习,但上述方法只是深度学习优化部分的基础。另外:每次更改深度学习模型时保存模型。如果它提供更高的准确性,这将帮助您重用以前的模型配置。
