深度学习提高模型准确率方法

这篇具有很好参考价值的文章主要介绍了深度学习提高模型准确率方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

深度学习

我们已经收集好了一个数据集,建立了一个神经网络,并训练了模型,在测试和验证阶段最后得到的准确率不高不到90%。或者没有达到业务的期望(需要100%)。

下面列举一些提高模型性能指标的策略或技巧,来提高模型的准确率。

深度学习提高模型准确率方法

数据

使用更多数据

最简单的方法就是增加数据集,模型准确率不高,也可以理解为你模型不泛化,只是针对训练集内容来进行预测的,添加更多数据集,使数据更多样性,同时增加一些负样本。

至于数据增强,得了解自己做什么项目,比较简单的resize 之类的就是通用的,rotation肯定不适用于人,人不可能倒着对吧,还有小物件肯定就没必要random crop了,都crop没了,反正数据增强其实还是尽可能的增多接近现实的数据,还有一些color颜色变化,如果因为颜色修改,会使物件类型发生变化的都需要注意一下。具体可以看下图,根据自己的情况,选择合适的增强算子

深度学习提高模型准确率方法
深度学习提高模型准确率方法
深度学习提高模型准确率方法
深度学习提高模型准确率方法
深度学习提高模型准确率方法
深度学习提高模型准确率方法
深度学习提高模型准确率方法
深度学习提高模型准确率方法
深度学习提高模型准确率方法
深度学习提高模型准确率方法
深度学习提高模型准确率方法
深度学习提高模型准确率方法
深度学习提高模型准确率方法
深度学习提高模型准确率方法
深度学习提高模型准确率方法
深度学习提高模型准确率方法

为了进行对比实验,观测不同数据增强方法的性能,实验 1 只进行图像切割,实验 2 只进行图像翻转,实验 3 只进行图像白化,实验 4 同时进行这三种数据增强方法,同样训练 5000 轮,观察到 loss 变化曲线、训练集准确率变化曲线和验证集准确率变化曲线对比如下图。

深度学习提高模型准确率方法

更改图像大小

当您对图像进行预处理以进行训练和评估时,需要做很多关于图像大小的实验。
如果您选择的图像尺寸太小,您的模型将无法识别有助于图像识别的显著特征。图像中的物件因为分辨率太低,都看模糊了

相反,如果您的图像太大,则会增加计算机所需的计算资源,并且/或者您的模型可能不够复杂,无法处理它们。

常见的图像大小包括64x64、128x128、28x28 (MNIST)和224x224 (vgg -16)。

请记住,大多数预处理算法不考虑图像的高宽比,因此较小尺寸的图像可能会在某个轴上收缩。

假如我们的模型是用小分辨率去训练的,用一个大分辨率的图像预测,图像会转化成小分辨率,这时候图像中很多的像素就减少,难免有些重要的内容去掉了。

减少颜色通道

颜色通道反映图像数组的维数。大多数彩色(RGB)图像由三个彩色通道组成,而灰度图像只有一个通道。
颜色通道越复杂,数据集就越复杂,训练模型所需的时间也就越长。
如果颜色在你的模型中不是那么重要的因素,你可以继续将你的彩色图像转换为灰度。

你甚至可以考虑其他颜色空间,比如HSV和Lab。

算法

模型改进

  1. 权重衰减(weight decay):对于目标函数加入正则化项,限制权重参数的个数,这是一种防止过拟合的方法,这个方法其实就是机器学习中的 l2 正则化方法,只不过在神经网络中旧瓶装新酒改名为 weight decay。
  2. dropout:在每次训练的时候,让某些的特征检测器停过工作,即让神经元以一定的概率不被激活,这样可以防止过拟合,提高泛化能力。
  3. 批正则化(batch normalization):batch normalization对神经网络的每一层的输入数据都进行正则化处理,这样有利于让数据的分布更加均匀,不会出现所有数据都会导致神经元的激活,或者所有数据都不会导致神经元的激活,这是一种数据标准化方法,能够提升模型的拟合能力
  4. LRN:LRN 层模仿生物神经系统的侧抑制机制,对局部神经元的活动创建竞争机制,使得响应比较大的值相对更大,提高模型泛化能力。

增加训练轮次

epoch基本上就是你将整个数据集通过神经网络传递的次数。以+25、+100的间隔逐步训练您的模型。
只有当您的数据集中有很多数据时,才有必要增加epoch。然而,你的模型最终将到达一个点,即增加的epoch将不能提高精度。
此时,您应该考虑调整模型的学习速度。这个小超参数决定了你的模型是达到全局最小值(神经网络的最终目标)还是陷入局部最小值。

迁移学习

迁移学习包括使用预先训练过的模型,如YOLO和ResNet,作为大多数计算机视觉和自然语言处理任务的起点。
预训练的模型是最先进的深度学习模型,它们在数百万个样本上接受训练,通常需要数月时间。这些模型在检测不同图像的细微差别方面有着惊人的巨大能力。
这些模型可以用作您的模型的基础。大多数模型都很好,所以您不需要添加卷积和池化

添加更多层

向模型中添加更多层可以增强它更深入地学习数据集特性的能力,因此它将能够识别出作为人类可能没有注意到的细微差异。
这个技巧图解决的任务的性质。

对于复杂的任务,比如区分猫和狗的品种,添加更多的层次是有意义的,因为您的模型将能够学习区分狮子狗和西施犬的微妙特征。

对于简单的任务,比如对猫和狗进行分类,一个只有很少层的简单模型就可以了。

或者最好的方法增加残差网络,残差网络能很好的解决了梯度衰减的问题,使得深度神经网络能够正常 work。由于网络层数加深,误差反传的过程中会使梯度不断地衰减,而通过跨层的直连边,可以使误差在反传的过程中减少衰减,使得深层次的网络可以成功训练

调整超参数

上面的技巧为你提供了一个优化模型的基础。要真正地调整模型,您需要考虑调整模型中涉及的各种超参数和函数,如学习率(如上所述)、激活函数、损失函数、甚至批大小等都是非常重要的需要调整的参数。

深层网络或者不适合的损失函数,不合适的学习率,可能会导致梯度消失、梯度爆炸。

预测模型不能只看准确率而要结合业务问题选择合适的评估指标

下面看一个列子

某企业希望销售 50 件产品,该企业建立了两个模型来选择待推销客户,混淆矩阵如下图,应该选择哪个模型?
深度学习提高模型准确率方法
只考虑准确率,似乎应当选择A 模型,但这时候我们需要对75(=50/0.667,预测购买者中有 66.7% 的实际会购买,即精确率)个客户推销才可能卖出 50 件商品;而选择模型 B,则只要对60(=50/0.833)个客户推销就可能卖出 50 件商品了,推销成本反而降低了。在这个场景中,我们只关心能被推销成功的那些客户,而不能成功推销且被正确预测为不能成功推销的,虽然有助于提高模型的准确率,对我们却没什么意义。因此,这里用精确率来评估模型的好坏会更加合适

做项目,给出准确率,你的准确率是指测试到当前数据集的准确率,并不能代表其他数据集也是这个准确率文章来源地址https://www.toymoban.com/news/detail-439217.html

总结

  • 嫌麻烦的:自己做的项目有现成的,就迁移学习 自己数据集单一的,就从数据集入手
  • 模型过拟合:就改进模型的超参数,或者正则化,权重衰减,Dropout
  • 模型欠拟合:就增加复杂模型,增加epoch
  • 模型训练时间过长:批次处理标准化

到了这里,关于深度学习提高模型准确率方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 语音识别的挑战:如何提高准确率

    语音识别,也被称为语音转文本(Speech-to-Text),是一种将语音信号转换为文本信息的技术。随着人工智能和大数据技术的发展,语音识别技术在各个领域得到了广泛应用,如智能家居、智能汽车、语音助手、语音搜索等。然而,语音识别技术仍然面临着许多挑战,其中最大

    2024年02月02日
    浏览(39)
  • ES如何提高准确率之【term-centric】

    提高准确率的方法有很多,但是要在提高准确率的同时保证召回率往往比较困难,本文只介绍一种比较常见的情况。 我们经常搜索内容,往往不止针对某个字段进行搜索,比如:标题、内容,往往都是一起搜索的。 index结构如下: 样例数据如下: 现在我要搜索【红色的苹果

    2024年02月02日
    浏览(31)
  • 语音识别的数据集构建:如何提高识别准确率和效率

    语音识别,也被称为语音转文本(Speech-to-Text),是一种将语音信号转换为文本信息的技术。随着人工智能、大数据和云计算等技术的发展,语音识别技术在各个领域得到了广泛应用,如智能家居、智能汽车、虚拟助手、搜索引擎等。 在语音识别技术中,数据集构建是一个至关

    2024年04月10日
    浏览(30)
  • Python批量识别图片文字(数字识别模式)大幅度提高数字识别准确率

    目录   一、使用beautiful soup库爬取网页图片 二、使用pytesseract库识别图片中数据,并将数据存入txt文件 三、用pandas库实现txt文件到csv文件的转换   一、使用beautiful soup库爬取网页图片  该网站中有需要的数据,但是是以图片形式存在。 这样就给我们爬取数据造成了一些困扰

    2024年02月13日
    浏览(31)
  • 环境监测中的人工智能:提高数据质量与预测准确率的关键

    环境监测是现代社会中的一个重要领域,它涉及到对大气、水体、土壤、生物等环境因素的监测和分析,以支持政策制定、资源管理、环境保护等多方面的需求。随着大数据技术的发展,环境监测数据的规模和复杂性不断增加,这为环境监测提供了更多的信息和洞察力。然而

    2024年02月21日
    浏览(44)
  • 音乐流派分类:探索利用Matlab,Django,JavaScript和Python实现85%准确率的机器学习方法

    音乐,这种涵盖了历史,文化,艺术和心理学的丰富多彩的媒体形式,一直以来都是人类社会生活的重要组成部分。通过时间的推移,音乐的风格和形式不断演变,形成了我们今天所熟知的各种音乐流派。音乐流派的分类,一直以来都是个颇具争议的主题,其主观性和模糊性

    2024年02月09日
    浏览(60)
  • 分类模型评估:混淆矩阵、准确率、召回率、ROC

    在二分类问题中,混淆矩阵被用来度量模型的准确率。因为在二分类问题中单一样本的预测结果只有Yes or No,即:真或者假两种结果,所以全体样本经二分类模型处理后,处理结果不外乎四种情况,每种情况都有一个专门称谓,如果用一个2行2列表格描述,得到的就是“混淆

    2024年02月06日
    浏览(37)
  • 利用Adam优化算法进行语音识别任务:提升模型准确率

    作者:禅与计算机程序设计艺术 语音识别是人工智能领域中的一个重要应用,近年来随着深度学习算法的快速发展,语音识别技术也取得了长足的进步。在语音识别任务中,训练模型需要大量的数据和计算资源,而且模型的准确性也是至关重要的。因此,如何提高模型的准确

    2024年02月09日
    浏览(31)
  • 模型评估指标(一)Top-5和Top-1准确率

    在看论文里面提到Top-5和top-1错误率,看了有点懵,所以去了解了一下 举个例子: 我们在训练完某个分类网络后,假设我们需要分类的数量为50类,我们需要评估它的分类性能。输入测试集的每张图片,会得到它的50个类别的的概率。 Top-5准确率 就是:在这张测试的图片50的类

    2024年02月08日
    浏览(70)
  • 自然语言处理学习笔记(八)———— 准确率

    目录 1.准确率定义 2.混淆矩阵与TP/FN/FP/TN 3. 精确率 4.召回率 5.F1值 6.中文分词的P、R、F1计算 7.实现 1.准确率定义         准确率是用来衡量一个系统的准确程度的值,可以理解为一系列评测指标。当预测与答案的数量相等时,准确率指的是系统做出正确判断的次数除以总

    2024年02月09日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包