重温五条 AI 基础规律

简介: 像机器学习如何人工“智能”

雷锋网 AI 科技评论按:如果每个人都有足够的时间和热诚,并乐意去大学拿个 AI 学位,那你大概就不会读到这篇博客了。 虽说 AI 的工作方式挺神秘的,但在处理技术问题的时候,以下这五个 AI 原则应该可以帮你规避一些错误。它们对于当代的基于统计学习的机器学习(Machine Learning)系统,尤其是深度学习(Deep Learning)系统尤其适用。

这篇来自 eloquent.ai 博客的文章所说的,总结起来就是这 5 条 AI 原则:

利用未曾见过的数据评估AI系统

更多数据可以带来更好的模型

有效数据的价值远远超过无效数据

从一个简单的基线开始

人工智能并不是魔法

给大家一个小小的忠告——通过对机器学习的基本理解,这篇文章将更有意义。 之前的另一篇文章(https://blog.eloquent.ai/2018/08/30/machine-learning-for-executives/)对这些基础知识有所解释。当然了,不是说这篇文章你非读不可,但是读了的话肯定会对你后面的理解更有帮助!(也欢迎大家阅读雷锋网 AI 科技评论的其它文章)

1. 利用未曾见过的数据评估AI系统

在上一篇文章中,我们介绍了如何构建分类器以将图像标记为猫(绿色圆圈)或狗(蓝色三角形)。在将我们的训练数据转换为向量之后,我们得到了下面的图表,其中红线表示我们的“决策边界”(即将训练数据转换为向量后,这条“边界线”就将图像划分为猫和狗)。

TB1TMU8mrvpK1RjSZPiXXbmwXXa.png

显然,图中的决策边界错误地将一只猫(绿色圆形)标记标记成了狗(蓝色三角形),即遗漏了一个训练个样本。那么,是什么让训练算法没有选择下图中的红线作为决策边界呢?

TB1tFI8mrPpK1RjSZFFXXa5PpXa.png

在这两种情况下,我们对训练集进行分类都得到了同样的准确率——两中决策边界都标错了一个例子。但是如图示,当我们在数据中加上一只未出现过的猫时,只有左图的决策边界会正确地预测这个点为猫:

TB1PuI6mxTpK1RjSZFKXXa2wXXa.png

分类器可以在用来训练它的数据集上工作得很顺利,但它未必适用于训练的时候没有见过的数据。此外,即使分类器在特定类型的输入(例如,室内场景中的猫)上工作良好,它对于相同任务的不同数据(例如,室外场景中的猫)也可能无法很好地工作。

盲目地购买 AI 系统而不对相关的未知信息进行测试,可能会付出很大的代价。一种测试未知数据的实用方法是——先保留一部分数据不提供给开发人工智能系统的企业或个人,然后自己通过生成的系统运行这些保留数据。最不济,也得保证你能自己试用才行。

2. 更多数据可以带来更好的模型

如果给你下面的训练数据集,你会把决策边界画在哪里?

TB1uZA5mpYqK1RjSZLeXXbXppXa.png

你想的可能没错——许多决策边界可以准确地分割这些数据。 虽然下面的每个假设决策边界都正确地分割了数据,但它们彼此之间的差别很大,正如我们上面所看到的,其中一些可能会在目前尚未见到的数据(也就是你真正关心的数据)上更糟糕:

TB13ig8mCzqK1RjSZFpXXakSXXa.png

从这个小数据集中,我们不知道这些彼此不同的决策边界中,究竟哪一个最准确地代表了现实世界。缺乏数据会导致不确定性,因此我们得收集更多数据点,并将其添加到初始图表中,则可得到下图:

TB1Eb33mzDpK1RjSZFrXXa78VXa.png

额外的数据能帮助我们大幅缩小选择范围,立即画出绿色和蓝色间的决策边界,因此决策边界会是如下所示:

TB1vC38mAvoK1RjSZFNXXcxMVXa.png

当机器学习模型表现异常时,潜在的问题通常是模型没有经过足够或正确的数据训练。尽管更多的数据几乎总是有帮助,但需要注意,数据越多可能得到的回报却在减少。当我们将第一个图的数据加倍时,准确度明显增加。但是基于该图表,如果将数据再加倍,则精度的提高不会有之前那么大。准确度随着训练数据的数量大致呈对数增长,因此从 1k 到 10k 个样本可能比从 10k 到 20k 个对准确性产生更大的影响。

对于我个人来说,这一条特别忌讳,尤其是对于预算紧张的创业公司:你们经常给ML工程师支付数高额薪水,但也请确保提供足够的预算和时间来让他们仔细收集数据。

3. 有效数据的价值远远超过无效数据

在上面的例子中,虽说有更多的数据会对训练有所帮助,但前提是它们足够准确才行。还是前面的例子,在收集了附加数据之后,可以得到一个这样的图形和一个决策边界,如下所示:

TB1yUA9mrrpK1RjSZTEXXcWAVXa.png

但是,如果这些新数据点中的一些其实是被错误标记了,而真是情况是下面这样的呢?

TB18AZ4mxTpK1RjSZR0XXbEwXXa.png

我们要注意,虽然这些标记错误的点与第一个图中的点坐标相同,但它们代表的意义已经改变。这导致了一个完全不同的决策边界:

TB1hyU7mwHqK1RjSZFPXXcwapXa.png

即使只有四分之一的数据集被错误标记,但很明显,错误的数据会对我们的模型构建有重大影响。我们可以在训练期间使用一些技术来减少标记数据时的错误,但这些技术作用有限。在大多数情况下,清理基础数据更加容易和可靠。

这里的要点是“有效数据”至关重要,有效数据意味着数据准确标记,意味着数据合理涵盖了我们想关注的范围,也意味着训练集中同时存在简单案例和困难案例等等。因而决策边界没有那么多的摆动空间,只有一个“正确”的答案。

4. 从一个简单的基线开始

这并不是说你应该尝试了一点简单的东西就觉得满意然后停下来。即便你最终的方法既现代又复杂,通过这条原则,你也会开发得更快,并且最终的结果也会更好。

我可以举一个关于我自己的真实例子,当我读研一时,我们实验室的同学兼 Eloquent 的研究员 Angel 和我参与了一个项目,我们各自将语言里描述时间的词转化成可供机器阅读的格式。本质上来说,就是试图让计算机理解诸如“上周五”或“明天中午”之类的短语。

由于这些项目是申基金所必需的,Angel 致力于一个实用性强,有确定性的规则系统。她为了让这个系统能实用起来而绞尽脑汁。而我当时只是一个在实验室轮岗的学生,团队让我自主选择任何花哨的方法,就像糖果店里的孩子一样。我探索了最时髦、最动人的语义解析方法。在我的项目中,我运用了 EM、共轭先验、一个完整的自定义语义解析器等等新奇的方法。

差不多十年之后,我很高兴还留下了一篇受到好评并且引用数还行的论文。然而,Angel 的项目 SUTime 呢,现在是斯坦福流行的 CoreNLP 工具包中最常用的组件之一——简单的方法击败了时髦的方法。

你可能以为我已经吸取了教训,然而几年之后,当我成为一名高年级研究生时,我要让另一个系统启动并用于另一个基金项目。我再一次试图训练一个花哨的机器学习模型,但几乎没有做出什么成果。有一天我觉得无比失败和沮丧,以至于我甚至开始写“模式”。“模式”就是一些简单的确定性规则。比如,当一个句子包含“出生于”这个词时,则假设这是一个出生地。模式不会学习,作用有限,但它们易于编写且用起来合理。

最后,基于模式的系统不仅胜过我们原来的系统,它后来还被加到了 NIST 排名前 5 的系统中,并深深影响了那些基于机器学习的模型高性能系统。

结论就是:先做简单的事。当然了,我们还有其他更好的理由:

它会给你的最终模型的性能提供一个安全的最低值。当你做出一个简单的基准模型之后,你会希望任何聪明的东西都会击败它。几乎不会有什么模型会比一个基于规则的模型表现还要差。这给你的更高级的方法提供了一个比较,如果你的高级方法的表现更差,那意味着你有什么东西彻底做错了,并不是任务太过艰巨。

通常,简单的方法需要较少的(或不用!)训练数据,这就使你可以在没有大量数据投资的情况下进行原型设计。

它经常会揭示出手头任务的难度,这通常会向你指明如何选择更好的机器学习方法来处理这些困难的部分。此外,它还能向你指明如何给需要更多数据的方法收集数据。

简单的方法一般只需要很少的额外努力就可以泛化到未见过的数据上。(记住:总是用模型没有见过的数据来评估模型!)更简单的模型往往更容易解释,这使得它们更具可预测性,因此让它们向没有见过的数据上泛化的过程也更明了。

5. 人工智能并不是魔法

这句话是我经常挂在嘴边的。大家虽然表面上都表示赞同,但心里未必真的服气,因为人工智能看起来就像魔术一样。在谈到 Eloquent 人工智能的宏伟未来计划时,我对曾经反复强调这个错误观念感到内疚。我从训练机器学习模型的细节中得到的越多,模型看起来就越看起来不像是曲线的拟合,它们看起来更像一个黑匣子,我可以付出一些代价来进行操控。

人们很容易忘记,现代机器学习领域还很年轻——只有二三十岁。与现代机器学习工具包的成熟度和复杂性相比,整个领域仍然相当不成熟。它的快速进步使人们很容易忘记这一点。

机器学习的一部分邪恶之处在于它具有内在的概率性。它在技术上无所不能,但不一定达到你想要的准确度。我怀疑在许多机构中,在组织结构图上添加新东西时,“准确度”的细微差别被漏下,只留下“人工智能可以做任何事情”的叙述部分。

你如何将不可能与可能分开?我尝试遵循一些最佳做法:

与实际训练模型的人交谈。不是团队领导,不是部门主管,而是让模型训练代码运行起来的人。他们通常可以更好地了解模型的工作原理及其限制。确保他们愿意随时告诉你,你的模型有限制并且在某些方面表现不佳。我敢保证,无论他们是否告诉你,你的模型总会有一些不行的方面。

至少对于 NLP 项目,你通常可以使用一个快速又繁杂的基于规则的系统来检查任务的可行性。机器学习是一种很好的方式,可以用来生成一个非常大且模糊的、很难用人工的方法写下来的规则集。但如果一开始你就很难写下一套合理的规则来完成你的任务,那这通常是一个不好的迹象。然后,收集一个小数据集并尝试使用你学习到的系统。接下来是一个稍微大一点的数据集,并且在你获得表现提升时继续这样做。一个重要的经验法则就是:准确度随着数据集大小的对数而增长。

永远不要相信高得出奇的准确性:任何超过 95 或 97% 的数值。同样地,不要相信任何高于人类输出平的准确性,或者高于一致性评价。很大概率上,要么是数据集有缺失,有么是评估不完善。两者都经常发生,即使是对于经验丰富的研究人员

你在网上看到的所有和机器学习有关的内容(新闻,博客,论文),如果没有其它作证那它们都是有歧义或错误的——包括现在这篇。

谢谢你的阅读! 另外再说一下,谢谢大家给我们上一篇文章的留言。看到社区中的大家一起参与进来真的感觉很棒。

和往常一样,如果你有任何问题、意见或反馈,请发送电子邮件至 hello@eloquent.ai。填写注册表格订阅,我们将直接发送这些帖子到你的邮箱,并访问我们的主页 eloquent.ai。如果能这么做的话我就很满足了。回聊!

via blog.eloquent.ai,雷锋网(公众号:雷锋网) AI 科技评论编译

目录
相关文章
|
2月前
|
机器学习/深度学习 数据采集 人工智能
揭开大模型幻觉之谜:深入剖析数据偏差与模型局限性如何联手制造假象,并提供代码实例助你洞悉真相
【10月更文挑战第2天】近年来,大规模预训练模型(大模型)在自然语言处理和计算机视觉等领域取得卓越成绩,但也存在“大模型幻觉”现象,即高准确率并不反映真实理解能力。这主要由数据偏差和模型局限性导致。通过平衡数据集和引入正则化技术可部分缓解该问题,但仍需学界和业界共同努力。
40 4
|
2月前
|
机器学习/深度学习 数据采集 人工智能
【紧跟AI浪潮】深度剖析:如何在大模型时代精准捕获用户心声——提高召回率的实战秘籍
【10月更文挑战第5天】在深度学习领域,大型模型常面临召回率不足的问题,尤其在信息检索和推荐系统中尤为关键。本文通过具体代码示例,介绍如何提升大模型召回率。首先,利用Pandas进行数据预处理,如清洗和特征工程;其次,选择合适的模型架构,如使用PyTorch构建推荐系统;再者,优化训练策略,采用合适的损失函数及正则化技术;此外,选择恰当的评估指标,如召回率和F1分数;最后,通过后处理优化结果展示。以上方法不仅提升召回率,还增强了模型整体性能。
102 0
|
机器学习/深度学习 人工智能 计算机视觉
1分钟就能查出整篇论文的图片误用:这个AI是有些火眼金睛在身上的
1分钟就能查出整篇论文的图片误用:这个AI是有些火眼金睛在身上的
327 0
|
机器学习/深度学习 人工智能 算法
人工智能机器学习底层原理剖析,人造神经元,您一定能看懂,通俗解释把AI“黑话”转化为“白话文”
按照固有思维方式,人们总以为人工智能是一个莫测高深的行业,这个行业的人都是高智商人群,无论是写文章还是和人讲话,总是讳莫如深,接着就是蹦出一些“高级”词汇,什么“神经网络”,什么“卷积神经”之类,教人半懂不懂的。尤其ChatGPT的风靡一时,更加“神话”了这个行业,用鲁迅先生形容诸葛武侯的话来讲:“多智而近妖”。 事实上,根据二八定理,和别的行业一样,人工智能行业内真正顶尖的天才也就是20%,他们具备真正的行业颠覆能力,可以搞出像ChatGPT这种“工业革命”级别的产品,而剩下的80%也不过就是普通人,每天的工作和我们这些人一样,枯燥且乏味,而之所以会出现类似“行业壁垒”的现象,是因为这个行
人工智能机器学习底层原理剖析,人造神经元,您一定能看懂,通俗解释把AI“黑话”转化为“白话文”
|
机器学习/深度学习 传感器 算法
北大&北航团队揭示电子转移规律,深度学习定量预测96种元素在任意压力下的电负性
北大&北航团队揭示电子转移规律,深度学习定量预测96种元素在任意压力下的电负性
172 0
|
机器学习/深度学习 人工智能 自然语言处理
扩散模型背后数学太难了,啃不动?谷歌用统一视角讲明白了
扩散模型背后数学太难了,啃不动?谷歌用统一视角讲明白了
254 0
|
传感器 机器学习/深度学习 人工智能
《花雕学AI》29:5秒钟就能为你的想法想出新点子?ChatGPT新点子指令模型告诉你怎么做
你有没有遇到过这样的情况,你想出了一个想法,但是不知道怎么扩展或改进它?你有没有想过有一个工具,可以帮你在短时间内为你的想法生成各种新的点子?如果你有这样的需求,那么你一定要了解ChatGPT。 ChatGPT是一个基于人工智能的文本生成器,它可以根据你的输入生成各种内容,包括想法。它有一个特殊的功能,叫做新点子指令模型,它可以让ChatGPT为你的想法生成新的点子,只需5秒钟。 在这篇文章中,我将介绍新点子指令模型是什么,如何使用它,以及一些使用它的实例。如果你想要用ChatGPT快速激发你的创造力,为你的想法提供5秒钟的灵感,请继续阅读。
170 0
|
机器学习/深度学习 人工智能 自然语言处理
零售业中的机器学习:要点和十个关键应用
零售业中的机器学习依赖于自我改进的计算机算法,这些算法用于处理数据,发现变量之间的重复模式和异常,并自主学习这种关系如何影响或决定行业的趋势、现象和业务场景。
271 0
零售业中的机器学习:要点和十个关键应用
|
算法 JavaScript 前端开发
计算机通识/14:算法常识/算法常识-01
计算机通识/14:算法常识/算法常识-01
117 0
|
机器学习/深度学习 人工智能 定位技术
举出其他监督学习,无监督学习,强化学习的例子?说一下非显著式编程的优势?AlphaGo的胜利,带给我们什么样的人生启示?当代大学生如何在人工智能时代增加自己的核心竞争力?
举出其他监督学习,无监督学习,强化学习的例子?说一下非显著式编程的优势?AlphaGo的胜利,带给我们什么样的人生启示?当代大学生如何在人工智能时代增加自己的核心竞争力? 监督学习:比如手写体识别,我们将许多汉字的手写数字图像数据作为训练数据。汉字的数据的分类目标被称作标签和类。训练数据有一个标签(某一个汉字),根据标签可以找到关于手写数字图像的正确答案信息,例如“此手写数字图像为‘人’”。在学习阶段,当将手写汉字图像输入系统时,调整系统的参数以尽量将输入图像分类为正确的标签,最后进行识别输出正确结果。 无
228 0