Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

Lilian Weng作者杜伟、陈萍、小舟编辑

大模型自主智能体爆火,OpenAI也在暗中观察、发力,这是内部人的分析博客

立志实现 AGI 的 OpenAI,是不是已经在暗中做起了大模型智能体?

最近几个月,随着大语言模型的持续火爆,利用其构建 AI 智能体的研究陆续进入人们的视线。AI 智能体这个概念也流行开来,不断突破人们的想象力。

先是斯坦福大学、谷歌的研究者,他们成功构建了一个「虚拟小镇」,小镇上的居民不再是人,而是 25 个 AI 智能体。它们的行为比人类角色的扮演更加真实,甚至举办了一场情人节派对。

随后商汤、清华等机构提出了能够自主学习解决任务的通才 AI 智能体 Ghost in the Minecraft (GITM),在《我的世界》中比以往所有智能体都有更优秀的表现。


同一时间,英伟达开源的 VOYAGER,也给 AI 圈带来了「小小的」的震撼。作为一个大模型驱动、可以终身学习的游戏智能体,VOYAGER 在《我的世界》中玩出了高水平。这些 AI 智能体的先后涌现,甚至让人认为是未来通用人工智能(AGI)的雏形。

很多 AI 领域的大佬和科技巨头对 AI 智能体的发展产生了极大兴趣并寄予了厚望。特斯拉前 AI 总监、今年年初回归 OpenAI 的 Andrej Karpathy 在一次开发者活动上透漏,每当有新的 AI 智能体论文出现时,OpenAI 内部就会非常感兴趣,并认真地进行讨论。

图源:https://twitter.com/GPTDAOCN/status/1673781206121578498

那么不禁要问,AI 智能体到底有哪些组成部分呢?它的神奇之处又具体表现在哪些方面呢?

近日,OpenAI 安全系统(Safety Systems)负责人 Lilian Weng 写了一篇关于 AI 智能体的博客。她认为 AI 智能体的核心驱动力是大语言模型规划(Planning)、 记忆(Memory)和工具使用(Tool Use)是实现它的三个关键组件。


先前机器之心文章《GPT-4 背后的开发者:七大团队,三十余位华人》也曾介绍过 Lilian Weng,她 2018 年加入 OpenAI,在 GPT-4 项目中主要参与预训练、强化学习 & 对齐、模型安全等方面的工作。

Lilian Weng 对每个组件展开详细剖析,并提供了一些案例研究,比如科学发现智能体、生成式智能体模拟和概念验证示例。对于 AI 智能体未来将面临哪些挑战,她也给出了自己的观点。


机器之心对博客的核心内容进行了编译整理。

博客链接:https://lilianweng.github.io/posts/2023-06-23-agent/

智能体系统的概念

在大语言模型(LLM)赋能的自主智能体系统中,LLM 充当了智能体的大脑,其三个关键组件分别如下:

首先是规划,它又分为以下内容:

  • 子目标和分解。智能体将大型任务分解为更小、可管理的子目标,从而高效处理复杂的任务;
  • 反思和完善:智能体可以对过去的行为展开自我批评和自我反思,从错误中吸取教训,并针对未来的步骤进行完善,提高最终结果的质量。

其次是记忆,分为了短期记忆和长期记忆:

  • 短期记忆:作者认为所有的上下文学习(参见提示工程)都是利用模型的短期记忆来学习。
  • 长期记忆:为智能体提供了长时间保留和回忆(无限)信息的能力,通常利用外部向量存储和快速检索实现。

最后是工具使用:

  • 智能体学习调用外部 API 来获取模型权重中缺失的额外信息(通常在预训练后很难更改),包括当前信息、代码执行能力、对专有信息源的访问等。

下图 1 为 LLM 赋能的自主智能体系统概览。


组件 1:规划

我们知道,一项复杂的任务通常涉及许多步骤。智能体必须了解任务是什么并提前进行规划

任务分解

首先是思维链(CoT)。它已经成为增强复杂任务上模型性能的标准提示技术。在实现过程中,模型被指示「一步一步思考」,从而利用更多的测试时间计算将困难任务分解为更小、更简单的步骤。CoT 将大型任务转化为多个可管理的小任务,并解释清楚模型的思维过程。

其次是思维树(Tree of Thoughts)。它通过在每一步探索多种推理可能性来扩展 CoT。首先将问题分解为多个思考步骤,并在每个步骤中生成多个思考,创建一种树结构。搜索过程可以是广度优先搜索(BFS)或深度优先搜索(DFS),其中每个状态由分类器(通过提示)或多数 vote 进行评估。

具体地,任务分解过程可以通过以下三种方式完成:

  • 基于 LLM 的简单提示,比如「XYZ 的步骤是什么?」、「实现 XYZ 的子目标是什么?」;
  • 使用特定于任务的指示,比如「写一个故事大纲」;
  • 人工输入。

最后一种截然不同的方法是 LLM+P,它依赖外部经典规划器来进行长期规划。该方法利用规划领域定义语言(PDDL)作为描述规划问题的中间接口。在这一过程中,LLM (1) 将问题转化为「Problem PDDL」,然后 (2) 请求经典规划器基于现有的「Domain PDDL」生成 PDDL 规划,最后 (3) 将 PDDL 规划转换回自然语言。

本质上,规划步骤被外包给了外部工具,并假设特定领域的 PDDL 和合适的规划器可用。这在某些机器人设置中很常见,而在许多其他领域并不常见。

自我反思

自我反思(Self-reflection)允许自主智能体通过完善以往行动决策和纠正以往错误来迭代改进,因而会在出现试错的现实世界任务中发挥至关重要的作用。

ReAct 通过将动作空间扩展为一个任务特定的「离散动作和语言空间的组合」,将推理和动作集成在 LLM 中。离散动作使 LLM 能够与环境交互(例如使用维基百科搜索 API),而语言空间促使 LLM 以自然语言生成推理轨迹。

ReAct 提示模板包含了 LLM 思考的明确步骤,大致格式如下所示:


Thought: ...Action: ...Observation: ...... (Repeated many times)


下图 2 为知识密集型任务(如 HotpotQA、FEVER)和决策型任务(如 AlfWorld Env、WebShop)的推理轨迹示例。

图源:https://arxiv.org/abs/2210.03629

实验结果显示,对于知识密集型任务和决策型任务,ReAct 的效果优于仅 Act 的基线方法,这类方法删除了「Thought: ...」步骤。

Reflexion 框架则为智能体配备了动态记忆和自我反思能力,提高了推理技能。它有一个标准的 RL 设置,其中奖励模型提供简单的二元奖励,而动作空间遵循 ReAct 中的设置。并且特定于任务的动作空间通过语言进行增强,实现复杂推理步骤。在每个动作 a_t 之后,智能体计算启发式 h_t,并选择性地根据自我反思结果来决定重置环境,从而开始新的试验。

下图 3 为 Reflexion 框架概览。

图源:https://arxiv.org/abs/2303.11366

启发式功能决定轨迹何时开始效率低下或包含幻觉,以及何时应该停止。低效的规划是指花费太长时间而没有成功的轨迹。幻觉(Hallucination)被定义为遇到了一系列连续的相同动作,而这些动作导致环境中出现相同的观察。

自我反思通过向 LLM 展示 two-shot 示例来创建,每个例子都是一对失败的轨迹,它们是指导未来规划中变化的理想反思。然后反思被添加到智能体的工作记忆中,最多三个,用作查询 LLM 的上下文。

下图 4 为在 AlfWorld Env 和 HotpotQA 上的实验。其中在 AlfWorld 中,幻觉是比低效规划更常见的失败。

图源:https://arxiv.org/abs/2303.11366

Chain of Hindsight(CoH)鼓励模型通过显式地呈现一系列过去的输出(每个输出都带有反馈注释)来改进其自身的输出。人类反馈数据是的集合,其中 x 是提示,每个 y_i 是模型补全,r_i 是 y_i 的人类评分,z_i 是相应的人类提供的事后反馈。假设反馈元组按奖励排序,该过程是有监督的微调。数据的序列形式为,其中≤i≤j≤n。该模型经过微调,仅预测以序列前缀为条件的 y_n,使得模型可以根据反馈序列自我反思,从而产生更好的输出。该模型可以选择性地在测试时接受到人类注释者的多轮指令。

为了避免过拟合,CoH 添加正则化项来最大化预训练数据集的对数似然。同时为了避免捷径和复制(由于反馈序列中有很多常见单词),研究者在训练过程中随机屏蔽了 0%- 5% 的过去 token。

实验中采用的训练数据集是 WebGPT 比较、人类反馈总结以及人类偏好数据集的组合。下图 5 展示了使用 CoH 进行微调后,模型可以按照指令生成具有序列增量改进的输出。

图源:https://arxiv.org/abs/2302.02676

CoH 的思路是呈现上下文中连续改进输出的历史,并训练模型产生更好输出。算法蒸馏(AD)将相同的思路应用于强化学习任务中的跨情节轨迹,其中算法被封装在长期历史条件策略中。

下图 6 为算法蒸馏的工作原理。

图源:https://arxiv.org/abs/2210.14215

在算法蒸馏论文中,研究者假设任何生成一组学习历史的算法都可以通过对动作执行行为克隆来蒸馏成神经网络。历史数据由一组源策略生成,而每个源策略针对特定任务进行训练。

在训练阶段,每次 RL 运行期间,研究者都会对随机任务进行采样,并使用 multi-episode 历史的子序列进行训练,使得学习到的策略与任务无关。

实际上该模型的上下文窗口长度有限,因此 episode 应足够短以构建 multi-episode 历史。要学习近最优的上下文 RL 算法,需要 2 到 4 个 episode 的 multi-episodic 上下文。上下文 RL 的出现需要足够长的上下文。

与三个基线相比,包括 ED(专家蒸馏,用专家轨迹而不是学习历史进行行为克隆)、源策略(用于生成 UCB 蒸馏的轨迹)、RL^2( 2017 年提出的一种在线强化学习算法,作为上限进行比较)。尽管 AD 算法仅使用离线强化学习,但其性能接近 RL^2,并且学习速度比其他基线快得多。当以源策略的部分训练历史为条件时,AD 的改进速度也比 ED 基线快得多。

下图 7 为 AD、ED、源策略和 RL^2 的比较。


组件 2:记忆

作者表示,这一章节借助了 ChatGPT 来帮忙起草。下面我们看看这部分具体内容。


记忆类型


记忆类型分为三类:感知记忆、短期记忆(STM)或工作记忆以及长期记忆(LTM)。

感知记忆:这是记忆的早期阶段,它能够在原始刺激结束后保持对感官信息(视觉、听觉等)的印象。感知记忆通常只能持续几秒钟。其子类包括图像记忆(视觉)、回声记忆(听觉)和触摸记忆(触感)。

短期记忆(STM)或工作记忆:短期记忆存储着我们目前所知道的信息,以及执行复杂认知任务(如学习和推理)所需要的信息。一般来讲,短期记忆持续 20-30 秒。

长期记忆:长时记忆可以将信息存储很长时间,从几天到几十年不等,其存储容量基本上是无限的。LTM 有两种子类型:

  • 显式、陈述性记忆:这是对事实和事件的记忆,指的是那些可以有意识地回忆起来的记忆,包括情景记忆(事件和经过)和语义记忆(事实和概念);
  • 隐式、程序性记忆:这种类型的记忆是无意识的,涉及自主执行的技能和惯例,比如骑自行车或在键盘上打字。

人类记忆分类


参考人类记忆的分类,我们可以得到以下映射

  • 感知记忆作为原始输入(包括文本、图像或其他模态)的学习嵌入表示。
  • 短期记忆作为上下文学习,由于受到 Transformer 有限上下文窗口长度的限制,短期记忆是短暂且有限的。
  • 长期记忆作为外部向量存储,智能体可以查询、快速检索,从而进行访问。


最大内积搜索(MIPS)

外部记忆可以缓解注意力的一些限制。为了更好的处理外部记忆,一个常见的做法是将信息的嵌入表示保存到一个向量存储数据库中,该数据库可以支持快速的最大内积搜索(MIPS)。为了优化检索速度,研究者经常使用的方法是近似最近邻(ANN,approximate nearest neighbors)算法。

在加速 MIPS 中,经常用到的 ANN 算法包括:


局部敏感哈希(LSH):它引入了一个哈希函数,使得相似的输入项以高概率映射到相同的 buckets 中,其中 buckets 的数量远远小于输入的数量。

近似最近邻(ANNOY):该方法的核心数据结构是随机投影树(Random Projection Trees),它是一组二叉树,其中每个非叶节点表示一个超平面,将输入空间分割为两部分,而每个叶节点则存储一个数据点。树是独立且随机构建的,因此在某种程度上类似于哈希函数。这个想法与 KD 树(一种将空间中点分开存储的树状数据结构)密切相关,但扩展性更强。

分层可导小世界(HNSW,Hierarchical Navigable Small World):这个方法受到小世界网络(small world networks,是一种图结构)的启发,其中大多数节点可以在很少的步骤内与其他节点相连。HNSW 构建了这些小世界图的层次结构,其中底层包含实际的数据点,中间层创建了快捷方式以加速搜索。在执行搜索时,HNSW 从顶层的一个随机节点开始,并向目标节点导航,当无法再靠近目标时,它向下移动到下一层,直到达到底层。在上层进行的每一次移动都有可能在数据空间中覆盖较大的距离,而在下层进行的每一次移动都会提高搜索的精度。

Facebook AI (现 Meta AI)团队开源的库 FAISS:FAISS 运作的基本假设是,在高维空间中,节点之间的距离遵循高斯分布,因此应该存在数据点的聚类。FAISS 通过将向量空间分割成聚类并在聚类内进行量化来应用向量量化

可扩展最近邻(ScaNN):ScaNN 的主要创新是各向异性矢量量化(Anisotropic Vector Quantization,AVQ),它将数据点 x_i 量化,使得内积尽可能接近原始距离,从而减少了数据点之间的距离误差。

MIPS 算法比较。


组件 3:使用工具

使用工具是人类的一个显著特点。我们创造、修改和利用外部物体来探索和认知现实世界。类似地,给 LLM 配备外部工具可以大幅扩展模型的能力。

一张海獭在水中漂浮时用石头敲开贝壳的照片。虽然其他一些动物也能使用工具,但其复杂性无法与人类相比。图源:Animals using tools

MRKL(Karpas et al. 2022)是一种用于自主智能体的神经 - 符号(neuro-symbolic)架构,命名来源于模块化推理(Modular Reasoning)、知识(Knowledge)和语言(Language)的简称。每个 MRKL 系统包含一些「专家」模块,通用 LLM 作为一个路由器,负责将查询路由到最合适的专家模块。这些模块可以是神经的(如深度学习模型),也可以是符号的(如数学计算器、货币转换器、天气 API)。

MRKL 的研究团队使用数学计算作为测试案例,进行了一个微调 LLM 调用计算器的实验。由于 LLM(7B  Jurassic1-large 模型)未能可靠地提取基本计算的正确 argument,因此该实验表明解决口语简单阐述的数学问题比明确说明的数学问题更难。该实验结果强调了当外部符号工具能够可靠地工作时,知道何时和如何使用这些工具是至关重要的,而这由 LLM 的能力决定。

另外两项研究 TALM(Parisi et al. 2022)和 Toolformer(Schick et al. 2023)都对语言模型(LM)进行了微调,以学习使用外部工具 API。数据集则是根据新增加的 API 调用注释是否能提高模型的输出质量来扩展的。

ChatGPT 插件和 OpenAI 的 API 函数调用是 LLM 使用工具增强能力的最好实例。工具 API 的集合可以由其他开发者提供(插件)或自定义(函数调用)。

HuggingGPT(Shen et al. 2023)则是一个使用 ChatGPT 作为任务规划器的框架,根据模型描述选择 HuggingFace 平台中可用的模型,并根据执行结果归纳总结出响应。

HuggingGPT 工作原理示意图。图源:Shen et al. 2023

HuggingGPT 系统由 4 个阶段组成:

(1)任务规划:LLM 作为大脑,将用户请求解析为多个任务。每个任务有四个关联属性:任务类型、任务 ID、依赖项和参数。研究团队使用少量例子来指导 LLM 进行任务解析和规划

The AI assistant can parse user input to several tasks: [{"task": task, "id", task_id, "dep": dependency_task_ids, "args": {"text": text, "image": URL, "audio": URL, "video": URL}}]. The "dep" field denotes the id of the previous task which generates a new resource that the current task relies on. A special tag "-task_id" refers to the generated text image, audio and video in the dependency task with id as task_id. The task MUST be selected from the following options: {{ Available Task List }}. There is a logical relationship between tasks, please note their order. If the user input can't be parsed, you need to reply empty JSON. Here are several cases for your reference: {{ Demonstrations }}. The chat history is recorded as {{ Chat History }}. From this chat history, you can find the path of the user-mentioned resources for your task planning.


(2) 模型选择:LLM 会从一个模型列表中选择模型,将任务分配给专家模型。由于上下文长度有限,需要进行基于任务类型的过滤。

Given the user request and the call command, the AI assistant helps the user to select a suitable model from a list of models to process the user request. The AI assistant merely outputs the model id of the most appropriate model. The output must be in a strict JSON format: "id": "id", "reason": "your detail reason for the choice". We have a list of models for you to choose from {{ Candidate Models }}. Please select one model from the list.


(3) 任务执行:专家模型执行具体任务,并记录执行结果。

With the input and the inference results, the AI assistant needs to describe the process and results. The previous stages can be formed as - User Input: {{ User Input }}, Task Planning: {{ Tasks }}, Model Selection: {{ Model Assignment }}, Task Execution: {{ Predictions }}. You must first answer the user's request in a straightforward manner. Then describe the task process and show your analysis and model inference results to the user in the first person. If inference results contain a file path, must tell the user the complete file path.


(4) 响应生成:LLM 接收执行结果,并向用户提供总体结果。

为了将 HuggingGPT 投入实际使用,需要解决几个挑战:(1)需要提高效率,因为 LLM 推理和与其他模型的交互都会减慢进程;(2)它依赖一个长的上下文窗口来沟通复杂的任务内容;(3)提高 LLM 输出和外部模型服务的稳定性。

API-Bank(Li et al. 2023)是一个评估工具增强型 LLM 性能的基准。它包含 53 个常用的 API 工具,一个完整的工具增强型 LLM 工作流,以及涉及 568 个 API 调用的 264 个已注释的对话。API-Bank 基准中可选择的 API 相当多样化,包括搜索引擎、计算器、日历查询、智能家居控制、日程管理等等。LLM 首先可以通过 API 搜索引擎找到合适的 API 进行调用,然后使用相关文档调用 API。

LLM 在 API-BANK 中进行 API 调用的伪代码。(图片来源:Li et al. 2023)

在 API-Bank 的工作流中,LLM 需要做出一些决定,包括:

  • 是否需要调用 API;
  • 确定要调用的正确 API:如果不够好,LLM 需要反复修改 API 输入(例如更换搜索引擎 API 的搜索关键词);
  • 基于 API 结果的响应:如果结果不满意,模型可以选择优化并再次调用。

这个基准在三个层次上评估了智能体的工具使用能力:

  • 调用 API 的能力:根据 API 的描述,模型需要确定是否调用给定的 API,正确地调用,并对 API 的返回结果作出正确的反应;
  • 检索 API 的能力。模型需要搜索可能解决用户需求的 API,并通过阅读文档学习如何使用它们。
  • 检索和调用之外规划 API 的能力。考虑到不明确的用户要求(例如安排小组会议,为旅行预订航班 / 酒店 / 餐厅),模型可能需要进行多次 API 调用来解决实际问题。

案例研究

用于科学发现的智能体

ChemCrow 是一个由大型语言模型(LLM)设计的化学智能体,旨在完成有机合成、药物发现和材料设计等任务。通过整合 17 种专家设计的工具,ChemCrow 提高了 LLM 在化学方面的性能,并衍生出新的能力。

关于 ChemCrow ,一个有趣的观察是,尽管基于 LLM 的评估结果得出的结论是 GPT-4 和 ChemCrow 的性能几乎相当,但经过专家人工评估表明,ChemCrow 在很大程度上优于 GPT-4。这意味着在需要深度专业知识的领域使用 LLM 来评估其自身的性能可能存在潜在问题。缺乏专业知识可能导致 LLM 不了解其缺陷,因此无法很好地判断任务结果的正确性。


Boiko 等人的论文则研究了用于科学发现的 AI 智能体,它被用来处理复杂科学实验的自主设计、规划和执行。这个智能体可以使用工具浏览互联网、阅读文档、执行代码、调用机器人实验 API 和利用其他 LLM。

举例来说,当智能体收到提示「develop a novel anticancer drug(开发一种新的抗癌药物)」时,其推理步骤是这样的:

  • 询问当前抗癌药物发现的趋势;
  • 选定目标;
  • 开始寻找针对这个目标的化合物;
  • 一旦确定了化合物,模型就尝试合成它。


生产式智能体

生成式智能体将 LLM 与记忆、规划和反射机制相结合,使智能体能够根据过去的经验做出反应,并与其他智能体进行交互。

生成式智能体架构图。

概念验证示例

这里作者提到了 AutoGPT(自主人工智能),有了它,人类无需插手,AutoGPT 就能自主完成任务。Andrej Karpathy 也大赞:「AutoGPT 是 prompt 工程的下一个前沿。」

具体来说,AutoGPT 相当于给基于 GPT 的模型一个内存和一个身体。有了它,你可以把一项任务交给 AI 智能体,让它自主地提出一个计划,然后执行计划。此外其还具有互联网访问、长期和短期内存管理、用于文本生成的 GPT-4 实例以及使用 GPT-3.5 进行文件存储和生成摘要等功能。AutoGPT 用处很多,可用来分析市场并提出交易策略、提供客户服务、进行营销等其他需要持续更新的任务。

此外,作者还列举了 GPT-Engineer 项目,和代码生成类工具差不多,其能根据提示生成代码库(codebase)。就像前面讲到的,只要你提出合理的要求,GPT-Engineer 都能完成。

挑战

在了解了构建以 LLM 为中心的智能体关键思想和演示之后,我们应该也看到一些限制:

有限的上下文长度:LLM 处理上下文信息的能力有限,尽管 self-reflection 等机制可以从过去的错误中学习,但更长或无限的上下文窗口将会带来很大的好处。虽然向量存储和检索可以提供对更大知识库的访问,但它们的表示能力不如全注意力(full attention)强大。

LLM 在长期规划和任务分解中的挑战:LLM 在面对意外错误时很难调整规划并进行改正,与人类可以不断试错相比,LLM 鲁棒性还是比较差的。

自然语言接口的可靠性:当前的智能体系统依赖于自然语言作为 LLM 与内存和工具等外部组件之间的接口。然而,模型输出的可靠性是值得怀疑的,因为 LLM 可能会出现格式错误,偶尔还会表现出叛逆行为(例如,拒绝遵循指令)。
产业OpenAI通用人工智能
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

广度优先搜索技术

广度优先搜索算法(英语:Breadth-First-Search,缩写为BFS),又译作宽度优先搜索,或横向优先搜索,是一种图形搜索算法。简单的说,BFS是从根节点开始,沿着树的宽度遍历树的节点。如果所有节点均被访问,则算法中止。广度优先搜索的实现一般采用open-closed表。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

高斯分布技术

正态分布是一个非常常见的连续概率分布。由于中心极限定理(Central Limit Theorem)的广泛应用,正态分布在统计学上非常重要。中心极限定理表明,由一组独立同分布,并且具有有限的数学期望和方差的随机变量X1,X2,X3,...Xn构成的平均随机变量Y近似的服从正态分布当n趋近于无穷。另外众多物理计量是由许多独立随机过程的和构成,因而往往也具有正态分布。

深度优先搜索技术

深度优先搜索算法是一种用于遍历或搜索树或图的算法。沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所在边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

规划技术

人工智能领域的「规划」通常是指智能体执行的任务/动作的自动规划和调度,其目的是进行资源的优化。常见的规划方法包括经典规划(Classical Planning)、分层任务网络(HTN)和 logistics 规划。

伪代码技术

伪代码,又称为虚拟代码,是高层次描述算法的一种方法。它不是一种现实存在的编程语言;它可能综合使用多种编程语言的语法、保留字,甚至会用到自然语言。 它以编程语言的书写形式指明算法的职能。相比于程序语言它更类似自然语言。它是半形式化、不标准的语言。

知识库技术

知识库是用于知识管理的一种特殊的数据库,以便于有关领域知识的采集、整理以及提取。知识库中的知识源于领域专家,它是求解问题所需领域知识的集合,包括基本事实、规则和其它有关信息。

数据库技术

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

经典规划技术

智能规划(intelligent planning)是人工智能研究的一个重要领域,它的主要任务是在给定初始状态,可执行动作和目标条件的情况下,设计相应的规划系统,使得当前初始状态通过执行合适的动作序列到达满足目标条件的状态。规划问题的描述通常采用国际通用的规划域描述语言(planning domain description language,简称PDDL),包含了用词以及对各种逻辑关系的表示方法。对智能规划问题的抽象描述予以一定限制和规范化,就得到了经典规划问题(classical planning)。

矢量量化技术

矢量量化是70年代后期发展起来的一种数据压缩技术基本思想:将若干个标量数据组构成一个矢量,然后在矢量空间给以整体量化,从而压缩了数据而不损失多少信息。它是一种数据压缩技=术,指从N维实空间RN到RN中L个离散矢量的映射,也可称为分组量化,标量量化是矢量量化在维数为1时的特例。

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

哈希函数技术

散列函数(英语:Hash function)又称散列算法、哈希函数,是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。该函数将数据打乱混合,重新创建一个叫做散列值(hash values,hash codes,hash sums,或hashes)的指纹。散列值通常用一个短的随机字母和数字组成的字符串来代表。好的散列函数在输入域中很少出现散列冲突。在散列表和数据处理中,不抑制冲突来区别数据,会使得数据库记录更难找到。

模型选择技术

模型选择是从给定数据的一组候选模型中选择统计模型的任务。对于具有类似预测或解释力的候选模型,最简单的模型最有可能是最佳选择(奥卡姆剃刀)。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

自然语言生成技术

自然语言生成(NLG)是自然语言处理的一部分,从知识库或逻辑形式等等机器表述系统去生成自然语言。这种形式表述当作心理表述的模型时,心理语言学家会选用语言产出这个术语。自然语言生成系统可以说是一种将资料转换成自然语言表述的翻译器。不过产生最终语言的方法不同于编译程式,因为自然语言多样的表达。NLG出现已久,但是商业NLG技术直到最近才变得普及。自然语言生成可以视为自然语言理解的反向: 自然语言理解系统须要厘清输入句的意涵,从而产生机器表述语言;自然语言生成系统须要决定如何把概念转化成语言。

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

聚类技术

将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。“物以类聚,人以群分”,在自然科学和社会科学中,存在着大量的分类问题。聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法。聚类分析起源于分类学,但是聚类不等于分类。聚类与分类的不同在于,聚类所要求划分的类是未知的。聚类分析内容非常丰富,有系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法、聚类预报法等。

文本生成技术

文本生成是生成文本的任务,其目的是使人类书写文本难以区分。

通用人工智能技术

通用人工智能(AGI)是具有一般人类智慧,可以执行人类能够执行的任何智力任务的机器智能。通用人工智能是一些人工智能研究的主要目标,也是科幻小说和未来研究中的共同话题。一些研究人员将通用人工智能称为强AI(strong AI)或者完全AI(full AI),或称机器具有执行通用智能行为(general intelligent action)的能力。与弱AI(weak AI)相比,强AI可以尝试执行全方位的人类认知能力。

机器之心机构

机器之心,成立于2014年,是国内最具影响力、最专业、唯一用于国际品牌的人工智能信息服务与产业服务平台。目前机器之心已经建立起涵盖媒体、数据、活动、研究及咨询、线下物理空间于一体的业务体系,为各类人工智能从业者提供综合信息服务和产业服务。

https://www.jiqizhixin.com/
药物发现技术

在医学,生物技术和药理学领域,药物发现是发现新候选药物的过程。

量化技术

深度学习中的量化是指,用低位宽数字的神经网络近似使用了浮点数的神经网络的过程。

暂无评论
暂无评论~