AI-agents_and_environments

Agents and Environments

我们所学的课程主要是 CS188,那么要入门AI,首先要搞明白,什么是智能体,什么是环境。

举一个很简单的例子,有一个小孩子,当它伸左手的时候,给他一颗糖;伸右手的时候,打他一下,那么久而久之,他再也不会伸右手了。显然,这里小孩子是个智能体,而我们的行为就是环境。

Agent and environments

对于每个智能体来说,它是如何与环境打交道的呢?——感知;当智能体感知到环境以后,会做出一定的行为。

因此,一个智能体中一定需要包含两个非常重要的元素——sensor(感知器) 和 actuator(致动器)

人类是智能体吗?——当然是,那么人类的感知器和致动器是什么?

  • Sensors:视觉,听觉,触觉,味觉,嗅觉,本体感受
  • Actuators: 肌肉,分泌物,改变大脑的状态

比如说,当人看到美丽的风景,竖起了大拇指,这时候眼睛是sensor而大脑和手上的肌肉是actuator

计算器是智能体吗?——也是

  • Sensors: 计算器上的按键
  • Actuators: 电子屏

AI致力于两点:

  1. Agent 可以模拟人类的行为
  2. 在复杂的环境中,通过AI计算可以得到一些重要的决策

Agent functions

智能体从环境中得到了一系列的感知,从这个历史感知序列做出相应的反馈,序列和行为是对应的,这就叫做Agent function(智能体函数)

举一个例子,很好理解:我和张三一起玩剪刀石头布,他一直出剪刀,那么刚开始我可能会输几次,当我知道他在整个序列中都出了剪刀,我就会出石头。

再来举一个例子,我们可以感知到已经落下的方块、正在落下的方块以及将要落下的方块。基于此,我们会对方块的落下位置做一个变化。

在现实中,要对一台及其进行训练,让其能够像人一样玩俄罗斯方块的话,就需要我们编写一个agent program , 让机器不断去训练出一个 agent function。

那么是不是所有的agent function都可以由agent program去逼近、去实现呢?显然不是的。当问题本身是一个np-hard问题,那么我们只能近似求解,无法逼近。

最后我们用一个真空吸尘器的例子来加深对agent function和agent program的理解。

对于正空吸尘器感知到的序列有两个参数: 位置和该房间的状态。

同时有四个动作: 左移、右移、吸、不操作

我们可以列出其Agent function以及可以实现(逼近)该function的Agent Program。这段Agent Program的代码,很好地覆盖(实现)了左边Agent function的各种状态。

现在我们只考虑了左移右移,那么现在如果我们给左移右移添加一些成本的话,右边这段agent program就并不能完美地实现agent function了,这就要引出我们下一节需要了解的内容——Rationality(理性)

Rationality

首先我们要了解 performance measure 的概念,其意思就是说,当我每次做出了一个行为,环境应该给我一个反馈(奖励或者触发)。比如说,小孩伸左手,扣10分;伸右手,加1分

一个理性的智能体(rational agent) ,会和环境“打交道”,从开始的一张白纸,到后面希望得到最大化的performance measure的值。也就是说,它是一个“精致利己主义者”

  • rational agent 并不是无所不能的
    • 因为他们需要感知到环境才能做出反应。
  • rational agent 是否能明察秋毫环境中的变化
    • 不一定,比如自动驾驶中,环境的一些变化可能不能被感知到
  • rational agent是否应该一直在探索、学习
    • 是的
  • rational agent是否会发生错误
    • 并不,这是比较迷惑的,对于rational agent来说,只有失败或不失败,但没有错误或不错误。
  • 所有的rational agent是否都可以自治?
    • 是的,它们在探索的过程中在不断地成长

PEAS

Environment types

Agent types

-------------本文结束,感谢您的阅读-------------