中国人工智能学会通讯——构建强健的人工智能:原因及方式 4. 检测异常

简介:

4. 检测异常

image

首先,我们可以检测到模型里的缺陷。或许我们不能修正它们,但是至少可以检测出来。如果能检测到模型里的某个异常,那么就可以寻求用户的帮助,或者可以采取一些我们认为比机器学习到的更安全的措施。

image

比如,我们可以监测预测类别的分布。试想一下,我们在做手写字符的识别系统,在英语里,我们知道字符是有一定分布频率的:最常见的英语字符是E,第二常见的是T,等等。我们可以观察一下模型的分类器的结果,对比预测的分布,如果两者相差很大,那么很可能是出了问题。

image

另一种方法是马尔科夫决策过程。举个例子,如果我们正在玩游戏,并希望达到某个目标,那么我们玩的时间越长,离达成目标的距离就越近。

比如,这是我们的预期价值函数,是解决问题的步骤。通常情况下,我们在玩游戏或者按计划执行时是在朝上走的,最大限度地让价值最大化。当然,当我们做的不好时,可以看到有些曲线的轨迹并不是朝上走,看起来就像我们脱离了轨道,这或许意味着我们的模型存在一些问题。

image

另外一件可以做的事就是监测辅助规律。Hermansky 写过一篇很有意思的论文,是关于语音识别里的未知的未知。在做语音识别时,你可以为不同的频段,比如低频、中频、高频,训练单独的识别器。在自然语言中,你发出的两个音节之间是有时间间隔的,因此我们可以监控这些间隔时长。如果我们发现分类器给出的分布结果和我预期的差别很大,那么就可以探测哪个地方出了问题。

Hermansky 提出了一个解决方案:弄清楚哪些频段其实是噪音,因为在给定的环境中,有一些类型的噪音源其实是集中在某一个频段的。

image

另外一个例子要追溯到1992年的一个自动驾驶汽车项目。当时这个系统很简单,只有一个车道保持系统和一个自动转向系统,是用神经网络做的。在这个神经网络里,有一个摄像头用来拍摄道路、树木等,然后这些信息会通过4 个隐藏单元用来预测转向指令。此外,这4 个隐藏单元对输入的图片进行重构,这样就可以比较原始图片和重构后图片之间的差异,如果两者之间的差异较大,那么这个转向命令就是不可信的。

在这一想法中,相同的隐藏层要完成两项任务,因此我们可以监测这些隐藏单元。如果重构后的图片差异很大,那么这些隐藏单元的这项任务完成的并不好,这也就意味着在预测转向命令这一任务上,这些隐藏单元可能也做的很差。

image

我们可以做的另外一件事就是观察异常情况。如上图所示,我们的训练样本的分布是Ptrain,通过这些训练样本,训练出分类器。我们的测试样本的分布则是Ptest。如果训练样本的分布和测试样本的分布相同,那么系统的准确性就能得到保障。但是通常情况下,测试样本和训练样本的分布是不一样的,在这种情况下应该怎样做?

image

当然,你肯定听说过领域适应(Domain Adoption)和迁移学习。我要讲的可能是稍微简单一点的问题,仅仅只需要检测测试数据是否与训练数据不同,这个例子是基于我在计算机视觉领域的一项研究工作。此前,我曾参加过一个生态学的项目。当时我们想要衡量美国淡水河流的健康程度,于是环保部门派了一些人去收集这些河流里的昆虫标本,将昆虫的分布状态作为判断河流健康程度的标准。

image

我们要做的是建立一个计算机视觉系统,来对这些昆虫进行分类,那些户外的工作人员收集了29 种昆虫作为训练的数据集。后来,我们利用这些数据训练一个监督学习系统,而且运行结果也不错。但是,很快发现,有的测试数据并不是这29 类中的一种,有可能是其他的昆虫,或者小石头、叶片、垃圾等。我们要怎样做?

image

此前我们曾做过很多关于异常检测的工作,这里的方法很简单,就是在系统里加一个异常检测器,它主要用来负责检测新图片。如果这张图片与训练数据中的图片看起来很陌生,它就会给定一个“异常分数”,如果这个分数超过某个阈值,那么系统就会“拒绝”这张图片;如果低于这个阈值,那么就可以放行,进入到下一步——分类器。

image

这里是一个初步的研究,我们训练分类器的时候只用了两个类别的数据,但是实际的测试数据包括26 类。

image

实际上,还有很多其他的尝试,其中一些可能比我们现在的要好。比如Open Category Classification 、Change-Point Detection、Covariate Shift Correction、Domain Adaptation,它们都是和这些问题相关的。

相关文章
|
24天前
|
人工智能 监控 物联网
深度探索人工智能与物联网的融合:构建未来智能生态系统###
在当今这个数据驱动的时代,人工智能(AI)与物联网(IoT)的深度融合正引领着一场前所未有的技术革命。本文旨在深入剖析这一融合背后的技术原理、探讨其在不同领域的应用实例及面临的挑战与机遇,为读者描绘一幅关于未来智能生态系统的宏伟蓝图。通过技术创新的视角,我们不仅揭示了AI与IoT结合的强大潜力,也展望了它们如何共同塑造一个更加高效、可持续且互联的世界。 ###
|
2月前
|
人工智能 算法 安全
人工智能伦理与监管:构建负责任的AI未来
【10月更文挑战第3天】随着人工智能(AI)技术的快速发展,其在社会各领域的应用日益广泛。然而,AI的广泛应用也带来了一系列伦理和监管挑战。本文旨在探讨AI的伦理问题,分析现有的监管框架,并提出构建负责任AI未来的建议。同时,本文将提供代码示例,展示如何在实践中应用这些原则。
368 1
|
3月前
|
人工智能 运维 自然语言处理
AI战略丨构建未来: 生成式人工智能技术落地策略
GenAI 的技术落地需要企业进行周密地规划和持续地努力。企业必须从自身的战略出发, 综合考虑成本、效果和性能,制定合理的技术架构,通过全面的 AI 治理,实现可持续的创新和发展。
|
4月前
|
人工智能 安全 Anolis
中兴通讯分论坛邀您探讨 AI 时代下 OS 的安全能力 | 2024 龙蜥大会
操作系统如何提供符合场景要求的安全能力,构建更加安全可信的计算环境。
|
4月前
|
数据采集 人工智能 监控
构建未来:人工智能在城市规划中的应用与挑战
【8月更文挑战第6天】随着人工智能技术的飞速发展,其在各行各业的应用日益深入。本文将探讨人工智能在城市规划领域的应用及其所面临的挑战,分析AI技术如何助力城市发展更加智能、高效和可持续,同时指出在实施过程中需要注意的问题和潜在风险。通过对未来趋势的展望,本文旨在为城市规划者和决策者提供参考,促进人工智能技术在城市建设中的健康发展。
|
5月前
|
计算机视觉 人工智能
人工智能问题之人脸识别团队决定使用LangChain来构建一个智能排查助手如何解决
人工智能问题之人脸识别团队决定使用LangChain来构建一个智能排查助手如何解决
35 1
|
5月前
|
机器学习/深度学习 人工智能 算法
人工智能伦理框架:构建AI的道德指南针
【7月更文挑战第16天】随着人工智能技术的快速发展,其对社会的深远影响引起了广泛关注。本文探讨了构建人工智能伦理框架的必要性,并提出了一套基于四大原则的伦理指导方针:透明度、公正性、责任归属和隐私保护。文章旨在为AI系统的设计与部署提供道德指南,确保技术进步与人类价值观相协调。
147 3
|
6月前
|
人工智能 数据库 Docker
探索人工智能的世界:构建智能问答系统之环境篇
【6月更文挑战第7天】在本教程中,作者指导读者如何搭建项目环境,包括安装Python 3.10、Docker Desktop和Visual Studio Code。安装Python时可按默认设置进行,Docker Desktop用于管理数据库容器,提供更好的开发和测试环境。Visual Studio Code是一个推荐的源代码编辑器。虽然尝试使用cursor开发时遇到问题,但最终选择了使用VS Code。但建议本地开发。配置文件部分,提供了`docker-compose.yaml`、`Dockerfile`和`pyproject.toml`的示例,用于构建和管理项目容器。
探索人工智能的世界:构建智能问答系统之环境篇
|
4月前
|
人工智能 搜索推荐 测试技术
基于人工智能的代码分析与 Bug 检测实战
在人工智能(AI)尚未普及之时,检测程序错误主要依赖单元测试、代码扫描工具如SonarQube和FindBugs,以及人工集成测试。如今,AI技术显著提升了这一过程的效率,不仅能辅助开发者编写更高质量的代码,还能在单元测试与集成测试阶段提供支持,如通过Copilot+Codex优化单元测试,或利用ChatGPT等工具自动化生成测试脚本。本章将介绍如何运用AI工具识别三种常见错误:代码执行异常、未满足需求及变量命名不当,并通过实例演示Copilot如何高效定位并修正这些问题。
|
6月前
|
机器学习/深度学习 数据采集 人工智能
人工智能:构建自定义机器学习模型的步骤与技巧
【6月更文挑战第25天】构建自定义机器学习模型涉及明确问题、数据收集预处理、特征工程、模型选择训练、评估优化及部署监控。关键技巧包括选择适配的算法、重视数据预处理、精巧的特征工程、有效评估优化和适时的模型更新。通过这些步骤和技巧,可提升模型性能与泛化能力。