在人工智能的语境中,有时人们使用“代理”一词,有时使用“模型”一词来指代整个“人工智能过程”的输出。例如:“RL代理”和“深度学习模型”。
这两个词可以互换吗?如果不是,在什么情况下我应该使用“代理”而不是“模型”,反之亦然?
在人工智能的语境中,有时人们使用“代理”一词,有时使用“模型”一词来指代整个“人工智能过程”的输出。例如:“RL代理”和“深度学习模型”。
这两个词可以互换吗?如果不是,在什么情况下我应该使用“代理”而不是“模型”,反之亦然?
另一个答案将代理定义为策略(正如它在强化学习中定义的那样)。然而,尽管这个定义对于大多数当前用途来说都很好,但鉴于当前代理主要用于解决视频游戏,在现实世界中,智能代理也需要有一个body,Russell 和 Norvig 将其称为架构(第 2.4 节)的第 3 版《人工智能:现代方法》,第 46 页),不应与模型或神经网络的架构相混淆,但它是包含物理传感器和执行器的计算设备,以供代理感知和采取行动分别在环境上。因此,更一般地说,代理定义如下
代理 = 身体 + 政策(大脑)
其中策略是 Russell 和 Norvig 所称的代理程序,它是代理功能的一种实现。
或者,它可以定义如下
代理是可以被视为通过传感器感知其环境并通过执行器对该环境起作用的任何事物。
这只是 Russell 和 Norvig 给出的另一个定义,我也在这个答案中进行了报告,我在其中描述了不同类型的代理。请注意,这些定义是等效的。然而,在第一个中,我们只是强调我们需要一些“思考”的手段(大脑)和一些“行为”的手段(身体)。
这些定义非常笼统,所以我认为人们应该使用它们,尽管正如我上面所说,有时人们将代理称为策略。
在这个答案中,我描述了模型是什么或我喜欢认为模型是什么,以及它与函数有何不同。
在 AI 中,模型可以引用不同但在某种程度上相关的概念。
例如,在强化学习中,模型通常指的是,即下一个状态的联合概率分布和奖励,给定当前状态和行动采取了.
在深度学习中,模型通常是指神经网络,可用于计算(或建模)不同的功能。例如,神经网络可用于计算/表示/建模策略,因此,在这种情况下,模型和代理之间没有实际区别(如果定义为策略,则没有主体)。然而,从概念上讲,在更高的层次上,这些仍然是不同的(就像生物神经网络不同于大脑一样)。
更一般地说,在机器学习中,模型通常是指可以更改以计算某些功能的系统。模型的示例是决策树、神经网络、线性回归模型等。所以,正如我在另一个答案中所说,我喜欢将模型视为一组函数,因此,从这个意义上说,模型将是计算学习理论中的一个假设类。这个定义大致符合,也可以将其视为一组(可能是无限的)函数,但请注意,概率分布并不完全是一组函数。
在知识库的上下文中,模型是对变量的赋值,代表一个“可能的世界”。参见引用书的第 240 页第 7.3 节。
模型一词可能还有其他用途(在 AI 的上下文中,例如在规划的上下文中,通常有概念模型的想法,类似于 RL 中的 MDP,以及在其他领域),但是上面给出的定义应该或多或少地广泛适用于它们的上下文。
鉴于根据上下文对模型有不同的可能定义,因此不容易简要说明两者之间的区别是什么。
因此,这是 RL 上下文中的差异(您现在可以通过使用不同的定义找出其他上下文中的差异):代理可以拥有一个世界模型,这允许它预测例如它将收到的奖励考虑到它的当前状态和它决定采取的一些行动。该模型可以允许代理进行计划。在同样的上下文中,模型也可以指用于计算/表示代理策略的特定系统(例如神经网络),但请注意,人们通常指的是当他们在 RL 中使用单词模型时。有关更多详细信息,请参阅此帖子。
在游戏 AI 环境中:
例如,我做了一个 Gin-Rummy 游戏 + AI-agents。模型的一个方面是将甲板表示为矩阵,其中矩阵中的每个条目是卡片状态(位置,卡片是否被对手看到)。
一个人可以用不同的方式对同一个游戏进行建模,大多数时候在可表示性和简单性之间进行权衡。
代理人的关键属性是他们采取行动。引用一个可能的定义(Russel&Norvig,AI:一种现代方法),“代理是可以被视为通过传感器感知其环境并通过执行器作用于该环境的任何东西。” 环境可以是我们周围的物理世界,也可以是某个计算机系统,也可以是模拟,但是,代理将其与非代理区分开来的关键部分是它会影响该环境 - 而不是仅仅观察它和/或进行一些计算。
在人工智能领域内,存在许多使用各种模型来决定行动方案的情况。例如,强化学习或规划系统中使用的世界模型。在这种情况下,整个系统将是一个代理,但模型只是该系统的一部分。
然而,这并不适用于所有情况——有些系统用于做出与任何动作无关的决策(例如,识别特定字母的 OCR 系统),有些系统对某些动作做出决定,但不是有意的实际根据该决定采取行动(例如,他们向可能对该信息采取行动的人展示提议的决定)。这样的系统可能包含模型,但在这种情况下,整个系统也不应该被称为代理,因为实际的行为超出了该系统的范围。