神经网络训练中,错误数据集对模型结果的影响有多大
人工智能本质上是一门研究如何用机器代替人类的学科,工程师们尝试用各种算法模型来赋予机器像人类一样的思考与联想能力。
在当下所属的弱人工智能时代,实现人工智能的方式主要以有监督的深度学习方法为主,是基于已知变量和因变量推导函数关系的算法模型。
而作为深度学习的重要基础,神经网络技术无疑是行业内最热门的研究方向之一。探寻神经网络技术原理、优化神经网络算法模型、规避算法调优过程中遇到的各种问题,一直是学界关注的焦点与热议的话题。
一.神经网络概述
广义的神经网络包含生物神经网络与人工神经网络。在人工智能领域,神经网络技术采用了一种仿生学的思想,即通过模拟生物神经网络的结构和功能来实现建模,这就需要了解生物神经元细胞的工作原理。
如下图所示,生物神经网络的工作原理如下:
1)外部信息通过神经末梢,转化为电信号,转导到神经细胞;
2)神经元组成神经中枢;
3)神经中枢分析各种信号,做出判断;
4)人体根据神经中枢的指令,对外部信息做出反馈。
参考生物神经网络的运作机制,科学家们构建了类似的人工神经网络,较为经典就是MP神经元模型。这是1943年由科学家McCulloch和Pitts提出,他们将神经元的整个工作过程抽象为下述的模型:
其中:
Inputs:模拟生物神经网络中来自其他神经元的输入;
Weights:模拟生物神经网络中每个神经元对外接收的突触强度不同,所以外界接收的输入乘以一定权重;
Sum:模拟生物神经网络中神经元对外接收的信号进行累加汇总;
Bias:模拟生物神经网络中神经元的一般敏感性。每个神经元的敏感性不同,所以需要一定的偏差来调整汇总值;
Activation Function:模拟生物神经网络中信号累积到一定程度产生的动作电位,当累积到一定程度就会“激活”动作电位;
Output:模拟生物神经网络中神经元对外释放的新信号。
这是一种较为简单的神经网络模型,应用场景的局限性较强。
随着技术的发展,两层神经网络、多层神经网络开始出现,非线性分界拟合能力不断增强,并具备了较强的可应用性,开始广泛应用于自动驾驶、语音识别等具体场景。
上图中,左侧为简单神经网络,右侧为多层神经网络,两者的主要区别在于中间隐藏层的层数。隐藏层可以设计多层,并形成深度神经网络(DNN, Deep Neural Network)。
通过图片示例我们可以发现,每增加一层隐藏层,模型的参数数量就会急剧增加,这对模型训练所需的数据资源提出了更高的要求,无论是数据总量还是数据质量,要求均尤为苛刻。
二.数据错误类型
从上文中,我们知晓了数据资源对神经网络模型的重要性。如何为神经网络模型的训练提供优质的标注数据集,对神经网络模型的创建与调优至关重要。
然而,在实际的标注场景下,即使借助AI自动化的辅助,仍然避免不了人为原因所产生的各种数据质量问题,常见的标注错误类型包括:
类目错误:对象被错误地分类,例如车辆被标记为行人;
属性错误:对象属性描述错误,例如停放的汽车被标注为行驶中;
遗漏错误:应当标注的对象却没有被标注;
冗余错误:不应当标注的对象却被标注;
贴合错误:未全部包含或者不贴合;
未知错误:原本贴合的对象,因误触导致位置偏移。
三.数据质量对算法模型的影响
当神经网络模型训练与调优的过程中,输入这些质量较差的数据集时,会产生什么样的结果呢?
▌1.类目错误
在一些论文中,存在类目错误的数据通常被定义为类噪声(Class noise)或标签噪声( Label noise)。依据错误产生的原因,类目错误可以分为随机错误与主观错误两种:
1)随机错误
此类错误产生的原因为随机,比如待标注对象原本为“小轿车”,但标注员却因为走神将其标注为“货车”、“SUV”或其他类别。
2)主观错误
标注员主观上将类别判定错误,比如待标注对象原本为“小轿车”,但标注员却认为其为“货车”。
学者Zhu和Wu在论文《Class noise vs. attribute noise: A quantitative study》中对这两种错误进行了实验研究,相关实验表明:
1)类目错误对于模型质量有相当的负面影响;
2)主观错误对于模型的负面影响要比随机错误更高。(参考资料2)
而学者Flatow和Penner则进一步研究了两类错误对卷积神经网络(CNN)准确性的影响。结果表明类噪声与测试准确度之间存在线性相关性,其中10%的类噪声将导致模型准确度降低4%。(参考资料3)
此外,类噪声对其他机器学习算法也有负面影响,例如对决策树、支持向量机和K近邻 (KNN) 等(参考资料4)。
▌2.属性错误
学者Zhu和Wu曾全面研究过属性错误对模型输出的影响。他们进行了一项包含超过十万个样本的研究,并引入了暗示错误或主观设置属性的噪声来测试对分类的影响。
实验结果表明:
1)属性错误较类目错误的负面影响低,但仍然会产生严重的分类问题;
2)属性与分类之间的相关性越高,该属性对分类的负面影响就越大;
3)打消除包含类噪声或噪声清理的实例可能会提高分类精度。
▌3.遗漏错误
依据不同的场景,遗漏错误可能产生不同的结果:
1)只关注标签本身
当训练模型只关注于标签本身时,当其中某个对象没有被标记时,用于训练的数据总量会减少,但数据仍然可用,并不会带来过大的负面影响。
2)关注更多事物
在3D点云连续帧场景下,需要用相同的Track ID在不同帧内跟踪同一个物体,比如汽车。当中间某一帧内的汽车漏标后,可能导致Track ID中断,导致轨迹追踪模型不可用。
学者Xu等人在论文《Missing labels in object detection》中探讨了遗漏标签对FSOD(全监督对象检测模型)的影响。实验是在RCNN(基于区域的CNN)、Faster-RCNN(基于更快区域的 CNN)、YOLO(You Only Look Once,一种基于深度神经网络的对象识别和定位算法)和SSD(单镜头检测器)和WSOD(弱监督对象检测模型)上进行的。
实验结果表明,FSOD模型的性能随着标签缺失率的增加而明显下降。值得一提的是,标签遗漏对WSOD模型几乎没有影响,但它的检测性能却普遍较差(参考资料5)。
▌4.冗余错误
与遗漏错误相反,冗余错误不是漏标而是多标,但两者对于算法模型均具备较高的负面影响。
▌5.精度错误
贴合错误与位置错误可统一称之为精度错误。相较于此前几类错误类型,精度错误对于最终模型的负面影响相对较小,比如使用类目错误(小轿车标记为货车)的数据集,最终训练得到的算法模型是完全错误不可用的(会将小轿车误认为货车)。
而使用精度错误的数据集,最终训练的算法模型一定程度上是可用的(可以正常识别出小轿车,但是精度欠佳)。
不过,从商业化应用的角度考量,使用这种精度错误的数据训练得到的模型同样也是无法使用的。比如在自动驾驶场景下,算法模型需要达到极高的精准度,才能尽最大程度保证自动驾驶汽车在行驶过程中的安全性。
所以,综上而言,在人工智能应用深入日常生活的今天,训练数据集的质量问题需要获得更多的关注目光,数据服务商也需要投入更多精力在提升数据集质量与数据精度上。
神经网络训练中,错误数据集对模型结果的影响有多大相关推荐
- 神经网络训练中的Tricks之高效BP(反向传播算法)
神经网络训练中的Tricks之高效BP(反向传播算法) zouxy09@qq.com http://blog.csdn.net/zouxy09 Tricks!这是一个让人听了充满神秘和好奇的词.对于我 ...
- 搭建并训练多标签数据集的模型并将结果可视化
#搭建并训练多标签数据集的模型并将结果可视化(tensorflow2) 1.数据集的介绍 该数据为拥有颜色与衣服类别两个标签的衣服识别,对于这样的数据集要求我们的神经网络需要两个输出,一个是类别,另一 ...
- 神经网络训练中batch的作用(从更高角度理解)
1.什么是batch batch,翻译成汉语为批(一批一批的批).在神经网络模型训练时,比如有1000个样本,把这些样本分为10批,就是10个batch.每个批(batch)的大小为100,就是bat ...
- 谷歌力作:神经网络训练中的Batch依赖性很烦?那就消了它!
点击上方↑↑↑"视学算法"关注我 来源:公众号 量子位 授权转 再见了,批量依赖性(Batch Dependence). 优化神经网络方法千千万,批量归一化(Batch Norma ...
- Windows下使用Darknet训练自己的数据集(模型:yolov4-tiny、数据集:垃圾分类)
本文章主要介绍如何使用Darknet在windows下训练自己的数据集,其中模型使用的是yolov4-tiny,数据集使用的是自己垃圾分类数据集(需要的自取:在我上传的资源中有) PS:这是我的第一篇 ...
- 简短加密_神经网络训练中回调的简短实用指南
简短加密 Callbacks are an important part of neural network training. These are actions that can be perfo ...
- 神经网络训练中断后继续,神经网络训练停止条件
1.神经网络训练停止的问题~~,我的神经网络训练老是不能停止,请大家帮我测试一下,跪谢!!! 神经网络停止的条件是:1.达到设定的精度要求,2达到最大迭代次数. 调整这两个参数就可以控制训练时间了吧! ...
- 【深度学习】mask_rcnn训练自己的数据集以及模型使用(实践结合GitHub项目)
根据requirements - 开源项目默认的.txt进行库安装 环境:WIN10 + Anoconda + Pycharm + python3.6.2 mask_rcnn基本流程1.训练 1)la ...
- 深度学习入门——利用卷积神经网络训练CIFAR—10数据集
CIFAR-10数据集简介 CIFAR-10是由Hinton的学生Alex Krizhevsky和Ilya Sutskever整理的一个用于普适物体的小型数据集.它一共包含10个类别的RGB彩色图片: ...
最新文章
- html表单的创建和css的构成
- C#中使用Monitor类、Lock和Mutex类来同步多线程的执行(转)
- 算法---------数组-----------寻找峰值
- BZOJ2877 NOI2012魔幻棋盘(二维线段树)
- leetcode算法题--Letter Case Permutation
- Servlet跳转到jsp页面的几种方法
- 【MM模块】Split Valuation 分割评估
- 操作系统(十二)线程的实现方式、多线程模型
- WPF中StringToImage和BoolToImage简单用法
- linux 安装apache http server
- linux如何实现c语言程序,在Linux下如何利用C语言来实现一个Sniffer
- ansible 通过加密码来批量管理主机及管理Windows主机
- zmap扫描mysql_zmap/masscan 快速扫描网络
- TM1640 数码管驱动代码(简化版)
- 6. NMF方法及实例
- 空间平面方程的三种表述方式
- gitbook 插件 文章 TOC 目录
- 定解问题(一)| 通解与特解 + 适定性 | 偏微分方程(五)
- php推送消息到邮箱,thinkphp3.2通过PHPMailer发送邮件推送消息
- KAZE FEATURES