热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

深度学习笔记(15)人的表现

深度学习笔记(15)人的表现1.人的表现2.可避免偏差3.理解人的表现4.超过人的表现5.改善模型的表现1.人的表现在过去的几年里,更多


深度学习笔记(15) 人的表现

  • 1. 人的表现
  • 2. 可避免偏差
  • 3. 理解人的表现
  • 4. 超过人的表现
  • 5. 改善模型的表现




1. 人的表现

在过去的几年里,更多的机器学习团队一直在讨论如何比较机器学习系统和人类的表现
两个主要原因:


  • 深度学习系统的进步,在许多机器学习的应用领域已经开始见到算法已经可以威胁到人类的表现了
  • 事实证明,当试图让机器做人类能做的事情时,可以精心设计机器学习系统的工作流程,让工作流程效率更高

所以在这些场合,比较人类和机器是很自然的,或者是要让机器模仿人类的行为

在这里插入图片描述
x 轴是时间,当开始往人类水平努力时,进展是很快的
但是过了一段时间,当这个算法表现比人类更好时,那么进展和精确度的提升就变得更慢了
随着时间的推移
当继续训练算法时,可能模型越来越大,数据越来越多
但性能是无法超过某个理论值上限
这就是贝叶斯最优错误率(Bayes optimal error)

贝叶斯最优错误率有时写作Bayesian,即省略optimal
就是从x到y映射的理论最优函数,永远不会被超越

所以这紫色线
无论在一个问题上工作多少年,永远不会超越贝叶斯错误率,贝叶斯最佳错误率

有两个原因,为什么当超越人类的表现时,进展会慢下来


  • 人类水平在很多任务中离贝叶斯最优错误率已经不远了
    人们非常擅长看图像,分辨里面有没有猫或者听写音频
    所以,当超越人类的表现之后也许没有太多的空间继续改善了

  • 一旦超越了人类的表现,提高性能工具就没那么好用了
    对于人类相当擅长的任务,包括看图识别事物,听写音频,或阅读语言
    人类一般很擅长处理这些自然数据
    对于人类擅长的任务,只要机器学习算法比人类差,就可以标记数据
    这样就有更多的数据可以喂给学习算法




2. 可避免偏差

用猫分类器来做例子,比如人类具有近乎完美的准确度,所以人类水平的错误是1%

在这里插入图片描述
在这种情况下,如果学习算法达到8%的训练错误率和10%的开发错误率
算法在训练集上的表现和人类水平的表现有很大差距的话
说明算法对训练集的拟合并不好
所以从减少偏差和方差的工具这个角度看,在这种情况下,应把重点放在减少偏差上
需要做的是,比如说训练更大的神经网络,或者梯度下降久一点

但也许数据集中的图像非常模糊
即使人类都无法判断这张照片中有没有猫,假设人类水平错误实际上是7.5%
此时系统在训练集上的表现还好,它只是比人类的表现差一点点,没有太多改善的空间了
不能继续减少训练错误率了

但训练误差和开发误差之间有更多的改进空间
可以将这个2%的差距缩小一点,使用减少方差的手段
比如正则化,或者收集更多的训练数据

贝叶斯错误率或者对贝叶斯错误率的估计和训练错误率之间的差值称为可避免偏差
这理论上是不可能超过贝叶斯错误率的,除非过拟合

而训练错误率和开发错误率之前的差值
就大概说明算法在方差问题上还有多少改善空间




3. 理解人的表现

在医学图像诊断例子中,要观察这样的放射科图像并做出分类诊断
在这里插入图片描述

假设普通的人类,未经训练的人类,在此任务上达到3%的错误率
普通的医生,也许是普通的放射科医生,能达到1%的错误率
经验丰富的医生做得更好,错误率为0.7%
还有一队经验丰富的医生,讨论并辩论,达成共识的意见达到0.5%的错误率

假如系统的训练错误率是5%,开发错误率是6%,
可避免偏差大概是2%,4%,4.3%,4.5%,这明显比都比方差问题1%大
所以在这种情况下,应该专注于减少偏差的技术,例如培训更大的网络
所以此时贝叶斯错误率小于等于0.5%,最优错误率必须在0.5%以下

比如系统的训练错误率是0.7%,所以你现在已经做得很好了
开发错误率是0.8%,在这种情况下,用0.5%来估计贝叶斯错误率关系就很大
因为在这种情况下,可避免偏差是0.2%,是方差问题0.1%的两倍
这表明也许偏差和方差都存在问题,但可避免偏差问题更严重

如果用0.7%代替贝叶斯错误率,可避免偏差基本上是0%,那就可能忽略可避免偏差了
实际上应该试试能不能在训练集上做得更好
更好的估计贝叶斯错误率,可以帮助更好地估计可避免偏差和方差
能够更好的做出减少偏差或减少方差的策略




4. 超过人的表现

一组人类专家充分讨论辩论之后,达到0.5%的错误率,单个人类专家错误率是1%
训练出来的算法0.6%的训练错误率,0.8%的开发错误率
可避免偏差的估计是至少0.1%,然后方差是0.2%
和减少可避免偏差比较起来,减少方差可能空间更大

但出来的算法0.3%训练错误率,还有0.4%开发错误率
这是否意味着过拟合了0.2%,或者说贝叶斯错误率其实是0.1%呢?或者也许贝叶斯错误率是0.2%?
真的不知道
实际上没有足够的信息来判断优化算法时应该专注减少偏差还是减少方差
这样进展效率就会降低

所以要达到超越人类的表现往往不容易
但如果有足够多的数据,已经有很多深度学习系统,在单一监督学习问题上已经超越了人类的水平
所以这对开发的应用是有意义的




5. 改善模型的表现

减少可避免偏差的策略:


  • 规模更大的模型,这样算法在训练集上的表现会更好
  • 训练更久
  • 更好的优化算法,比如说加入momentum或者RMSprop
  • 更好的算法,比如Adam
  • 更好的新神经网络架构,如循环神经网络和卷积神经网络
  • 更好的超参数
  • 改变激活函数,改变层数或者隐藏单位数,虽然这么做可能会让模型规模变大

减少方差的策略:


  • 收集更多数据,因为收集更多数据去训练可以更好地推广到系统看不到的开发集数据
  • 尝试正则化,包括L2正则化,dropout正则化或者之前提到的数据增强
  • 试用不同的神经网络架构
  • 超参数搜索


参考:

《神经网络和深度学习》视频课程



相关推荐:

深度学习笔记(14) 评估指标
深度学习笔记(13) Softmax分类
深度学习笔记(12) Batch归一化网络
深度学习笔记(11) 超参数调试
深度学习笔记(10) 优化算法(二)



谢谢!


推荐阅读
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • 人工智能推理能力与假设检验
    最近Google的Deepmind开始研究如何让AI做数学题。这个问题的提出非常有启发,逻辑推理,发现新知识的能力应该是强人工智能出现自我意识之前最需要发展的能力。深度学习目前可以 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 统一知识图谱学习和建议:更好地理解用户偏好
    本文介绍了一种将知识图谱纳入推荐系统的方法,以提高推荐的准确性和可解释性。与现有方法不同的是,本方法考虑了知识图谱的不完整性,并在知识图谱中传输关系信息,以更好地理解用户的偏好。通过大量实验,验证了本方法在推荐任务和知识图谱完成任务上的优势。 ... [详细]
  • 建立分类感知器二元模型对样本数据进行分类
    本文介绍了建立分类感知器二元模型对样本数据进行分类的方法。通过建立线性模型,使用最小二乘、Logistic回归等方法进行建模,考虑到可能性的大小等因素。通过极大似然估计求得分类器的参数,使用牛顿-拉菲森迭代方法求解方程组。同时介绍了梯度上升算法和牛顿迭代的收敛速度比较。最后给出了公式法和logistic regression的实现示例。 ... [详细]
  • OCR:用字符识别方法将形状翻译成计算机文字的过程Matlab:商业数学软件;CUDA:CUDA™是一种由NVIDIA推 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 近年来,大数据成为互联网世界的新宠儿,被列入阿里巴巴、谷歌等公司的战略规划中,也在政府报告中频繁提及。据《大数据人才报告》显示,目前全国大数据人才仅46万,未来3-5年将出现高达150万的人才缺口。根据领英报告,数据剖析人才供应指数最低,且跳槽速度最快。中国商业结合会数据剖析专业委员会统计显示,未来中国基础性数据剖析人才缺口将高达1400万。目前BAT企业中,60%以上的招聘职位都是针对大数据人才的。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • cs231n Lecture 3 线性分类笔记(一)
    内容列表线性分类器简介线性评分函数阐明线性分类器损失函数多类SVMSoftmax分类器SVM和Softmax的比较基于Web的可交互线性分类器原型小结注:中文翻译 ... [详细]
  • 支持向量机训练集多少个_25道题检测你对支持向量机算法的掌握程度
    介绍在我们学习机器算法的时候,可以将机器学习算法视为包含刀枪剑戟斧钺钩叉的一个军械库。你可以使用各种各样的兵器,但你要明白这些兵器是需要在合适的时间合理 ... [详细]
  • plt python 画直线_机器学习干货,一步一步通过Python实现梯度下降的学习
    GradientDescent-梯度下降梯度下降法(英语:Gradientdescent)是一个一阶最优化算法,通常也称为最速下降法。要使用梯度下降法找 ... [详细]
author-avatar
H_debug
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有